<?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>68205</bug_id>
          
          <creation_ts>2011-09-15 18:34:25 -0700</creation_ts>
          <short_desc>Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)</short_desc>
          <delta_ts>2011-09-16 10:39:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>68012</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>468219</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-15 18:34:25 -0700</bug_when>
    <thetext>Rename ENABLE(DATABASE) to ENABLE(SQL_DATABASE)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468222</commentid>
    <comment_count>1</comment_count>
      <attachid>107581</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-15 18:36:06 -0700</bug_when>
    <thetext>Created attachment 107581
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468231</commentid>
    <comment_count>2</comment_count>
      <attachid>107581</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-15 18:59:47 -0700</bug_when>
    <thetext>Comment on attachment 107581
Patch

Attachment 107581 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9706157</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468236</commentid>
    <comment_count>3</comment_count>
      <attachid>107581</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-09-15 19:06:40 -0700</bug_when>
    <thetext>Comment on attachment 107581
Patch

Attachment 107581 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/9694259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468277</commentid>
    <comment_count>4</comment_count>
      <attachid>107597</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-15 20:51:06 -0700</bug_when>
    <thetext>Created attachment 107597
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468284</commentid>
    <comment_count>5</comment_count>
      <attachid>107597</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-09-15 21:11:12 -0700</bug_when>
    <thetext>Comment on attachment 107597
Patch

Attachment 107597 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9709054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468289</commentid>
    <comment_count>6</comment_count>
      <attachid>107602</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-15 21:51:56 -0700</bug_when>
    <thetext>Created attachment 107602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468291</commentid>
    <comment_count>7</comment_count>
      <attachid>107602</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-09-15 22:08:46 -0700</bug_when>
    <thetext>Comment on attachment 107602
Patch

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

build-webkit changes?  You might want to grep for&quot;database_&quot; as well.

&gt; configure.ac:1135
&gt; +AM_CONDITIONAL([ENABLE_SQL_DATABASE],[test &quot;$enable_sql_database&quot; = &quot;yes&quot;])

I&apos;m surprised this isn&apos;t referenced in more places in this file.

&gt; Source/JavaScriptCore/wtf/Platform.h:816
&gt; -#if !defined(ENABLE_DATABASE)
&gt; -#define ENABLE_DATABASE 1
&gt; +#if !defined(ENABLE_SQL_DATABASE)
&gt; +#define ENABLE_SQL_DATABASE 1
&gt;  #endif

I thought we&apos;d moved away from this model?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468294</commentid>
    <comment_count>8</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-15 22:19:06 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 107602 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107602&amp;action=review
&gt; 
&gt; build-webkit changes?  You might want to grep for&quot;database_&quot; as well.

Oops.  Fixed.

&gt; &gt; configure.ac:1135
&gt; &gt; +AM_CONDITIONAL([ENABLE_SQL_DATABASE],[test &quot;$enable_sql_database&quot; = &quot;yes&quot;])
&gt; 
&gt; I&apos;m surprised this isn&apos;t referenced in more places in this file.

I&apos;ll double-check.

&gt; &gt; Source/JavaScriptCore/wtf/Platform.h:816
&gt; &gt; -#if !defined(ENABLE_DATABASE)
&gt; &gt; -#define ENABLE_DATABASE 1
&gt; &gt; +#if !defined(ENABLE_SQL_DATABASE)
&gt; &gt; +#define ENABLE_SQL_DATABASE 1
&gt; &gt;  #endif
&gt; 
&gt; I thought we&apos;d moved away from this model?

I think that&apos;s the plan, but I&apos;m not sure it&apos;s happened yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468302</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-15 22:40:21 -0700</bug_when>
    <thetext>Committed r95271: &lt;http://trac.webkit.org/changeset/95271&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468520</commentid>
    <comment_count>10</comment_count>
      <attachid>107602</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-16 09:08:47 -0700</bug_when>
    <thetext>Comment on attachment 107602
Patch

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

&gt; Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:235
&gt; -#endif /* ENABLE(DATABASE) */
&gt; +#endif // ENABLE(SQL_DATABASE)

This change was incorrect, it broke binding test.
Fix landed in http://trac.webkit.org/changeset/95294</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468575</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-16 10:22:41 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 107602 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=107602&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:235
&gt; &gt; -#endif /* ENABLE(DATABASE) */
&gt; &gt; +#endif // ENABLE(SQL_DATABASE)
&gt; 
&gt; This change was incorrect, it broke binding test.
&gt; Fix landed in http://trac.webkit.org/changeset/95294

Thanks for fixing it, but I think that means the code generation script has a (minor!) bug.  It should generate C++ style comments.  /me will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>468594</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-09-16 10:39:22 -0700</bug_when>
    <thetext>GObject script fix in https://bugs.webkit.org/show_bug.cgi?id=68256</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107581</attachid>
            <date>2011-09-15 18:36:06 -0700</date>
            <delta_ts>2011-09-15 20:51:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68205-20110915183605.patch</filename>
            <type>text/plain</type>
            <size>153123</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDkt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5B
QkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0UuY21ha2U6CisgICAgICAg
ICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisgICAgICAgICogY29uZmlndXJlLmFjOgor
CiAyMDExLTA5LTE1ICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgQWRkIG1ldGhvZCB0byBzY3JvbGwgY3VycmVudCBub2RlIHRvIHNwZWNpZmljIHBvc2l0aW9u
IGluIENocm9taXVtIFdlYktpdCBBUEkKSW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBjb25maWd1cmUuYWMJKHJldmlzaW9uIDk1MjQzKQorKysgY29uZmlndXJlLmFjCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTMyLDcgKzExMzIsNyBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RJUkVD
VE9SWV9VUExPQURdCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RBVEFHUklEXSxbdGVzdCAiJGVu
YWJsZV9kYXRhZ3JpZCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVNdLFt0ZXN0ICIkZW5hYmxlX2RhdGFfdHJhbnNmZXJfaXRlbXMiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9ET01fU1RPUkFHRV0sW3Rlc3QgIiRlbmFibGVfZG9t
X3N0b3JhZ2UiID0gInllcyJdKQotQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9EQVRBQkFTRV0sW3Rl
c3QgIiRlbmFibGVfZGF0YWJhc2UiID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9T
UUxfREFUQUJBU0VdLFt0ZXN0ICIkZW5hYmxlX3NxbF9kYXRhYmFzZSIgPSAieWVzIl0pCiBBTV9D
T05ESVRJT05BTChbRU5BQkxFX0RBVEFMSVNUXSxbdGVzdCAiJGVuYWJsZV9kYXRhbGlzdCIgPSAi
eWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RFVEFJTFNdLFt0ZXN0ICIkZW5hYmxlX2Rl
dGFpbHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9FVkVOVFNPVVJDRV0sW3Rl
c3QgIiRlbmFibGVfZXZlbnRzb3VyY2UiID0gInllcyJdKQpJbmRleDogU291cmNlL2NtYWtlY29u
ZmlnLmguY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHdvcmtpbmcgY29w
eSkKQEAgLTgsNyArOCw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQVNfSU1BR0UKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9CTE9CCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcKLSNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBQkFTRQorI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX1NRTF9EQVRBQkFTRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0RBVEFHUklECiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfREFUQUxJU1QKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTA5LTE1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0u
aDoKKwogMjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMg
aW4gSlNDZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAg
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORQogRU5BQkxFX0NTUzNfRkxF
WEJPWCA9IDsKIEVOQUJMRV9DU1NfRVhDTFVTSU9OUyA9IDsKIEVOQUJMRV9DU1NfUkVHSU9OUyA9
IDsKLUVOQUJMRV9EQVRBQkFTRSA9IEVOQUJMRV9EQVRBQkFTRTsKK0VOQUJMRV9TUUxfREFUQUJB
U0UgPSBFTkFCTEVfU1FMX0RBVEFCQVNFOwogRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgPSA7
CiBFTkFCTEVfREVUQUlMUyA9IEVOQUJMRV9ERVRBSUxTOwogRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTiA9IDsKQEAgLTk3LDQgKzk3LDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBB
VEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChF
TkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFH
RSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19U
QUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFU
SCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQ
SSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9D
U1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX1NRTF9EQVRBQkFT
RSkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAk
KEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykg
JChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxMSw4
ICs4MTEsOCBAQAogI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKICNlbmRpZgogCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0RBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfREFUQUJBU0UgMQorI2lm
ICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJB
U0UgMQogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTY3IEBACisyMDExLTA5LTE1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFT
RSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQXMgZGlzY3Vzc2VkIG9uIHdlYmtpdC1kZXYuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAgICAgICAgKiBiaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldERPTUV4Y2VwdGlv
bik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFeGNlcHRpb25CYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvRXhjZXB0aW9uQmFzZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNJbmplY3RlZFNj
cmlwdEhvc3Q6OmRhdGFiYXNlSWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1FMUmVzdWx0
U2V0Um93TGlzdEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTUUxUcmFuc2Fj
dGlvbkN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvblN5
bmNDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dl
YkRPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RDYWxsYmFjay5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3Rv
bVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OEluamVjdGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHA6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEV4Y2Vw
dGlvbkNvZGVEZXNjcmlwdGlvbik6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25Db250
ZXh0KToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAq
IGZlYXR1cmVzLnByaToKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZUNhY2hlOjpjYW5DYWNoZVBhZ2VDb250YWluaW5nVGhpc0ZyYW1lKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVj
dGVkU2NyaXB0SG9zdDo6SW5qZWN0ZWRTY3JpcHRIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0SG9zdDo6ZGlzY29ubmVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0SG9zdC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRIb3N0Ojpp
bml0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3Bl
Y3RvclN0YXRlRnJvbUNvb2tpZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAg
ICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6CisgICAgICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
c3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVT
dGF0ZW1lbnQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5j
cHA6CisgICAgICAgICogc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBz
dG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0NoYW5nZVZlcnNp
b25XcmFwcGVyLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmg6
CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZS5jcHA6CisgICAgICAgICogc3RvcmFnZS9EYXRh
YmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2UuaWRsOgorICAgICAgICAqIHN0b3Jh
Z2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQ2Fs
bGJhY2suaDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaWRsOgorICAgICAg
ICAqIHN0b3JhZ2UvRGF0YWJhc2VEZXRhaWxzLmg6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFz
ZVN5bmMuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VTeW5jLmg6CisgICAgICAgICog
c3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUYXNr
LmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVGFzay5oOgorICAgICAgICAqIHN0b3Jh
Z2UvRGF0YWJhc2VUaHJlYWQuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUaHJlYWQu
aDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHA6CisgICAgICAgICogc3Rv
cmFnZS9EYXRhYmFzZVRyYWNrZXIuaDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tl
ckNsaWVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKiBzdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oOgorICAgICAgICAqIHN0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oOgorICAgICAgICAq
IHN0b3JhZ2UvU1FMRXJyb3IuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTEVycm9yLmlkbDoKKyAg
ICAgICAgKiBzdG9yYWdlL1NRTEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMRXhj
ZXB0aW9uLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNldC5jcHA6CisgICAgICAg
ICogc3RvcmFnZS9TUUxSZXN1bHRTZXQuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNl
dC5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcDoKKyAgICAg
ICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NR
TFJlc3VsdFNldFJvd0xpc3QuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50LmNw
cDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudC5oOgorICAgICAgICAqIHN0b3JhZ2Uv
U1FMU3RhdGVtZW50Q2FsbGJhY2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudENh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
aDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaWRsOgorICAg
ICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50U3luYy5jcHA6CisgICAgICAgICogc3RvcmFnZS9T
UUxTdGF0ZW1lbnRTeW5jLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2Uv
U1FMVHJhbnNhY3Rpb24uaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxs
YmFjay5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGw6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5jcHA6CisgICAgICAgICogc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5jcHA6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGw6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwOgorICAgICAgICAqIHN0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvblN5bmMuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJh
Y2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbDoK
KyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAg
KiBzdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlVHJhY2tlckNocm9taXVtLmNwcDoKKyAgICAgICAg
KiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHA6CisgICAgICAgICogc3RvcmFnZS9j
aHJvbWl1bS9RdW90YVRyYWNrZXIuaDoKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1NRTFRy
YW5zYWN0aW9uQ2xpZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRTaHV0ZG93blN0YXJ0VGFzazo6
cGVyZm9ybVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpzdG9wKToKKwog
MjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlND
ZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE0MDEsNyArMTQwMSw3IEBAIElGIChFTkFCTEVfQkxPQikKICAgICApCiBFTkRJRiAoKQogCi1J
RiAoRU5BQkxFX0RBVEFCQVNFKQorSUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIHBsYXRmb3JtL3NxbC9TUUxWYWx1ZS5jcHAK
ICAgICAgICAgcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTgzLDEyICsxODMsMTIgQEAgZW5kaWYgIyBFTkQgRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSQogIyAtLS0tCiAjIERhdGFiYXNlIFN1cHBvcnQKICMg
LS0tLQotaWYgRU5BQkxFX0RBVEFCQVNFCi1GRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RBVEFC
QVNFPTEKLXdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfREFUQUJBU0U9MQoraWYgRU5BQkxF
X1NRTF9EQVRBQkFTRQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9TUUxfREFUQUJBU0U9MQor
d2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9TUUxfREFUQUJBU0U9MQogZWxzZQotd2ViY29y
ZV9jcHBmbGFncyArPSAtREVOQUJMRV9EQVRBQkFTRT0wCi1lbmRpZiAjIEVORCBFTkFCTEVfREFU
QUJBU0UKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfU1FMX0RBVEFCQVNFPTAKK2VuZGlm
ICMgRU5EIEVOQUJMRV9TUUxfREFUQUJBU0UKIAogIyAtLS0tCiAjIEhUTUw1IGRhdGFsaXN0IFN1
cHBvcnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBA
IC00MTEyLDcgKzQxMTIsNyBAQCBlbmRpZiAjIEVORCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJCiAjIC0tLS0KICMgRGF0YWJhc2UgU3VwcG9ydAogIyAtLS0tCi1pZiBFTkFCTEVfREFUQUJB
U0UKK2lmIEVOQUJMRV9TUUxfREFUQUJBU0UKIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFiYXNlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RhdGFiYXNlLmggXApAQCAtNDEzNyw3ICs0MTM3LDcgQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1FMVHJhbnNhY3Rpb25T
eW5jLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NRTFRyYW5zYWN0aW9uU3luY0Nh
bGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NRTFRyYW5zYWN0aW9uU3lu
Y0NhbGxiYWNrLmgKLWVuZGlmICMgRU5EIEVOQUJMRV9EQVRBQkFTRQorZW5kaWYgIyBFTkQgRU5B
QkxFX1NRTF9EQVRBQkFTRQogCiAjIC0tLS0KICMgSFRNTDUgZGF0YSB0cmFuc2ZlciBpdGVtcyBz
dXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSw3IEBAIElG
IChFTkFCTEVfQkxPQikKICAgICApCiBFTkRJRiAoKQogCi1JRiAoRU5BQkxFX0RBVEFCQVNFKQor
SUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5j
cHAKICAgICAgICAgYmluZGluZ3MvanMvSlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcApJ
bmRleDogU291cmNlL1dlYkNvcmUvZmVhdHVyZXMucHJpCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2ZlYXR1cmVzLnByaQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9m
ZWF0dXJlcy5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEwICs0NCwxMCBAQCBpc0VtcHR5KEhB
VkVfUVJBV0ZPTlQpIHsKIH0KIAogIyB0dXJuIG9mZiBTUUxJVEUgc3VwcG9ydCBpZiB3ZSBkbyBu
b3QgaGF2ZSBzcWxpdGUzIGF2YWlsYWJsZQotIUNPTkZJRyhRVERJUl9idWlsZCk6d2luMzItKjoh
ZXhpc3RzKCAkJHtTUUxJVEUzU1JDRElSfS9zcWxpdGUzLmMgKTogREVGSU5FUyArPSBFTkFCTEVf
U1FMSVRFPTAgRU5BQkxFX0RBVEFCQVNFPTAgRU5BQkxFX1dPUktFUlM9MCBFTkFCTEVfU0hBUkVE
X1dPUktFUlM9MCBFTkFCTEVfSUNPTkRBVEFCQVNFPTAgRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUz0wIEVOQUJMRV9ET01fU1RPUkFHRT0wCishQ09ORklHKFFURElSX2J1aWxkKTp3aW4z
Mi0qOiFleGlzdHMoICQke1NRTElURTNTUkNESVJ9L3NxbGl0ZTMuYyApOiBERUZJTkVTICs9IEVO
QUJMRV9TUUxJVEU9MCBFTkFCTEVfU1FMX0RBVEFCQVNFPTAgRU5BQkxFX1dPUktFUlM9MCBFTkFC
TEVfU0hBUkVEX1dPUktFUlM9MCBFTkFCTEVfSUNPTkRBVEFCQVNFPTAgRU5BQkxFX09GRkxJTkVf
V0VCX0FQUExJQ0FUSU9OUz0wIEVOQUJMRV9ET01fU1RPUkFHRT0wCiAKICFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUj0uKTogREVGSU5FUyArPSBFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUj0xCi0hY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFCQVNFPS4p
OiBERUZJTkVTICs9IEVOQUJMRV9EQVRBQkFTRT0xCishY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1NRTF9EQVRBQkFTRT0uKTogREVGSU5FUyArPSBFTkFCTEVfU1FMX0RBVEFCQVNFPTEKICFjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfRVZFTlRTT1VSQ0U9Lik6IERFRklORVMgKz0gRU5BQkxFX0VW
RU5UU09VUkNFPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MQog
IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9ET01fU1RPUkFHRT0uKTogREVGSU5FUyArPSBFTkFC
TEVfRE9NX1NUT1JBR0U9MQpAQCAtNTksNyArNTksNyBAQCBpc0VtcHR5KEhBVkVfUVJBV0ZPTlQp
IHsKIAogIyB0dXJuIG9uIFNRTElURSBzdXBwb3J0IGlmIGFueSBvZiB0aGUgZGVwZW5kZW50IGZl
YXR1cmVzIGFyZSB0dXJuZWQgb24KICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMSVRFPS4p
IHsKLSAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFCQVNFPTEpfGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9JQ09OREFUQUJBU0U9MSl8Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RPTV9T
VE9SQUdFPTEpfGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlM9MSkgeworICBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMX0RBVEFCQVNFPTEpfGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9JQ09OREFUQUJBU0U9MSl8Y29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0RPTV9TVE9SQUdFPTEpfGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9B
UFBMSUNBVElPTlM9MSkgewogICAgIERFRklORVMgKz0gRU5BQkxFX1NRTElURT0xCiAgIH0gZWxz
ZSB7CiAgICAgREVGSU5FUyArPSBFTkFCTEVfU1FMSVRFPTAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2
ODogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gVjhfQklOCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBU
ICs9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
T1JJRU5UQVRJT05fRVZFTlRTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFC
TEVfT1JJRU5UQVRJT05fRVZFTlRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9FVkVOVFNP
VVJDRT0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX0VWRU5UU09VUkNF
PTEKLWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9EQVRBQkFTRT0xKTogRkVBVFVSRV9ERUZJTkVT
X0pBVkFTQ1JJUFQgKz0gRU5BQkxFX0RBVEFCQVNFPTEKK2NvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TUUxfREFUQUJBU0U9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9T
UUxfREFUQUJBU0U9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFMSVNUPTEpOiBGRUFU
VVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfREFUQUxJU1Q9MQogY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX0RPTV9TVE9SQUdFPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCAr
PSBFTkFCTEVfRE9NX1NUT1JBR0U9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NIQVJFRF9T
Q1JJUFQ9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9TSEFSRURfU0NS
SVBUPTEKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC01NCw3ICs1NCw3IEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgPSA7CiBFTkFCTEVf
QU5JTUFUSU9OX0FQSSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORzsKIEVOQUJMRV9DU1MzX0ZMRVhCT1ggPSA7Ci1FTkFCTEVfREFUQUJBU0Ug
PSBFTkFCTEVfREFUQUJBU0U7CitFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRB
QkFTRTsKIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TID0gOwogRU5BQkxFX0RFVEFJTFMgPSBF
TkFCTEVfREVUQUlMUzsKIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gPSA7CkBAIC05Niw0ICs5
Niw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FO
SU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkg
JChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJM
RV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xP
UikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJM
RV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVf
Q1NTM19GTEVYQk9YKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFMSVNUKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RP
TV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BS
T0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNM
VCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6d2ViU29ja2V0RW4KIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9wZW5EYXRh
YmFzZUVuYWJsZWQoKQogewogICAgIHJldHVybiBBYnN0cmFjdERhdGFiYXNlOjppc0F2YWlsYWJs
ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHdlYlNvY2tl
dEVuYWJsZWQoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgc3RhdGljIGJvb2wgb3BlbkRhdGFiYXNlRW5hYmxlZCgpOwogICAg
IHN0YXRpYyBib29sIG9wZW5EYXRhYmFzZVN5bmNFbmFibGVkKCk7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFj
ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21T
UUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAKQEAgLTY5LDQgKzY5LDQgQEAg
Ym9vbCBKU1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s6OmhhbmRsZQogCiB9CiAKLSNlbmRpZiAv
LyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiSlNPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgiCiAjZW5kaWYKICNpbmNsdWRlICJKU1JhbmdlRXhjZXB0aW9uLmgi
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVk
ZSAiSlNTUUxFeGNlcHRpb24uaCIKICNlbmRpZgogI2lmIEVOQUJMRShTVkcpCkBAIC0yMzgsNyAr
MjM4LDcgQEAgdm9pZCBzZXRET01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeAogICAgICAg
ICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgWFBhdGhFeGNlcHRp
b246OmNyZWF0ZShkZXNjcmlwdGlvbikpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgY2Fz
ZSBTUUxFeGNlcHRpb25UeXBlOgogICAgICAgICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMs
IGdsb2JhbE9iamVjdCwgU1FMRXhjZXB0aW9uOjpjcmVhdGUoZGVzY3JpcHRpb24pKTsKICAgICAg
ICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFeGNlcHRp
b25CYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V4
Y2VwdGlvbkJhc2UuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXhjZXB0aW9uQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcg
QEAKICNpbmNsdWRlICJKU0V2ZW50RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiSlNSYW5nZUV4Y2Vw
dGlvbi5oIgogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJTUUxFeGNl
cHRpb24uaCIKICNpbmNsdWRlICJKU1NRTEV4Y2VwdGlvbi5oIgogI2VuZGlmCkBAIC02MSw3ICs2
MSw3IEBAIEV4Y2VwdGlvbkJhc2UqIHRvRXhjZXB0aW9uQmFzZShKU0M6OkpTVmEKICAgICBpZiAo
WFBhdGhFeGNlcHRpb24qIHBhdGhFeGNlcHRpb24gPSB0b1hQYXRoRXhjZXB0aW9uKHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RXhjZXB0aW9uQmFzZSo+KHBhdGhFeGNl
cHRpb24pOwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAgICAgaWYgKFNRTEV4Y2VwdGlvbiogcGF0aEV4Y2VwdGlvbiA9IHRvU1FMRXhjZXB0
aW9uKHZhbHVlKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RXhjZXB0aW9uQmFz
ZSo+KHBhdGhFeGNlcHRpb24pOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0luamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3Jp
cHRIb3N0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5j
bHVkZSAiSlNJbmplY3RlZFNjcmlwdEhvc3QuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAi
SlNEYXRhYmFzZS5oIgogI2VuZGlmCkBAIC0xNzEsNyArMTcxLDcgQEAgSlNWYWx1ZSBKU0luamVj
dGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZAogewogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50
KCkgPCAxKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZSogZGF0YWJhc2UgPSB0
b0RhdGFiYXNlKGV4ZWMtPmFyZ3VtZW50KDApKTsKICAgICBpZiAoZGF0YWJhc2UpCiAgICAgICAg
IHJldHVybiBqc051bWJlcihpbXBsKCktPmRhdGFiYXNlSWRJbXBsKGRhdGFiYXNlKSk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMUmVzdWx0
U2V0Um93TGlzdEN1c3RvbS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMUmVz
dWx0U2V0Um93TGlzdC5oIgogCkBAIC04Myw0ICs4Myw0IEBAIEpTVmFsdWUgSlNTUUxSZXN1bHRT
ZXRSb3dMaXN0OjppdGVtKEV4ZWMKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9u
Q3VzdG9tLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMVHJhbnNhY3Rpb24uaCIKIApA
QCAtMTE5LDQgKzExOSw0IEBAIEpTVmFsdWUgSlNTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNxbChF
eGUKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNF
KQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3Bw
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMVHJh
bnNhY3Rpb25TeW5jQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMVHJhbnNhY3Rpb25TeW5jLmgiCiAKQEAg
LTk2LDQgKzk2LDQgQEAgSlNWYWx1ZSBKU1NRTFRyYW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNxbAog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisj
ZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJh
Y2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAvLyB0aGF0IGhhcyB0aGUg
IkNhbGxiYWNrIiBhdHRyaWJ1dGUgYW5kIGZvciB0cmFja2luZyBjaGFuZ2VzIGluIGl0cyBvdXB1
dC4KIG1vZHVsZSB0ZXN0IHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1E
QVRBQkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBMZWdh
Y3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBUZXN0
Q2FsbGJhY2sgewpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQ
UC9XZWJET01UZXN0Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNwcAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAKICNpbmNsdWRlICJXZWJET01UZXN0Q2FsbGJhY2suaCIKIApAQCAtMTM1LDQg
KzEzNSw0IEBAIFdlYkRPTVRlc3RDYWxsYmFjayB0b1dlYktpdChXZWJDb3JlOjpUZXMKICAgICBy
ZXR1cm4gV2ViRE9NVGVzdENhbGxiYWNrKHZhbHVlKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShE
QVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIzLDcgKzIzLDcgQEAKICNpZm5kZWYgV2ViRE9NVGVzdENhbGxiYWNrX2gKICNkZWZpbmUg
V2ViRE9NVGVzdENhbGxiYWNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8V2ViRE9NT2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2Vi
RE9NU3RyaW5nLmg+CkBAIC02NSw1ICs2NSw1IEBAIFdlYkNvcmU6OlRlc3RDYWxsYmFjayogdG9X
ZWJDb3JlKGNvbnN0IFcKIFdlYkRPTVRlc3RDYWxsYmFjayB0b1dlYktpdChXZWJDb3JlOjpUZXN0
Q2FsbGJhY2sqKTsKIAogI2VuZGlmCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlm
IC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdENhbGxiYWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4K
ICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTIzMiw0ICsyMzIsNCBAQCBXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHdyYXBU
ZXN0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAotI2VuZGlmIC8qIEVOQUJMRShEQVRBQkFTRSkgKi8KKyNlbmRpZiAvLyBFTkFCTEUo
U1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
ICNpbmNsdWRlICJKU1Rlc3RDYWxsYmFjay5oIgogCkBAIC0xMzAsNCArMTMwLDQgQEAgYm9vbCBK
U1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTAogCiB9CiAKLSNlbmRpZiAvLyBFTkFC
TEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsy
MSw3IEBACiAjaWZuZGVmIEpTVGVzdENhbGxiYWNrX2gKICNkZWZpbmUgSlNUZXN0Q2FsbGJhY2tf
aAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNp
bmNsdWRlICJBY3RpdmVET01DYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgi
CkBAIC01NSw2ICs1NSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RDYWxsYmFjay5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW0JKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENh
bGxiYWNrLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbXBvcnQgImNv
bmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAKICNpbXBvcnQgIkRPTUludGVybmFsLmgiCiAKQEAgLTEzOCw0ICsxMzgsNCBAQCBET01UZXN0
Q2FsbGJhY2sgKmtpdChXZWJDb3JlOjpUZXN0Q2FsbGJhCiAgICAgcmV0dXJuIFt3cmFwcGVyIGF1
dG9yZWxlYXNlXTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBF
TkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdENhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
YWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJWOFRlc3RDYWxsYmFjay5oIgogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCkBAIC0xNjEsNCArMTYxLDQgQEAg
Ym9vbCBWOFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTAogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxF
KFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgQm9zdG9uLCBNQSAwMjExMS0x
MzA3LCBVU0EuCiAqLwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKICNpZm5kZWYgVjhUZXN0Q2FsbGJhY2tfaAogI2RlZmluZSBWOFRlc3RDYWxsYmFj
a19oCkBAIC02Myw0ICs2Myw0IEBAIHByaXZhdGU6CiAKICNlbmRpZiAvLyBWOFRlc3RDYWxsYmFj
a19oCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9E
QVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NzUsNyArNjc1LDcgQEAgdm9pZCBWOFByb3h5OjpzZXRET01FeGNl
cHRpb24oaW50IGV4Y2VwdAogICAgICAgICBleGNlcHRpb24gPSB0b1Y4KFhQYXRoRXhjZXB0aW9u
OjpjcmVhdGUoZGVzY3JpcHRpb24pKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBjYXNlIFNRTEV4Y2Vw
dGlvblR5cGU6CiAgICAgICAgIGV4Y2VwdGlvbiA9IHRvVjgoU1FMRXhjZXB0aW9uOjpjcmVhdGUo
ZGVzY3JpcHRpb24pKTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzAyLDcgKzMwMiw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN2Z0V4Y2VwdGlvbk5hbWUo
aW50IGV4Y2VwdGlvbkNvZGUpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHNxbEV4Y2Vw
dGlvbk5hbWUoaW50IGV4Y2VwdGlvbkNvZGUpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSAiVjhTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjksNyArMTY5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4SW5qZWN0ZWRTY3JpcHRIbwogICAgIElOQ19TVEFUUygiSW5qZWN0ZWRTY3JpcHRIb3N0
LmRhdGFiYXNlSWQoKSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKICAgICAgICAgcmV0
dXJuIHY4OjpVbmRlZmluZWQoKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICBJbmplY3RlZFNjcmlwdEhvc3QqIGhvc3QgPSBWOEluamVjdGVkU2Ny
aXB0SG9zdDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRGF0YWJhc2UqIGRhdGFiYXNl
ID0gVjhEYXRhYmFzZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdz
WzBdKSk7CiAgICAgaWYgKGRhdGFiYXNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1
c3RvbS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiVjhTUUxSZXN1bHRTZXRS
b3dMaXN0LmgiCiAKICNpbmNsdWRlICJTUUxSZXN1bHRTZXRSb3dMaXN0LmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJh
bnNhY3Rpb25DdXN0b20uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlY4U1FMVHJh
bnNhY3Rpb24uaCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRy
YW5zYWN0aW9uU3luY0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJWOFNRTFRyYW5zYWN0aW9uU3luYy5oIgogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU2NCw3ICs0NTY0LDcg
QEAgdm9pZCBEb2N1bWVudDo6c2V0U2VjdXJpdHlPcmlnaW4oU2VjdXJpdAogICAgIGluaXRETlNQ
cmVmZXRjaCgpOwogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKIGJvb2wgRG9jdW1lbnQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MoKSBjb25zdAogewpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMDgsNyArMTAwOCw3IEBAIHB1
YmxpYzoKICAgICBib29sIHByb2Nlc3NpbmdMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX3By
b2Nlc3NpbmdMb2FkRXZlbnQ7IH0KICAgICBib29sIGxvYWRFdmVudEZpbmlzaGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9sb2FkRXZlbnRGaW5pc2hlZDsgfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJhc2VB
Y2Nlc3MoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhKGNv
bnN0IFN0cmluZyYgbmFtZSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNl
cHRpb25Db2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9u
Q29kZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlv
bkNvZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSAiWFBh
dGhFeGNlcHRpb24uaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKIApAQCAt
MTYzLDcgKzE2Myw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzdmdFeGNlcHRpb25EZXMK
IH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNxbEV4Y2VwdGlvbk5hbWVzW10gPSB7CiAg
ICAgIlVOS05PV05fRVJSIiwKICAgICAiREFUQUJBU0VfRVJSIiwKQEAgLTMxOSw3ICszMTksNyBA
QCB2b2lkIGdldEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbihFeGNlcHRpCiAgICAgICAgIG5hbWVU
YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHN2Z0V4Y2VwdGlvbk5hbWVzKTsKICAgICAgICAg
bmFtZVRhYmxlT2Zmc2V0ID0gU1ZHRXhjZXB0aW9uOjpTVkdfV1JPTkdfVFlQRV9FUlI7CiAjZW5k
aWYKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB9
IGVsc2UgaWYgKGNvZGUgPj0gU1FMRXhjZXB0aW9uOjpTUUxFeGNlcHRpb25PZmZzZXQgJiYgY29k
ZSA8PSBTUUxFeGNlcHRpb246OlNRTEV4Y2VwdGlvbk1heCkgewogICAgICAgICB0eXBlID0gU1FM
RXhjZXB0aW9uVHlwZTsKICAgICAgICAgdHlwZU5hbWUgPSAiRE9NIFNRTCI7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9FeGNlcHRpb25Db2RlLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgLCBTVkdFeGNlcHRp
b25UeXBlCiAjZW5kaWYKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKICAgICAgICAgLCBTUUxFeGNlcHRpb25UeXBlCiAjZW5kaWYKICNpZiBFTkFCTEUoQkxP
QikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkx
LDcgKzkxLDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6U2NyaXB0RXhlY3V0aW9uQwogICAg
IDogbV9pdGVyYXRpbmdBY3RpdmVET01PYmplY3RzKGZhbHNlKQogICAgICwgbV9pbkRlc3RydWN0
b3IoZmFsc2UpCiAgICAgLCBtX2luRGlzcGF0Y2hFcnJvckV2ZW50KGZhbHNlKQotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9oYXNPcGVuRGF0
YWJhc2VzKGZhbHNlKQogI2VuZGlmCiB7CkBAIC0xMTIsNyArMTEyLDcgQEAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbgogICAgICAgICBBU1NFUlQoKCppdGVyKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpID09IHRoaXMpOwogICAgICAgICAoKml0ZXIpLT5jb250ZXh0
RGVzdHJveWVkKCk7CiAgICAgfQotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogICAgIGlmIChtX2RhdGFiYXNlVGhyZWFkKSB7CiAgICAgICAgIEFTU0VSVCht
X2RhdGFiYXNlVGhyZWFkLT50ZXJtaW5hdGlvblJlcXVlc3RlZCgpKTsKICAgICAgICAgbV9kYXRh
YmFzZVRocmVhZCA9IDA7CkBAIC0xNDQsNyArMTQ0LDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6flNjcmlwdEV4ZWN1dGlvbgogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogRGF0YWJhc2VUaHJlYWQqIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmRhdGFiYXNlVGhyZWFkKCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3
ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBjbGFzcyBEYXRhYmFzZTsKICAgICBjbGFzcyBEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXI7CiAgICAgY2xhc3MgRGF0YWJhc2VUaHJlYWQ7CkBAIC03OCw3
ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG9j
dW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNX
b3JrZXJDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICB2aXJ0dWFsIGJvb2wgYWxs
b3dEYXRhYmFzZUFjY2VzcygpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRhdGFi
YXNlRXhjZWVkZWRRdW90YShjb25zdCBTdHJpbmcmIG5hbWUpID0gMDsKICAgICAgICAgRGF0YWJh
c2VUaHJlYWQqIGRhdGFiYXNlVGhyZWFkKCk7CkBAIC0yMDgsNyArMjA4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBjbGFzcyBQZW5kaW5nRXhjZXB0aW9uOwogICAgICAgICBPd25Q
dHI8VmVjdG9yPE93blB0cjxQZW5kaW5nRXhjZXB0aW9uPiA+ID4gbV9wZW5kaW5nRXhjZXB0aW9u
czsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
ICAgICBSZWZQdHI8RGF0YWJhc2VUaHJlYWQ+IG1fZGF0YWJhc2VUaHJlYWQ7CiAgICAgICAgIGJv
b2wgbV9oYXNPcGVuRGF0YWJhc2VzOyAvLyBUaGlzIG5ldmVyIGNoYW5nZXMgYmFjayB0byBmYWxz
ZSwgZXZlbiBhZnRlciB0aGUgZGF0YWJhc2UgdGhyZWFkIGlzIGNsb3NlZC4KICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
OSw3ICsxMTksNyBAQCBzdGF0aWMgYm9vbCBsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24oRnJhCiAg
ICAgICAgICAgICBQQ0xPRygiICAgLUZyYW1lIGhhcyBhbiB1bmxvYWQgZXZlbnQgbGlzdGVuZXIi
KTsKICAgICAgICAgICAgIGNhbm5vdENhY2hlID0gdHJ1ZTsKICAgICAgICAgfQotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBpZiAoZnJhbWUt
PmRvY3VtZW50KCktPmhhc09wZW5EYXRhYmFzZXMoKSkgewogICAgICAgICAgICAgUENMT0coIiAg
IC1GcmFtZSBoYXMgb3BlbiBkYXRhYmFzZSBoYW5kbGVzIik7CiAgICAgICAgICAgICBjYW5ub3RD
YWNoZSA9IHRydWU7CkBAIC0yNjUsNyArMjY1LDcgQEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hl
UGFnZUNvbnRhaW5pbmdUaAogICAgICAgICAmJiAhZnJhbWUtPmxvYWRlcigpLT5zdWJmcmFtZUxv
YWRlcigpLT5jb250YWluc1BsdWdpbnMoKQogICAgICAgICAmJiAhZnJhbWUtPmRvY3VtZW50KCkt
PnVybCgpLnByb3RvY29sSXMoImh0dHBzIikKICAgICAgICAgJiYgKCFmcmFtZS0+ZG9tV2luZG93
KCkgfHwgIWZyYW1lLT5kb21XaW5kb3coKS0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygp
LnVubG9hZEV2ZW50KSkKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKICAgICAgICAgJiYgIWZyYW1lLT5kb2N1bWVudCgpLT5oYXNPcGVuRGF0YWJhc2VzKCkK
ICNlbmRpZgogI2lmIEVOQUJMRShTSEFSRURfV09SS0VSUykKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNlbmRpZgogCkBAIC03
Miw3ICs3Miw3IEBAIFBhc3NSZWZQdHI8SW5qZWN0ZWRTY3JpcHRIb3N0PiBJbmplY3RlZFMKIElu
amVjdGVkU2NyaXB0SG9zdDo6SW5qZWN0ZWRTY3JpcHRIb3N0KCkKICAgICA6IG1faW5zcGVjdG9y
QWdlbnQoMCkKICAgICAsIG1fY29uc29sZUFnZW50KDApCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoMCkKICNlbmRp
ZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBJbmplY3Rl
ZFNjcmlwdEhvc3Q6OmRpc2Nvbm5lY3QoKQogewogICAgIG1faW5zcGVjdG9yQWdlbnQgPSAwOwog
ICAgIG1fY29uc29sZUFnZW50ID0gMDsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQgPSAwOwogI2VuZGlmCiAjaWYgRU5B
QkxFKERPTV9TVE9SQUdFKQpAQCAtMTM4LDcgKzEzOCw3IEBAIE5vZGUqIEluamVjdGVkU2NyaXB0
SG9zdDo6aW5zcGVjdGVkTm9kZSgKICAgICByZXR1cm4gMDsKIH0KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogaW50IEluamVjdGVkU2NyaXB0SG9zdDo6
ZGF0YWJhc2VJZEltcGwoRGF0YWJhc2UqIGRhdGFiYXNlKQogewogICAgIGlmIChtX2RhdGFiYXNl
QWdlbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
SG9zdC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdEhvc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGluaXQoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50CiAgICAgICAg
ICAgICAsIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50Ci0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICAgICAsIEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbV9pbnNwZWN0
b3JBZ2VudCA9IGluc3BlY3RvckFnZW50OwogICAgICAgICBtX2NvbnNvbGVBZ2VudCA9IGNvbnNv
bGVBZ2VudDsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICAgICAgICAgbV9kYXRhYmFzZUFnZW50ID0gZGF0YWJhc2VBZ2VudDsKICNlbmRpZgogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJDb25zb2xlTWVzc2FnZXMoKTsKICAgICB2b2lkIGNvcHlUZXh0KGNvbnN0IFN0cmluZyYgdGV4
dCk7CiAgICAgTm9kZSogaW5zcGVjdGVkTm9kZSh1bnNpZ25lZCBpbnQgbnVtKTsKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBpbnQgZGF0YWJhc2VJ
ZEltcGwoRGF0YWJhc2UqKTsKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTEw
OCw3ICsxMDgsNyBAQCBwcml2YXRlOgogCiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9y
QWdlbnQ7CiAgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50KiBtX2RhdGFiYXNlQWdlbnQ7CiAjZW5kaWYKICNpZiBFTkFCTEUoRE9NX1NU
T1JBR0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3
IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIKICAgICAsIG1fcGFn
ZUFnZW50KEluc3BlY3RvclBhZ2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5n
ZXQoKSwgcGFnZSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKQogICAgICwgbV9kb21B
Z2VudChJbnNwZWN0b3JET01BZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQo
KSwgbV9wYWdlQWdlbnQuZ2V0KCksIGluc3BlY3RvckNsaWVudCwgbV9zdGF0ZS5nZXQoKSwgbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKQogICAgICwgbV9jc3NBZ2VudChhZG9wdFB0cihu
ZXcgSW5zcGVjdG9yQ1NTQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2RvbUFn
ZW50LmdldCgpKSkpCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRl
KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKICNp
ZiBFTkFCTEUoRE9NX1NUT1JBR0UpCkBAIC0xMzAsNyArMTMwLDcgQEAgSW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcgogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50
LCBpbnNwZWN0b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3Rl
ZFNjcmlwdEhvc3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50LmdldCgpCiAgICAgICAgICwgbV9j
b25zb2xlQWdlbnQuZ2V0KCkKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICAgICAgLCBtX2RhdGFiYXNlQWdlbnQuZ2V0KCkKICNlbmRpZgogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKQEAgLTIxNCw3ICsyMTQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmNvbm5lY3RGcm9udGVuCiAgICAgbV9kZWJ1Z2dlckFnZW50LT5zZXRGcm9udGVuZCht
X2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICAgICBtX3Byb2ZpbGVyQWdlbnQtPnNldEZyb250
ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRG
cm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgogI2lmIEVOQUJMRShE
T01fU1RPUkFHRSkKQEAgLTI0NCw3ICsyNDQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6
OmNvbm5lY3RGcm9udGVuCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgICAgICBtX2RvbVN0
b3JhZ2VBZ2VudC5nZXQoKSwKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBtX2RhdGFiYXNlQWdlbnQuZ2V0KCksCiAjZW5kaWYK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKQEAgLTI5Myw3ICsyOTMsNyBAQCB2b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9uCiAgICAgbV9jc3NBZ2VudC0+Y2xl
YXJGcm9udGVuZCgpOwogICAgIG1fdGltZWxpbmVBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogICAg
IG1fcmVzb3VyY2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+Y2xlYXJGcm9u
dGVuZCgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpAQCAtMzQ2LDcgKzM0Niw3
IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3QKICAgICBtX3Jlc291
cmNlQWdlbnQtPnJlc3RvcmUoKTsKICAgICBtX3RpbWVsaW5lQWdlbnQtPnJlc3RvcmUoKTsKICAg
ICBtX2NvbnNvbGVBZ2VudC0+cmVzdG9yZSgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+cmVzdG9yZSgpOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEzNCw3ICsxMzQsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxJbnNwZWN0b3JQYWdlQWdl
bnQ+IG1fcGFnZUFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JET01BZ2VudD4gbV9kb21BZ2Vu
dDsKICAgICBPd25QdHI8SW5zcGVjdG9yQ1NTQWdlbnQ+IG1fY3NzQWdlbnQ7Ci0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgT3duUHRyPEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQ+IG1fZGF0YWJhc2VBZ2VudDsKICNlbmRpZgogI2lmIEVOQUJMRShET01f
U1RPUkFHRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBACiAKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAtMzU3LDQgKzM1Nyw0IEBAIERhdGFiYXNlKiBJ
bnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkYXRhYmEKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKERBVEFCQVNFKQorI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJ
bnN0cnVtZW50YXRpb24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIFBhc3NSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIGRvbWFp
biwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCiB7CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAm
JiBFTkFCTEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpICYmIEVOQUJMRShJ
TlNQRUNUT1IpCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgpAQCAtNjYsNCArNjYsNCBAQCB2
b2lkIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OmJpbmQoSW5zCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkgJiYgRU5BQkxFKElOU1BFQ1RP
UikKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKSAmJiBFTkFCTEUoSU5TUEVDVE9SKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJh
c2VSZXNvdXJjZS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDcgQEAKICNpZm5kZWYgSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZV9oCiAjZGVmaW5lIEluc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2VfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAmJiBFTkFCTEUo
SU5TUEVDVE9SKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpICYmIEVOQUJMRShJTlNQRUNUT1Ip
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC02Myw2ICs2Myw2IEBAIHByaXZh
dGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFT
RSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gSW5zcGVjdG9y
RGF0YWJhc2VSZXNvdXJjZV9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjQzLDcgKzY0Myw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRDb21taXQKICNlbmRpZgogICAgICAgICBpZiAoSW5zcGVjdG9yQ1NTQWdlbnQqIGNz
c0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ1NTQWdlbnQoKSkKICAgICAg
ICAgICAgIGNzc0FnZW50LT5yZXNldCgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBpZiAoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0
YWJhc2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRhdGFiYXNlQWdlbnQo
KSkKICAgICAgICAgICAgIGRhdGFiYXNlQWdlbnQtPmNsZWFyUmVzb3VyY2VzKCk7CiAjZW5kaWYK
QEAgLTc1MSw3ICs3NTEsNyBAQCBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHJvZmls
ZXJFCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFzc1JlZlB0cjxE
YXRhYmFzZT4gZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbikKIHsKICAgICBJbnNwZWN0b3JBZ2VudCogaW5zcGVj
dG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw3ICsxNjYsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvZmlsZXJFbmFibGVkKFBhZ2UqKTsKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgc3Rh
dGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCkBAIC0zMDAsNyArMzAwLDcgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgYm9vbCBwcm9maWxlckVuYWJsZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAgICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgUGFzc1JlZlB0cjxEYXRhYmFzZT4sIGNvbnN0IFN0cmluZyYgZG9tYWluLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbik7CiAjZW5kaWYKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKICAgICAgICAgLCBtX2luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgw
KQogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgICAgICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKICNpZiBFTkFC
TEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgp
IGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OyB9CiAgICAgdm9pZCBz
ZXRJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBhZ2Vu
dCkgeyBtX2luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50KiBpbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9p
bnNwZWN0b3JEYXRhYmFzZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50KEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VB
Z2VudCA9IGFnZW50OyB9CiAjZW5kaWYKQEAgLTE1MCw3ICsxNTAsNyBAQCBwcml2YXRlOgogI2lm
IEVOQUJMRShET01fU1RPUkFHRSkKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1faW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNw
ZWN0b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2Vy
SW5zcGVjdAogewogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhv
c3QoKS0+aW5pdCgwCiAgICAgICAgICwgMAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAsIDAKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6
OmNvbm5lY3RGCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgICAgICAwLCAvLyBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAwLCAvLyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50CiAj
ZW5kaWYKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9s
b2FkZXIvRW1wdHlDbGllbnRzLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xODAsNyArMTgwLDcgQEAg
cHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHByaW50KEZyYW1lKikgeyB9CiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB2aXJ0dWFsIHZvaWQg
ZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJikgeyB9CiAjZW5kaWYK
IApJbmRleDogU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQyNiw3ICs0MjYsNyBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyhVbmxv
YWRFdmVuCiAgICAgICAgIC8vIGh0dHA6Ly93d3cudzMub3JnL0J1Z3MvUHVibGljL3Nob3dfYnVn
LmNnaT9pZD0xMDUzNwogICAgICAgICBkb2MtPnNldFJlYWR5U3RhdGUoRG9jdW1lbnQ6OkNvbXBs
ZXRlKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
ICAgICAgICBkb2MtPnN0b3BEYXRhYmFzZXMoMCk7CiAjZW5kaWYKICAgICB9CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTc5LDcgKzE3OSw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCB2b2lkIHByaW50KEZyYW1lKikg
PSAwOwogICAgICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUnViYmVyQmFuZEluRGlyZWN0aW9uKFNj
cm9sbERpcmVjdGlvbikgY29uc3QgPSAwOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNl
UXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkgPSAwOwogI2VuZGlmCiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzQ1LDcg
KzEzNDUsNyBAQCBkb3VibGUgRE9NV2luZG93OjpkZXZpY2VQaXhlbFJhdGlvKCkgY29uCiAgICAg
cmV0dXJuIHBhZ2UtPmRldmljZVNjYWxlRmFjdG9yKCk7CiB9CiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIFBhc3NSZWZQdHI8RGF0YWJhc2U+IERPTVdp
bmRvdzo6b3BlbkRhdGFiYXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJz
aW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNp
emUsIFBhc3NSZWZQdHI8RGF0YWJhc2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CiAgICAgUmVmUHRyPERhdGFiYXNlPiBkYXRhYmFzZSA9IDA7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaAkod29ya2luZyBjb3B5KQpAQCAtMzQ5LDggKzM0OSw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgRE9NVVJMKiB3ZWJraXRVUkwoKSBjb25zdDsKICNl
bmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQotICAgICAgICAvLyBIVE1MIDUgY2xpZW50LXNp
ZGUgZGF0YWJhc2UKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBQYXNzUmVmUHRy
PERhdGFiYXNlPiBvcGVuRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1h
dGVkU2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93Lmlk
bAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwJ
KHdvcmtpbmcgY29weSkKQEAgLTE2Niw3ICsxNjYsNyBAQCBtb2R1bGUgd2luZG93IHsKICNpZiBk
ZWZpbmVkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICYmIEVOQUJMRV9PRkZMSU5F
X1dFQl9BUFBMSUNBVElPTlMKICAgICAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFtFbmFibGVkQXRS
dW50aW1lXSBET01BcHBsaWNhdGlvbkNhY2hlIGFwcGxpY2F0aW9uQ2FjaGU7CiAjZW5kaWYgICAg
Ci0jaWYgZGVmaW5lZChFTkFCTEVfREFUQUJBU0UpICYmIEVOQUJMRV9EQVRBQkFTRQorI2lmIGRl
ZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJiYgRU5BQkxFX1NRTF9EQVRBQkFTRQogICAgICAg
ICBbRW5hYmxlZEF0UnVudGltZV0gRGF0YWJhc2Ugb3BlbkRhdGFiYXNlKGluIERPTVN0cmluZyBu
YW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3RyaW5nIGRpc3BsYXlOYW1lLCBpbiB1
bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxsYmFjaywgT3B0aW9uYWxdIERhdGFi
YXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNl
cHRpb24pOwogI2VuZGlmCkBAIC03OTAsNyArNzkwLDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAjZW5k
aWYKICNlbmRpZgogCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9REFUQUJBU0VdIFNR
TEV4Y2VwdGlvbkNvbnN0cnVjdG9yIFNRTEV4Y2VwdGlvbjsKKyAgICAgICAgYXR0cmlidXRlIFtD
b25kaXRpb25hbD1TUUxfREFUQUJBU0VdIFNRTEV4Y2VwdGlvbkNvbnN0cnVjdG9yIFNRTEV4Y2Vw
dGlvbjsKIAogCiAgICAgICAgIGF0dHJpYnV0ZSBET01Gb3JtRGF0YUNvbnN0cnVjdG9yIEZvcm1E
YXRhOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVBdXRo
b3JpemVyLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlQXV0aG9yaXplci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDggQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRhYmFzZUF1dGhvcml6ZXIuaCIKIAot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVk
ZSA8c3FsaXRlMy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00MCw0ICs0MSw0IEBAIGNv
bnN0IGludCBTUUxBdXRoRGVueSA9IFNRTElURV9ERU5ZOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9E
QVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFz
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURh
dGFiYXNlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNyw3ICsyNyw4IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSAiRGF0
YWJhc2VBdXRob3JpemVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIlNRTGl0
ZUZpbGVTeXN0ZW0uaCIKQEAgLTQ3MSw0ICs0NzIsNCBAQCBib29sIFNRTGl0ZURhdGFiYXNlOjp0
dXJuT25JbmNyZW1lbnRhbEF1CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVtLmNwcAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmls
ZVN5c3RlbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTUUxpdGVGaWxlU3lzdGVtLmgiCiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkZpbGVTeXN0ZW0u
aCIKICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgpAQCAtMTI1LDQgKzEyNSw1IEBAIGxvbmcg
bG9uZyBTUUxpdGVGaWxlU3lzdGVtOjpnZXREYXRhYmFzZUYKIH0KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKworI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlU3Rh
dGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlU3RhdGVtZW50LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlU3RhdGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTGl0ZVN0YXRlbWVudC5oIgog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU1FMVmFsdWUuaCIKQEAgLTU0Niw0ICs1NDYsNCBA
QCBib29sIFNRTGl0ZVN0YXRlbWVudDo6aXNFeHBpcmVkKCkKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxf
REFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNh
Y3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVUcmFuc2FjdGlvbi5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3FsL1NRTGl0ZVRyYW5zYWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsNyAr
MjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTGl0ZVRyYW5zYWN0aW9u
LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAog
I2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCiAKQEAgLTEwMyw0ICsxMDMsNSBAQCBib29sIFNR
TGl0ZVRyYW5zYWN0aW9uOjp3YXNSb2xsZWRCYWNrQnlTCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisKKyNlbmRpZiAvLyBFTkFCTEUoU1FM
X0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Fic3RyYWN0RGF0YWJh
c2UuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJh
Y3REYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDggQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogI2luY2x1ZGUgIkRhdGFiYXNl
QXV0aG9yaXplci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKQEAgLTU0NSw0ICs1NDYsNCBAQCBib29sIEFic3RyYWN0RGF0YWJhc2U6OmlzSW50
ZXJydXB0ZWQoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
REFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIEFic3RyYWN0RGF0YWJhc2VfaAogI2RlZmluZSBBYnN0
cmFjdERhdGFiYXNlX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCkBAIC0xMzMsNiArMTMzLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAKICNlbmRpZiAvLyBBYnN0cmFjdERhdGFiYXNlX2gKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuY3BwCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiQ2hhbmdlVmVyc2lvbldyYXBwZXIuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNp
bmNsdWRlICJTUUxFcnJvci5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC04NSw0
ICs4Niw0IEBAIHZvaWQgQ2hhbmdlVmVyc2lvbldyYXBwZXI6OmhhbmRsZUNvbW1pdEYKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlm
IC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0No
YW5nZVZlcnNpb25XcmFwcGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgs
NyArMjgsNyBAQAogI2lmbmRlZiBDaGFuZ2VWZXJzaW9uV3JhcHBlcl9oCiAjZGVmaW5lIENoYW5n
ZVZlcnNpb25XcmFwcGVyX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTUUxU
cmFuc2FjdGlvbi5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDcgKzI5LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJEYXRhYmFzZS5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCisKICNpbmNsdWRlICJDaGFuZ2VWZXJzaW9uV3JhcHBlci5oIgogI2luY2x1ZGUgIkRh
dGFiYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKQEAgLTQxMiw0ICs0
MTMsNCBAQCBTZWN1cml0eU9yaWdpbiogRGF0YWJhc2U6OnNlY3VyaXR5T3JpZ2luCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAv
LyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDggQEAKICNpZm5kZWYgRGF0YWJhc2VfaAogI2RlZmlu
ZSBEYXRhYmFzZV9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKKwogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTExNSw2ICsxMTYsNiBA
QCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUo
REFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIERh
dGFiYXNlX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaWRsCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw3ICsyOSw3IEBACiBtb2R1bGUgc3RvcmFnZSB7CiAKICAgICBpbnRlcmZhY2Ug
WwotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FM
X0RBVEFCQVNFLAogICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIE5vU3RhdGljVGFi
bGVzCiAgICAgXSBEYXRhYmFzZSB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlQXV0aG9yaXplci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZUF1dGhvcml6ZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQXV0aG9yaXpl
ci5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
ICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaAkocmV2aXNp
b24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBEYXRhYmFzZUNhbGxiYWNr
X2gKICNkZWZpbmUgRGF0YWJhc2VDYWxsYmFja19oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291
bnRlZC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2su
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFj
ay5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZUNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiBtb2R1bGUg
c3RvcmFnZSB7CiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0Us
CisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAgTGVnYWN5RGVmYXVs
dE9wdGlvbmFsQXJndW1lbnRzLAogICAgICAgICBDYWxsYmFjawogICAgIF0gRGF0YWJhc2VDYWxs
YmFjayB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlRGV0YWlscy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VEZXRhaWxzLmgJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZURldGFpbHMu
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBEYXRhYmFzZURldGFp
bHNfaAogI2RlZmluZSBEYXRhYmFzZURldGFpbHNfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMzEsNyArMzEsOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRhdGFiYXNlU3luYy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCisKICNpbmNsdWRlICJEYXRhYmFzZUNhbGxiYWNrLmgiCiAjaW5jbHVkZSAiRGF0
YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTk3LDQgKzE5OCw0IEBA
IHZvaWQgRGF0YWJhc2VTeW5jOjpjbG9zZUltbWVkaWF0ZWx5KCkKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmgJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuaAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsOCBAQAogI2lmbmRlZiBEYXRhYmFzZVN5bmNfaAog
I2RlZmluZSBEYXRhYmFzZVN5bmNfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCisKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC03MCw2
ICs3MSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8v
IEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCi0jZW5k
aWYgLy8gRGF0YWJhc2VTeW5jX2gKKyNlbmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVN5bmMuaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VTeW5jLmlkbAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlU3luYy5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIG1v
ZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPURB
VEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIE9taXRD
b25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIERhdGFiYXNlU3luYyB7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRhdGFiYXNlVGFzay5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw3ICsyOCw4IEBACiAjaWZuZGVmIERhdGFiYXNlVGFza19oCiAjZGVmaW5lIERhdGFi
YXNlVGFza19oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKKwogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgog
I2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCkBAIC0xNzMsNSArMTc0LDYgQEAgcHJpdmF0ZToK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQor
I2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNlbmRpZiAvLyBEYXRhYmFzZVRhc2tf
aApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5jcHAJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJEYXRhYmFzZVRocmVhZC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJBdXRvZHJhaW5lZFBvb2wuaCIKICNpbmNs
dWRlICJEYXRhYmFzZS5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRo
cmVhZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUaHJl
YWQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
VGhyZWFkLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDggQEAKICNpZm5kZWYgRGF0YWJh
c2VUaHJlYWRfaAogI2RlZmluZSBEYXRhYmFzZVRocmVhZF9oCiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgog
I2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KQEAgLTkx
LDUgKzkyLDUgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjZW5k
aWYgLy8gRGF0YWJhc2VUaHJlYWRfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRh
YmFzZVRyYWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUcmFja2VyLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlVHJhY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAi
QWJzdHJhY3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDcgKzI5LDcgQEAKICNpZm5kZWYgRGF0YWJhc2VUcmFja2VyX2gKICNkZWZpbmUgRGF0YWJhc2VU
cmFja2VyX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgpAQCAtMTg3LDUgKzE4Nyw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFC
QVNFKQorCiAjZW5kaWYgLy8gRGF0YWJhc2VUcmFja2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXJDbGllbnQuaAkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlckNsaWVudC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIERhdGFiYXNlVHJhY2tlckNsaWVudF9o
CiAjZGVmaW5lIERhdGFiYXNlVHJhY2tlckNsaWVudF9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5jcHAJ
KHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1h
bmFnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAjaW5jbHVkZSAiT3JpZ2luUXVvdGFNYW5hZ2VyLmgiCiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkFic3RyYWN0RGF0
YWJhc2UuaCIKICNpbmNsdWRlICJPcmlnaW5Vc2FnZVJlY29yZC5oIgpAQCAtMTM0LDQgKzEzNCw0
IEBAIHVuc2lnbmVkIGxvbmcgbG9uZyBPcmlnaW5RdW90YU1hbmFnZXI6OmQKIAogfQogCi0jZW5k
aWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBPcmlnaW5RdW90YU1h
bmFnZXJfaAogI2RlZmluZSBPcmlnaW5RdW90YU1hbmFnZXJfaAogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJTZWN1cml0eU9yaWdp
bkhhc2guaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNzEsNiArNzEsNiBAQCBwcml2
YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJB
U0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIE9yaWdpblF1
b3RhTWFuYWdlcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdl
UmVjb3JkLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblVzYWdlUmVjb3JkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk9yaWdpblVzYWdlUmVjb3JkLmgiCiAKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlNR
TGl0ZUZpbGVTeXN0ZW0uaCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5V
c2FnZVJlY29yZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2lu
VXNhZ2VSZWNvcmQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L09yaWdpblVzYWdlUmVjb3JkLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNp
Zm5kZWYgT3JpZ2luVXNhZ2VSZWNvcmRfaAogI2RlZmluZSBPcmlnaW5Vc2FnZVJlY29yZF9oCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxDYWxsYmFja1dyYXBwZXIuaAkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIFNRTENhbGxiYWNrV3JhcHBlcl9o
CiAjZGVmaW5lIFNRTENhbGxiYWNrV3JhcHBlcl9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkNyb3NzVGhyZWFkVGFzay5oIgog
I2luY2x1ZGUgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCIKQEAgLTEwMyw2ICsxMDMsNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFU
QUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIFNRTENh
bGxiYWNrV3JhcHBlcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEVycm9yLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5oCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaAkod29ya2luZyBj
b3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBTUUxFcnJvcl9oCiAjZGVmaW5lIFNRTEVy
cm9yX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
CiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJl
ZkNvdW50ZWQuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaWRsCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaWRsCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiBtb2R1bGUgc3RvcmFnZSB7CiAKICAgICBpbnRlcmZh
Y2UgWwotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9
U1FMX0RBVEFCQVNFLAogICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIE5vU3RhdGlj
VGFibGVzCiAgICAgXSBTUUxFcnJvciB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TEV4Y2VwdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhj
ZXB0aW9uLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxF
eGNlcHRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBTUUxF
eGNlcHRpb25faAogI2RlZmluZSBTUUxFeGNlcHRpb25faAogCi0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJFeGNlcHRpb25CYXNlLmgi
CiAKQEAgLTY3LDYgKzY3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKICNlbmRpZiAvLyBTUUxFeGNlcHRpb25faApJbmRleDogU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxFeGNlcHRpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMRXhjZXB0aW9uLmlkbAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTEV4Y2VwdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAK
IG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFs
PURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIE5v
U3RhdGljVGFibGVzLAogICAgICAgICBEb250Q2hlY2tFbnVtcwogICAgIF0gU1FMRXhjZXB0aW9u
IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5jcHAJKHJldmlzaW9u
IDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiU1FMUmVzdWx0U2V0LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMUmVzdWx0U2V0LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxSZXN1bHRTZXQuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAog
I2lmbmRlZiBTUUxSZXN1bHRTZXRfaAogI2RlZmluZSBTUUxSZXN1bHRTZXRfaAogCi0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiU1FMUmVzdWx0U2V0Um93TGlzdC5oIgpJbmRleDogU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAg
ICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJB
U0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAg
ICBdIFNRTFJlc3VsdFNldCB7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3Vs
dFNldFJvd0xpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
UmVzdWx0U2V0Um93TGlzdC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFJlc3VsdFNldFJvd0xp
c3QuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
UmVzdWx0U2V0Um93TGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U1FMUmVzdWx0U2V0Um93TGlzdC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMUmVzdWx0U2V0Um93TGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsy
OSw3IEBACiAjaWZuZGVmIFNRTFJlc3VsdFNldFJvd0xpc3RfaAogI2RlZmluZSBTUUxSZXN1bHRT
ZXRSb3dMaXN0X2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlICJTUUxWYWx1ZS5o
IgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmlkbAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3Qu
aWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0
U2V0Um93TGlzdC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgbW9kdWxlIHN0
b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFs
QXJndW1lbnRzLAotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAgICAgQ29uZGl0
aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAgICAgIE5v
U3RhdGljVGFibGVzCiAgICAgXSBTUUxSZXN1bHRTZXRSb3dMaXN0IHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3
ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMU3RhdGVtZW50Lmgi
CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2lu
Y2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTk5LDQgKzE5OSw0
IEBAIGJvb2wgU1FMU3RhdGVtZW50OjpsYXN0RXhlY3V0aW9uRmFpbGVkRHUKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVO
QUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50
LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lmbmRlZiBTUUxTdGF0ZW1l
bnRfaAogI2RlZmluZSBTUUxTdGF0ZW1lbnRfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2lu
Y2x1ZGUgIlNRTENhbGxiYWNrV3JhcHBlci5oIgpAQCAtODAsNiArODAsNiBAQCBwcml2YXRlOgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisj
ZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIFNRTFN0YXRlbWVudF9o
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudENhbGxiYWNrLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5o
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50
Q2FsbGJhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lmbmRlZiBTUUxT
dGF0ZW1lbnRDYWxsYmFja19oCiAjZGVmaW5lIFNRTFN0YXRlbWVudENhbGxiYWNrX2gKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8
d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMU3RhdGVtZW50Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMU3RhdGVtZW50Q2FsbGJhY2suaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50Q2FsbGJhY2suaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0yOSw3ICsyOSw3IEBACiBtb2R1bGUgc3RvcmFnZSB7CiAgICAgaW50ZXJmYWNlIFsK
ICAgICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzLAotICAgICAgICBDb25kaXRp
b25hbD1EQVRBQkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAg
ICBDYWxsYmFjawogICAgIF0gU1FMU3RhdGVtZW50Q2FsbGJhY2sgewogICAgICAgICBib29sZWFu
IGhhbmRsZUV2ZW50KGluIFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uLCBpbiBTUUxSZXN1bHRT
ZXQgcmVzdWx0U2V0KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50
RXJyb3JDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
U3RhdGVtZW50RXJyb3JDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2tfaAogI2Rl
ZmluZSBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZD
b3VudGVkLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50RXJy
b3JDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrLmlkbAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC0yOSw3ICsyOSw3IEBACiBtb2R1bGUgc3RvcmFnZSB7CiAgICAgaW50ZXJmYWNlIFsKICAg
ICAgICAgTGVnYWN5RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzLAotICAgICAgICBDb25kaXRpb25h
bD1EQVRBQkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBD
YWxsYmFjawogICAgIF0gU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjayB7CiAgICAgICAgIFtDdXN0
b21dIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gU1FMVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24sIGlu
IFNRTEVycm9yIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVt
ZW50U3luYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0
ZW1lbnRTeW5jLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTFN0YXRlbWVudFN5bmMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMU3RhdGVtZW50U3luYy5oIgogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJE
YXRhYmFzZVN5bmMuaCIKICNpbmNsdWRlICJTUUxFeGNlcHRpb24uaCIKQEAgLTEyMyw0ICsxMjMs
NCBAQCBQYXNzUmVmUHRyPFNRTFJlc3VsdFNldD4gU1FMU3RhdGVtZW50U3luCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBF
TkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0
ZW1lbnRTeW5jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0
ZW1lbnRTeW5jLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxTdGF0ZW1lbnRTeW5jLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5k
ZWYgU1FMU3RhdGVtZW50U3luY19oCiAjZGVmaW5lIFNRTFN0YXRlbWVudFN5bmNfaAogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJF
eGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTU4LDYgKzU4
LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5B
QkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNlbmRpZiAv
LyBTUUxTdGF0ZW1lbnRTeW5jX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJh
bnNhY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJh
bnNhY3Rpb24uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U1FMVHJhbnNhY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb24uaCIKIAotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRGF0YWJh
c2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZUF1dGhvcml6ZXIuaCIKQEAgLTYxMCw0ICs2MTAsNCBA
QCB2b2lkIFNRTFRyYW5zYWN0aW9uOjpjbGVhbnVwQWZ0ZXJUcmFuc2FjCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFC
TEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZm5kZWYgU1FMVHJh
bnNhY3Rpb25faAogI2RlZmluZSBTUUxUcmFuc2FjdGlvbl9oCiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlICJTUUxTdGF0ZW1lbnQuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb24uaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb24uaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24uaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3
IEBAIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURl
ZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisg
ICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAgT21pdENvbnN0cnVjdG9y
LAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gU1FMVHJhbnNhY3Rpb24gewpJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmgJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNh
bGxiYWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpZm5kZWYgU1FMVHJh
bnNhY3Rpb25DYWxsYmFja19oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2tfaAogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRl
IDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCi0gICAgICAg
IENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0Us
CiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBTUUxUcmFuc2FjdGlvbkNhbGxiYWNrIHsKICAgICAg
ICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBTUUxUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNw
cAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkFic3Ry
YWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKQEAgLTYyLDQgKzYy
LDQgQEAgYm9vbCBTUUxUcmFuc2FjdGlvbkNsaWVudDo6ZGlkRXhjZWVkUXVvdAogCiB9CiAKLSNl
bmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmgJ
KHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlv
bkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIFNRTFRy
YW5zYWN0aW9uQ2xpZW50X2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25DbGllbnRfaAogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlIDx3
dGYvRmFzdEFsbG9jQmFzZS5oPgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgpAQCAtNTMs
NiArNTMsNiBAQCBwdWJsaWM6CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNl
bmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gU1FMVHJhbnNhY3Rpb25D
bGllbnRfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3Jk
aW5hdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ29vcmRpbmF0b3IuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNh
Y3Rpb24uaCIKQEAgLTEyNyw0ICsxMjcsNCBAQCB2b2lkIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3I6OnNodXRkb3duCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmgJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgU1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvcl9oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3JfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
ICNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpAQCAtNjUs
NiArNjUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgfTsKIH0KIAotI2VuZGlmIC8vIEVO
QUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYg
Ly8gU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmgJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2suaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBTUUxUcmFuc2Fj
dGlvbkVycm9yQ2FsbGJhY2tfaAogI2RlZmluZSBTUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2tf
aAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNp
bmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmlkbAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
RXJyb3JDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVs
ZSBzdG9yYWdlIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9u
YWxBcmd1bWVudHMsCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25k
aXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBTUUxUcmFuc2Fj
dGlvbkVycm9yQ2FsbGJhY2sgewogICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIFNRTEVy
cm9yIGVycm9yKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25T
eW5jLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uU3luYy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvblN5bmMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb25TeW5jLmgiCiAKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUg
IkRhdGFiYXNlQXV0aG9yaXplci5oIgogI2luY2x1ZGUgIkRhdGFiYXNlU3luYy5oIgpAQCAtMjIw
LDQgKzIyMCw0IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb25TeW5jOjpyb2xsYmFjaygpCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAv
LyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvblN5bmMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uU3luYy5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcg
QEAKICNpZm5kZWYgU1FMVHJhbnNhY3Rpb25TeW5jX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25T
eW5jX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
CiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuaWRs
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rp
b25TeW5jLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQCBtb2R1bGUgc3RvcmFn
ZSB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1
bWVudHMsCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25h
bD1TUUxfREFUQUJBU0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0
aWNUYWJsZXMKICAgICBdIFNRTFRyYW5zYWN0aW9uU3luYyB7CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5oCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2Fs
bGJhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBTUUxUcmFu
c2FjdGlvblN5bmNDYWxsYmFja19oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNr
X2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5pZGwJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFj
ay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsK
ICAgICBpbnRlcmZhY2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMs
Ci0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxf
REFUQUJBU0UsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBTUUxUcmFuc2FjdGlvblN5bmNDYWxs
YmFjayB7CiAgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gU1FMVHJhbnNhY3Rpb25TeW5j
IHRyYW5zYWN0aW9uKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0
YWJhc2VPYnNlcnZlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hy
b21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0YWJhc2VPYnNlcnZlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIERhdGFiYXNlT2JzZXJ2ZXJfaAogI2RlZmluZSBEYXRh
YmFzZU9ic2VydmVyX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApAQCAtNTIsNiArNTIsNiBAQCBw
dWJsaWM6CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gRGF0YWJhc2VPYnNlcnZlcl9oCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlVHJhY2tlckNocm9taXVtLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNl
VHJhY2tlckNocm9taXVtLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlVHJhY2tlckNocm9taXVtLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFi
YXNlVHJhY2tlci5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGF0YWJh
c2VPYnNlcnZlci5oIgpAQCAtMjE4LDQgKzIxOCw0IEBAIHZvaWQgRGF0YWJhc2VUcmFja2VyOjpp
bnRlcnJ1cHRBbGxEYXRhYmEKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2Vu
ZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIlF1b3RhVHJhY2tlci5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtU3VwcG9ydC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CiAKQEAgLTg5
LDQgKzg5LDQgQEAgdm9pZCBRdW90YVRyYWNrZXI6OnJlc2V0U3BhY2VBdmFpbGFibGVUbwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5k
aWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
Y2hyb21pdW0vUXVvdGFUcmFja2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIFF1b3RhVHJhY2tlcl9oCiAjZGVmaW5lIFF1b3RhVHJh
Y2tlcl9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
IAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4u
aCIKQEAgLTY0LDYgKzY0LDYgQEAgcHJpdmF0ZToKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERB
VEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNlbmRpZiAvLyBRdW90
YVRyYWNrZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9TUUxUcmFu
c2FjdGlvbkNsaWVudENocm9taXVtLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL2Nocm9taXVtL1NRTFRyYW5zYWN0aW9uQ2xpZW50Q2hyb21pdW0uY3BwCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vU1FMVHJhbnNhY3Rp
b25DbGllbnRDaHJvbWl1bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbkNsaWVudC5oIgogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRl
ICJBYnN0cmFjdERhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VPYnNlcnZlci5oIgpAQCAt
ODYsNCArODYsNCBAQCBib29sIFNRTFRyYW5zYWN0aW9uQ2xpZW50OjpkaWRFeGNlZWRRdW90CiAK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RB
VEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI5OSw3ICsyOTksNyBAQCBOb3RpZmljYXRpb25DZW50ZXIq
IFdvcmtlckNvbnRleHQ6OndlYmtpCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogUGFzc1JlZlB0cjxEYXRhYmFzZT4gV29ya2VyQ29u
dGV4dDo6b3BlbkRhdGFiYXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJz
aW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNp
emUsIFBhc3NSZWZQdHI8RGF0YWJhc2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0
aW9uQ29kZSYgZWMpCiB7CiAgICAgaWYgKCFzZWN1cml0eU9yaWdpbigpLT5jYW5BY2Nlc3NEYXRh
YmFzZSgpIHx8ICFBYnN0cmFjdERhdGFiYXNlOjppc0F2YWlsYWJsZSgpKSB7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTEz
LDcgKzExMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTm90aWZpY2F0aW9uQ2Vu
dGVyKiB3ZWJraXROb3RpZmljYXRpb25zKCkgY29uc3Q7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAvLyBIVE1MIDUgY2xp
ZW50LXNpZGUgZGF0YWJhc2UKICAgICAgICAgUGFzc1JlZlB0cjxEYXRhYmFzZT4gb3BlbkRhdGFi
YXNlKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBTdHJp
bmcmIGRpc3BsYXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQdHI8
RGF0YWJhc2VDYWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwogICAg
ICAgICBQYXNzUmVmUHRyPERhdGFiYXNlU3luYz4gb3BlbkRhdGFiYXNlU3luYyhjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFt
ZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBQYXNzUmVmUHRyPERhdGFiYXNlQ2FsbGJh
Y2s+IGNyZWF0aW9uQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3
ICs0OSw3IEBAIG1vZHVsZSB0aHJlYWRzIHsKICAgICAgICAgLy8gV29ya2VyVXRpbHMKICAgICAg
ICAgW0N1c3RvbV0gdm9pZCBpbXBvcnRTY3JpcHRzKC8qW1ZhcmlhZGljXSBpbiBET01TdHJpbmcg
dXJscyAqLyk7CiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBbUmVwbGFjZWFibGVdIFdvcmtl
ck5hdmlnYXRvciBuYXZpZ2F0b3I7Ci0jaWYgZGVmaW5lZChFTkFCTEVfREFUQUJBU0UpICYmIEVO
QUJMRV9EQVRBQkFTRQorI2lmIGRlZmluZWQoRU5BQkxFX1NRTF9EQVRBQkFTRSkgJiYgRU5BQkxF
X1NRTF9EQVRBQkFTRQogICAgICAgICBbRW5hYmxlZEF0UnVudGltZV0gRGF0YWJhc2Ugb3BlbkRh
dGFiYXNlKGluIERPTVN0cmluZyBuYW1lLCBpbiBET01TdHJpbmcgdmVyc2lvbiwgaW4gRE9NU3Ry
aW5nIGRpc3BsYXlOYW1lLCBpbiB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIGluIFtDYWxs
YmFjaywgT3B0aW9uYWxdIERhdGFiYXNlQ2FsbGJhY2sgY3JlYXRpb25DYWxsYmFjaykKICAgICAg
ICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgICAgICBbRW5hYmxlZEF0UnVudGltZV0g
RGF0YWJhc2VTeW5jIG9wZW5EYXRhYmFzZVN5bmMoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0
cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcg
ZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBj
cmVhdGlvbkNhbGxiYWNrKQpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFk
LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRo
cmVhZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQwLDcgKzQwLDcgQEAKICNpbmNsdWRlIDx1dGls
aXR5PgogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPgogCi0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2VUYXNrLmgiCiAj
aW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKQEAgLTE5Nyw3ICsxOTcsNyBAQCBw
dWJsaWM6CiAgICAgICAgIEFTU0VSVChjb250ZXh0LT5pc1dvcmtlckNvbnRleHQoKSk7CiAgICAg
ICAgIFdvcmtlckNvbnRleHQqIHdvcmtlckNvbnRleHQgPSBzdGF0aWNfY2FzdDxXb3JrZXJDb250
ZXh0Kj4oY29udGV4dCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICAgICAgRGF0YWJhc2VUYXNrU3luY2hyb25pemVyIGNsZWFudXBTeW5jOwog
ICAgICAgICB3b3JrZXJDb250ZXh0LT5zdG9wRGF0YWJhc2VzKCZjbGVhbnVwU3luYyk7CiAjZW5k
aWYKQEAgLTIxMCw3ICsyMTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIC8vIHdoaWNoIGJlY29tZSBk
YW5nbGluZyBvbmNlIEhlYXAgaXMgZGVzdHJveWVkLgogICAgICAgICB3b3JrZXJDb250ZXh0LT5y
ZW1vdmVBbGxFdmVudExpc3RlbmVycygpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIC8vIFdlIHdhaXQgZm9yIHRoZSBkYXRhYmFzZSB0
aHJlYWQgdG8gY2xlYW4gdXAgYWxsIGl0cyBzdHVmZiBzbyB0aGF0IHdlCiAgICAgICAgIC8vIGNh
biBkbyBtb3JlIHN0cmluZ2VudCBsZWFrIGNoZWNrcyBhcyB3ZSBleGl0LgogICAgICAgICBjbGVh
bnVwU3luYy53YWl0Rm9yVGFza0NvbXBsZXRpb24oKTsKQEAgLTIzMyw3ICsyMzMsNyBAQCB2b2lk
IFdvcmtlclRocmVhZDo6c3RvcCgpCiAgICAgaWYgKG1fd29ya2VyQ29udGV4dCkgewogICAgICAg
ICBtX3dvcmtlckNvbnRleHQtPnNjcmlwdCgpLT5zY2hlZHVsZUV4ZWN1dGlvblRlcm1pbmF0aW9u
KCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuaW50ZXJydXB0QWxsRGF0YWJhc2VzRm9y
Q29udGV4dChtX3dvcmtlckNvbnRleHQuZ2V0KCkpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FM
X0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNz
KToKKwogMjAxMS0wOS0xNSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmVtb3ZlIEVOQUJMRShTVkdfQVNfSU1BR0UpIHNpbmNlIGFsbCBtYWpvciBwb3J0cyBoYXZl
IGl0IG9uIGJ5IGRlZmF1bHQKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xOTEsNyArMTkxLDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2VzcyhjbwogICAgICAgICB9CiAgICAgfQogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLy8gTWFrZSBz
dXJlIHRoZSBXZWJEYXRhYmFzZU1hbmFnZXIgaXMgaW5pdGlhbGl6ZWQgc28gdGhhdCB0aGUgRGF0
YWJhc2UgZGlyZWN0b3J5IGlzIHNldC4KICAgICBXZWJEYXRhYmFzZU1hbmFnZXI6OmluaXRpYWxp
emUocGFyYW1ldGVycy5kYXRhYmFzZURpcmVjdG9yeSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC01MTcsNyArNTE3LDcgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnByaW50KEZyYW1lKiBmcmFt
ZQogICAgIG1fcGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UHJpbnRGcmFt
ZSh3ZWJGcmFtZS0+ZnJhbWVJRCgpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6UHJpbnRGcmFt
ZTo6UmVwbHkoKSk7CiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJh
bWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkKIHsKICAgICBXZWJGcmFtZSog
d2ViRnJhbWUgPSBzdGF0aWNfY2FzdDxXZWJGcmFtZUxvYWRlckNsaWVudCo+KGZyYW1lLT5sb2Fk
ZXIoKS0+Y2xpZW50KCkpLT53ZWJGcmFtZSgpOwpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMiw3ICsxMzIsNyBAQCBw
cml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgdm9pZCBwcmludChXZWJDb3JlOjpGcmFtZSopOwog
ICAgIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
IHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoV2ViQ29yZTo6RnJhbWUqLCBjb25z
dCBTdHJpbmcmIGRhdGFiYXNlTmFtZSk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTE1ODQsNyArMTU4NCw3IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2UKICAgICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja1JlcXVpcmVzVXNlckdlc3R1
cmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjptZWRpYVBsYXli
YWNrUmVxdWlyZXNVc2VyR2VzdHVyZUtleSgpKSk7CiAgICAgc2V0dGluZ3MtPnNldE1lZGlhUGxh
eWJhY2tBbGxvd3NJbmxpbmUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjptZWRpYVBsYXliYWNrQWxsb3dzSW5saW5lS2V5KCkpKTsKIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEFic3RyYWN0RGF0YWJhc2U6OnNl
dElzQXZhaWxhYmxlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6
ZGF0YWJhc2VzRW5hYmxlZEtleSgpKSk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyMCBAQAorMjAxMS0wOS0xNSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJB
U0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogc3JjL0RhdGFiYXNlT2JzZXJ2ZXIuY3BwOgorICAgICAgICAq
IHNyYy9XZWJEYXRhYmFzZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjp1cGRh
dGVEYXRhYmFzZVNpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZTo6dXBkYXRlU3Bh
Y2VBdmFpbGFibGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJEYXRhYmFzZTo6cmVzZXRTcGFjZUF2
YWlsYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjpjbG9zZURhdGFiYXNlSW1t
ZWRpYXRlbHkpOgorICAgICAgICAqIHNyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZURhdGFiYXNlKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUnVudGltZUZlYXR1cmVzOjppc0RhdGFiYXNlRW5hYmxlZCk6CisKIDIwMTEt
MDktMTUgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlbW92
ZSBUZXN0V2ViS2l0QVBJIGZyb20gdGhlIGNocm9taXVtIGJ1aWxkIHVudGlsIGl0IGlzIG1hZGUg
dG8gd29yawpJbmRleDogU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0YWJhc2VPYnNlcnZl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRGF0YWJhc2VP
YnNlcnZlci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvRGF0YWJhc2VPYnNlcnZlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJEYXRhYmFzZU9ic2VydmVyLmgiCiAKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUg
IkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJDcm9zc1RocmVhZENvcGllci5oIgpAQCAt
MTk1LDQgKzE5NSw0IEBAIHZvaWQgRGF0YWJhc2VPYnNlcnZlcjo6ZGF0YWJhc2VDbG9zZWQoQWIK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQor
I2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyAr
NDAsNyBAQAogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0
ci5oPgogCi0jaWYgIUVOQUJMRShEQVRBQkFTRSkKKyNpZiAhRU5BQkxFKFNRTF9EQVRBQkFTRSkK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEFic3RyYWN0RGF0YWJhc2UgewogcHVibGljOgpA
QCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiAgICAgU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3Jp
Z2luKCkgY29uc3QgeyByZXR1cm4gMDsgfQogfTsKIH0KLSNlbmRpZiAvLyAhRU5BQkxFKERBVEFC
QVNFKQorI2VuZGlmIC8vICFFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIApAQCAtOTQsMjggKzk0LDI4IEBAIFdlYkRhdGFiYXNlT2JzZXJ2ZXIqIFdlYkRh
dGFiYXNlOjpvYnNlcnYKIAogdm9pZCBXZWJEYXRhYmFzZTo6dXBkYXRlRGF0YWJhc2VTaXplKGNv
bnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViU3RyaW5nJiBuYW1lLCBs
b25nIGxvbmcgc2l6ZSkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICBRdW90YVRyYWNrZXI6Omluc3RhbmNlKCkudXBkYXRlRGF0YWJhc2VTaXpl
KG9yaWdpbklkZW50aWZpZXIsIG5hbWUsIHNpemUpOwogI2VuZGlmCiB9CiAKIHZvaWQgV2ViRGF0
YWJhc2U6OnVwZGF0ZVNwYWNlQXZhaWxhYmxlKGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRp
ZmllciwgbG9uZyBsb25nIHNwYWNlQXZhaWxhYmxlKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS51
cGRhdGVTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKG9yaWdpbklkZW50aWZpZXIsIHNwYWNlQXZhaWxh
YmxlKTsKICNlbmRpZgogfQogCiB2b2lkIFdlYkRhdGFiYXNlOjpyZXNldFNwYWNlQXZhaWxhYmxl
KGNvbnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmllcikKIHsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBRdW90YVRyYWNrZXI6Omluc3RhbmNl
KCkucmVzZXRTcGFjZUF2YWlsYWJsZVRvT3JpZ2luKG9yaWdpbklkZW50aWZpZXIpOwogI2VuZGlm
CiB9CiAKIHZvaWQgV2ViRGF0YWJhc2U6OmNsb3NlRGF0YWJhc2VJbW1lZGlhdGVseShjb25zdCBX
ZWJTdHJpbmcmIG9yaWdpbklkZW50aWZpZXIsIGNvbnN0IFdlYlN0cmluZyYgZGF0YWJhc2VOYW1l
KQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
IEhhc2hTZXQ8UmVmUHRyPEFic3RyYWN0RGF0YWJhc2U+ID4gZGF0YWJhc2VIYW5kbGVzOwogICAg
IERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmdldE9wZW5EYXRhYmFzZXMob3JpZ2luSWRlbnRp
ZmllciwgZGF0YWJhc2VOYW1lLCAmZGF0YWJhc2VIYW5kbGVzKTsKICAgICBmb3IgKEhhc2hTZXQ8
UmVmUHRyPEFic3RyYWN0RGF0YWJhc2U+ID46Oml0ZXJhdG9yIGl0ID0gZGF0YWJhc2VIYW5kbGVz
LmJlZ2luKCk7IGl0ICE9IGRhdGFiYXNlSGFuZGxlcy5lbmQoKTsgKytpdCkKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAkocmV2
aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVh
dHVyZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxNCArNDQsMTQgQEAgbmFtZXNwYWNlIFdl
YktpdCB7CiAKIHZvaWQgV2ViUnVudGltZUZlYXR1cmVzOjplbmFibGVEYXRhYmFzZShib29sIGVu
YWJsZSkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICAgICBBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZShlbmFibGUpOwogI2VuZGlmCiB9
CiAKIGJvb2wgV2ViUnVudGltZUZlYXR1cmVzOjppc0RhdGFiYXNlRW5hYmxlZCgpCiB7Ci0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIEFi
c3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCk7CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L2VmbC9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC9l
ZmwvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTEtMDktMTUg
IEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxF
KERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVm
bC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmg6CisgICAg
ICAgICogZXdrL2V3a19zZXR0aW5ncy5jcHA6CisgICAgICAgIChld2tfc2V0dGluZ3Nfd2ViX2Rh
dGFiYXNlX2RlZmF1bHRfcXVvdGFfZ2V0KToKKyAgICAgICAgKGV3a19zZXR0aW5nc193ZWJfZGF0
YWJhc2VfcGF0aF9zZXQpOgorICAgICAgICAoZXdrX3NldHRpbmdzX3dlYl9kYXRhYmFzZV9wYXRo
X2dldCk6CisKIDIwMTEtMDktMTQgIEdyemVnb3J6IEN6YWprb3dza2kgIDxnLmN6YWprb3dza2lA
c2Ftc3VuZy5jb20+CiAKICAgICAgICAgW0VGTF0gQWRkIE5VTEwgY2hlY2tzIHRvIGV3a193aW5k
b3dfZmVhdHVyZXNfbmV3X2Zyb21fY29yZSBhbmQgZXdrX3ZpZXdfd2luZG93X2NyZWF0ZS4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw3ICszNCw4
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50RWZsLmgiCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogI2luY2x1
ZGUgIkRhdGFiYXNlRGV0YWlscy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2Vu
ZGlmCkBAIC0zOTMsNyArMzk0LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRFZmw6Om5lZWRUb3VjaEV2
ZW50cyhibwogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIHZvaWQgQ2hyb21lQ2xpZW50RWZsOjpleGNlZWRlZERhdGFiYXNlUXVvdGEo
RnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkKIHsKICAgICB1aW50NjRf
dCBxdW90YTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudEVmbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDYs
NyArMTA2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHByaW50KEZyYW1lKik7CiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB2aXJ0
dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJik7CiAj
ZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19zZXR0aW5ncy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTIyLDcgKzIyLDcgQEAKICNpbmNsdWRlICJld2tfc2V0dGluZ3MuaCIK
IAogI2luY2x1ZGUgIkVXZWJLaXQuaCIKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNlbmRpZgogI2lu
Y2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtNTEsNyArNTEsNyBAQCBzdGF0aWMgY29uc3QgY2hhciog
X2V3a19jYWNoZV9kaXJlY3RvcnlfCiAjZW5kaWYKIAogc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tf
aWNvbl9kYXRhYmFzZV9wYXRoID0gMDsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIHN0YXRpYyBjb25zdCBjaGFyKiBfZXdrX2RlZmF1bHRfd2ViX2RhdGFi
YXNlX3BhdGggPSAwOwogc3RhdGljIHVpbnQ2NF90IF9ld2tfZGVmYXVsdF93ZWJfZGF0YWJhc2Vf
cXVvdGEgPSAxICogMTAyNCAqIDEwMjQ7CiAjZW5kaWYKQEAgLTgyLDcgKzgyLDcgQEAgc3RhdGlj
IFdURjo6U3RyaW5nIF9ld2tfc2V0dGluZ3Nfd2Via2l0XwogCiB1aW50NjRfdCBld2tfc2V0dGlu
Z3Nfd2ViX2RhdGFiYXNlX2RlZmF1bHRfcXVvdGFfZ2V0KHZvaWQpCiB7Ci0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIF9ld2tfZGVmYXVs
dF93ZWJfZGF0YWJhc2VfcXVvdGE7CiAjZWxzZQogICAgIHJldHVybiAwOwpAQCAtOTEsNyArOTEs
NyBAQCB1aW50NjRfdCBld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX2RlZmF1CiAKIHZvaWQgZXdr
X3NldHRpbmdzX3dlYl9kYXRhYmFzZV9wYXRoX3NldChjb25zdCBjaGFyICpwYXRoKQogewotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdURjo6U3Ry
aW5nIGNvcmVQYXRoID0gV1RGOjpTdHJpbmc6OmZyb21VVEY4KHBhdGgpOwogICAgIFdlYkNvcmU6
OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldERhdGFiYXNlRGlyZWN0b3J5UGF0aChjb3Jl
UGF0aCk7CiAgICAgaWYgKCFfZXdrX2RlZmF1bHRfd2ViX2RhdGFiYXNlX3BhdGgpCkBAIC0xMDQs
NyArMTA0LDcgQEAgdm9pZCBld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfc2V0KAogCiBj
b25zdCBjaGFyICpld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfZ2V0KHZvaWQpCiB7Ci0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJu
IF9ld2tfZGVmYXVsdF93ZWJfZGF0YWJhc2VfcGF0aDsKICNlbHNlCiAgICAgcmV0dXJuIDA7Cklu
ZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NTI1NSkKKysrIFNvdXJjZS9XZWJLaXQvZ3Rr
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBACisyMDExLTA5LTE1ICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShE
QVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsu
Y3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oOgorICAgICAg
ICAqIHdlYmtpdC93ZWJraXRzZWN1cml0eW9yaWdpbi5jcHA6CisgICAgICAgICh3ZWJraXRfc2Vj
dXJpdHlfb3JpZ2luX2dldF93ZWJfZGF0YWJhc2VfdXNhZ2UpOgorICAgICAgICAod2Via2l0X3Nl
Y3VyaXR5X29yaWdpbl9nZXRfd2ViX2RhdGFiYXNlX3F1b3RhKToKKyAgICAgICAgKHdlYmtpdF9z
ZWN1cml0eV9vcmlnaW5fc2V0X3dlYl9kYXRhYmFzZV9xdW90YSk6CisgICAgICAgICh3ZWJraXRf
c2VjdXJpdHlfb3JpZ2luX2dldF9hbGxfd2ViX2RhdGFiYXNlcyk6CisgICAgICAgICogd2Via2l0
L3dlYmtpdHdlYmRhdGFiYXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0
X2Rpc3BsYXlfbmFtZSk6CisgICAgICAgICh3ZWJraXRfd2ViX2RhdGFiYXNlX2dldF9leHBlY3Rl
ZF9zaXplKToKKyAgICAgICAgKHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0X3NpemUpOgorICAgICAg
ICAod2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfZmlsZW5hbWUpOgorICAgICAgICAod2Via2l0X3dl
Yl9kYXRhYmFzZV9yZW1vdmUpOgorICAgICAgICAod2Via2l0X3JlbW92ZV9hbGxfd2ViX2RhdGFi
YXNlcyk6CisgICAgICAgICh3ZWJraXRfZ2V0X3dlYl9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aCk6
CisgICAgICAgICh3ZWJraXRfc2V0X3dlYl9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aCk6CisgICAg
ICAgICogd2Via2l0L3dlYmtpdHdlYnZpZXcuY3BwOgorICAgICAgICAod2Via2l0X3dlYl92aWV3
X3VwZGF0ZV9zZXR0aW5ncyk6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfc2V0dGluZ3Nfbm90
aWZ5KToKKwogMjAxMS0wOS0xMCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAg
ICAgICAgIEZpeCBidWlsZCBicmVhay4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9n
dGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02Myw3ICs2Myw3IEBACiAjaW5jbHVkZSA8Z3RrL2d0ay5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2VuZGlm
CiAKQEAgLTU3Niw3ICs1NzYsNyBAQCB2b2lkIENocm9tZUNsaWVudDo6cHJpbnQoRnJhbWUqIGZy
YW1lKQogICAgIHdlYmtpdF93ZWJfZnJhbWVfcHJpbnQod2ViRnJhbWUpOwogfQogCi0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiB2b2lkIENocm9tZUNsaWVu
dDo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBkYXRh
YmFzZU5hbWUpCiB7CiAgICAgZ3VpbnQ2NCBkZWZhdWx0UXVvdGEgPSB3ZWJraXRfZ2V0X2RlZmF1
bHRfd2ViX2RhdGFiYXNlX3F1b3RhKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE1LDcgKzExNSw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogICAgICAgICB2
aXJ0dWFsIHZvaWQgZGlzcGF0Y2hWaWV3cG9ydERhdGFEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6
Vmlld3BvcnRBcmd1bWVudHMmIGFyZ3VtZW50cykgY29uc3Q7CiAKICAgICAgICAgdmlydHVhbCB2
b2lkIHByaW50KFdlYkNvcmU6OkZyYW1lKik7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNl
UXVvdGEoV2ViQ29yZTo6RnJhbWUqLCBjb25zdCBXVEY6OlN0cmluZyYpOwogI2VuZGlmCiAjaWYg
RU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3Rr
L3dlYmtpdC93ZWJraXRzZWN1cml0eW9yaWdpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9ndGsvd2Via2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmNwcAkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOTYsNyArMjk2LDcgQEAgZ3VpbnQ2NCB3ZWJraXRfc2VjdXJpdHlf
b3JpZ2luX2dldF93ZWJfZAogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19T
RUNVUklUWV9PUklHSU4oc2VjdXJpdHlPcmlnaW4pLCAwKTsKIAotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
KiBjb3JlT3JpZ2luID0gY29yZShzZWN1cml0eU9yaWdpbik7CiAgICAgcmV0dXJuIFdlYkNvcmU6
OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnVzYWdlRm9yT3JpZ2luKGNvcmVPcmlnaW4pOwog
I2Vsc2UKQEAgLTMxOSw3ICszMTksNyBAQCBndWludDY0IHdlYmtpdF9zZWN1cml0eV9vcmlnaW5f
Z2V0X3dlYl9kCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFQ1VSSVRZ
X09SSUdJTihzZWN1cml0eU9yaWdpbiksIDApOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGNvcmVP
cmlnaW4gPSBjb3JlKHNlY3VyaXR5T3JpZ2luKTsKICAgICByZXR1cm4gV2ViQ29yZTo6RGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkucXVvdGFGb3JPcmlnaW4oY29yZU9yaWdpbik7CiAjZWxzZQpA
QCAtMzQwLDcgKzM0MCw3IEBAIHZvaWQgd2Via2l0X3NlY3VyaXR5X29yaWdpbl9zZXRfd2ViX2Rh
dGEKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19TRUNVUklUWV9PUklHSU4oc2Vj
dXJpdHlPcmlnaW4pKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBjb3JlT3JpZ2luID0gY29yZShz
ZWN1cml0eU9yaWdpbik7CiAgICAgV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCku
c2V0UXVvdGEoY29yZU9yaWdpbiwgcXVvdGEpOwogI2VuZGlmCkBAIC0zNjIsNyArMzYyLDcgQEAg
R0xpc3QqIHdlYmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X2FsbF93ZQogICAgIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsKFdFQktJVF9JU19TRUNVUklUWV9PUklHSU4oc2VjdXJpdHlPcmlnaW4pLCBOVUxM
KTsKICAgICBHTGlzdCogZGF0YWJhc2VzID0gTlVMTDsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luKiBj
b3JlT3JpZ2luID0gY29yZShzZWN1cml0eU9yaWdpbik7CiAgICAgVmVjdG9yPFdURjo6U3RyaW5n
PiBkYXRhYmFzZU5hbWVzOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
d2ViZGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJkYXRhYmFzZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzI1LDcg
KzMyNSw3IEBAIGNvbnN0IGdjaGFyKiB3ZWJraXRfd2ViX2RhdGFiYXNlX2dldF9kaXMKIHsKICAg
ICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfV0VCX0RBVEFCQVNFKHdlYkRhdGFiYXNl
KSwgTlVMTCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICBXZWJLaXRXZWJEYXRhYmFzZVByaXZhdGUqIHByaXYgPSB3ZWJEYXRhYmFzZS0+cHJp
djsKICAgICBXZWJDb3JlOjpEYXRhYmFzZURldGFpbHMgZGV0YWlscyA9IFdlYkNvcmU6OkRhdGFi
YXNlVHJhY2tlcjo6dHJhY2tlcigpLmRldGFpbHNGb3JOYW1lQW5kT3JpZ2luKHByaXYtPm5hbWUs
IGNvcmUocHJpdi0+b3JpZ2luKSk7CiAgICAgV1RGOjpTdHJpbmcgZGlzcGxheU5hbWUgPSAgZGV0
YWlscy5kaXNwbGF5TmFtZSgpOwpAQCAtMzU3LDcgKzM1Nyw3IEBAIGd1aW50NjQgd2Via2l0X3dl
Yl9kYXRhYmFzZV9nZXRfZXhwZWN0ZWQKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJL
SVRfSVNfV0VCX0RBVEFCQVNFKHdlYkRhdGFiYXNlKSwgMCk7CiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJLaXRXZWJEYXRhYmFzZVByaXZh
dGUqIHByaXYgPSB3ZWJEYXRhYmFzZS0+cHJpdjsKICAgICBXZWJDb3JlOjpEYXRhYmFzZURldGFp
bHMgZGV0YWlscyA9IFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRldGFpbHNG
b3JOYW1lQW5kT3JpZ2luKHByaXYtPm5hbWUsIGNvcmUocHJpdi0+b3JpZ2luKSk7CiAgICAgcmV0
dXJuIGRldGFpbHMuZXhwZWN0ZWRVc2FnZSgpOwpAQCAtMzgwLDcgKzM4MCw3IEBAIGd1aW50NjQg
d2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfc2l6ZShXZWIKIHsKICAgICBnX3JldHVybl92YWxfaWZf
ZmFpbChXRUJLSVRfSVNfV0VCX0RBVEFCQVNFKHdlYkRhdGFiYXNlKSwgMCk7CiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJLaXRXZWJEYXRh
YmFzZVByaXZhdGUqIHByaXYgPSB3ZWJEYXRhYmFzZS0+cHJpdjsKICAgICBXZWJDb3JlOjpEYXRh
YmFzZURldGFpbHMgZGV0YWlscyA9IFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigp
LmRldGFpbHNGb3JOYW1lQW5kT3JpZ2luKHByaXYtPm5hbWUsIGNvcmUocHJpdi0+b3JpZ2luKSk7
CiAgICAgcmV0dXJuIGRldGFpbHMuY3VycmVudFVzYWdlKCk7CkBAIC00MDMsNyArNDAzLDcgQEAg
Y29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0X2ZpbAogewogICAgIGdfcmV0dXJu
X3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0YWJhc2UpLCBOVUxMKTsK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdl
YktpdFdlYkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAgIFdU
Rjo6U3RyaW5nIGNvcmVOYW1lID0gV1RGOjpTdHJpbmc6OmZyb21VVEY4KHByaXYtPm5hbWUpOwog
ICAgIFdURjo6U3RyaW5nIGNvcmVQYXRoID0gV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFj
a2VyKCkuZnVsbFBhdGhGb3JEYXRhYmFzZShjb3JlKHByaXYtPm9yaWdpbiksIGNvcmVOYW1lKTsK
QEAgLTQzMyw3ICs0MzMsNyBAQCB2b2lkIHdlYmtpdF93ZWJfZGF0YWJhc2VfcmVtb3ZlKFdlYktp
dFdlCiB7CiAgICAgZ19yZXR1cm5faWZfZmFpbChXRUJLSVRfSVNfV0VCX0RBVEFCQVNFKHdlYkRh
dGFiYXNlKSk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICBXZWJLaXRXZWJEYXRhYmFzZVByaXZhdGUqIHByaXYgPSB3ZWJEYXRhYmFzZS0+cHJp
djsKICAgICBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5kZWxldGVEYXRhYmFz
ZShjb3JlKHByaXYtPm9yaWdpbiksIHByaXYtPm5hbWUpOwogI2VuZGlmCkBAIC00NDgsNyArNDQ4
LDcgQEAgdm9pZCB3ZWJraXRfd2ViX2RhdGFiYXNlX3JlbW92ZShXZWJLaXRXZQogICoqLwogdm9p
ZCB3ZWJraXRfcmVtb3ZlX2FsbF93ZWJfZGF0YWJhc2VzKCkKIHsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpEYXRhYmFzZVRyYWNr
ZXI6OnRyYWNrZXIoKS5kZWxldGVBbGxEYXRhYmFzZXMoKTsKICNlbmRpZgogfQpAQCAtNDY2LDcg
KzQ2Niw3IEBAIHZvaWQgd2Via2l0X3JlbW92ZV9hbGxfd2ViX2RhdGFiYXNlcygpCiAgKiovCiBj
b25zdCBnY2hhciogd2Via2l0X2dldF93ZWJfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgoKQogewot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdURjo6
U3RyaW5nIHBhdGggPSBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5kYXRhYmFz
ZURpcmVjdG9yeVBhdGgoKTsKIAogICAgIGlmIChwYXRoLmlzRW1wdHkoKSkKQEAgLTQ5MSw3ICs0
OTEsNyBAQCBjb25zdCBnY2hhciogd2Via2l0X2dldF93ZWJfZGF0YWJhc2VfZGlyCiAgKiovCiB2
b2lkIHdlYmtpdF9zZXRfd2ViX2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoKGNvbnN0IGdjaGFyKiBw
YXRoKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
ICAgIFdURjo6U3RyaW5nIGNvcmVQYXRoID0gV1RGOjpTdHJpbmc6OmZyb21VVEY4KHBhdGgpOwog
ICAgIFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldERhdGFiYXNlRGlyZWN0
b3J5UGF0aChjb3JlUGF0aCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJr
aXR3ZWJ2aWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYnZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjMzLDcgKzMyMzMsNyBA
QCBzdGF0aWMgdm9pZCB3ZWJraXRfd2ViX3ZpZXdfdXBkYXRlX3NldHRpCiAgICAgY29yZVNldHRp
bmdzLT5zZXRIeXBlcmxpbmtBdWRpdGluZ0VuYWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVI
eXBlcmxpbmtBdWRpdGluZyk7CiAgICAgY29yZVNldHRpbmdzLT5zZXRETlNQcmVmZXRjaGluZ0Vu
YWJsZWQoc2V0dGluZ3NQcml2YXRlLT5lbmFibGVETlNQcmVmZXRjaGluZyk7CiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBBYnN0cmFjdERhdGFi
YXNlOjpzZXRJc0F2YWlsYWJsZShzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUhUTUw1RGF0YWJhc2Up
OwogI2VuZGlmCiAKQEAgLTMzMTgsNyArMzMxOCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJf
dmlld19zZXR0aW5nc19ub3QKICAgICAgICAgc2V0dGluZ3MtPnNldFByaXZhdGVCcm93c2luZ0Vu
YWJsZWQoZ192YWx1ZV9nZXRfYm9vbGVhbigmdmFsdWUpKTsKICAgICBlbHNlIGlmIChuYW1lID09
IGdfaW50ZXJuX3N0cmluZygiZW5hYmxlLWNhcmV0LWJyb3dzaW5nIikpCiAgICAgICAgIHNldHRp
bmdzLT5zZXRDYXJldEJyb3dzaW5nRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkp
OwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIGVs
c2UgaWYgKG5hbWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtaHRtbDUtZGF0YWJhc2UiKSkg
ewogICAgICAgICBBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZShnX3ZhbHVlX2dldF9i
b29sZWFuKCZ2YWx1ZSkpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCShyZXZpc2lv
biA5NTI1NSkKKysrIFNvdXJjZS9XZWJLaXQvaGFpa3UvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RB
VEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1Lmg6CisKIDIwMTEtMDgtMzAgIEthdXN0
dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rvcm9sYS5jb20+CiAKICAgICAgICAgVGhlIHVu
dXNlZCBTY3JvbGxWaWV3KiBhcmd1bWVudCBjYW4gYW5kIHNob3VsZCBiZSByZW1vdmVkIGZyb20K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFp
a3UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEhhaWt1LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9oYWlr
dS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjcsNyArMTI3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZvaWQgcHJpbnQo
RnJhbWUqKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29u
c3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
bWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUo
U1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIFN0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VyLm1tOgorICAgICAgICAqIFN0b3JhZ2Uv
V2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwuaDoKKyAgICAgICAgKiBTdG9yYWdlL1dlYkRhdGFi
YXNlTWFuYWdlclByaXZhdGUuaDoKKyAgICAgICAgKiBTdG9yYWdlL1dlYkRhdGFiYXNlUXVvdGFN
YW5hZ2VyLm1tOgorICAgICAgICAoLVtXZWJEYXRhYmFzZVF1b3RhTWFuYWdlciB1c2FnZV0pOgor
ICAgICAgICAoLVtXZWJEYXRhYmFzZVF1b3RhTWFuYWdlciBxdW90YV0pOgorICAgICAgICAoLVtX
ZWJEYXRhYmFzZVF1b3RhTWFuYWdlciBzZXRRdW90YTpdKToKKyAgICAgICAgKiBTdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5oOgorICAgICAgICAqIFN0b3JhZ2UvV2ViRGF0YWJhc2VU
cmFja2VyQ2xpZW50Lm1tOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbToKKyAgICAg
ICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTZWN1cml0eU9yaWdpbi5tbToKKyAgICAgICAgKC1bV2Vi
U2VjdXJpdHlPcmlnaW4gdXNhZ2VdKToKKyAgICAgICAgKC1bV2ViU2VjdXJpdHlPcmlnaW4gcXVv
dGFdKToKKyAgICAgICAgKC1bV2ViU2VjdXJpdHlPcmlnaW4gc2V0UXVvdGE6XSk6CisgICAgICAg
ICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKC1bV2ViRnJhbWUgX2NhY2hlYWJpbGl0
eURpY3Rpb25hcnldKToKKyAgICAgICAgKiBXZWJWaWV3L1dlYlZpZXcubW06CisgICAgICAgICgt
W1dlYlZpZXcgX2NvbW1vbkluaXRpYWxpemF0aW9uV2l0aEZyYW1lTmFtZTpncm91cE5hbWU6dXNl
c0RvY3VtZW50Vmlld3M6XSk6CisgICAgICAgICgtW1dlYlZpZXcgX3ByZWZlcmVuY2VzQ2hhbmdl
ZDpdKToKKwogMjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUu
Y29tPgogCiAgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3Rv
cnMgaW4gSlNDZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0JKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW0JKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbXBvcnQgIldlYkRhdGFiYXNlTWFuYWdlclByaXZhdGUu
aCIKICNpbXBvcnQgIldlYkRhdGFiYXNlTWFuYWdlckludGVybmFsLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2ltcG9ydCAiV2ViRGF0YWJh
c2VUcmFja2VyQ2xpZW50LmgiCiAjaW1wb3J0ICJXZWJTZWN1cml0eU9yaWdpbkludGVybmFsLmgi
CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlckludGVy
bmFsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFz
ZU1hbmFnZXJJbnRlcm5hbC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvbWFj
L1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwuaAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNyArMjYsNyBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKIHZvaWQgV2ViS2l0SW5pdGlhbGl6ZURhdGFiYXNl
c0lmTmVjZXNzYXJ5KCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1N0
b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw4IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCi0gCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogZXh0ZXJuIE5TU3Ry
aW5nICpXZWJEYXRhYmFzZURpcmVjdG9yeURlZmF1bHRzS2V5OwogCiBleHRlcm4gTlNTdHJpbmcg
KldlYkRhdGFiYXNlRGlzcGxheU5hbWVLZXk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9TdG9y
YWdlL1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VRdW90YU1hbmFnZXIubW0JKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVF1b3RhTWFuYWdlci5t
bQkod29ya2luZyBjb3B5KQpAQCAtNDksNyArNDksNyBAQCAtIChXZWJTZWN1cml0eU9yaWdpbiAq
KW9yaWdpbgogCiAtICh1bnNpZ25lZCBsb25nIGxvbmcpdXNhZ2UKIHsKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gRGF0YWJhc2VUcmFj
a2VyOjp0cmFja2VyKCkudXNhZ2VGb3JPcmlnaW4oW19vcmlnaW4gX2NvcmVdKTsKICNlbHNlCiAg
ICAgcmV0dXJuIDA7CkBAIC01OCw3ICs1OCw3IEBAIC0gKHVuc2lnbmVkIGxvbmcgbG9uZyl1c2Fn
ZQogCiAtICh1bnNpZ25lZCBsb25nIGxvbmcpcXVvdGEKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gRGF0YWJhc2VUcmFja2VyOjp0
cmFja2VyKCkucXVvdGFGb3JPcmlnaW4oW19vcmlnaW4gX2NvcmVdKTsKICNlbHNlCiAgICAgcmV0
dXJuIDA7CkBAIC03MCw3ICs3MCw3IEBAIC0gKHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogLy8g
cHJldmVudCBuZXcgZGF0YSBmcm9tIGJlaW5nIGFkZGVkIHRvIGRhdGFiYXNlcyBpbiB0aGF0IG9y
aWdpbi4KIC0gKHZvaWQpc2V0UXVvdGE6KHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogewotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNl
VHJhY2tlcjo6dHJhY2tlcigpLnNldFF1b3RhKFtfb3JpZ2luIF9jb3JlXSwgcXVvdGEpOwogI2Vu
ZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tl
ckNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0
YWJhc2VUcmFja2VyQ2xpZW50LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
MjYsNyArMjYsNyBAQAogICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKSAKIAogI2ltcG9ydCA8V2ViQ29yZS9EYXRhYmFzZVRy
YWNrZXJDbGllbnQuaD4KIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRh
YmFzZVRyYWNrZXJDbGllbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvU3Rv
cmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0JKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQubW0JKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICAKICNpbXBvcnQgIldlYkRhdGFiYXNlVHJhY2tl
ckNsaWVudC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKICNpbXBvcnQgIldlYkRhdGFiYXNlTWFuYWdlclByaXZhdGUuaCIKICNpbXBvcnQgIldl
YlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA5NTI0MykKKysr
IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMDksNyArMTA5LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBz
ZXRUb29sVGlwKGNvbnN0IFdURjo6U3RyaW5nJiwgV2ViQ29yZTo6VGV4dERpcmVjdGlvbik7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoV2ViQ29yZTo6RnJhbWUqKTsKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVk
ZWREYXRhYmFzZVF1b3RhKFdlYkNvcmU6OkZyYW1lKiwgY29uc3QgV1RGOjpTdHJpbmcmIGRhdGFi
YXNlTmFtZSk7CiAjZW5kaWYKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpJ
bmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5tbQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAgLTY1Nyw3ICs2NTcs
NyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cHJpbnQoRnJhbWUqIGZyYW1lCiAgICAgICAgIENh
bGxVSURlbGVnYXRlKG1fd2ViVmlldywgQHNlbGVjdG9yKHdlYlZpZXc6cHJpbnRGcmFtZVZpZXc6
KSwgW3dlYkZyYW1lIGZyYW1lVmlld10pOwogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpleGNlZWRlZERh
dGFiYXNlUXVvdGEoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkKIHsK
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2lu
Lm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlNl
Y3VyaXR5T3JpZ2luLm1tCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xNjIs
NyArMTYyLDcgQEAgLSAoaWQ8V2ViUXVvdGFNYW5hZ2VyPilkYXRhYmFzZVF1b3RhTWFuYQogCiAt
ICh1bnNpZ25lZCBsb25nIGxvbmcpdXNhZ2UKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gRGF0YWJhc2VUcmFja2VyOjp0cmFja2Vy
KCkudXNhZ2VGb3JPcmlnaW4ocmVpbnRlcnByZXRfY2FzdDxTZWN1cml0eU9yaWdpbio+KF9wcml2
YXRlKSk7CiAjZWxzZQogICAgIHJldHVybiAwOwpAQCAtMTcxLDcgKzE3MSw3IEBAIC0gKHVuc2ln
bmVkIGxvbmcgbG9uZyl1c2FnZQogCiAtICh1bnNpZ25lZCBsb25nIGxvbmcpcXVvdGEKIHsKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4g
RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkucXVvdGFGb3JPcmlnaW4ocmVpbnRlcnByZXRfY2Fz
dDxTZWN1cml0eU9yaWdpbio+KF9wcml2YXRlKSk7CiAjZWxzZQogICAgIHJldHVybiAwOwpAQCAt
MTgwLDcgKzE4MCw3IEBAIC0gKHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogCiAtICh2b2lkKXNl
dFF1b3RhOih1bnNpZ25lZCBsb25nIGxvbmcpcXVvdGEKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIo
KS5zZXRRdW90YShyZWludGVycHJldF9jYXN0PFNlY3VyaXR5T3JpZ2luKj4oX3ByaXZhdGUpLCBx
dW90YSk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJh
bWUubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5t
bQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1l
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMTc3LDcgKzExNzcsNyBAQCAtIChOU011dGFibGVEaWN0
aW9uYXJ5ICopX2NhY2hlYWJpbGl0eURpCiAgICAgfQogICAgIAogICAgIGlmIChEb2N1bWVudCog
ZG9jdW1lbnQgPSBfcHJpdmF0ZS0+Y29yZUZyYW1lLT5kb2N1bWVudCgpKSB7Ci0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIGlmIChkb2N1bWVu
dC0+aGFzT3BlbkRhdGFiYXNlcygpKQogICAgICAgICAgICAgW3Jlc3VsdCBzZXRPYmplY3Q6W05T
TnVtYmVyIG51bWJlcldpdGhCb29sOllFU10gZm9yS2V5OldlYkZyYW1lVXNlc0RhdGFiYXNlc107
CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHJldmlzaW9u
IDk1MjQzKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCSh3b3JraW5n
IGNvcHkpCkBAIC03MjYsNyArNzI2LDcgQEAgLSAodm9pZClfY29tbW9uSW5pdGlhbGl6YXRpb25X
aXRoRnJhbWVOYQogICAgICAgICBXZWJLaXRJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNl
c3NhcnkoKTsKICAgICAgICAgV2ViQ29yZTo6SW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVj
ZXNzYXJ5KCk7CiAgICAgICAgIFtXZWJIaXN0b3J5SXRlbSBpbml0V2luZG93V2F0Y2hlcklmTmVj
ZXNzYXJ5XTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICAgICAgICAgV2ViS2l0SW5pdGlhbGl6ZURhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYK
IApAQCAtMTUxNSw3ICsxNTE1LDcgQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQ
cmVmZXJlbgogICAgIHNldHRpbmdzLT5zZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplKFtwcmVmZXJl
bmNlcyBtaW5pbXVtTG9naWNhbEZvbnRTaXplXSk7CiAgICAgc2V0dGluZ3MtPnNldFBpY3RvZ3Jh
cGhGb250RmFtaWx5KFtwcmVmZXJlbmNlcyBwaWN0b2dyYXBoRm9udEZhbWlseV0pOwogICAgIHNl
dHRpbmdzLT5zZXRQbHVnaW5zRW5hYmxlZChbcHJlZmVyZW5jZXMgYXJlUGx1Z0luc0VuYWJsZWRd
KTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBB
YnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWlsYWJsZShbcHJlZmVyZW5jZXMgZGF0YWJhc2VzRW5h
YmxlZF0pOwogI2VuZGlmCiAgICAgc2V0dGluZ3MtPnNldExvY2FsU3RvcmFnZUVuYWJsZWQoW3By
ZWZlcmVuY2VzIGxvY2FsU3RvcmFnZUVuYWJsZWRdKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCShyZXZp
c2lvbiA5NTI1NSkKKysrIFNvdXJjZS9XZWJLaXQvcXQvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0
Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RB
VEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IEFwaS9xd2ViZGF0YWJhc2UuY3BwOgorICAgICAgICAoUVdlYkRhdGFiYXNlOjpkaXNwbGF5TmFt
ZSk6CisgICAgICAgIChRV2ViRGF0YWJhc2U6OmV4cGVjdGVkU2l6ZSk6CisgICAgICAgIChRV2Vi
RGF0YWJhc2U6OnNpemUpOgorICAgICAgICAoUVdlYkRhdGFiYXNlOjpmaWxlTmFtZSk6CisgICAg
ICAgIChRV2ViRGF0YWJhc2U6OnJlbW92ZURhdGFiYXNlKToKKyAgICAgICAgKFFXZWJEYXRhYmFz
ZTo6cmVtb3ZlQWxsRGF0YWJhc2VzKToKKyAgICAgICAgKiBBcGkvcXdlYnNlY3VyaXR5b3JpZ2lu
LmNwcDoKKyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJhc2VVc2FnZSk6CisgICAg
ICAgIChRV2ViU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNlUXVvdGEpOgorICAgICAgICAoUVdlYlNl
Y3VyaXR5T3JpZ2luOjpzZXREYXRhYmFzZVF1b3RhKToKKyAgICAgICAgKFFXZWJTZWN1cml0eU9y
aWdpbjo6YWxsT3JpZ2lucyk6CisgICAgICAgIChRV2ViU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNl
cyk6CisgICAgICAgICogQXBpL3F3ZWJzZXR0aW5ncy5jcHA6CisgICAgICAgIChRV2ViU2V0dGlu
Z3NQcml2YXRlOjphcHBseSk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6OnNldE9mZmxpbmVTdG9y
YWdlUGF0aCk6CisgICAgICAgIChRV2ViU2V0dGluZ3M6Om9mZmxpbmVTdG9yYWdlUGF0aCk6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0Lmg6CisKIDIwMTEtMDktMTMgIFplbm8gQWxiaXNz
ZXIgIDx6ZW5vLmFsYmlzc2VyQG5va2lhLmNvbT4KIAogICAgICAgICBbUXRdIEZpeCBzdGF0ZSBv
ZiBzdG9wL3JlbG9hZCBhY3Rpb25zIGluIFFXZWJQYWdlCkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0
L0FwaS9xd2ViZGF0YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBp
L3F3ZWJkYXRhYmFzZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9xdC9B
cGkvcXdlYmRhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsNyBAQCBRU3Ry
aW5nIFFXZWJEYXRhYmFzZTo6bmFtZSgpIGNvbnN0CiAqLwogUVN0cmluZyBRV2ViRGF0YWJhc2U6
OmRpc3BsYXlOYW1lKCkgY29uc3QKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZURldGFpbHMgZGV0YWlscyA9IERhdGFiYXNlVHJh
Y2tlcjo6dHJhY2tlcigpLmRldGFpbHNGb3JOYW1lQW5kT3JpZ2luKGQtPm5hbWUsIGQtPm9yaWdp
bi5nZXQoKSk7CiAgICAgcmV0dXJuIGRldGFpbHMuZGlzcGxheU5hbWUoKTsKICNlbHNlCkBAIC05
OSw3ICs5OSw3IEBAIFFTdHJpbmcgUVdlYkRhdGFiYXNlOjpkaXNwbGF5TmFtZSgpIGNvbnMKICov
CiBxaW50NjQgUVdlYkRhdGFiYXNlOjpleHBlY3RlZFNpemUoKSBjb25zdAogewotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlRGV0YWls
cyBkZXRhaWxzID0gRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRP
cmlnaW4oZC0+bmFtZSwgZC0+b3JpZ2luLmdldCgpKTsKICAgICByZXR1cm4gZGV0YWlscy5leHBl
Y3RlZFVzYWdlKCk7CiAjZWxzZQpAQCAtMTEyLDcgKzExMiw3IEBAIHFpbnQ2NCBRV2ViRGF0YWJh
c2U6OmV4cGVjdGVkU2l6ZSgpIGNvbnMKICovCiBxaW50NjQgUVdlYkRhdGFiYXNlOjpzaXplKCkg
Y29uc3QKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICAgICBEYXRhYmFzZURldGFpbHMgZGV0YWlscyA9IERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigp
LmRldGFpbHNGb3JOYW1lQW5kT3JpZ2luKGQtPm5hbWUsIGQtPm9yaWdpbi5nZXQoKSk7CiAgICAg
cmV0dXJuIGRldGFpbHMuY3VycmVudFVzYWdlKCk7CiAjZWxzZQpAQCAtMTQ3LDcgKzE0Nyw3IEBA
IFFXZWJEYXRhYmFzZTo6UVdlYkRhdGFiYXNlKFFXZWJEYXRhYmFzZVAKICovCiBRU3RyaW5nIFFX
ZWJEYXRhYmFzZTo6ZmlsZU5hbWUoKSBjb25zdAogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNrZXI6OnRyYWNr
ZXIoKS5mdWxsUGF0aEZvckRhdGFiYXNlKGQtPm9yaWdpbi5nZXQoKSwgZC0+bmFtZSwgZmFsc2Up
OwogI2Vsc2UKICAgICByZXR1cm4gUVN0cmluZygpOwpAQCAtMTcwLDcgKzE3MCw3IEBAIFFXZWJT
ZWN1cml0eU9yaWdpbiBRV2ViRGF0YWJhc2U6Om9yaWdpbigKICovCiB2b2lkIFFXZWJEYXRhYmFz
ZTo6cmVtb3ZlRGF0YWJhc2UoY29uc3QgUVdlYkRhdGFiYXNlJiBkYikKIHsKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZVRyYWNrZXI6
OnRyYWNrZXIoKS5kZWxldGVEYXRhYmFzZShkYi5kLT5vcmlnaW4uZ2V0KCksIGRiLmQtPm5hbWUp
OwogI2VuZGlmCiB9CkBAIC0xODQsNyArMTg0LDcgQEAgdm9pZCBRV2ViRGF0YWJhc2U6OnJlbW92
ZURhdGFiYXNlKGNvbnN0IAogKi8KIHZvaWQgUVdlYkRhdGFiYXNlOjpyZW1vdmVBbGxEYXRhYmFz
ZXMoKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
ICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRlbGV0ZUFsbERhdGFiYXNlcygpOwogI2Vu
ZGlmCiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5j
cHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5
b3JpZ2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTIwLDcgKzEyMCw3IEBAIGludCBRV2ViU2Vj
dXJpdHlPcmlnaW46OnBvcnQoKSBjb25zdAogKi8KIHFpbnQ2NCBRV2ViU2VjdXJpdHlPcmlnaW46
OmRhdGFiYXNlVXNhZ2UoKSBjb25zdAogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS51
c2FnZUZvck9yaWdpbihkLT5vcmlnaW4uZ2V0KCkpOwogI2Vsc2UKICAgICByZXR1cm4gMDsKQEAg
LTEzMiw3ICsxMzIsNyBAQCBxaW50NjQgUVdlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFzZVVzYWdl
CiAqLwogcWludDY0IFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJhc2VRdW90YSgpIGNvbnN0CiB7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0
dXJuIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnF1b3RhRm9yT3JpZ2luKGQtPm9yaWdpbi5n
ZXQoKSk7CiAjZWxzZQogICAgIHJldHVybiAwOwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHFpbnQ2NCBR
V2ViU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNlUXVvdGEKICovCiB2b2lkIFFXZWJTZWN1cml0eU9y
aWdpbjo6c2V0RGF0YWJhc2VRdW90YShxaW50NjQgcXVvdGEpCiB7Ci0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFj
a2VyKCkuc2V0UXVvdGEoZC0+b3JpZ2luLmdldCgpLCBxdW90YSk7CiAjZW5kaWYKIH0KQEAgLTE4
MSw3ICsxODEsNyBAQCBRTGlzdDxRV2ViU2VjdXJpdHlPcmlnaW4+IFFXZWJTZWN1cml0eU9yCiB7
CiAgICAgUUxpc3Q8UVdlYlNlY3VyaXR5T3JpZ2luPiB3ZWJPcmlnaW5zOwogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgVmVjdG9yPFJlZlB0cjxT
ZWN1cml0eU9yaWdpbj4gPiBjb3JlT3JpZ2luczsKICAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNr
ZXIoKS5vcmlnaW5zKGNvcmVPcmlnaW5zKTsKIApAQCAtMjAxLDcgKzIwMSw3IEBAIFFMaXN0PFFX
ZWJEYXRhYmFzZT4gUVdlYlNlY3VyaXR5T3JpZ2luOjoKIHsKICAgICBRTGlzdDxRV2ViRGF0YWJh
c2U+IGRhdGFiYXNlczsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIFZlY3RvcjxTdHJpbmc+IG5hbWVWZWN0b3I7CiAKICAgICBpZiAoIURhdGFi
YXNlVHJhY2tlcjo6dHJhY2tlcigpLmRhdGFiYXNlTmFtZXNGb3JPcmlnaW4oZC0+b3JpZ2luLmdl
dCgpLCBuYW1lVmVjdG9yKSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5n
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNw
cAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3Mu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDcsNyArMjQ3LDcgQEAgdm9pZCBRV2ViU2V0dGluZ3NQ
cml2YXRlOjphcHBseSgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGds
b2JhbC0+YXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6OlByaW50RWxlbWVudEJhY2tncm91
bmRzKSk7CiAgICAgICAgIHNldHRpbmdzLT5zZXRTaG91bGRQcmludEJhY2tncm91bmRzKHZhbHVl
KTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
ICAgICB2YWx1ZSA9IGF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpPZmZsaW5lU3RvcmFn
ZURhdGFiYXNlRW5hYmxlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Z2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6T2ZmbGluZVN0b3JhZ2VEYXRh
YmFzZUVuYWJsZWQpKTsKICAgICAgICAgV2ViQ29yZTo6QWJzdHJhY3REYXRhYmFzZTo6c2V0SXNB
dmFpbGFibGUodmFsdWUpOwpAQCAtOTc4LDcgKzk3OCw3IEBAIHZvaWQgUVdlYlNldHRpbmdzOjpy
ZXNldEF0dHJpYnV0ZShXZWJBdHQKICovCiB2b2lkIFFXZWJTZXR0aW5nczo6c2V0T2ZmbGluZVN0
b3JhZ2VQYXRoKGNvbnN0IFFTdHJpbmcmIHBhdGgpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0
cmFja2VyKCkuc2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRoKHBhdGgpOwogI2VuZGlmCiB9CkBAIC05
OTMsNyArOTkzLDcgQEAgdm9pZCBRV2ViU2V0dGluZ3M6OnNldE9mZmxpbmVTdG9yYWdlUGF0aAog
Ki8KIFFTdHJpbmcgUVdlYlNldHRpbmdzOjpvZmZsaW5lU3RvcmFnZVBhdGgoKQogewotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBXZWJD
b3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5kYXRhYmFzZURpcmVjdG9yeVBhdGgoKTsK
ICNlbHNlCiAgICAgcmV0dXJuIFFTdHJpbmcoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MjksNyArNTI5LDcgQEAgdm9pZCBDaHJvbWVDbGllbnRRdDo6cHJp
bnQoRnJhbWUqIGZyYW1lKQogICAgIGVtaXQgbV93ZWJQYWdlLT5wcmludFJlcXVlc3RlZChRV2Vi
RnJhbWVQcml2YXRlOjpraXQoZnJhbWUpKTsKIH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogdm9pZCBDaHJvbWVDbGllbnRRdDo6ZXhjZWVkZWREYXRh
YmFzZVF1b3RhKEZyYW1lKiBmcmFtZSwgY29uc3QgU3RyaW5nJiBkYXRhYmFzZU5hbWUpCiB7CiAg
ICAgcXVpbnQ2NCBxdW90YSA9IFFXZWJTZXR0aW5nczo6b2ZmbGluZVN0b3JhZ2VEZWZhdWx0UXVv
dGEoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFF0LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMzMsNyArMTMzLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRUb29sVGlwKGNvbnN0IFN0cmluZyYsIFRl
eHREaXJlY3Rpb24pOwogCiAgICAgdmlydHVhbCB2b2lkIHByaW50KEZyYW1lKik7Ci0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmlydHVhbCB2b2lk
IGV4Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSosIGNvbnN0IFN0cmluZyYpOwogI2VuZGlmCiAj
aWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhA
d2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUo
U1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIEZvckVhY2hDb0NsYXNzLmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
aDoKKyAgICAgICAgKiBXZWJEYXRhYmFzZU1hbmFnZXIuY3BwOgorICAgICAgICAqIFdlYkRhdGFi
YXNlTWFuYWdlci5oOgorICAgICAgICAqIFdlYlNlY3VyaXR5T3JpZ2luLmNwcDoKKyAgICAgICAg
KFdlYlNlY3VyaXR5T3JpZ2luOjp1c2FnZSk6CisgICAgICAgIChXZWJTZWN1cml0eU9yaWdpbjo6
cXVvdGEpOgorICAgICAgICAoV2ViU2VjdXJpdHlPcmlnaW46OnNldFF1b3RhKToKKyAgICAgICAg
KiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKFdlYlZpZXc6OmluaXRXaXRoRnJhbWUpOgorICAgICAg
ICAoV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2VkKToKKwogMjAxMS0wOS0xNSAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBnb29nbGUuY29tPgogCiAgICAgICAgIEEgc2luZ2xlIGxpbmUg
bXVzdCBub3QgYmUgc3BsaXQgaW50byB0d28gcGFnZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dp
bi9Gb3JFYWNoQ29DbGFzcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0ZvckVh
Y2hDb0NsYXNzLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93aW4vRm9yRWFj
aENvQ2xhc3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogCiAjaW5jbHVkZSAi
UHJvZ0lETWFjcm9zLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICNkZWZpbmUgV0VCX0RBVEFCQVNFX01BTkFHRVIobWFjcm8pIG1hY3JvKFdlYkRh
dGFiYXNlTWFuYWdlcikKICNlbHNlCiAjZGVmaW5lIFdFQl9EQVRBQkFTRV9NQU5BR0VSKG1hY3Jv
KQpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRlICJXZWJEYXRhYmFzZU1hbmFn
ZXIuaCIKICNpbmNsdWRlICJXZWJLaXRETEwuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQ0ZEaWN0aW9uYXJ5UHJvcGVydHlC
YWcuaCIKICNpbmNsdWRlICJDT01FbnVtVmFyaWFudC5oIgpJbmRleDogU291cmNlL1dlYktpdC93
aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
V2ViRGF0YWJhc2VNYW5hZ2VyLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93
aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpZm5kZWYgV2ViRGF0YWJhc2VNYW5hZ2VyX2gKICNkZWZpbmUgV2ViRGF0YWJhc2VNYW5hZ2Vy
X2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAj
aW5jbHVkZSAiV2ViS2l0LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVRyYWNrZXJDbGll
bnQuaD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYlNlY3VyaXR5T3JpZ2luLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTZWN1cml0eU9yaWdpbi5jcHAJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViU2VjdXJpdHlPcmlnaW4uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9CU3RyaW5n
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EYXRhYmFzZVRyYWNrZXIuaD4KIAotI2lmICFFTkFCTEUo
REFUQUJBU0UpCisjaWYgIUVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSA8d3RmL1VudXNl
ZFBhcmFtLmg+CiAjZW5kaWYKIApAQCAtMTMwLDcgKzEzMCw3IEBAIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViU2VjdXJpdHlPcmkKIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViU2Vj
dXJpdHlPcmlnaW46OnVzYWdlKCAKICAgICAvKiBbcmV0dmFsXVtvdXRdICovIHVuc2lnbmVkIGxv
bmcgbG9uZyogcmVzdWx0KQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogICAgIGlmICghcmVzdWx0KQogICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwog
CkBAIC0xNDYsNyArMTQ2LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJTZWN1cml0
eU9yaQogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJTZWN1cml0eU9yaWdpbjo6cXVvdGEo
IAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gdW5zaWduZWQgbG9uZyBsb25nKiByZXN1bHQpCiB7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgaWYg
KCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7CiAKQEAgLTE2MSw3ICsxNjEsNyBA
QCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlNlY3VyaXR5T3JpCiBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIFdlYlNlY3VyaXR5T3JpZ2luOjpzZXRRdW90YSggCiAgICAgLyogW2luXSAq
LyB1bnNpZ25lZCBsb25nIGxvbmcgcXVvdGEpIAogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNl
dFF1b3RhKG1fc2VjdXJpdHlPcmlnaW4uZ2V0KCksIHF1b3RhKTsKIAogICAgIHJldHVybiBTX09L
OwpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC93aW4vV2ViVmlldy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YktpdC93aW4vV2ViVmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI2MTksNyArMjYxOSw3IEBA
IEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViVmlldzo6aW5pdFcKICAgICBzdGF0aWMgYm9v
bCBkaWRPbmVUaW1lSW5pdGlhbGl6YXRpb247CiAgICAgaWYgKCFkaWRPbmVUaW1lSW5pdGlhbGl6
YXRpb24pIHsKICAgICAgICAgSW5pdGlhbGl6ZUxvZ2dpbmdDaGFubmVsc0lmTmVjZXNzYXJ5KCk7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAg
IFdlYktpdEluaXRpYWxpemVXZWJEYXRhYmFzZXNJZk5lY2Vzc2FyeSgpOwogI2VuZGlmCiAgICAg
ICAgIFdlYktpdFNldEFwcGxpY2F0aW9uQ2FjaGVQYXRoSWZOZWNlc3NhcnkoKTsKQEAgLTQ3NTQs
NyArNDc1NCw3IEBAIEhSRVNVTFQgV2ViVmlldzo6bm90aWZ5UHJlZmVyZW5jZXNDaGFuZ2UKICAg
ICAgICAgcmV0dXJuIGhyOwogICAgIHNldHRpbmdzLT5zZXRPZmZsaW5lV2ViQXBwbGljYXRpb25D
YWNoZUVuYWJsZWQoZW5hYmxlZCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBociA9IHByZWZzUHJpdmF0ZS0+ZGF0YWJhc2VzRW5hYmxlZCgm
ZW5hYmxlZCk7CiAgICAgaWYgKEZBSUxFRChocikpCiAgICAgICAgIHJldHVybiBocjsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NzcsNyArNTc3LDcg
QEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnByaW50KEZyYW1lKiBmcmFtZQogICAgICAgICB1aURl
bGVnYXRlLT5wcmludEZyYW1lKG1fd2ViVmlldywga2l0KGZyYW1lKSk7CiB9CiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRh
dGFiYXNlSWRlbnRpZmllcikKIHsKICAgICBDT01QdHI8V2ViU2VjdXJpdHlPcmlnaW4+IG9yaWdp
bihBZG9wdENPTSwgV2ViU2VjdXJpdHlPcmlnaW46OmNyZWF0ZUluc3RhbmNlKGZyYW1lLT5kb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpKSk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMTEzLDcgKzExMyw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBwcmludChXZWJDb3JlOjpGcmFtZSopOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90
YShXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdURjo6U3RyaW5nJik7CiAjZW5kaWYKIApJbmRleDog
U291cmNlL1dlYktpdC93aW5jZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC93aW5jZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC93aW5j
ZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wOS0xNSAg
QWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUo
REFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2lu
Q0UuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmg6CisK
IDIwMTEtMDgtMzAgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
V2luQ0UgYnVpbGQgZml4IGF0dGVtcHQgYWZ0ZXIgcjk0MDgwLgpJbmRleDogU291cmNlL1dlYktp
dC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5j
cHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9y
dC9DaHJvbWVDbGllbnRXaW5DRS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5OCw3ICsyOTgsNyBA
QCB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpwcmludChGcmFtZSopCiAgICAgbm90SW1wbGVtZW50
ZWQoKTsKIH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogdm9pZCBDaHJvbWVDbGllbnRXaW5DRTo6ZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwg
Y29uc3QgU3RyaW5nJikKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpJbmRleDogU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
aAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFdpbkNFLmgJKHdvcmtpbmcgY29weSkKQEAgLTExMyw3ICsxMTMsNyBAQCBw
dWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoV2ViQ29yZTo6RnJhbWUqKTsKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1YWwg
dm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoV2ViQ29yZTo6RnJhbWUqLCBjb25zdCBXVEY6OlN0
cmluZyYgZGF0YWJhc2VOYW1lKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L3d4L0No
YW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwkocmV2aXNp
b24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L3d4L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE5IEBACisyMDExLTA5LTE1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRB
QkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4
MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNwcDoKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4Lmg6CisgICAgICAgICogV2ViVmlldy5jcHA6CisgICAgICAgICh3eFdl
YlZpZXc6OkNyZWF0ZSk6CisgICAgICAgICh3eFdlYlZpZXc6OlNldERhdGFiYXNlRGlyZWN0b3J5
KToKKyAgICAgICAgKHd4V2ViVmlldzo6R2V0RGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAgICAo
d3hXZWJWaWV3OjpTZXREYXRhYmFzZXNFbmFibGVkKToKKyAgICAgICAgKHd4V2ViVmlldzo6QXJl
RGF0YWJhc2VzRW5hYmxlZCk6CisKIDIwMTEtMDktMDQgIFJvYmluIER1bm4gIDxyb2JpbkBhbGxk
dW5uLmNvbT4KIAogICAgICAgICBbd3hdIEVuYWJsZSB3eFdlYktpdCB0byBydW4gdXNpbmcgdGhl
IHd4R0MgQ2Fpcm8gYmFja2VuZCBvbiBwbGF0Zm9ybXMgb3RoZXIgdGhhbiBHVEsuCkluZGV4OiBT
b3VyY2UvV2ViS2l0L3d4L1dlYlZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
d3gvV2ViVmlldy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93eC9XZWJW
aWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzYsNyArNzYsNyBAQAogI2luY2x1ZGUgPHd0Zi9N
YWluVGhyZWFkLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiQWJzdHJhY3RE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2VuZGlmCkBAIC00MTUs
NyArNDE1LDcgQEAgYm9vbCB3eFdlYlZpZXc6OkNyZWF0ZSh3eFdpbmRvdyogcGFyZW50LAogICAg
IHNldHRpbmdzLT5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoIlRpbWVzIE5ldyBSb21hbiIpOwogICAg
IHNldHRpbmdzLT5zZXRKYXZhU2NyaXB0RW5hYmxlZCh0cnVlKTsKIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFNldERhdGFiYXNlc0VuYWJsZWQo
dHJ1ZSk7CiAjZW5kaWYKIApAQCAtMTEwMCw3ICsxMTAwLDcgQEAgYm9vbCB3eFdlYlZpZXc6OlNo
b3VsZENsb3NlKCkgY29uc3QKIC8qIHN0YXRpYyAqLwogdm9pZCB3eFdlYlZpZXc6OlNldERhdGFi
YXNlRGlyZWN0b3J5KGNvbnN0IHd4U3RyaW5nJiBkYXRhYmFzZURpcmVjdG9yeSkKIHsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpE
YXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXREYXRhYmFzZURpcmVjdG9yeVBhdGgoZGF0YWJh
c2VEaXJlY3RvcnkpOwogI2VuZGlmCiB9CkBAIC0xMTA4LDcgKzExMDgsNyBAQCB2b2lkIHd4V2Vi
Vmlldzo6U2V0RGF0YWJhc2VEaXJlY3RvcnkoY29uCiAvKiBzdGF0aWMgKi8KIHd4U3RyaW5nIHd4
V2ViVmlldzo6R2V0RGF0YWJhc2VEaXJlY3RvcnkoKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBXZWJDb3JlOjpEYXRhYmFzZVRy
YWNrZXI6OnRyYWNrZXIoKS5kYXRhYmFzZURpcmVjdG9yeVBhdGgoKTsKICNlbHNlCiAgICAgcmV0
dXJuIHd4RW1wdHlTdHJpbmc7CkBAIC0xMTE4LDcgKzExMTgsNyBAQCB3eFN0cmluZyB3eFdlYlZp
ZXc6OkdldERhdGFiYXNlRGlyZWN0b3J5CiAvKiBzdGF0aWMgKi8KIHZvaWQgd3hXZWJWaWV3OjpT
ZXREYXRhYmFzZXNFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNl
OjpzZXRJc0F2YWlsYWJsZShlbmFibGVkKTsKICNlbmRpZgogfQpAQCAtMTEyNiw3ICsxMTI2LDcg
QEAgdm9pZCB3eFdlYlZpZXc6OlNldERhdGFiYXNlc0VuYWJsZWQoYm9vbAogLyogc3RhdGljICov
CiBib29sIHd4V2ViVmlldzo6QXJlRGF0YWJhc2VzRW5hYmxlZCgpCiB7Ci0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIFdlYkNvcmU6OkFi
c3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCk7CiAjZW5kaWYKICAgICByZXR1cm4gZmFsc2U7
CkluZGV4OiBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGll
bnRXeC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkNocm9tZUNsaWVudFd4LmgiCiAjaW5jbHVk
ZSAiQ29uc29sZS5oIgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2VuZGlmCiAjaW5jbHVkZSAiRmls
ZUNob29zZXIuaCIKQEAgLTQyMCw3ICs0MjAsNyBAQCB2b2lkIENocm9tZUNsaWVudFd4Ojpwcmlu
dChGcmFtZSogZnJhbWUpCiAgICAgfQogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiB2b2lkIENocm9tZUNsaWVudFd4OjpleGNlZWRlZERhdGFiYXNl
UXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmKQogewogICAgIHVuc2lnbmVkIGxvbmcgbG9uZyBx
dW90YSA9IDUgKiAxMDI0ICogMTAyNDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3Vw
cG9ydC9DaHJvbWVDbGllbnRXeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMjAsNyArMTIwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHByaW50KEZyYW1l
Kik7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICB2aXJ0dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5n
Jik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTYyLDcg
KzYyLDcgQEAgU0VUKFZFUlNJT05fU0NSSVBUICItV2wsLS12ZXJzaW9uLXNjcmlwdAogV0VCS0lU
X0ZFQVRVUkUoRU5BQkxFX0FTX0lNQUdFICJFbmFibGUgU1ZHIGFzIGltYWdlIiBERUZBVUxUIE9O
IFNWRykKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9CTE9CICJFbmFibGUgYmxvYiBzbGljZSIgREVG
QVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIkVuYWJs
ZSBjaGFubmVsIG1lc3NhZ2luZyIgREVGQVVMVCBPTikKLVdFQktJVF9GRUFUVVJFKEVOQUJMRV9E
QVRBQkFTRSAiRW5hYmxlIGRhdGFiYXNlIiBERUZBVUxUIE9OKQorV0VCS0lUX0ZFQVRVUkUoRU5B
QkxFX1NRTF9EQVRBQkFTRSAiRW5hYmxlIFNRTCBkYXRhYmFzZSIgREVGQVVMVCBPTikKIFdFQktJ
VF9GRUFUVVJFKEVOQUJMRV9EQVRBR1JJRCAiRW5hYmxlIGRhdGFncmlkIiBERUZBVUxUIE9GRikK
IFdFQktJVF9GRUFUVVJFKEVOQUJMRV9EQVRBTElTVCAiRW5hYmxlIGRhdGFsaXN0IiBERUZBVUxU
IE9OIEhUTUwpCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAiRW5h
YmxlIGRhdGEgdHJhbnNmZXIgaXRlbXMiIERFRkFVTFQgT0ZGKQpJbmRleDogU291cmNlL2NtYWtl
L09wdGlvbnNXaW5DRS5jbWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvT3B0aW9uc1dp
bkNFLmNtYWtlCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0Uu
Y21ha2UJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIzLDcgQEAgQUREX1NVQkRJUkVDVE9SWSgk
ezNSRFBBUlRZX0RJUn0gIiR7Q01BSwogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0FTX0lNQUdFICJF
bmFibGUgU1ZHIGFzIGltYWdlIiBERUZBVUxUIE9OIFNWRykKIFdFQktJVF9GRUFUVVJFKEVOQUJM
RV9CTE9CICJFbmFibGUgYmxvYiBzbGljZSIgREVGQVVMVCBPRkYpCiBXRUJLSVRfRkVBVFVSRShF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcgIkVuYWJsZSBjaGFubmVsIG1lc3NhZ2luZyIgREVGQVVM
VCBPRkYpCi1XRUJLSVRfRkVBVFVSRShFTkFCTEVfREFUQUJBU0UgIkVuYWJsZSBkYXRhYmFzZSIg
REVGQVVMVCBPRkYpCitXRUJLSVRfRkVBVFVSRShFTkFCTEVfU1FMX0RBVEFCQVNFICJFbmFibGUg
U1FMIGRhdGFiYXNlIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9EQVRBR1JJ
RCAiRW5hYmxlIGRhdGFncmlkIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9E
QVRBTElTVCAiRW5hYmxlIGRhdGFsaXN0IiBERUZBVUxUIE9GRiBIVE1MKQogV0VCS0lUX0ZFQVRV
UkUoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgIkVuYWJsZSBkYXRhIHRyYW5zZmVyIGl0ZW1z
IiBERUZBVUxUIE9GRikKSW5kZXg6IFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBXZWJL
aXRMaWJyYXJpZXMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIw
MTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5h
bWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdpbi90b29scy92c3Byb3BzL0Zl
YXR1cmVEZWZpbmVzLnZzcHJvcHM6CisgICAgICAgICogd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVy
ZURlZmluZXNDYWlyby52c3Byb3BzOgorCiAyMDExLTA5LTE1ICBFcmljIFNlaWRlbCAgPGVyaWNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1vdmUgRU5BQkxFKFNWR19BU19JTUFHRSkgc2luY2Ug
YWxsIG1ham9yIHBvcnRzIGhhdmUgaXQgb24gYnkgZGVmYXVsdApJbmRleDogV2ViS2l0TGlicmFy
aWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzLnZzcHJv
cHMJKHJldmlzaW9uIDk1MjQzKQorKysgV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3Bz
L0ZlYXR1cmVEZWZpbmVzLnZzcHJvcHMJKHdvcmtpbmcgY29weSkKQEAgLTksNyArOSw3IEBACiAJ
PgogICA8VG9vbAogCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQlQcmVwcm9jZXNzb3JEZWZp
bml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJMRV8zRF9SRU5ERVJJTkcpOyQoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVfQkxPQik7JChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTik7JChFTkFCTEVf
Q1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19FWENMVVNJT05TKTskKEVOQUJMRV9EQVRBQkFTRSk7
JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUKTskKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKTskKEVOQUJMRV9ERVRBSUxTKTskKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
OyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0RPTV9TVE9SQUdFKTskKEVOQUJM
RV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQo
RU5BQkxFX0NTUzNfRkxFWEJPWCk7JChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dF
T0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJB
U0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTskKEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxF
X0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX01B
VEhNTCk7JChFTkFCTEVfTUVURVJfVEFHKTskKEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJM
RV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpOyQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkp
OyQoRU5BQkxFX1BST0dSRVNTX1RBRyk7JChFTkFCTEVfUVVPVEEpOyQoRU5BQkxFX1JFR0lTVEVS
X1BST1RPQ09MX0hBTkRMRVIpOyQoRU5BQkxFX1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVkcp
OyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVO
QUJMRV9WSURFTyk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVf
V09SS0VSUyk7JChFTkFCTEVfWEhUTUxNUCk7JChFTkFCTEVfWFBBVEgpOyQoRU5BQkxFX1hTTFQp
IgorCQlQcmVwcm9jZXNzb3JEZWZpbml0aW9ucz0iJChFTkFCTEVfM0RfQ0FOVkFTKTskKEVOQUJM
RV8zRF9SRU5ERVJJTkcpOyQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyk7JChFTkFCTEVf
QkxPQik7JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpOyQoRU5BQkxFX0NMSUVOVF9CQVNFRF9H
RU9MT0NBVElPTik7JChFTkFCTEVfQ1NTX1JFR0lPTlMpOyQoRU5BQkxFX0NTU19FWENMVVNJT05T
KTskKEVOQUJMRV9TUUxfREFUQUJBU0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRB
TElTVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVUQUlMUyk7JChF
TkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVO
QUJMRV9ET01fU1RPUkFHRSk7JChFTkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5BQkxFX0ZJTFRFUlMp
OyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9DU1MzX0ZMRVhCT1gpOyQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HRU9MT0NBVElPTik7JChFTkFCTEVfSUNPTkRBVEFCQVNF
KTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVOQUJMRV9JTlBVVF9DT0xPUik7JChFTkFC
TEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKTskKEVOQUJMRV9M
SU5LX1BSRUZFVENIKTskKEVOQUJMRV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX1RBRyk7JChFTkFC
TEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVO
QUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKTskKEVOQUJMRV9QUk9HUkVTU19UQUcpOyQoRU5BQkxF
X1FVT1RBKTskKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKTskKEVOQUJMRV9TSEFS
RURfV09SS0VSUyk7JChFTkFCTEVfU1ZHKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1Mp
OyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX01FRElBX1NPVVJD
RSk7JChFTkFCTEVfTUVESUFfU1RBVElTVElDUyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5B
QkxFX1dFQl9USU1JTkcpOyQoRU5BQkxFX1dPUktFUlMpOyQoRU5BQkxFX1hIVE1MTVApOyQoRU5B
QkxFX1hQQVRIKTskKEVOQUJMRV9YU0xUKSIKIAkvPgogICA8VXNlck1hY3JvCiAJCU5hbWU9IkVO
QUJMRV8zRF9DQU5WQVMiCkBAIC01Miw4ICs1Miw4IEBACiAJCVBlcmZvcm1FbnZpcm9ubWVudFNl
dD0idHJ1ZSIKIAkvPgogICA8VXNlck1hY3JvCi0JCU5hbWU9IkVOQUJMRV9EQVRBQkFTRSIKLQkJ
VmFsdWU9IkVOQUJMRV9EQVRBQkFTRSIKKwkJTmFtZT0iRU5BQkxFX1NRTF9EQVRBQkFTRSIKKwkJ
VmFsdWU9IkVOQUJMRV9TUUxfREFUQUJBU0UiCiAJCVBlcmZvcm1FbnZpcm9ubWVudFNldD0idHJ1
ZSIKIAkvPgogICA8VXNlck1hY3JvCkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3Zz
cHJvcHMvRmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdExp
YnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMJKHJl
dmlzaW9uIDk1MjQzKQorKysgV2ViS2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1
cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIAk+
CiAgIDxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCVByZXByb2Nlc3NvckRlZmlu
aXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFC
TEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9CTE9CKTskKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9D
U1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpOyQoRU5BQkxFX0RBVEFCQVNFKTsk
KEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RBVEFfVFJBTlNG
RVJfSVRFTVMpOyQoRU5BQkxFX0RFVEFJTFMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7
JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQoRU5BQkxF
X0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChF
TkFCTEVfQ1NTM19GTEVYQk9YKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0VP
TE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSk7JChFTkFCTEVfSU5QVVRfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTUFU
SE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxF
X09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSk7
JChFTkFCTEVfUFJPR1JFU1NfVEFHKTskKEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfUkVHSVNURVJf
UFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX1NWRyk7
JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5B
QkxFX1ZJREVPKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJ
Q1MpOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9X
T1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCki
CisJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxF
XzNEX1JFTkRFUklORyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9C
TE9CKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dF
T0xPQ0FUSU9OKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMp
OyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFM
SVNUKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVRBSUxTKTskKEVO
QUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5B
QkxFX0RPTV9TVE9SQUdFKTskKEVOQUJMRV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklMVEVSUyk7
JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0NTUzNfRkxFWEJPWCk7JChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0Up
OyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTskKEVOQUJM
RV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX0xJ
TktfUFJFRkVUQ0gpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfVEFHKTskKEVOQUJM
RV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpOyQoRU5B
QkxFX1BBR0VfVklTSUJJTElUWV9BUEkpOyQoRU5BQkxFX1BST0dSRVNTX1RBRyk7JChFTkFCTEVf
UVVPVEEpOyQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpOyQoRU5BQkxFX1NIQVJF
RF9XT1JLRVJTKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7
JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfTUVESUFfU09VUkNF
KTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFC
TEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWEhUTUxNUCk7JChFTkFC
TEVfWFBBVEgpOyQoRU5BQkxFX1hTTFQpIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5B
QkxFXzNEX0NBTlZBUyIKQEAgLTUyLDggKzUyLDggQEAKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0
PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KLQkJTmFtZT0iRU5BQkxFX0RBVEFCQVNFIgotCQlW
YWx1ZT0iRU5BQkxFX0RBVEFCQVNFIgorCQlOYW1lPSJFTkFCTEVfU1FMX0RBVEFCQVNFIgorCQlW
YWx1ZT0iRU5BQkxFX1NRTF9EQVRBQkFTRSIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVl
IgogCS8+CiAgIDxVc2VyTWFjcm8K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107597</attachid>
            <date>2011-09-15 20:51:06 -0700</date>
            <delta_ts>2011-09-15 21:51:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68205-20110915205104.patch</filename>
            <type>text/plain</type>
            <size>153641</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDkt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5B
QkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0UuY21ha2U6CisgICAgICAg
ICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisgICAgICAgICogY29uZmlndXJlLmFjOgor
CiAyMDExLTA5LTE1ICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgQWRkIG1ldGhvZCB0byBzY3JvbGwgY3VycmVudCBub2RlIHRvIHNwZWNpZmljIHBvc2l0aW9u
IGluIENocm9taXVtIFdlYktpdCBBUEkKSW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBjb25maWd1cmUuYWMJKHJldmlzaW9uIDk1MjQzKQorKysgY29uZmlndXJlLmFjCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTMyLDcgKzExMzIsNyBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RJUkVD
VE9SWV9VUExPQURdCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RBVEFHUklEXSxbdGVzdCAiJGVu
YWJsZV9kYXRhZ3JpZCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVNdLFt0ZXN0ICIkZW5hYmxlX2RhdGFfdHJhbnNmZXJfaXRlbXMiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9ET01fU1RPUkFHRV0sW3Rlc3QgIiRlbmFibGVfZG9t
X3N0b3JhZ2UiID0gInllcyJdKQotQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9EQVRBQkFTRV0sW3Rl
c3QgIiRlbmFibGVfZGF0YWJhc2UiID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9T
UUxfREFUQUJBU0VdLFt0ZXN0ICIkZW5hYmxlX3NxbF9kYXRhYmFzZSIgPSAieWVzIl0pCiBBTV9D
T05ESVRJT05BTChbRU5BQkxFX0RBVEFMSVNUXSxbdGVzdCAiJGVuYWJsZV9kYXRhbGlzdCIgPSAi
eWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RFVEFJTFNdLFt0ZXN0ICIkZW5hYmxlX2Rl
dGFpbHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9FVkVOVFNPVVJDRV0sW3Rl
c3QgIiRlbmFibGVfZXZlbnRzb3VyY2UiID0gInllcyJdKQpJbmRleDogU291cmNlL2NtYWtlY29u
ZmlnLmguY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHdvcmtpbmcgY29w
eSkKQEAgLTgsNyArOCw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQVNfSU1BR0UKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9CTE9CCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcKLSNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBQkFTRQorI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX1NRTF9EQVRBQkFTRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0RBVEFHUklECiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfREFUQUxJU1QKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTA5LTE1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0u
aDoKKwogMjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMg
aW4gSlNDZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAg
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORQogRU5BQkxFX0NTUzNfRkxF
WEJPWCA9IDsKIEVOQUJMRV9DU1NfRVhDTFVTSU9OUyA9IDsKIEVOQUJMRV9DU1NfUkVHSU9OUyA9
IDsKLUVOQUJMRV9EQVRBQkFTRSA9IEVOQUJMRV9EQVRBQkFTRTsKK0VOQUJMRV9TUUxfREFUQUJB
U0UgPSBFTkFCTEVfU1FMX0RBVEFCQVNFOwogRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgPSA7
CiBFTkFCTEVfREVUQUlMUyA9IEVOQUJMRV9ERVRBSUxTOwogRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTiA9IDsKQEAgLTk3LDQgKzk3LDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBB
VEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChF
TkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFH
RSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19U
QUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFU
SCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQ
SSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9D
U1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX1NRTF9EQVRBQkFT
RSkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAk
KEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykg
JChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxMSw4
ICs4MTEsOCBAQAogI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKICNlbmRpZgogCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0RBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfREFUQUJBU0UgMQorI2lm
ICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJB
U0UgMQogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTY3IEBACisyMDExLTA5LTE1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFT
RSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQXMgZGlzY3Vzc2VkIG9uIHdlYmtpdC1kZXYuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAgICAgICAgKiBiaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldERPTUV4Y2VwdGlv
bik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFeGNlcHRpb25CYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvRXhjZXB0aW9uQmFzZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNJbmplY3RlZFNj
cmlwdEhvc3Q6OmRhdGFiYXNlSWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1FMUmVzdWx0
U2V0Um93TGlzdEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTUUxUcmFuc2Fj
dGlvbkN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvblN5
bmNDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dl
YkRPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RDYWxsYmFjay5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3Rv
bVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OEluamVjdGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHA6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEV4Y2Vw
dGlvbkNvZGVEZXNjcmlwdGlvbik6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25Db250
ZXh0KToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAq
IGZlYXR1cmVzLnByaToKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZUNhY2hlOjpjYW5DYWNoZVBhZ2VDb250YWluaW5nVGhpc0ZyYW1lKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVj
dGVkU2NyaXB0SG9zdDo6SW5qZWN0ZWRTY3JpcHRIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0SG9zdDo6ZGlzY29ubmVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0SG9zdC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRIb3N0Ojpp
bml0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3Bl
Y3RvclN0YXRlRnJvbUNvb2tpZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAg
ICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6CisgICAgICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
c3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVT
dGF0ZW1lbnQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5j
cHA6CisgICAgICAgICogc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBz
dG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0NoYW5nZVZlcnNp
b25XcmFwcGVyLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmg6
CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZS5jcHA6CisgICAgICAgICogc3RvcmFnZS9EYXRh
YmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2UuaWRsOgorICAgICAgICAqIHN0b3Jh
Z2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQ2Fs
bGJhY2suaDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaWRsOgorICAgICAg
ICAqIHN0b3JhZ2UvRGF0YWJhc2VEZXRhaWxzLmg6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFz
ZVN5bmMuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VTeW5jLmg6CisgICAgICAgICog
c3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUYXNr
LmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVGFzay5oOgorICAgICAgICAqIHN0b3Jh
Z2UvRGF0YWJhc2VUaHJlYWQuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUaHJlYWQu
aDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHA6CisgICAgICAgICogc3Rv
cmFnZS9EYXRhYmFzZVRyYWNrZXIuaDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tl
ckNsaWVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKiBzdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oOgorICAgICAgICAqIHN0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oOgorICAgICAgICAq
IHN0b3JhZ2UvU1FMRXJyb3IuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTEVycm9yLmlkbDoKKyAg
ICAgICAgKiBzdG9yYWdlL1NRTEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMRXhj
ZXB0aW9uLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNldC5jcHA6CisgICAgICAg
ICogc3RvcmFnZS9TUUxSZXN1bHRTZXQuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNl
dC5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcDoKKyAgICAg
ICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NR
TFJlc3VsdFNldFJvd0xpc3QuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50LmNw
cDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudC5oOgorICAgICAgICAqIHN0b3JhZ2Uv
U1FMU3RhdGVtZW50Q2FsbGJhY2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudENh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
aDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaWRsOgorICAg
ICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50U3luYy5jcHA6CisgICAgICAgICogc3RvcmFnZS9T
UUxTdGF0ZW1lbnRTeW5jLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2Uv
U1FMVHJhbnNhY3Rpb24uaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxs
YmFjay5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGw6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5jcHA6CisgICAgICAgICogc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5jcHA6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGw6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwOgorICAgICAgICAqIHN0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvblN5bmMuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJh
Y2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbDoK
KyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAg
KiBzdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlVHJhY2tlckNocm9taXVtLmNwcDoKKyAgICAgICAg
KiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHA6CisgICAgICAgICogc3RvcmFnZS9j
aHJvbWl1bS9RdW90YVRyYWNrZXIuaDoKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1NRTFRy
YW5zYWN0aW9uQ2xpZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRTaHV0ZG93blN0YXJ0VGFzazo6
cGVyZm9ybVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpzdG9wKToKKwog
MjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlND
ZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE0MDEsNyArMTQwMSw3IEBAIElGIChFTkFCTEVfQkxPQikKICAgICApCiBFTkRJRiAoKQogCi1J
RiAoRU5BQkxFX0RBVEFCQVNFKQorSUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIHBsYXRmb3JtL3NxbC9TUUxWYWx1ZS5jcHAK
ICAgICAgICAgcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTgzLDEyICsxODMsMTIgQEAgZW5kaWYgIyBFTkQgRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSQogIyAtLS0tCiAjIERhdGFiYXNlIFN1cHBvcnQKICMg
LS0tLQotaWYgRU5BQkxFX0RBVEFCQVNFCi1GRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RBVEFC
QVNFPTEKLXdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfREFUQUJBU0U9MQoraWYgRU5BQkxF
X1NRTF9EQVRBQkFTRQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9TUUxfREFUQUJBU0U9MQor
d2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9TUUxfREFUQUJBU0U9MQogZWxzZQotd2ViY29y
ZV9jcHBmbGFncyArPSAtREVOQUJMRV9EQVRBQkFTRT0wCi1lbmRpZiAjIEVORCBFTkFCTEVfREFU
QUJBU0UKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfU1FMX0RBVEFCQVNFPTAKK2VuZGlm
ICMgRU5EIEVOQUJMRV9TUUxfREFUQUJBU0UKIAogIyAtLS0tCiAjIEhUTUw1IGRhdGFsaXN0IFN1
cHBvcnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBA
IC00MTEyLDcgKzQxMTIsNyBAQCBlbmRpZiAjIEVORCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJCiAjIC0tLS0KICMgRGF0YWJhc2UgU3VwcG9ydAogIyAtLS0tCi1pZiBFTkFCTEVfREFUQUJB
U0UKK2lmIEVOQUJMRV9TUUxfREFUQUJBU0UKIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFiYXNlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RhdGFiYXNlLmggXApAQCAtNDEzNyw3ICs0MTM3LDcgQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1FMVHJhbnNhY3Rpb25T
eW5jLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NRTFRyYW5zYWN0aW9uU3luY0Nh
bGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NRTFRyYW5zYWN0aW9uU3lu
Y0NhbGxiYWNrLmgKLWVuZGlmICMgRU5EIEVOQUJMRV9EQVRBQkFTRQorZW5kaWYgIyBFTkQgRU5B
QkxFX1NRTF9EQVRBQkFTRQogCiAjIC0tLS0KICMgSFRNTDUgZGF0YSB0cmFuc2ZlciBpdGVtcyBz
dXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSw3IEBAIElG
IChFTkFCTEVfQkxPQikKICAgICApCiBFTkRJRiAoKQogCi1JRiAoRU5BQkxFX0RBVEFCQVNFKQor
SUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5j
cHAKICAgICAgICAgYmluZGluZ3MvanMvSlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcApJ
bmRleDogU291cmNlL1dlYkNvcmUvZmVhdHVyZXMucHJpCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2ZlYXR1cmVzLnByaQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9m
ZWF0dXJlcy5wcmkJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDEwICs0NCwxMCBAQCBpc0VtcHR5KEhB
VkVfUVJBV0ZPTlQpIHsKIH0KIAogIyB0dXJuIG9mZiBTUUxJVEUgc3VwcG9ydCBpZiB3ZSBkbyBu
b3QgaGF2ZSBzcWxpdGUzIGF2YWlsYWJsZQotIUNPTkZJRyhRVERJUl9idWlsZCk6d2luMzItKjoh
ZXhpc3RzKCAkJHtTUUxJVEUzU1JDRElSfS9zcWxpdGUzLmMgKTogREVGSU5FUyArPSBFTkFCTEVf
U1FMSVRFPTAgRU5BQkxFX0RBVEFCQVNFPTAgRU5BQkxFX1dPUktFUlM9MCBFTkFCTEVfU0hBUkVE
X1dPUktFUlM9MCBFTkFCTEVfSUNPTkRBVEFCQVNFPTAgRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUz0wIEVOQUJMRV9ET01fU1RPUkFHRT0wCishQ09ORklHKFFURElSX2J1aWxkKTp3aW4z
Mi0qOiFleGlzdHMoICQke1NRTElURTNTUkNESVJ9L3NxbGl0ZTMuYyApOiBERUZJTkVTICs9IEVO
QUJMRV9TUUxJVEU9MCBFTkFCTEVfU1FMX0RBVEFCQVNFPTAgRU5BQkxFX1dPUktFUlM9MCBFTkFC
TEVfU0hBUkVEX1dPUktFUlM9MCBFTkFCTEVfSUNPTkRBVEFCQVNFPTAgRU5BQkxFX09GRkxJTkVf
V0VCX0FQUExJQ0FUSU9OUz0wIEVOQUJMRV9ET01fU1RPUkFHRT0wCiAKICFjb250YWlucyhERUZJ
TkVTLCBFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUj0uKTogREVGSU5FUyArPSBFTkFCTEVfSkFW
QVNDUklQVF9ERUJVR0dFUj0xCi0hY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFCQVNFPS4p
OiBERUZJTkVTICs9IEVOQUJMRV9EQVRBQkFTRT0xCishY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1NRTF9EQVRBQkFTRT0uKTogREVGSU5FUyArPSBFTkFCTEVfU1FMX0RBVEFCQVNFPTEKICFjb250
YWlucyhERUZJTkVTLCBFTkFCTEVfRVZFTlRTT1VSQ0U9Lik6IERFRklORVMgKz0gRU5BQkxFX0VW
RU5UU09VUkNFPTEKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TPS4pOiBERUZJTkVTICs9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MQog
IWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9ET01fU1RPUkFHRT0uKTogREVGSU5FUyArPSBFTkFC
TEVfRE9NX1NUT1JBR0U9MQpAQCAtNTksNyArNTksNyBAQCBpc0VtcHR5KEhBVkVfUVJBV0ZPTlQp
IHsKIAogIyB0dXJuIG9uIFNRTElURSBzdXBwb3J0IGlmIGFueSBvZiB0aGUgZGVwZW5kZW50IGZl
YXR1cmVzIGFyZSB0dXJuZWQgb24KICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMSVRFPS4p
IHsKLSAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFCQVNFPTEpfGNvbnRhaW5zKERFRklO
RVMsIEVOQUJMRV9JQ09OREFUQUJBU0U9MSl8Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RPTV9T
VE9SQUdFPTEpfGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlM9MSkgeworICBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMX0RBVEFCQVNFPTEpfGNvbnRh
aW5zKERFRklORVMsIEVOQUJMRV9JQ09OREFUQUJBU0U9MSl8Y29udGFpbnMoREVGSU5FUywgRU5B
QkxFX0RPTV9TVE9SQUdFPTEpfGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9B
UFBMSUNBVElPTlM9MSkgewogICAgIERFRklORVMgKz0gRU5BQkxFX1NRTElURT0xCiAgIH0gZWxz
ZSB7CiAgICAgREVGSU5FUyArPSBFTkFCTEVfU1FMSVRFPTAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2
ODogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gVjhfQklOCiBjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkc9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBU
ICs9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
T1JJRU5UQVRJT05fRVZFTlRTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFC
TEVfT1JJRU5UQVRJT05fRVZFTlRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9FVkVOVFNP
VVJDRT0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX0VWRU5UU09VUkNF
PTEKLWNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9EQVRBQkFTRT0xKTogRkVBVFVSRV9ERUZJTkVT
X0pBVkFTQ1JJUFQgKz0gRU5BQkxFX0RBVEFCQVNFPTEKK2NvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9TUUxfREFUQUJBU0U9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9T
UUxfREFUQUJBU0U9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFMSVNUPTEpOiBGRUFU
VVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfREFUQUxJU1Q9MQogY29udGFpbnMoREVG
SU5FUywgRU5BQkxFX0RPTV9TVE9SQUdFPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCAr
PSBFTkFCTEVfRE9NX1NUT1JBR0U9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NIQVJFRF9T
Q1JJUFQ9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9TSEFSRURfU0NS
SVBUPTEKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0Zl
YXR1cmVEZWZpbmVzLnhjY29uZmlnCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBA
IC01NCw3ICs1NCw3IEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgPSA7CiBFTkFCTEVf
QU5JTUFUSU9OX0FQSSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORzsKIEVOQUJMRV9DU1MzX0ZMRVhCT1ggPSA7Ci1FTkFCTEVfREFUQUJBU0Ug
PSBFTkFCTEVfREFUQUJBU0U7CitFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRB
QkFTRTsKIEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TID0gOwogRU5BQkxFX0RFVEFJTFMgPSBF
TkFCTEVfREVUQUlMUzsKIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gPSA7CkBAIC05Niw0ICs5
Niw0IEBAIEVOQUJMRV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfUkVOREVSSU5HKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FO
SU1BVElPTl9BUEkpICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAk
KEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkg
JChFTkFCTEVfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04p
ICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJM
RV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQo
RU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNP
TkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xP
UikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAk
KEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NP
VVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQo
RU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFC
TEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JF
UVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVf
U1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dF
Ql9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJM
RV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5F
TF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVf
Q1NTM19GTEVYQk9YKSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFMSVNUKSAk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RP
TV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQo
RU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NB
VElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAk
KEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZB
U0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFC
TEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dF
Ql9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BS
T0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hB
TkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURf
V09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQo
RU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9W
SURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJf
QVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJM
RV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNM
VCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVy
aWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6d2ViU29ja2V0RW4KIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9wZW5EYXRh
YmFzZUVuYWJsZWQoKQogewogICAgIHJldHVybiBBYnN0cmFjdERhdGFiYXNlOjppc0F2YWlsYWJs
ZSgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTk4LDcgKzk4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHdlYlNvY2tl
dEVuYWJsZWQoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgc3RhdGljIGJvb2wgb3BlbkRhdGFiYXNlRW5hYmxlZCgpOwogICAg
IHN0YXRpYyBib29sIG9wZW5EYXRhYmFzZVN5bmNFbmFibGVkKCk7CiAjZW5kaWYKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFj
ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21T
UUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiSlNTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAKQEAgLTY5LDQgKzY5LDQgQEAg
Ym9vbCBKU1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2s6OmhhbmRsZQogCiB9CiAKLSNlbmRpZiAv
LyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiSlNPcGVyYXRpb25Ob3RB
bGxvd2VkRXhjZXB0aW9uLmgiCiAjZW5kaWYKICNpbmNsdWRlICJKU1JhbmdlRXhjZXB0aW9uLmgi
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVk
ZSAiSlNTUUxFeGNlcHRpb24uaCIKICNlbmRpZgogI2lmIEVOQUJMRShTVkcpCkBAIC0yMzgsNyAr
MjM4LDcgQEAgdm9pZCBzZXRET01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeAogICAgICAg
ICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgWFBhdGhFeGNlcHRp
b246OmNyZWF0ZShkZXNjcmlwdGlvbikpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgY2Fz
ZSBTUUxFeGNlcHRpb25UeXBlOgogICAgICAgICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMs
IGdsb2JhbE9iamVjdCwgU1FMRXhjZXB0aW9uOjpjcmVhdGUoZGVzY3JpcHRpb24pKTsKICAgICAg
ICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFeGNlcHRp
b25CYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V4
Y2VwdGlvbkJhc2UuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTRXhjZXB0aW9uQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcg
QEAKICNpbmNsdWRlICJKU0V2ZW50RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiSlNSYW5nZUV4Y2Vw
dGlvbi5oIgogI2luY2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJTUUxFeGNl
cHRpb24uaCIKICNpbmNsdWRlICJKU1NRTEV4Y2VwdGlvbi5oIgogI2VuZGlmCkBAIC02MSw3ICs2
MSw3IEBAIEV4Y2VwdGlvbkJhc2UqIHRvRXhjZXB0aW9uQmFzZShKU0M6OkpTVmEKICAgICBpZiAo
WFBhdGhFeGNlcHRpb24qIHBhdGhFeGNlcHRpb24gPSB0b1hQYXRoRXhjZXB0aW9uKHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RXhjZXB0aW9uQmFzZSo+KHBhdGhFeGNl
cHRpb24pOwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAgICAgaWYgKFNRTEV4Y2VwdGlvbiogcGF0aEV4Y2VwdGlvbiA9IHRvU1FMRXhjZXB0
aW9uKHZhbHVlKSkKICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RXhjZXB0aW9uQmFz
ZSo+KHBhdGhFeGNlcHRpb24pOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0luamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3Jp
cHRIb3N0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5j
bHVkZSAiSlNJbmplY3RlZFNjcmlwdEhvc3QuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAi
SlNEYXRhYmFzZS5oIgogI2VuZGlmCkBAIC0xNzEsNyArMTcxLDcgQEAgSlNWYWx1ZSBKU0luamVj
dGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZAogewogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50
KCkgPCAxKQogICAgICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZSogZGF0YWJhc2UgPSB0
b0RhdGFiYXNlKGV4ZWMtPmFyZ3VtZW50KDApKTsKICAgICBpZiAoZGF0YWJhc2UpCiAgICAgICAg
IHJldHVybiBqc051bWJlcihpbXBsKCktPmRhdGFiYXNlSWRJbXBsKGRhdGFiYXNlKSk7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMUmVzdWx0
U2V0Um93TGlzdEN1c3RvbS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMUmVz
dWx0U2V0Um93TGlzdC5oIgogCkBAIC04Myw0ICs4Myw0IEBAIEpTVmFsdWUgSlNTUUxSZXN1bHRT
ZXRSb3dMaXN0OjppdGVtKEV4ZWMKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9u
Q3VzdG9tLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgs
NyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMVHJhbnNhY3Rpb24uaCIKIApA
QCAtMTE5LDQgKzExOSw0IEBAIEpTVmFsdWUgSlNTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNxbChF
eGUKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNF
KQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3Bw
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMVHJh
bnNhY3Rpb25TeW5jQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAog
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMVHJhbnNhY3Rpb25TeW5jLmgiCiAKQEAg
LTk2LDQgKzk2LDQgQEAgSlNWYWx1ZSBKU1NRTFRyYW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNxbAog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisj
ZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJh
Y2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAvLyB0aGF0IGhhcyB0aGUg
IkNhbGxiYWNrIiBhdHRyaWJ1dGUgYW5kIGZvciB0cmFja2luZyBjaGFuZ2VzIGluIGl0cyBvdXB1
dC4KIG1vZHVsZSB0ZXN0IHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1E
QVRBQkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBMZWdh
Y3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBUZXN0
Q2FsbGJhY2sgewpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQ
UC9XZWJET01UZXN0Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNwcAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RDYWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAKICNpbmNsdWRlICJXZWJET01UZXN0Q2FsbGJhY2suaCIKIApAQCAtMTM1LDQg
KzEzNSw0IEBAIFdlYkRPTVRlc3RDYWxsYmFjayB0b1dlYktpdChXZWJDb3JlOjpUZXMKICAgICBy
ZXR1cm4gV2ViRE9NVGVzdENhbGxiYWNrKHZhbHVlKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShE
QVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRP
TVRlc3RDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkK
QEAgLTIzLDcgKzIzLDcgQEAKICNpZm5kZWYgV2ViRE9NVGVzdENhbGxiYWNrX2gKICNkZWZpbmUg
V2ViRE9NVGVzdENhbGxiYWNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8V2ViRE9NT2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2Vi
RE9NU3RyaW5nLmg+CkBAIC02NSw1ICs2NSw1IEBAIFdlYkNvcmU6OlRlc3RDYWxsYmFjayogdG9X
ZWJDb3JlKGNvbnN0IFcKIFdlYkRPTVRlc3RDYWxsYmFjayB0b1dlYktpdChXZWJDb3JlOjpUZXN0
Q2FsbGJhY2sqKTsKIAogI2VuZGlmCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlm
IC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0
RE9NVGVzdENhbGxiYWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4K
ICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZQdHIuaD4KQEAgLTIzMiw0ICsyMzIsNCBAQCBXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHdyYXBU
ZXN0Q2FsbGJhY2soCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICJjb3JlLW9iamVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIH0gLy8gbmFtZXNwYWNl
IFdlYktpdAotI2VuZGlmIC8qIEVOQUJMRShEQVRBQkFTRSkgKi8KKyNlbmRpZiAvLyBFTkFCTEUo
U1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdENhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
ICNpbmNsdWRlICJKU1Rlc3RDYWxsYmFjay5oIgogCkBAIC0xMzAsNCArMTMwLDQgQEAgYm9vbCBK
U1Rlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTAogCiB9CiAKLSNlbmRpZiAvLyBFTkFC
TEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RD
YWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsy
MSw3IEBACiAjaWZuZGVmIEpTVGVzdENhbGxiYWNrX2gKICNkZWZpbmUgSlNUZXN0Q2FsbGJhY2tf
aAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNp
bmNsdWRlICJBY3RpdmVET01DYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgi
CkBAIC01NSw2ICs1NSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogCiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9P
YmpDL0RPTVRlc3RDYWxsYmFjay5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW0JKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENh
bGxiYWNrLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbXBvcnQgImNv
bmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAKICNpbXBvcnQgIkRPTUludGVybmFsLmgiCiAKQEAgLTEzOCw0ICsxMzgsNCBAQCBET01UZXN0
Q2FsbGJhY2sgKmtpdChXZWJDb3JlOjpUZXN0Q2FsbGJhCiAgICAgcmV0dXJuIFt3cmFwcGVyIGF1
dG9yZWxlYXNlXTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBF
TkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Y4L1Y4VGVzdENhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
YWxsYmFjay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJWOFRlc3RDYWxsYmFjay5oIgogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCkBAIC0xNjEsNCArMTYxLDQgQEAg
Ym9vbCBWOFRlc3RDYWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTAogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxF
KFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9WOC9WOFRlc3RDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgQm9zdG9uLCBNQSAwMjExMS0x
MzA3LCBVU0EuCiAqLwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKICNpZm5kZWYgVjhUZXN0Q2FsbGJhY2tfaAogI2RlZmluZSBWOFRlc3RDYWxsYmFj
a19oCkBAIC02Myw0ICs2Myw0IEBAIHByaXZhdGU6CiAKICNlbmRpZiAvLyBWOFRlc3RDYWxsYmFj
a19oCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9E
QVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02NzUsNyArNjc1LDcgQEAgdm9pZCBWOFByb3h5OjpzZXRET01FeGNl
cHRpb24oaW50IGV4Y2VwdAogICAgICAgICBleGNlcHRpb24gPSB0b1Y4KFhQYXRoRXhjZXB0aW9u
OjpjcmVhdGUoZGVzY3JpcHRpb24pKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBjYXNlIFNRTEV4Y2Vw
dGlvblR5cGU6CiAgICAgICAgIGV4Y2VwdGlvbiA9IHRvVjgoU1FMRXhjZXB0aW9uOjpjcmVhdGUo
ZGVzY3JpcHRpb24pKTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9WOFByb3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvVjhQcm94eS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L1Y4UHJveHkuaAkod29ya2luZyBjb3B5KQpAQCAtMzAyLDcgKzMwMiw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN2Z0V4Y2VwdGlvbk5hbWUo
aW50IGV4Y2VwdGlvbkNvZGUpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHNxbEV4Y2Vw
dGlvbk5hbWUoaW50IGV4Y2VwdGlvbkNvZGUpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9y
Q2FsbGJhY2suY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRl
ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSAiVjhTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9tLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjksNyArMTY5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4SW5qZWN0ZWRTY3JpcHRIbwogICAgIElOQ19TVEFUUygiSW5qZWN0ZWRTY3JpcHRIb3N0
LmRhdGFiYXNlSWQoKSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKICAgICAgICAgcmV0
dXJuIHY4OjpVbmRlZmluZWQoKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICBJbmplY3RlZFNjcmlwdEhvc3QqIGhvc3QgPSBWOEluamVjdGVkU2Ny
aXB0SG9zdDo6dG9OYXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRGF0YWJhc2UqIGRhdGFiYXNl
ID0gVjhEYXRhYmFzZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdz
WzBdKSk7CiAgICAgaWYgKGRhdGFiYXNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1
c3RvbS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiVjhTUUxSZXN1bHRTZXRS
b3dMaXN0LmgiCiAKICNpbmNsdWRlICJTUUxSZXN1bHRTZXRSb3dMaXN0LmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJh
bnNhY3Rpb25DdXN0b20uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzAsNyArMzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlY4U1FMVHJh
bnNhY3Rpb24uaCIKIApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRy
YW5zYWN0aW9uU3luY0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAK
IAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJWOFNRTFRyYW5zYWN0aW9uU3luYy5oIgogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU2NCw3ICs0NTY0LDcg
QEAgdm9pZCBEb2N1bWVudDo6c2V0U2VjdXJpdHlPcmlnaW4oU2VjdXJpdAogICAgIGluaXRETlNQ
cmVmZXRjaCgpOwogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKIGJvb2wgRG9jdW1lbnQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MoKSBjb25zdAogewpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMDgsNyArMTAwOCw3IEBAIHB1
YmxpYzoKICAgICBib29sIHByb2Nlc3NpbmdMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX3By
b2Nlc3NpbmdMb2FkRXZlbnQ7IH0KICAgICBib29sIGxvYWRFdmVudEZpbmlzaGVkKCkgY29uc3Qg
eyByZXR1cm4gbV9sb2FkRXZlbnRGaW5pc2hlZDsgfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJhc2VB
Y2Nlc3MoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZvaWQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhKGNv
bnN0IFN0cmluZyYgbmFtZSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNl
cHRpb25Db2RlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9u
Q29kZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlv
bkNvZGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSAiWFBh
dGhFeGNlcHRpb24uaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKIApAQCAt
MTYzLDcgKzE2Myw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzdmdFeGNlcHRpb25EZXMK
IH07CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHNxbEV4Y2VwdGlvbk5hbWVzW10gPSB7CiAg
ICAgIlVOS05PV05fRVJSIiwKICAgICAiREFUQUJBU0VfRVJSIiwKQEAgLTMxOSw3ICszMTksNyBA
QCB2b2lkIGdldEV4Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbihFeGNlcHRpCiAgICAgICAgIG5hbWVU
YWJsZVNpemUgPSBXVEZfQVJSQVlfTEVOR1RIKHN2Z0V4Y2VwdGlvbk5hbWVzKTsKICAgICAgICAg
bmFtZVRhYmxlT2Zmc2V0ID0gU1ZHRXhjZXB0aW9uOjpTVkdfV1JPTkdfVFlQRV9FUlI7CiAjZW5k
aWYKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB9
IGVsc2UgaWYgKGNvZGUgPj0gU1FMRXhjZXB0aW9uOjpTUUxFeGNlcHRpb25PZmZzZXQgJiYgY29k
ZSA8PSBTUUxFeGNlcHRpb246OlNRTEV4Y2VwdGlvbk1heCkgewogICAgICAgICB0eXBlID0gU1FM
RXhjZXB0aW9uVHlwZTsKICAgICAgICAgdHlwZU5hbWUgPSAiRE9NIFNRTCI7CkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2RvbS9FeGNlcHRpb25Db2RlLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL0V4Y2VwdGlvbkNvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgLCBTVkdFeGNlcHRp
b25UeXBlCiAjZW5kaWYKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKICAgICAgICAgLCBTUUxFeGNlcHRpb25UeXBlCiAjZW5kaWYKICNpZiBFTkFCTEUoQkxP
QikgfHwgRU5BQkxFKEZJTEVfU1lTVEVNKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkx
LDcgKzkxLDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6U2NyaXB0RXhlY3V0aW9uQwogICAg
IDogbV9pdGVyYXRpbmdBY3RpdmVET01PYmplY3RzKGZhbHNlKQogICAgICwgbV9pbkRlc3RydWN0
b3IoZmFsc2UpCiAgICAgLCBtX2luRGlzcGF0Y2hFcnJvckV2ZW50KGZhbHNlKQotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9oYXNPcGVuRGF0
YWJhc2VzKGZhbHNlKQogI2VuZGlmCiB7CkBAIC0xMTIsNyArMTEyLDcgQEAgU2NyaXB0RXhlY3V0
aW9uQ29udGV4dDo6flNjcmlwdEV4ZWN1dGlvbgogICAgICAgICBBU1NFUlQoKCppdGVyKS0+c2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCgpID09IHRoaXMpOwogICAgICAgICAoKml0ZXIpLT5jb250ZXh0
RGVzdHJveWVkKCk7CiAgICAgfQotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogICAgIGlmIChtX2RhdGFiYXNlVGhyZWFkKSB7CiAgICAgICAgIEFTU0VSVCht
X2RhdGFiYXNlVGhyZWFkLT50ZXJtaW5hdGlvblJlcXVlc3RlZCgpKTsKICAgICAgICAgbV9kYXRh
YmFzZVRocmVhZCA9IDA7CkBAIC0xNDQsNyArMTQ0LDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6flNjcmlwdEV4ZWN1dGlvbgogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogRGF0YWJhc2VUaHJlYWQqIFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQ6OmRhdGFiYXNlVGhyZWFkKCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9T
Y3JpcHRFeGVjdXRpb25Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3
ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7
CiAgICAgY2xhc3MgU2VjdXJpdHlPcmlnaW47CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBjbGFzcyBEYXRhYmFzZTsKICAgICBjbGFzcyBEYXRh
YmFzZVRhc2tTeW5jaHJvbml6ZXI7CiAgICAgY2xhc3MgRGF0YWJhc2VUaHJlYWQ7CkBAIC03OCw3
ICs3OCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG9j
dW1lbnQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNX
b3JrZXJDb250ZXh0KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICB2aXJ0dWFsIGJvb2wgYWxs
b3dEYXRhYmFzZUFjY2VzcygpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRhdGFi
YXNlRXhjZWVkZWRRdW90YShjb25zdCBTdHJpbmcmIG5hbWUpID0gMDsKICAgICAgICAgRGF0YWJh
c2VUaHJlYWQqIGRhdGFiYXNlVGhyZWFkKCk7CkBAIC0yMDgsNyArMjA4LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBjbGFzcyBQZW5kaW5nRXhjZXB0aW9uOwogICAgICAgICBPd25Q
dHI8VmVjdG9yPE93blB0cjxQZW5kaW5nRXhjZXB0aW9uPiA+ID4gbV9wZW5kaW5nRXhjZXB0aW9u
czsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
ICAgICBSZWZQdHI8RGF0YWJhc2VUaHJlYWQ+IG1fZGF0YWJhc2VUaHJlYWQ7CiAgICAgICAgIGJv
b2wgbV9oYXNPcGVuRGF0YWJhc2VzOyAvLyBUaGlzIG5ldmVyIGNoYW5nZXMgYmFjayB0byBmYWxz
ZSwgZXZlbiBhZnRlciB0aGUgZGF0YWJhc2UgdGhyZWFkIGlzIGNsb3NlZC4KICNlbmRpZgpJbmRl
eDogU291cmNlL1dlYkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
OSw3ICsxMTksNyBAQCBzdGF0aWMgYm9vbCBsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24oRnJhCiAg
ICAgICAgICAgICBQQ0xPRygiICAgLUZyYW1lIGhhcyBhbiB1bmxvYWQgZXZlbnQgbGlzdGVuZXIi
KTsKICAgICAgICAgICAgIGNhbm5vdENhY2hlID0gdHJ1ZTsKICAgICAgICAgfQotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBpZiAoZnJhbWUt
PmRvY3VtZW50KCktPmhhc09wZW5EYXRhYmFzZXMoKSkgewogICAgICAgICAgICAgUENMT0coIiAg
IC1GcmFtZSBoYXMgb3BlbiBkYXRhYmFzZSBoYW5kbGVzIik7CiAgICAgICAgICAgICBjYW5ub3RD
YWNoZSA9IHRydWU7CkBAIC0yNjUsNyArMjY1LDcgQEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hl
UGFnZUNvbnRhaW5pbmdUaAogICAgICAgICAmJiAhZnJhbWUtPmxvYWRlcigpLT5zdWJmcmFtZUxv
YWRlcigpLT5jb250YWluc1BsdWdpbnMoKQogICAgICAgICAmJiAhZnJhbWUtPmRvY3VtZW50KCkt
PnVybCgpLnByb3RvY29sSXMoImh0dHBzIikKICAgICAgICAgJiYgKCFmcmFtZS0+ZG9tV2luZG93
KCkgfHwgIWZyYW1lLT5kb21XaW5kb3coKS0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygp
LnVubG9hZEV2ZW50KSkKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRB
QkFTRSkKICAgICAgICAgJiYgIWZyYW1lLT5kb2N1bWVudCgpLT5oYXNPcGVuRGF0YWJhc2VzKCkK
ICNlbmRpZgogI2lmIEVOQUJMRShTSEFSRURfV09SS0VSUykKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgi
CiAjaW5jbHVkZSAiUGFzdGVib2FyZC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNlbmRpZgogCkBAIC03
Miw3ICs3Miw3IEBAIFBhc3NSZWZQdHI8SW5qZWN0ZWRTY3JpcHRIb3N0PiBJbmplY3RlZFMKIElu
amVjdGVkU2NyaXB0SG9zdDo6SW5qZWN0ZWRTY3JpcHRIb3N0KCkKICAgICA6IG1faW5zcGVjdG9y
QWdlbnQoMCkKICAgICAsIG1fY29uc29sZUFnZW50KDApCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoMCkKICNlbmRp
ZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBJbmplY3Rl
ZFNjcmlwdEhvc3Q6OmRpc2Nvbm5lY3QoKQogewogICAgIG1faW5zcGVjdG9yQWdlbnQgPSAwOwog
ICAgIG1fY29uc29sZUFnZW50ID0gMDsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBtX2RhdGFiYXNlQWdlbnQgPSAwOwogI2VuZGlmCiAjaWYgRU5B
QkxFKERPTV9TVE9SQUdFKQpAQCAtMTM4LDcgKzEzOCw3IEBAIE5vZGUqIEluamVjdGVkU2NyaXB0
SG9zdDo6aW5zcGVjdGVkTm9kZSgKICAgICByZXR1cm4gMDsKIH0KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogaW50IEluamVjdGVkU2NyaXB0SG9zdDo6
ZGF0YWJhc2VJZEltcGwoRGF0YWJhc2UqIGRhdGFiYXNlKQogewogICAgIGlmIChtX2RhdGFiYXNl
QWdlbnQpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0
SG9zdC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Jbmpl
Y3RlZFNjcmlwdEhvc3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGluaXQoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50CiAgICAgICAg
ICAgICAsIEluc3BlY3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50Ci0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICAgICAsIEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQqIGRhdGFiYXNlQWdlbnQKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbV9pbnNwZWN0
b3JBZ2VudCA9IGluc3BlY3RvckFnZW50OwogICAgICAgICBtX2NvbnNvbGVBZ2VudCA9IGNvbnNv
bGVBZ2VudDsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICAgICAgICAgbV9kYXRhYmFzZUFnZW50ID0gZGF0YWJhc2VBZ2VudDsKICNlbmRpZgogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xl
YXJDb25zb2xlTWVzc2FnZXMoKTsKICAgICB2b2lkIGNvcHlUZXh0KGNvbnN0IFN0cmluZyYgdGV4
dCk7CiAgICAgTm9kZSogaW5zcGVjdGVkTm9kZSh1bnNpZ25lZCBpbnQgbnVtKTsKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBpbnQgZGF0YWJhc2VJ
ZEltcGwoRGF0YWJhc2UqKTsKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTEw
OCw3ICsxMDgsNyBAQCBwcml2YXRlOgogCiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9y
QWdlbnQ7CiAgICAgSW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50KiBtX2RhdGFiYXNlQWdlbnQ7CiAjZW5kaWYKICNpZiBFTkFCTEUoRE9NX1NU
T1JBR0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3
IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIKICAgICAsIG1fcGFn
ZUFnZW50KEluc3BlY3RvclBhZ2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5n
ZXQoKSwgcGFnZSwgbV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKQogICAgICwgbV9kb21B
Z2VudChJbnNwZWN0b3JET01BZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQo
KSwgbV9wYWdlQWdlbnQuZ2V0KCksIGluc3BlY3RvckNsaWVudCwgbV9zdGF0ZS5nZXQoKSwgbV9p
bmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKQogICAgICwgbV9jc3NBZ2VudChhZG9wdFB0cihu
ZXcgSW5zcGVjdG9yQ1NTQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2RvbUFn
ZW50LmdldCgpKSkpCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRl
KG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKICNp
ZiBFTkFCTEUoRE9NX1NUT1JBR0UpCkBAIC0xMzAsNyArMTMwLDcgQEAgSW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcgogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50
LCBpbnNwZWN0b3JDbGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3Rl
ZFNjcmlwdEhvc3QoKS0+aW5pdChtX2luc3BlY3RvckFnZW50LmdldCgpCiAgICAgICAgICwgbV9j
b25zb2xlQWdlbnQuZ2V0KCkKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICAgICAgLCBtX2RhdGFiYXNlQWdlbnQuZ2V0KCkKICNlbmRpZgogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKQEAgLTIxNCw3ICsyMTQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OmNvbm5lY3RGcm9udGVuCiAgICAgbV9kZWJ1Z2dlckFnZW50LT5zZXRGcm9udGVuZCht
X2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICAgICBtX3Byb2ZpbGVyQWdlbnQtPnNldEZyb250
ZW5kKG1faW5zcGVjdG9yRnJvbnRlbmQuZ2V0KCkpOwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRG
cm9udGVuZChtX2luc3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgogI2lmIEVOQUJMRShE
T01fU1RPUkFHRSkKQEAgLTI0NCw3ICsyNDQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6
OmNvbm5lY3RGcm9udGVuCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgICAgICBtX2RvbVN0
b3JhZ2VBZ2VudC5nZXQoKSwKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBtX2RhdGFiYXNlQWdlbnQuZ2V0KCksCiAjZW5kaWYK
ICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKQEAgLTI5Myw3ICsyOTMsNyBAQCB2b2lk
IEluc3BlY3RvckNvbnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9uCiAgICAgbV9jc3NBZ2VudC0+Y2xl
YXJGcm9udGVuZCgpOwogICAgIG1fdGltZWxpbmVBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogICAg
IG1fcmVzb3VyY2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+Y2xlYXJGcm9u
dGVuZCgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpAQCAtMzQ2LDcgKzM0Niw3
IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3QKICAgICBtX3Jlc291
cmNlQWdlbnQtPnJlc3RvcmUoKTsKICAgICBtX3RpbWVsaW5lQWdlbnQtPnJlc3RvcmUoKTsKICAg
ICBtX2NvbnNvbGVBZ2VudC0+cmVzdG9yZSgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+cmVzdG9yZSgpOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEzNCw3ICsxMzQsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxJbnNwZWN0b3JQYWdlQWdl
bnQ+IG1fcGFnZUFnZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JET01BZ2VudD4gbV9kb21BZ2Vu
dDsKICAgICBPd25QdHI8SW5zcGVjdG9yQ1NTQWdlbnQ+IG1fY3NzQWdlbnQ7Ci0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgT3duUHRyPEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQ+IG1fZGF0YWJhc2VBZ2VudDsKICNlbmRpZgogI2lmIEVOQUJMRShET01f
U1RPUkFHRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFz
ZUFnZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGF0YWJhc2VBZ2VudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw3ICszMCw3IEBACiAKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAKLSNp
ZiBFTkFCTEUoSU5TUEVDVE9SKSAmJiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKElOU1BF
Q1RPUikgJiYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgpAQCAtMzU3LDQgKzM1Nyw0IEBAIERhdGFiYXNlKiBJ
bnNwZWN0b3JEYXRhYmFzZUFnZW50OjpkYXRhYmEKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
Ci0jZW5kaWYgLy8gRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKERBVEFCQVNFKQorI2VuZGlm
IC8vIEVOQUJMRShJTlNQRUNUT1IpICYmIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJ
bnN0cnVtZW50YXRpb24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtMzcsNyArMzcsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIGlubGluZSB2b2lkIEluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbjo6ZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNv
bnRleHQsIFBhc3NSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIGRvbWFp
biwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCiB7CiAjaWYgRU5B
QkxFKElOU1BFQ1RPUikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAm
JiBFTkFCTEUoSU5TUEVDVE9SKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpICYmIEVOQUJMRShJ
TlNQRUNUT1IpCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9u
dGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgpAQCAtNjYsNCArNjYsNCBAQCB2
b2lkIEluc3BlY3RvckRhdGFiYXNlUmVzb3VyY2U6OmJpbmQoSW5zCiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkgJiYgRU5BQkxFKElOU1BFQ1RP
UikKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKSAmJiBFTkFCTEUoSU5TUEVDVE9SKQpJ
bmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJh
c2VSZXNvdXJjZS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMx
LDcgQEAKICNpZm5kZWYgSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZV9oCiAjZGVmaW5lIEluc3Bl
Y3RvckRhdGFiYXNlUmVzb3VyY2VfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAmJiBFTkFCTEUo
SU5TUEVDVE9SKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpICYmIEVOQUJMRShJTlNQRUNUT1Ip
CiAjaW5jbHVkZSAiSW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmlu
Zy5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC02Myw2ICs2Myw2IEBAIHByaXZh
dGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFT
RSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gSW5zcGVjdG9y
RGF0YWJhc2VSZXNvdXJjZV9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNjQzLDcgKzY0Myw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRDb21taXQKICNlbmRpZgogICAgICAgICBpZiAoSW5zcGVjdG9yQ1NTQWdlbnQqIGNz
c0FnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ1NTQWdlbnQoKSkKICAgICAg
ICAgICAgIGNzc0FnZW50LT5yZXNldCgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBpZiAoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0
YWJhc2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRhdGFiYXNlQWdlbnQo
KSkKICAgICAgICAgICAgIGRhdGFiYXNlQWdlbnQtPmNsZWFyUmVzb3VyY2VzKCk7CiAjZW5kaWYK
QEAgLTc1MSw3ICs3NTEsNyBAQCBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHJvZmls
ZXJFCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFzc1JlZlB0cjxE
YXRhYmFzZT4gZGF0YWJhc2UsIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbikKIHsKICAgICBJbnNwZWN0b3JBZ2VudCogaW5zcGVj
dG9yQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRp
b24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw3ICsxNjYsNyBAQCBw
dWJsaWM6CiAgICAgc3RhdGljIGJvb2wgcHJvZmlsZXJFbmFibGVkKFBhZ2UqKTsKICNlbmRpZgog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgc3Rh
dGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVm
UHRyPERhdGFiYXNlPiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB2ZXJzaW9uKTsKICNlbmRpZgogCkBAIC0zMDAsNyArMzAwLDcgQEAgcHJp
dmF0ZToKICAgICBzdGF0aWMgYm9vbCBwcm9maWxlckVuYWJsZWRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAgICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgUGFzc1JlZlB0cjxEYXRhYmFzZT4sIGNvbnN0IFN0cmluZyYgZG9tYWluLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbik7CiAjZW5kaWYKIApJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5n
QWdlbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogI2lmIEVO
QUJMRShET01fU1RPUkFHRSkKICAgICAgICAgLCBtX2luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgw
KQogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgICAgICwgbV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKICNpZiBFTkFC
TEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoK
ICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIGluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgp
IGNvbnN0IHsgcmV0dXJuIG1faW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OyB9CiAgICAgdm9pZCBz
ZXRJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBhZ2Vu
dCkgeyBtX2luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBJbnNwZWN0b3JE
YXRhYmFzZUFnZW50KiBpbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9p
bnNwZWN0b3JEYXRhYmFzZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFn
ZW50KEluc3BlY3RvckRhdGFiYXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VB
Z2VudCA9IGFnZW50OyB9CiAjZW5kaWYKQEAgLTE1MCw3ICsxNTAsNyBAQCBwcml2YXRlOgogI2lm
IEVOQUJMRShET01fU1RPUkFHRSkKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1faW5z
cGVjdG9yRE9NU3RvcmFnZUFnZW50OwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNw
ZWN0b3JEYXRhYmFzZUFnZW50OwogI2VuZGlmCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJ
Q0FUSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JD
b250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xMDEsNyArMTAxLDcgQEAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2Vy
SW5zcGVjdAogewogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhv
c3QoKS0+aW5pdCgwCiAgICAgICAgICwgMAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAsIDAKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKQEAgLTEzOCw3ICsxMzgsNyBAQCB2b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6
OmNvbm5lY3RGCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgICAgICAwLCAvLyBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogICAgICAgICAwLCAvLyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50CiAj
ZW5kaWYKICNpZiBFTkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCSh3
b3JraW5nIGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIHR5cGVfdHJhaXRzID0gewogcmVmX3R5cGVz
ID0ge30KIAogbWFjcm9fdHJhaXRzID0gewotICAgICJEYXRhYmFzZSI6ICJEQVRBQkFTRSIsCisg
ICAgIkRhdGFiYXNlIjogIlNRTF9EQVRBQkFTRSIsCiAgICAgIkRPTVN0b3JhZ2UiOiAiRE9NX1NU
T1JBR0UiLAogICAgICJBcHBsaWNhdGlvbkNhY2hlIjogIk9GRkxJTkVfV0VCX0FQUExJQ0FUSU9O
UyIsCiAgICAgIkRlYnVnZ2VyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLApJbmRleDogU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw3ICsxODAs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKSB7IH0KIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1YWwg
dm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmKSB7IH0KICNl
bmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9u
IDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNDI2LDcgKzQyNiw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0b3BMb2FkaW5n
KFVubG9hZEV2ZW4KICAgICAgICAgLy8gaHR0cDovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hv
d19idWcuY2dpP2lkPTEwNTM3CiAgICAgICAgIGRvYy0+c2V0UmVhZHlTdGF0ZShEb2N1bWVudDo6
Q29tcGxldGUpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgICAgIGRvYy0+c3RvcERhdGFiYXNlcygwKTsKICNlbmRpZgogICAgIH0KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJh
bWUqKSA9IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rp
b24oU2Nyb2xsRGlyZWN0aW9uKSBjb25zdCA9IDA7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0
YWJhc2VRdW90YShGcmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKSA9IDA7CiAjZW5k
aWYKIApJbmRleDogU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEz
NDUsNyArMTM0NSw3IEBAIGRvdWJsZSBET01XaW5kb3c6OmRldmljZVBpeGVsUmF0aW8oKSBjb24K
ICAgICByZXR1cm4gcGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKIH0KIAotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogUGFzc1JlZlB0cjxEYXRhYmFzZT4g
RE9NV2luZG93OjpvcGVuRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1h
dGVkU2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlID0gMDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDksOCArMzQ5LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBET01VUkwqIHdlYmtpdFVSTCgpIGNvbnN0
OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCi0gICAgICAgIC8vIEhUTUwgNSBjbGll
bnQtc2lkZSBkYXRhYmFzZQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIFBhc3NS
ZWZQdHI8RGF0YWJhc2U+IG9wZW5EYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBl
c3RpbWF0ZWRTaXplLCBQYXNzUmVmUHRyPERhdGFiYXNlQ2FsbGJhY2s+IGNyZWF0aW9uQ2FsbGJh
Y2ssIEV4Y2VwdGlvbkNvZGUmKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTY2LDcgKzE2Niw3IEBAIG1vZHVsZSB3aW5kb3cgewog
I2lmIGRlZmluZWQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJiYgRU5BQkxFX09G
RkxJTkVfV0VCX0FQUExJQ0FUSU9OUwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0VuYWJs
ZWRBdFJ1bnRpbWVdIERPTUFwcGxpY2F0aW9uQ2FjaGUgYXBwbGljYXRpb25DYWNoZTsKICNlbmRp
ZiAgICAKLSNpZiBkZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RBVEFCQVNFCisj
aWYgZGVmaW5lZChFTkFCTEVfU1FMX0RBVEFCQVNFKSAmJiBFTkFCTEVfU1FMX0RBVEFCQVNFCiAg
ICAgICAgIFtFbmFibGVkQXRSdW50aW1lXSBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3Ry
aW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUs
IGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0g
RGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAgICAgICAgcmFpc2VzKERP
TUV4Y2VwdGlvbik7CiAjZW5kaWYKQEAgLTc5MCw3ICs3OTAsNyBAQCBtb2R1bGUgd2luZG93IHsK
ICNlbmRpZgogI2VuZGlmCiAKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1EQVRBQkFT
RV0gU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FMRXhjZXB0aW9uOworICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRV0gU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FM
RXhjZXB0aW9uOwogCiAKICAgICAgICAgYXR0cmlidXRlIERPTUZvcm1EYXRhQ29uc3RydWN0b3Ig
Rm9ybURhdGE7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9y
aXplci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0
ZUF1dGhvcml6ZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVBdXRob3JpemVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
OCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQXV0aG9yaXplci5o
IgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNp
bmNsdWRlIDxzcWxpdGUzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDQgKzQxLDQg
QEAgY29uc3QgaW50IFNRTEF1dGhEZW55ID0gU1FMSVRFX0RFTlk7CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUo
U1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURh
dGFiYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FM
aXRlRGF0YWJhc2UuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDgg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNpbmNsdWRl
ICJEYXRhYmFzZUF1dGhvcml6ZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
U1FMaXRlRmlsZVN5c3RlbS5oIgpAQCAtNDcxLDQgKzQ3Miw0IEBAIGJvb2wgU1FMaXRlRGF0YWJh
c2U6OnR1cm5PbkluY3JlbWVudGFsQXUKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0u
Y3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVGaWxlU3lzdGVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTGl0ZUZpbGVTeXN0ZW0uaCIKIAotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRmlsZVN5
c3RlbS5oIgogI2luY2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCkBAIC0xMjUsNCArMTI1LDUgQEAg
bG9uZyBsb25nIFNRTGl0ZUZpbGVTeXN0ZW06OmdldERhdGFiYXNlRgogfQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorCisjZW5kaWYgLy8gRU5B
QkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVTdGF0ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVTdGF0ZW1lbnQuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50
LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJTUUxWYWx1ZS5oIgpAQCAtNTQ2LDQgKzU0
Niw0IEBAIGJvb2wgU1FMaXRlU3RhdGVtZW50Ojppc0V4cGlyZWQoKQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxF
KFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVU
cmFuc2FjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Fs
L1NRTGl0ZVRyYW5zYWN0aW9uLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcWwvU1FMaXRlVHJhbnNhY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMaXRlVHJhbnNh
Y3Rpb24uaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogCiAjaW5jbHVkZSAiU1FMaXRlRGF0YWJhc2UuaCIKIApAQCAtMTAzLDQgKzEwMyw1IEBAIGJv
b2wgU1FMaXRlVHJhbnNhY3Rpb246Ondhc1JvbGxlZEJhY2tCeVMKIH0KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKworI2VuZGlmIC8vIEVOQUJM
RShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Fic3RyYWN0RGF0
YWJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3RE
YXRhYmFzZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9B
YnN0cmFjdERhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSAiRGF0
YWJhc2VBdXRob3JpemVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgpAQCAtNTQ1LDQgKzU0Niw0IEBAIGJvb2wgQWJzdHJhY3REYXRhYmFzZTo6
aXNJbnRlcnJ1cHRlZCgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpZm5kZWYgQWJzdHJhY3REYXRhYmFzZV9oCiAjZGVmaW5l
IEFic3RyYWN0RGF0YWJhc2VfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKQEAgLTEzMyw2ICsxMzMsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5B
QkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIEFic3RyYWN0RGF0YWJhc2VfaApJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3Jh
cHBlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDggQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJDaGFuZ2VWZXJzaW9uV3JhcHBlci5oIgogCi0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNpbmNsdWRlICJEYXRhYmFzZS5o
IgogI2luY2x1ZGUgIlNRTEVycm9yLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAg
LTg1LDQgKzg2LDQgQEAgdm9pZCBDaGFuZ2VWZXJzaW9uV3JhcHBlcjo6aGFuZGxlQ29tbWl0Rgog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisj
ZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvQ2hhbmdlVmVyc2lvbldyYXBwZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIENoYW5nZVZlcnNpb25XcmFwcGVyX2gKICNkZWZpbmUg
Q2hhbmdlVmVyc2lvbldyYXBwZXJfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
IlNRTFRyYW5zYWN0aW9uLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkRhdGFiYXNlLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKKwogI2luY2x1ZGUgIkNoYW5nZVZlcnNpb25XcmFwcGVyLmgiCiAjaW5jbHVk
ZSAiRGF0YWJhc2VDYWxsYmFjay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNDEy
LDQgKzQxMyw0IEBAIFNlY3VyaXR5T3JpZ2luKiBEYXRhYmFzZTo6c2VjdXJpdHlPcmlnaW4KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2Vu
ZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0RhdGFiYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAogI2lmbmRlZiBEYXRhYmFzZV9oCiAj
ZGVmaW5lIERhdGFiYXNlX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQorCiAjaW5jbHVkZSAiQWJzdHJhY3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkV4
Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtMTE1LDYgKzEx
Niw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYg
Ly8gRGF0YWJhc2VfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVy
ZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25h
bD1TUUxfREFUQUJBU0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0
aWNUYWJsZXMKICAgICBdIERhdGFiYXNlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
RGF0YWJhc2VBdXRob3JpemVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlQXV0aG9yaXplci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZUF1dGhvcml6ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VBdXRo
b3JpemVyLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQ
dHIuaD4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFj
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIERhdGFiYXNlQ2Fs
bGJhY2tfaAogI2RlZmluZSBEYXRhYmFzZUNhbGxiYWNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVS
ZWZDb3VudGVkLmg+CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxs
YmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNh
bGxiYWNrLmlkbAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Rh
dGFiYXNlQ2FsbGJhY2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKIG1v
ZHVsZSBzdG9yYWdlIHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1EQVRB
QkFTRSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBMZWdhY3lE
ZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBEYXRhYmFz
ZUNhbGxiYWNrIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VEZXRhaWxz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZURldGFpbHMu
aAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlRGV0
YWlscy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIERhdGFiYXNl
RGV0YWlsc19oCiAjZGVmaW5lIERhdGFiYXNlRGV0YWlsc19oCiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5n
LmgiCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiRGF0YWJhc2VTeW5jLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKKwogI2luY2x1ZGUgIkRhdGFiYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRl
ICJEYXRhYmFzZVRyYWNrZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTcsNCArMTk4
LDQgQEAgdm9pZCBEYXRhYmFzZVN5bmM6OmNsb3NlSW1tZWRpYXRlbHkoKQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5B
QkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VT
eW5jLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMu
aAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3lu
Yy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw4IEBACiAjaWZuZGVmIERhdGFiYXNlU3lu
Y19oCiAjZGVmaW5lIERhdGFiYXNlU3luY19oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNp
bmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAg
LTcwLDYgKzcxLDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
LSNlbmRpZiAvLyBEYXRhYmFzZVN5bmNfaAorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlU3luYy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9EYXRhYmFzZVN5bmMuaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBA
QAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9u
YWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAg
T21pdENvbnN0cnVjdG9yLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRGF0YWJhc2VT
eW5jIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiRGF0YWJhc2VUYXNrLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiTG9nZ2lu
Zy5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTI4LDcgKzI4LDggQEAKICNpZm5kZWYgRGF0YWJhc2VUYXNrX2gKICNkZWZpbmUg
RGF0YWJhc2VUYXNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQorCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2Rl
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTE3Myw1ICsxNzQsNiBAQCBwcml2
YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJB
U0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogI2VuZGlmIC8vIERhdGFiYXNl
VGFza19oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFk
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkRhdGFiYXNlVGhyZWFkLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkF1dG9kcmFpbmVkUG9vbC5oIgog
I2luY2x1ZGUgIkRhdGFiYXNlLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlVGhyZWFkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZVRocmVhZC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUaHJlYWQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsOCBAQAogI2lmbmRlZiBE
YXRhYmFzZVRocmVhZF9oCiAjZGVmaW5lIERhdGFiYXNlVGhyZWFkX2gKIAotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSA8d3RmL0RlcXVl
Lmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpA
QCAtOTEsNSArOTIsNSBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNl
bmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICNlbmRpZiAvLyBEYXRhYmFzZVRocmVhZF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0RhdGFiYXNlVHJhY2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNs
dWRlICJBYnN0cmFjdERhdGFiYXNlLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgJKHJldmlzaW9uIDk1MjQzKQorKysg
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAkod29ya2luZyBjb3B5KQpA
QCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBEYXRhYmFzZVRyYWNrZXJfaAogI2RlZmluZSBEYXRh
YmFzZVRyYWNrZXJfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNo
TWFwLmg+CkBAIC0xODcsNSArMTg3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxf
REFUQUJBU0UpCisKICNlbmRpZiAvLyBEYXRhYmFzZVRyYWNrZXJfaApJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlckNsaWVudC5oCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZm5kZWYgRGF0YWJhc2VUcmFja2VyQ2xp
ZW50X2gKICNkZWZpbmUgRGF0YWJhc2VUcmFja2VyQ2xpZW50X2gKIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2Vy
LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1
b3RhTWFuYWdlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJPcmlnaW5RdW90YU1hbmFnZXIuaCIKIAotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQWJzdHJh
Y3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIk9yaWdpblVzYWdlUmVjb3JkLmgiCkBAIC0xMzQsNCAr
MTM0LDQgQEAgdW5zaWduZWQgbG9uZyBsb25nIE9yaWdpblF1b3RhTWFuYWdlcjo6ZAogCiB9CiAK
LSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFT
RSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFu
YWdlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIE9yaWdpblF1
b3RhTWFuYWdlcl9oCiAjZGVmaW5lIE9yaWdpblF1b3RhTWFuYWdlcl9oCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlNlY3VyaXR5
T3JpZ2luSGFzaC5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC03MSw2ICs3MSw2IEBA
IHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShE
QVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gT3Jp
Z2luUXVvdGFNYW5hZ2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNh
Z2VSZWNvcmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2lu
VXNhZ2VSZWNvcmQuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvT3JpZ2luVXNhZ2VSZWNvcmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiT3JpZ2luVXNhZ2VSZWNvcmQuaCIKIAot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVk
ZSAiU1FMaXRlRmlsZVN5c3RlbS5oIgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09y
aWdpblVzYWdlUmVjb3JkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9P
cmlnaW5Vc2FnZVJlY29yZC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBA
QAogI2lmbmRlZiBPcmlnaW5Vc2FnZVJlY29yZF9oCiAjZGVmaW5lIE9yaWdpblVzYWdlUmVjb3Jk
X2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxDYWxsYmFja1dyYXBwZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZm5kZWYgU1FMQ2FsbGJhY2tXcmFw
cGVyX2gKICNkZWZpbmUgU1FMQ2FsbGJhY2tXcmFwcGVyX2gKIAotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRUYXNr
LmgiCiAjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTAzLDYgKzEwMyw2
IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJM
RShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8g
U1FMQ2FsbGJhY2tXcmFwcGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXJy
b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEVycm9yLmgJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIFNRTEVycm9yX2gKICNkZWZpbmUg
U1FMRXJyb3JfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRT
YWZlUmVmQ291bnRlZC5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwJKHdv
cmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGlu
dGVyZmFjZSBbCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRp
b25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9T
dGF0aWNUYWJsZXMKICAgICBdIFNRTEVycm9yIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMRXhjZXB0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxFeGNlcHRpb24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTEV4Y2VwdGlvbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVm
IFNRTEV4Y2VwdGlvbl9oCiAjZGVmaW5lIFNRTEV4Y2VwdGlvbl9oCiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkJh
c2UuaCIKIApAQCAtNjcsNiArNjcsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9E
QVRBQkFTRSkKIAogI2VuZGlmIC8vIFNRTEV4Y2VwdGlvbl9oCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1NRTEV4Y2VwdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxFeGNlcHRpb24uaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU1FMRXhjZXB0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEs
NyBAQAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0
aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAg
ICAgTm9TdGF0aWNUYWJsZXMsCiAgICAgICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBTUUxFeGNl
cHRpb24gewpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcAkocmV2
aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJTUUxSZXN1bHRTZXQuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3
IEBACiAjaWZuZGVmIFNRTFJlc3VsdFNldF9oCiAjZGVmaW5lIFNRTFJlc3VsdFNldF9oCiAKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJTUUxSZXN1bHRTZXRSb3dMaXN0LmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNyBAQAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsK
LSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9E
QVRBQkFTRSwKICAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBOb1N0YXRpY1RhYmxl
cwogICAgIF0gU1FMUmVzdWx0U2V0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
UmVzdWx0U2V0Um93TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0y
OSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMUmVzdWx0U2V0
Um93TGlzdC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDcgKzI5LDcgQEAKICNpZm5kZWYgU1FMUmVzdWx0U2V0Um93TGlzdF9oCiAjZGVmaW5lIFNRTFJl
c3VsdFNldFJvd0xpc3RfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAKICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgIlNRTFZh
bHVlLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3Qu
aWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0Um93
TGlzdC5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxS
ZXN1bHRTZXRSb3dMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBtb2R1
bGUgc3RvcmFnZSB7CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0
aW9uYWxBcmd1bWVudHMsCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBD
b25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAg
ICAgTm9TdGF0aWNUYWJsZXMKICAgICBdIFNRTFJlc3VsdFNldFJvd0xpc3QgewpJbmRleDogU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxTdGF0ZW1l
bnQuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
CiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTksNCAr
MTk5LDQgQEAgYm9vbCBTUUxTdGF0ZW1lbnQ6Omxhc3RFeGVjdXRpb25GYWlsZWREdQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYg
Ly8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
U3RhdGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0
ZW1lbnQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0
YXRlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIFNRTFN0
YXRlbWVudF9oCiAjZGVmaW5lIFNRTFN0YXRlbWVudF9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgi
CiAjaW5jbHVkZSAiU1FMQ2FsbGJhY2tXcmFwcGVyLmgiCkBAIC04MCw2ICs4MCw2IEBAIHByaXZh
dGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFT
RSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gU1FMU3RhdGVt
ZW50X2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50Q2FsbGJhY2su
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudENhbGxi
YWNrLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0
ZW1lbnRDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVm
IFNRTFN0YXRlbWVudENhbGxiYWNrX2gKICNkZWZpbmUgU1FMU3RhdGVtZW50Q2FsbGJhY2tfaAog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNs
dWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwJKHdvcmtp
bmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKICAgICBpbnRlcmZh
Y2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCi0gICAgICAgIENv
bmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAg
ICAgICAgIENhbGxiYWNrCiAgICAgXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayB7CiAgICAgICAgIGJv
b2xlYW4gaGFuZGxlRXZlbnQoaW4gU1FMVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24sIGluIFNRTFJl
c3VsdFNldCByZXN1bHRTZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0
ZW1lbnRFcnJvckNhbGxiYWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpZm5kZWYgU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFja19o
CiAjZGVmaW5lIFNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2tfaAogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2Fm
ZVJlZkNvdW50ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1l
bnRFcnJvckNhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5pZGwJKHdvcmtpbmcg
Y29weSkKQEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKICAgICBpbnRlcmZhY2Ug
WwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCi0gICAgICAgIENvbmRp
dGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAg
ICAgIENhbGxiYWNrCiAgICAgXSBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrIHsKICAgICAgICAg
W0N1c3RvbV0gYm9vbGVhbiBoYW5kbGVFdmVudChpbiBTUUxUcmFuc2FjdGlvbiB0cmFuc2FjdGlv
biwgaW4gU1FMRXJyb3IgZXJyb3IpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxT
dGF0ZW1lbnRTeW5jLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFN0YXRlbWVudFN5bmMuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMU3RhdGVtZW50U3luYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxTdGF0ZW1lbnRTeW5jLmgiCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1
ZGUgIkRhdGFiYXNlU3luYy5oIgogI2luY2x1ZGUgIlNRTEV4Y2VwdGlvbi5oIgpAQCAtMTIzLDQg
KzEyMyw0IEBAIFBhc3NSZWZQdHI8U1FMUmVzdWx0U2V0PiBTUUxTdGF0ZW1lbnRTeW4KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlm
IC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFN0YXRlbWVudFN5bmMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFN0YXRlbWVudFN5bmMuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1NRTFN0YXRlbWVudFN5bmMuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAog
I2lmbmRlZiBTUUxTdGF0ZW1lbnRTeW5jX2gKICNkZWZpbmUgU1FMU3RhdGVtZW50U3luY19oCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1
ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNTgs
NiArNTgsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAv
LyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2Vu
ZGlmIC8vIFNRTFN0YXRlbWVudFN5bmNfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvbi5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbi5oIgogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJE
YXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQXV0aG9yaXplci5oIgpAQCAtNjEwLDQgKzYx
MCw0IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb246OmNsZWFudXBBZnRlclRyYW5zYWMKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8v
IEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbi5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lmbmRlZiBT
UUxUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uX2gKIAotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9u
Q29kZS5oIgogI2luY2x1ZGUgIlNRTFN0YXRlbWVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcg
KzMwLDcgQEAgbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgTGVn
YWN5RGVmYXVsdE9wdGlvbmFsQXJndW1lbnRzLAotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFT
RSwKKyAgICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBPbWl0Q29uc3Ry
dWN0b3IsCiAgICAgICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBTUUxUcmFuc2FjdGlvbiB7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2su
aAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ2FsbGJhY2suaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBT
UUxUcmFuc2FjdGlvbkNhbGxiYWNrX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25DYWxsYmFja19o
CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlk
bAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogbW9kdWxlIHN0b3JhZ2UgewogICAg
IGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKLSAg
ICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRB
QkFTRSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgewog
ICAgICAgICBib29sZWFuIGhhbmRsZUV2ZW50KGluIFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9u
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJh
bnNhY3Rpb25DbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb25DbGllbnQuaCIKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAi
QWJzdHJhY3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgpAQCAtNjIs
NCArNjIsNCBAQCBib29sIFNRTFRyYW5zYWN0aW9uQ2xpZW50OjpkaWRFeGNlZWRRdW90CiAKIH0K
IAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFC
QVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYg
U1FMVHJhbnNhY3Rpb25DbGllbnRfaAogI2RlZmluZSBTUUxUcmFuc2FjdGlvbkNsaWVudF9oCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1
ZGUgPHd0Zi9GYXN0QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBA
IC01Myw2ICs1Myw2IEBAIHB1YmxpYzoKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNF
KQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNlbmRpZiAvLyBTUUxUcmFuc2Fj
dGlvbkNsaWVudF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9u
Q29vcmRpbmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25Db29yZGluYXRvci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFRy
YW5zYWN0aW9uQ29vcmRpbmF0b3IuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJTUUxU
cmFuc2FjdGlvbi5oIgpAQCAtMTI3LDQgKzEyNyw0IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvcjo6c2h1dGRvd24KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
aAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uQ29vcmRpbmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRl
ZiBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25Db29y
ZGluYXRvcl9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKIAogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBA
IC02NSw2ICs2NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9OwogfQogCi0jZW5kaWYg
Ly8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNl
bmRpZiAvLyBTUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaAkocmV2aXNp
b24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JD
YWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFja19oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxs
YmFja19oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
IAogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2su
aWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25FcnJvckNhbGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAog
bW9kdWxlIHN0b3JhZ2UgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRP
cHRpb25hbEFyZ3VtZW50cywKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAg
IENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFNRTFRy
YW5zYWN0aW9uRXJyb3JDYWxsYmFjayB7CiAgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4g
U1FMRXJyb3IgZXJyb3IpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvblN5bmMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJh
bnNhY3Rpb25TeW5jLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uU3luYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvblN5bmMuaCIK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiRGF0YWJhc2VBdXRob3JpemVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VTeW5jLmgiCkBA
IC0yMjAsNCArMjIwLDQgQEAgdm9pZCBTUUxUcmFuc2FjdGlvblN5bmM6OnJvbGxiYWNrKCkKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2Vu
ZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTFRyYW5zYWN0aW9uU3luYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25TeW5jLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsNyBAQAogI2lmbmRlZiBTUUxUcmFuc2FjdGlvblN5bmNfaAogI2RlZmluZSBTUUxUcmFuc2Fj
dGlvblN5bmNfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJp
bmcuaCIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3lu
Yy5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFu
c2FjdGlvblN5bmMuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBAIG1vZHVsZSBz
dG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25h
bEFyZ3VtZW50cywKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRp
dGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBO
b1N0YXRpY1RhYmxlcwogICAgIF0gU1FMVHJhbnNhY3Rpb25TeW5jIHsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmgJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5
bmNDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIFNR
TFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25TeW5jQ2Fs
bGJhY2tfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAKICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbAkocmV2aXNp
b24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0Nh
bGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogbW9kdWxlIHN0b3Jh
Z2UgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3Vt
ZW50cywKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFs
PVNRTF9EQVRBQkFTRSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFNRTFRyYW5zYWN0aW9uU3lu
Y0NhbGxiYWNrIHsKICAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBTUUxUcmFuc2FjdGlv
blN5bmMgdHJhbnNhY3Rpb24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1
bS9EYXRhYmFzZU9ic2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9jaHJvbWl1bS9EYXRhYmFzZU9ic2VydmVyLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9EYXRhYmFzZU9ic2VydmVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgRGF0YWJhc2VPYnNlcnZlcl9oCiAjZGVmaW5l
IERhdGFiYXNlT2JzZXJ2ZXJfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01Miw2ICs1Miw2
IEBAIHB1YmxpYzoKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8v
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNlbmRpZiAvLyBEYXRhYmFzZU9ic2VydmVyX2gKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0YWJhc2VUcmFja2VyQ2hyb21p
dW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0
YWJhc2VUcmFja2VyQ2hyb21pdW0uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0YWJhc2VUcmFja2VyQ2hyb21pdW0uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
RGF0YWJhc2VUcmFja2VyLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJE
YXRhYmFzZU9ic2VydmVyLmgiCkBAIC0yMTgsNCArMjE4LDQgQEAgdm9pZCBEYXRhYmFzZVRyYWNr
ZXI6OmludGVycnVwdEFsbERhdGFiYQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0Up
CisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHAJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUXVvdGFUcmFja2VyLmgiCiAj
aW5jbHVkZSAiUGxhdGZvcm1TdXBwb3J0LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApA
QCAtODksNCArODksNCBAQCB2b2lkIFF1b3RhVHJhY2tlcjo6cmVzZXRTcGFjZUF2YWlsYWJsZVRv
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkK
KyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgUXVvdGFUcmFja2VyX2gKICNkZWZpbmUgUXVv
dGFUcmFja2VyX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgpAQCAtNjQsNiArNjQsNiBAQCBwcml2YXRlOgogCiB9CiAKLSNlbmRpZiAvLyBFTkFC
TEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8v
IFF1b3RhVHJhY2tlcl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1NR
TFRyYW5zYWN0aW9uQ2xpZW50Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvY2hyb21pdW0vU1FMVHJhbnNhY3Rpb25DbGllbnRDaHJvbWl1bS5jcHAJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9TUUxUcmFu
c2FjdGlvbkNsaWVudENocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ2xpZW50Lmgi
CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2lu
Y2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZU9ic2VydmVyLmgi
CkBAIC04Niw0ICs4Niw0IEBAIGJvb2wgU1FMVHJhbnNhY3Rpb25DbGllbnQ6OmRpZEV4Y2VlZFF1
b3QKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5j
cHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250
ZXh0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk5LDcgKzI5OSw3IEBAIE5vdGlmaWNhdGlvbkNl
bnRlciogV29ya2VyQ29udGV4dDo6d2Via2kKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiBQYXNzUmVmUHRyPERhdGFiYXNlPiBXb3Jr
ZXJDb250ZXh0OjpvcGVuRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1h
dGVkU2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBF
eGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBpZiAoIXNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vz
c0RhdGFiYXNlKCkgfHwgIUFic3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCkpIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCShyZXZpc2lvbiA5NTI0MykKKysr
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTMsNyArMTEzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBOb3RpZmljYXRp
b25DZW50ZXIqIHdlYmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIC8vIEhUTUwg
NSBjbGllbnQtc2lkZSBkYXRhYmFzZQogICAgICAgICBQYXNzUmVmUHRyPERhdGFiYXNlPiBvcGVu
RGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNvbnN0
IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFzc1Jl
ZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7
CiAgICAgICAgIFBhc3NSZWZQdHI8RGF0YWJhc2VTeW5jPiBvcGVuRGF0YWJhc2VTeW5jKGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3Bs
YXlOYW1lLCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQdHI8RGF0YWJhc2VD
YWxsYmFjaz4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwpJbmRleDogU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTQ5LDcgKzQ5LDcgQEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICAvLyBXb3JrZXJVdGlscwog
ICAgICAgICBbQ3VzdG9tXSB2b2lkIGltcG9ydFNjcmlwdHMoLypbVmFyaWFkaWNdIGluIERPTVN0
cmluZyB1cmxzICovKTsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0g
V29ya2VyTmF2aWdhdG9yIG5hdmlnYXRvcjsKLSNpZiBkZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkg
JiYgRU5BQkxFX0RBVEFCQVNFCisjaWYgZGVmaW5lZChFTkFCTEVfU1FMX0RBVEFCQVNFKSAmJiBF
TkFCTEVfU1FMX0RBVEFCQVNFCiAgICAgICAgIFtFbmFibGVkQXRSdW50aW1lXSBEYXRhYmFzZSBv
cGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBE
T01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4g
W0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQog
ICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIFtFbmFibGVkQXRSdW50
aW1lXSBEYXRhYmFzZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4g
RE9NU3RyaW5nIHZlcnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQg
bG9uZyBlc3RpbWF0ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxi
YWNrIGNyZWF0aW9uQ2FsbGJhY2spCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clRocmVhZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyVGhyZWFkLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQAogI2luY2x1ZGUg
PHV0aWxpdHk+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2su
aCIKICNpbmNsdWRlICJEYXRhYmFzZVRyYWNrZXIuaCIKICNlbmRpZgpAQCAtMTk3LDcgKzE5Nyw3
IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKGNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKTsK
ICAgICAgICAgV29ya2VyQ29udGV4dCogd29ya2VyQ29udGV4dCA9IHN0YXRpY19jYXN0PFdvcmtl
ckNvbnRleHQqPihjb250ZXh0KTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogICAgICAgICBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgY2xlYW51cFN5
bmM7CiAgICAgICAgIHdvcmtlckNvbnRleHQtPnN0b3BEYXRhYmFzZXMoJmNsZWFudXBTeW5jKTsK
ICNlbmRpZgpAQCAtMjEwLDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gd2hpY2ggYmVj
b21lIGRhbmdsaW5nIG9uY2UgSGVhcCBpcyBkZXN0cm95ZWQuCiAgICAgICAgIHdvcmtlckNvbnRl
eHQtPnJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgLy8gV2Ugd2FpdCBmb3IgdGhlIGRhdGFi
YXNlIHRocmVhZCB0byBjbGVhbiB1cCBhbGwgaXRzIHN0dWZmIHNvIHRoYXQgd2UKICAgICAgICAg
Ly8gY2FuIGRvIG1vcmUgc3RyaW5nZW50IGxlYWsgY2hlY2tzIGFzIHdlIGV4aXQuCiAgICAgICAg
IGNsZWFudXBTeW5jLndhaXRGb3JUYXNrQ29tcGxldGlvbigpOwpAQCAtMjMzLDcgKzIzMyw3IEBA
IHZvaWQgV29ya2VyVGhyZWFkOjpzdG9wKCkKICAgICBpZiAobV93b3JrZXJDb250ZXh0KSB7CiAg
ICAgICAgIG1fd29ya2VyQ29udGV4dC0+c2NyaXB0KCktPnNjaGVkdWxlRXhlY3V0aW9uVGVybWlu
YXRpb24oKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgICAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5pbnRlcnJ1cHRBbGxEYXRhYmFz
ZXNGb3JDb250ZXh0KG1fd29ya2VyQ29udGV4dC5nZXQoKSk7CiAjZW5kaWYKIApJbmRleDogU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0
aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJM
RShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlBy
b2Nlc3MpOgorCiAyMDExLTA5LTE1ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBSZW1vdmUgRU5BQkxFKFNWR19BU19JTUFHRSkgc2luY2UgYWxsIG1ham9yIHBvcnRz
IGhhdmUgaXQgb24gYnkgZGVmYXVsdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lk
IFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKGNvCiAgICAgICAgIH0KICAgICB9CiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAvLyBN
YWtlIHN1cmUgdGhlIFdlYkRhdGFiYXNlTWFuYWdlciBpcyBpbml0aWFsaXplZCBzbyB0aGF0IHRo
ZSBEYXRhYmFzZSBkaXJlY3RvcnkgaXMgc2V0LgogICAgIFdlYkRhdGFiYXNlTWFuYWdlcjo6aW5p
dGlhbGl6ZShwYXJhbWV0ZXJzLmRhdGFiYXNlRGlyZWN0b3J5KTsKICNlbmRpZgpJbmRleDogU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxNyw3ICs1MTcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cHJpbnQoRnJhbWUq
IGZyYW1lCiAgICAgbV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcmlu
dEZyYW1lKHdlYkZyYW1lLT5mcmFtZUlEKCkpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcmlu
dEZyYW1lOjpSZXBseSgpKTsKIH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmV4Y2VlZGVkRGF0YWJhc2VRdW90
YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQogewogICAgIFdlYkZy
YW1lKiB3ZWJGcmFtZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xpZW50Kj4oZnJhbWUt
PmxvYWRlcigpLT5jbGllbnQoKSktPndlYkZyYW1lKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDcgKzEzMiw3
IEBAIHByaXZhdGU6CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHByaW50KFdlYkNvcmU6OkZyYW1l
Kik7CiAgICAgCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJDb3JlOjpGcmFtZSos
IGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTU4NCw3ICsxNTg0LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJl
bmNlcyhjb25zdCBXZQogICAgIHNldHRpbmdzLT5zZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2Vy
R2VzdHVyZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlh
UGxheWJhY2tSZXF1aXJlc1VzZXJHZXN0dXJlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0TWVk
aWFQbGF5YmFja0FsbG93c0lubGluZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVLZXkoKSkpOwogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgQWJzdHJhY3REYXRhYmFz
ZTo6c2V0SXNBdmFpbGFibGUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2Vz
S2V5OjpkYXRhYmFzZXNFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL0NoYW5nZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA5LTE1ICBB
ZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShE
QVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzcmMvRGF0YWJhc2VPYnNlcnZlci5jcHA6CisgICAg
ICAgICogc3JjL1dlYkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6
OnVwZGF0ZURhdGFiYXNlU2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjp1cGRh
dGVTcGFjZUF2YWlsYWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjpyZXNldFNw
YWNlQXZhaWxhYmxlKToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OmNsb3NlRGF0YWJh
c2VJbW1lZGlhdGVseSk6CisgICAgICAgICogc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRGF0YWJhc2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGF0YWJhc2VFbmFibGVkKToKKwog
MjAxMS0wOS0xNSAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAg
UmVtb3ZlIFRlc3RXZWJLaXRBUEkgZnJvbSB0aGUgY2hyb21pdW0gYnVpbGQgdW50aWwgaXQgaXMg
bWFkZSB0byB3b3JrCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9i
c2VydmVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRh
YmFzZU9ic2VydmVyLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlT2JzZXJ2ZXIuaCIK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiQWJzdHJhY3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkNyb3NzVGhyZWFkQ29waWVyLmgi
CkBAIC0xOTUsNCArMTk1LDQgQEAgdm9pZCBEYXRhYmFzZU9ic2VydmVyOjpkYXRhYmFzZUNsb3Nl
ZChBYgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJB
U0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRhdGFiYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00
MCw3ICs0MCw3IEBACiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKLSNpZiAhRU5BQkxFKERBVEFCQVNFKQorI2lmICFFTkFCTEUoU1FMX0RBVEFC
QVNFKQogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZSB7CiBwdWJs
aWM6CkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKICAgICBTZWN1cml0eU9yaWdpbiogc2VjdXJp
dHlPcmlnaW4oKSBjb25zdCB7IHJldHVybiAwOyB9CiB9OwogfQotI2VuZGlmIC8vICFFTkFCTEUo
REFUQUJBU0UpCisjZW5kaWYgLy8gIUVOQUJMRShTUUxfREFUQUJBU0UpCiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJDb3JlOwogCkBAIC05NCwyOCArOTQsMjggQEAgV2ViRGF0YWJhc2VPYnNlcnZlciog
V2ViRGF0YWJhc2U6Om9ic2VydgogCiB2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNp
emUoY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIG5h
bWUsIGxvbmcgbG9uZyBzaXplKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogICAgIFF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS51cGRhdGVEYXRhYmFz
ZVNpemUob3JpZ2luSWRlbnRpZmllciwgbmFtZSwgc2l6ZSk7CiAjZW5kaWYKIH0KIAogdm9pZCBX
ZWJEYXRhYmFzZTo6dXBkYXRlU3BhY2VBdmFpbGFibGUoY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5J
ZGVudGlmaWVyLCBsb25nIGxvbmcgc3BhY2VBdmFpbGFibGUpCiB7Ci0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgUXVvdGFUcmFja2VyOjppbnN0YW5j
ZSgpLnVwZGF0ZVNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmllciwgc3BhY2VB
dmFpbGFibGUpOwogI2VuZGlmCiB9CiAKIHZvaWQgV2ViRGF0YWJhc2U6OnJlc2V0U3BhY2VBdmFp
bGFibGUoY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyKQogewotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFF1b3RhVHJhY2tlcjo6aW5z
dGFuY2UoKS5yZXNldFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmllcik7CiAj
ZW5kaWYKIH0KIAogdm9pZCBXZWJEYXRhYmFzZTo6Y2xvc2VEYXRhYmFzZUltbWVkaWF0ZWx5KGNv
bnN0IFdlYlN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFz
ZU5hbWUpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgSGFzaFNldDxSZWZQdHI8QWJzdHJhY3REYXRhYmFzZT4gPiBkYXRhYmFzZUhhbmRsZXM7
CiAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZ2V0T3BlbkRhdGFiYXNlcyhvcmlnaW5J
ZGVudGlmaWVyLCBkYXRhYmFzZU5hbWUsICZkYXRhYmFzZUhhbmRsZXMpOwogICAgIGZvciAoSGFz
aFNldDxSZWZQdHI8QWJzdHJhY3REYXRhYmFzZT4gPjo6aXRlcmF0b3IgaXQgPSBkYXRhYmFzZUhh
bmRsZXMuYmVnaW4oKTsgaXQgIT0gZGF0YWJhc2VIYW5kbGVzLmVuZCgpOyArK2l0KQpJbmRleDog
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3Bw
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRp
bWVGZWF0dXJlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE0ICs0NCwxNCBAQCBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAogdm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZURhdGFiYXNlKGJv
b2wgZW5hYmxlKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgIEFic3RyYWN0RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGVuYWJsZSk7CiAjZW5k
aWYKIH0KIAogYm9vbCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGF0YWJhc2VFbmFibGVkKCkKIHsK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1
cm4gQWJzdHJhY3REYXRhYmFzZTo6aXNBdmFpbGFibGUoKTsKICNlbHNlCiAgICAgcmV0dXJuIGZh
bHNlOwpJbmRleDogU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2Vi
S2l0L2VmbC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0w
OS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBF
TkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50RWZsLmNwcDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoK
KyAgICAgICAgKiBld2svZXdrX3NldHRpbmdzLmNwcDoKKyAgICAgICAgKGV3a19zZXR0aW5nc193
ZWJfZGF0YWJhc2VfZGVmYXVsdF9xdW90YV9nZXQpOgorICAgICAgICAoZXdrX3NldHRpbmdzX3dl
Yl9kYXRhYmFzZV9wYXRoX3NldCk6CisgICAgICAgIChld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNl
X3BhdGhfZ2V0KToKKwogMjAxMS0wOS0xNCAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtv
d3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgTlVMTCBjaGVja3MgdG8gZXdr
X3dpbmRvd19mZWF0dXJlc19uZXdfZnJvbV9jb3JlIGFuZCBld2tfdmlld193aW5kb3dfY3JlYXRl
LgpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJv
bWVDbGllbnRFZmwuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcg
KzM0LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRFZmwu
aCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAj
aW5jbHVkZSAiRGF0YWJhc2VEZXRhaWxzLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgi
CiAjZW5kaWYKQEAgLTM5Myw3ICszOTQsNyBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6bmVlZFRv
dWNoRXZlbnRzKGJvCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogdm9pZCBDaHJvbWVDbGllbnRFZmw6OmV4Y2VlZGVkRGF0YWJhc2VR
dW90YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQogewogICAgIHVp
bnQ2NF90IHF1b3RhOwpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hy
b21lQ2xpZW50RWZsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktp
dC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwNiw3ICsxMDYsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUq
KTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
IHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcm
KTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgImV3a19zZXR0aW5n
cy5oIgogCiAjaW5jbHVkZSAiRVdlYktpdC5oIgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2VuZGlm
CiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBjb25zdCBj
aGFyKiBfZXdrX2NhY2hlX2RpcmVjdG9yeV8KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgY2hhciog
X2V3a19pY29uX2RhdGFiYXNlX3BhdGggPSAwOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tfZGVmYXVsdF93ZWJf
ZGF0YWJhc2VfcGF0aCA9IDA7CiBzdGF0aWMgdWludDY0X3QgX2V3a19kZWZhdWx0X3dlYl9kYXRh
YmFzZV9xdW90YSA9IDEgKiAxMDI0ICogMTAyNDsKICNlbmRpZgpAQCAtODIsNyArODIsNyBAQCBz
dGF0aWMgV1RGOjpTdHJpbmcgX2V3a19zZXR0aW5nc193ZWJraXRfCiAKIHVpbnQ2NF90IGV3a19z
ZXR0aW5nc193ZWJfZGF0YWJhc2VfZGVmYXVsdF9xdW90YV9nZXQodm9pZCkKIHsKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gX2V3a19k
ZWZhdWx0X3dlYl9kYXRhYmFzZV9xdW90YTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC05MSw3
ICs5MSw3IEBAIHVpbnQ2NF90IGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfZGVmYXUKIAogdm9p
ZCBld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfc2V0KGNvbnN0IGNoYXIgKnBhdGgpCiB7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV1RG
OjpTdHJpbmcgY29yZVBhdGggPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgocGF0aCk7CiAgICAgV2Vi
Q29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuc2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRo
KGNvcmVQYXRoKTsKICAgICBpZiAoIV9ld2tfZGVmYXVsdF93ZWJfZGF0YWJhc2VfcGF0aCkKQEAg
LTEwNCw3ICsxMDQsNyBAQCB2b2lkIGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9zZXQo
CiAKIGNvbnN0IGNoYXIgKmV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9nZXQodm9pZCkK
IHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBy
ZXR1cm4gX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9wYXRoOwogI2Vsc2UKICAgICByZXR1cm4g
MDsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktp
dC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDkt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5B
QkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVu
dEd0ay5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6Cisg
ICAgICAgICogd2Via2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmNwcDoKKyAgICAgICAgKHdlYmtp
dF9zZWN1cml0eV9vcmlnaW5fZ2V0X3dlYl9kYXRhYmFzZV91c2FnZSk6CisgICAgICAgICh3ZWJr
aXRfc2VjdXJpdHlfb3JpZ2luX2dldF93ZWJfZGF0YWJhc2VfcXVvdGEpOgorICAgICAgICAod2Vi
a2l0X3NlY3VyaXR5X29yaWdpbl9zZXRfd2ViX2RhdGFiYXNlX3F1b3RhKToKKyAgICAgICAgKHdl
YmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X2FsbF93ZWJfZGF0YWJhc2VzKToKKyAgICAgICAgKiB3
ZWJraXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9kYXRhYmFz
ZV9nZXRfZGlzcGxheV9uYW1lKToKKyAgICAgICAgKHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0X2V4
cGVjdGVkX3NpemUpOgorICAgICAgICAod2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfc2l6ZSk6Cisg
ICAgICAgICh3ZWJraXRfd2ViX2RhdGFiYXNlX2dldF9maWxlbmFtZSk6CisgICAgICAgICh3ZWJr
aXRfd2ViX2RhdGFiYXNlX3JlbW92ZSk6CisgICAgICAgICh3ZWJraXRfcmVtb3ZlX2FsbF93ZWJf
ZGF0YWJhc2VzKToKKyAgICAgICAgKHdlYmtpdF9nZXRfd2ViX2RhdGFiYXNlX2RpcmVjdG9yeV9w
YXRoKToKKyAgICAgICAgKHdlYmtpdF9zZXRfd2ViX2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoKToK
KyAgICAgICAgKiB3ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2Vi
X3ZpZXdfdXBkYXRlX3NldHRpbmdzKToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXR0aW5n
c19ub3RpZnkpOgorCiAyMDExLTA5LTEwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgRml4IGJ1aWxkIGJyZWFrLgpJbmRleDogU291cmNlL1dlYktpdC9ndGsvV2Vi
Q29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTYzLDcgKzYzLDcgQEAKICNpbmNsdWRlIDxndGsvZ3RrLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAj
ZW5kaWYKIApAQCAtNTc2LDcgKzU3Niw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50OjpwcmludChGcmFt
ZSogZnJhbWUpCiAgICAgd2Via2l0X3dlYl9mcmFtZV9wcmludCh3ZWJGcmFtZSk7CiB9CiAKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIHZvaWQgQ2hyb21l
Q2xpZW50OjpleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcm
IGRhdGFiYXNlTmFtZSkKIHsKICAgICBndWludDY0IGRlZmF1bHRRdW90YSA9IHdlYmtpdF9nZXRf
ZGVmYXVsdF93ZWJfZGF0YWJhc2VfcXVvdGEoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTUsNyArMTE1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaFZpZXdwb3J0RGF0YURpZENoYW5nZShjb25zdCBXZWJD
b3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYgYXJndW1lbnRzKSBjb25zdDsKIAogICAgICAgICB2aXJ0
dWFsIHZvaWQgcHJpbnQoV2ViQ29yZTo6RnJhbWUqKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0
YWJhc2VRdW90YShXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdURjo6U3RyaW5nJik7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpJbmRleDogU291cmNlL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzZWN1cml0eW9yaWdpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI5Niw3ICsyOTYsNyBAQCBndWludDY0IHdlYmtpdF9zZWN1
cml0eV9vcmlnaW5fZ2V0X3dlYl9kCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lU
X0lTX1NFQ1VSSVRZX09SSUdJTihzZWN1cml0eU9yaWdpbiksIDApOwogCi0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW4qIGNvcmVPcmlnaW4gPSBjb3JlKHNlY3VyaXR5T3JpZ2luKTsKICAgICByZXR1cm4gV2Vi
Q29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkudXNhZ2VGb3JPcmlnaW4oY29yZU9yaWdp
bik7CiAjZWxzZQpAQCAtMzE5LDcgKzMxOSw3IEBAIGd1aW50NjQgd2Via2l0X3NlY3VyaXR5X29y
aWdpbl9nZXRfd2ViX2QKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VD
VVJJVFlfT1JJR0lOKHNlY3VyaXR5T3JpZ2luKSwgMCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiog
Y29yZU9yaWdpbiA9IGNvcmUoc2VjdXJpdHlPcmlnaW4pOwogICAgIHJldHVybiBXZWJDb3JlOjpE
YXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5xdW90YUZvck9yaWdpbihjb3JlT3JpZ2luKTsKICNl
bHNlCkBAIC0zNDAsNyArMzQwLDcgQEAgdm9pZCB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3NldF93
ZWJfZGF0YQogewogICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NFQ1VSSVRZX09SSUdJ
TihzZWN1cml0eU9yaWdpbikpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGNvcmVPcmlnaW4gPSBj
b3JlKHNlY3VyaXR5T3JpZ2luKTsKICAgICBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNr
ZXIoKS5zZXRRdW90YShjb3JlT3JpZ2luLCBxdW90YSk7CiAjZW5kaWYKQEAgLTM2Miw3ICszNjIs
NyBAQCBHTGlzdCogd2Via2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfYWxsX3dlCiAgICAgZ19yZXR1
cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFQ1VSSVRZX09SSUdJTihzZWN1cml0eU9yaWdpbiks
IE5VTEwpOwogICAgIEdMaXN0KiBkYXRhYmFzZXMgPSBOVUxMOwogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW4qIGNvcmVPcmlnaW4gPSBjb3JlKHNlY3VyaXR5T3JpZ2luKTsKICAgICBWZWN0b3I8V1RGOjpT
dHJpbmc+IGRhdGFiYXNlTmFtZXM7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93
ZWJraXR3ZWJkYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmRhdGFiYXNlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MjUsNyArMzI1LDcgQEAgY29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0X2Rpcwog
ewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0
YWJhc2UpLCBOVUxMKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIFdlYktpdFdlYkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNl
LT5wcml2OwogICAgIFdlYkNvcmU6OkRhdGFiYXNlRGV0YWlscyBkZXRhaWxzID0gV2ViQ29yZTo6
RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRPcmlnaW4ocHJpdi0+
bmFtZSwgY29yZShwcml2LT5vcmlnaW4pKTsKICAgICBXVEY6OlN0cmluZyBkaXNwbGF5TmFtZSA9
ICBkZXRhaWxzLmRpc3BsYXlOYW1lKCk7CkBAIC0zNTcsNyArMzU3LDcgQEAgZ3VpbnQ2NCB3ZWJr
aXRfd2ViX2RhdGFiYXNlX2dldF9leHBlY3RlZAogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWls
KFdFQktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0YWJhc2UpLCAwKTsKIAotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYktpdFdlYkRhdGFiYXNl
UHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAgIFdlYkNvcmU6OkRhdGFiYXNl
RGV0YWlscyBkZXRhaWxzID0gV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGV0
YWlsc0Zvck5hbWVBbmRPcmlnaW4ocHJpdi0+bmFtZSwgY29yZShwcml2LT5vcmlnaW4pKTsKICAg
ICByZXR1cm4gZGV0YWlscy5leHBlY3RlZFVzYWdlKCk7CkBAIC0zODAsNyArMzgwLDcgQEAgZ3Vp
bnQ2NCB3ZWJraXRfd2ViX2RhdGFiYXNlX2dldF9zaXplKFdlYgogewogICAgIGdfcmV0dXJuX3Zh
bF9pZl9mYWlsKFdFQktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0YWJhc2UpLCAwKTsKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYktpdFdl
YkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAgIFdlYkNvcmU6
OkRhdGFiYXNlRGV0YWlscyBkZXRhaWxzID0gV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFj
a2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRPcmlnaW4ocHJpdi0+bmFtZSwgY29yZShwcml2LT5vcmln
aW4pKTsKICAgICByZXR1cm4gZGV0YWlscy5jdXJyZW50VXNhZ2UoKTsKQEAgLTQwMyw3ICs0MDMs
NyBAQCBjb25zdCBnY2hhciogd2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfZmlsCiB7CiAgICAgZ19y
ZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1dFQl9EQVRBQkFTRSh3ZWJEYXRhYmFzZSksIE5V
TEwpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgV2ViS2l0V2ViRGF0YWJhc2VQcml2YXRlKiBwcml2ID0gd2ViRGF0YWJhc2UtPnByaXY7CiAg
ICAgV1RGOjpTdHJpbmcgY29yZU5hbWUgPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgocHJpdi0+bmFt
ZSk7CiAgICAgV1RGOjpTdHJpbmcgY29yZVBhdGggPSBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6
OnRyYWNrZXIoKS5mdWxsUGF0aEZvckRhdGFiYXNlKGNvcmUocHJpdi0+b3JpZ2luKSwgY29yZU5h
bWUpOwpAQCAtNDMzLDcgKzQzMyw3IEBAIHZvaWQgd2Via2l0X3dlYl9kYXRhYmFzZV9yZW1vdmUo
V2ViS2l0V2UKIHsKICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfREFUQUJBU0Uo
d2ViRGF0YWJhc2UpKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIFdlYktpdFdlYkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNl
LT5wcml2OwogICAgIFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRlbGV0ZURh
dGFiYXNlKGNvcmUocHJpdi0+b3JpZ2luKSwgcHJpdi0+bmFtZSk7CiAjZW5kaWYKQEAgLTQ0OCw3
ICs0NDgsNyBAQCB2b2lkIHdlYmtpdF93ZWJfZGF0YWJhc2VfcmVtb3ZlKFdlYktpdFdlCiAgKiov
CiB2b2lkIHdlYmtpdF9yZW1vdmVfYWxsX3dlYl9kYXRhYmFzZXMoKQogewotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkRhdGFiYXNl
VHJhY2tlcjo6dHJhY2tlcigpLmRlbGV0ZUFsbERhdGFiYXNlcygpOwogI2VuZGlmCiB9CkBAIC00
NjYsNyArNDY2LDcgQEAgdm9pZCB3ZWJraXRfcmVtb3ZlX2FsbF93ZWJfZGF0YWJhc2VzKCkKICAq
Ki8KIGNvbnN0IGdjaGFyKiB3ZWJraXRfZ2V0X3dlYl9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aCgp
CiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
V1RGOjpTdHJpbmcgcGF0aCA9IFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRh
dGFiYXNlRGlyZWN0b3J5UGF0aCgpOwogCiAgICAgaWYgKHBhdGguaXNFbXB0eSgpKQpAQCAtNDkx
LDcgKzQ5MSw3IEBAIGNvbnN0IGdjaGFyKiB3ZWJraXRfZ2V0X3dlYl9kYXRhYmFzZV9kaXIKICAq
Ki8KIHZvaWQgd2Via2l0X3NldF93ZWJfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgoY29uc3QgZ2No
YXIqIHBhdGgpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgV1RGOjpTdHJpbmcgY29yZVBhdGggPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgocGF0
aCk7CiAgICAgV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuc2V0RGF0YWJhc2VE
aXJlY3RvcnlQYXRoKGNvcmVQYXRoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHdlYnZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJ2aWV3LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0d2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMzMsNyArMzIz
Myw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGkKICAgICBjb3Jl
U2V0dGluZ3MtPnNldEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVu
YWJsZUh5cGVybGlua0F1ZGl0aW5nKTsKICAgICBjb3JlU2V0dGluZ3MtPnNldEROU1ByZWZldGNo
aW5nRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUROU1ByZWZldGNoaW5nKTsKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEFic3RyYWN0
RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlSFRNTDVEYXRh
YmFzZSk7CiAjZW5kaWYKIApAQCAtMzMxOCw3ICszMzE4LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0
X3dlYl92aWV3X3NldHRpbmdzX25vdAogICAgICAgICBzZXR0aW5ncy0+c2V0UHJpdmF0ZUJyb3dz
aW5nRW5hYmxlZChnX3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwogICAgIGVsc2UgaWYgKG5h
bWUgPT0gZ19pbnRlcm5fc3RyaW5nKCJlbmFibGUtY2FyZXQtYnJvd3NpbmciKSkKICAgICAgICAg
c2V0dGluZ3MtPnNldENhcmV0QnJvd3NpbmdFbmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZh
bHVlKSk7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgZWxzZSBpZiAobmFtZSA9PSBnX2ludGVybl9zdHJpbmcoImVuYWJsZS1odG1sNS1kYXRhYmFz
ZSIpKSB7CiAgICAgICAgIEFic3RyYWN0RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGdfdmFsdWVf
Z2V0X2Jvb2xlYW4oJnZhbHVlKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9oYWlrdS9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMiBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShT
UUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKwogMjAxMS0wOC0zMCAg
S2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBU
aGUgdW51c2VkIFNjcm9sbFZpZXcqIGFyZ3VtZW50IGNhbiBhbmQgc2hvdWxkIGJlIHJlbW92ZWQg
ZnJvbQpJbmRleDogU291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRIYWlrdS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50SGFpa3UuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0
L2hhaWt1L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgJKHdvcmtpbmcgY29weSkK
QEAgLTEyNyw3ICsxMjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBw
cmludChGcmFtZSopOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAgICAgICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUq
LCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5n
ZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVO
QUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW06CisgICAgICAgICogU3Rv
cmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJJbnRlcm5hbC5oOgorICAgICAgICAqIFN0b3JhZ2UvV2Vi
RGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oOgorICAgICAgICAqIFN0b3JhZ2UvV2ViRGF0YWJhc2VR
dW90YU1hbmFnZXIubW06CisgICAgICAgICgtW1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyIHVzYWdl
XSk6CisgICAgICAgICgtW1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyIHF1b3RhXSk6CisgICAgICAg
ICgtW1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyIHNldFF1b3RhOl0pOgorICAgICAgICAqIFN0b3Jh
Z2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50Lmg6CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRh
YmFzZVRyYWNrZXJDbGllbnQubW06CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tOgorICAgICAgICAo
LVtXZWJTZWN1cml0eU9yaWdpbiB1c2FnZV0pOgorICAgICAgICAoLVtXZWJTZWN1cml0eU9yaWdp
biBxdW90YV0pOgorICAgICAgICAoLVtXZWJTZWN1cml0eU9yaWdpbiBzZXRRdW90YTpdKToKKyAg
ICAgICAgKiBXZWJWaWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBfY2FjaGVh
YmlsaXR5RGljdGlvbmFyeV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAg
ICAgKC1bV2ViVmlldyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFt
ZTp1c2VzRG9jdW1lbnRWaWV3czpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXND
aGFuZ2VkOl0pOgorCiAyMDExLTA5LTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0Bh
cHBsZS5jb20+CiAKICAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0
cnVjdG9ycyBpbiBKU0NlbGwgaGllcmFyY2h5ICg3LzcpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21h
Yy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlci5tbQkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlci5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2ltcG9ydCAiV2ViRGF0YWJhc2VNYW5hZ2VyUHJp
dmF0ZS5oIgogI2ltcG9ydCAiV2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwuaCIKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW1wb3J0ICJXZWJE
YXRhYmFzZVRyYWNrZXJDbGllbnQuaCIKICNpbXBvcnQgIldlYlNlY3VyaXR5T3JpZ2luSW50ZXJu
YWwuaCIKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2Vy
SW50ZXJuYWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRh
dGFiYXNlTWFuYWdlckludGVybmFsLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktp
dC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogdm9pZCBXZWJLaXRJbml0aWFsaXplRGF0
YWJhc2VzSWZOZWNlc3NhcnkoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9t
YWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTI2LDggKzI2LDggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKLSAKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiBleHRlcm4g
TlNTdHJpbmcgKldlYkRhdGFiYXNlRGlyZWN0b3J5RGVmYXVsdHNLZXk7CiAKIGV4dGVybiBOU1N0
cmluZyAqV2ViRGF0YWJhc2VEaXNwbGF5TmFtZUtleTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFj
L1N0b3JhZ2UvV2ViRGF0YWJhc2VRdW90YU1hbmFnZXIubW0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVF1b3RhTWFuYWdlci5tbQkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlUXVvdGFNYW5h
Z2VyLm1tCSh3b3JraW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIC0gKFdlYlNlY3VyaXR5T3Jp
Z2luICopb3JpZ2luCiAKIC0gKHVuc2lnbmVkIGxvbmcgbG9uZyl1c2FnZQogewotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFz
ZVRyYWNrZXI6OnRyYWNrZXIoKS51c2FnZUZvck9yaWdpbihbX29yaWdpbiBfY29yZV0pOwogI2Vs
c2UKICAgICByZXR1cm4gMDsKQEAgLTU4LDcgKzU4LDcgQEAgLSAodW5zaWduZWQgbG9uZyBsb25n
KXVzYWdlCiAKIC0gKHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogewotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNr
ZXI6OnRyYWNrZXIoKS5xdW90YUZvck9yaWdpbihbX29yaWdpbiBfY29yZV0pOwogI2Vsc2UKICAg
ICByZXR1cm4gMDsKQEAgLTcwLDcgKzcwLDcgQEAgLSAodW5zaWduZWQgbG9uZyBsb25nKXF1b3Rh
CiAvLyBwcmV2ZW50IG5ldyBkYXRhIGZyb20gYmVpbmcgYWRkZWQgdG8gZGF0YWJhc2VzIGluIHRo
YXQgb3JpZ2luLgogLSAodm9pZClzZXRRdW90YToodW5zaWduZWQgbG9uZyBsb25nKXF1b3RhCiB7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0
YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuc2V0UXVvdGEoW19vcmlnaW4gX2NvcmVdLCBxdW90YSk7
CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VU
cmFja2VyQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJEYXRhYmFzZVRyYWNrZXJDbGllbnQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0yNiw3ICsyNiw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpIAorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpIAogCiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFi
YXNlVHJhY2tlckNsaWVudC5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQko
d29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogIAogI2ltcG9ydCAiV2ViRGF0YWJhc2VU
cmFja2VyQ2xpZW50LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKIAogI2ltcG9ydCAiV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oIgogI2ltcG9y
dCAiV2ViU2VjdXJpdHlPcmlnaW5JbnRlcm5hbC5oIgpJbmRleDogU291cmNlL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTEwOSw3ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2
b2lkIHNldFRvb2xUaXAoY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9u
KTsKIAogICAgIHZpcnR1YWwgdm9pZCBwcmludChXZWJDb3JlOjpGcmFtZSopOwotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1YWwgdm9pZCBl
eGNlZWRlZERhdGFiYXNlUXVvdGEoV2ViQ29yZTo6RnJhbWUqLCBjb25zdCBXVEY6OlN0cmluZyYg
ZGF0YWJhc2VOYW1lKTsKICNlbmRpZgogI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50Lm1tCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjU3LDcg
KzY1Nyw3IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpwcmludChGcmFtZSogZnJhbWUKICAgICAg
ICAgQ2FsbFVJRGVsZWdhdGUobV93ZWJWaWV3LCBAc2VsZWN0b3Iod2ViVmlldzpwcmludEZyYW1l
VmlldzopLCBbd2ViRnJhbWUgZnJhbWVWaWV3XSk7CiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmV4Y2Vl
ZGVkRGF0YWJhc2VRdW90YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1l
KQogewpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlP
cmlnaW4ubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQv
V2ViU2VjdXJpdHlPcmlnaW4ubW0JKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmlnaW4ubW0JKHdvcmtpbmcgY29weSkKQEAg
LTE2Miw3ICsxNjIsNyBAQCAtIChpZDxXZWJRdW90YU1hbmFnZXI+KWRhdGFiYXNlUXVvdGFNYW5h
CiAKIC0gKHVuc2lnbmVkIGxvbmcgbG9uZyl1c2FnZQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNrZXI6OnRy
YWNrZXIoKS51c2FnZUZvck9yaWdpbihyZWludGVycHJldF9jYXN0PFNlY3VyaXR5T3JpZ2luKj4o
X3ByaXZhdGUpKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC0xNzEsNyArMTcxLDcgQEAgLSAo
dW5zaWduZWQgbG9uZyBsb25nKXVzYWdlCiAKIC0gKHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQog
ewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJl
dHVybiBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5xdW90YUZvck9yaWdpbihyZWludGVycHJl
dF9jYXN0PFNlY3VyaXR5T3JpZ2luKj4oX3ByaXZhdGUpKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7
CkBAIC0xODAsNyArMTgwLDcgQEAgLSAodW5zaWduZWQgbG9uZyBsb25nKXF1b3RhCiAKIC0gKHZv
aWQpc2V0UXVvdGE6KHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogewotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlVHJhY2tlcjo6dHJh
Y2tlcigpLnNldFF1b3RhKHJlaW50ZXJwcmV0X2Nhc3Q8U2VjdXJpdHlPcmlnaW4qPihfcHJpdmF0
ZSksIHF1b3RhKTsKICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9X
ZWJGcmFtZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZy
YW1lLm1tCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTExNzcsNyArMTE3Nyw3IEBAIC0gKE5TTXV0YWJs
ZURpY3Rpb25hcnkgKilfY2FjaGVhYmlsaXR5RGkKICAgICB9CiAgICAgCiAgICAgaWYgKERvY3Vt
ZW50KiBkb2N1bWVudCA9IF9wcml2YXRlLT5jb3JlRnJhbWUtPmRvY3VtZW50KCkpIHsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgaWYgKGRv
Y3VtZW50LT5oYXNPcGVuRGF0YWJhc2VzKCkpCiAgICAgICAgICAgICBbcmVzdWx0IHNldE9iamVj
dDpbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSBmb3JLZXk6V2ViRnJhbWVVc2VzRGF0YWJh
c2VzXTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1t
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2
aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdv
cmtpbmcgY29weSkKQEAgLTcyNiw3ICs3MjYsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXph
dGlvbldpdGhGcmFtZU5hCiAgICAgICAgIFdlYktpdEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJ
Zk5lY2Vzc2FyeSgpOwogICAgICAgICBXZWJDb3JlOjpJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxz
SWZOZWNlc3NhcnkoKTsKICAgICAgICAgW1dlYkhpc3RvcnlJdGVtIGluaXRXaW5kb3dXYXRjaGVy
SWZOZWNlc3NhcnldOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgICAgICBXZWJLaXRJbml0aWFsaXplRGF0YWJhc2VzSWZOZWNlc3NhcnkoKTsKICNl
bmRpZgogCkBAIC0xNTE1LDcgKzE1MTUsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6
KFdlYlByZWZlcmVuCiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoW3By
ZWZlcmVuY2VzIG1pbmltdW1Mb2dpY2FsRm9udFNpemVdKTsKICAgICBzZXR0aW5ncy0+c2V0UGlj
dG9ncmFwaEZvbnRGYW1pbHkoW3ByZWZlcmVuY2VzIHBpY3RvZ3JhcGhGb250RmFtaWx5XSk7CiAg
ICAgc2V0dGluZ3MtPnNldFBsdWdpbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBhcmVQbHVnSW5zRW5h
YmxlZF0pOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
ICAgIEFic3RyYWN0RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKFtwcmVmZXJlbmNlcyBkYXRhYmFz
ZXNFbmFibGVkXSk7CiAjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9jYWxTdG9yYWdlRW5hYmxl
ZChbcHJlZmVyZW5jZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwpJbmRleDogU291cmNlL1dlYktp
dC9xdC9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMCBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3
ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShT
UUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogQXBpL3F3ZWJkYXRhYmFzZS5jcHA6CisgICAgICAgIChRV2ViRGF0YWJhc2U6OmRpc3Bs
YXlOYW1lKToKKyAgICAgICAgKFFXZWJEYXRhYmFzZTo6ZXhwZWN0ZWRTaXplKToKKyAgICAgICAg
KFFXZWJEYXRhYmFzZTo6c2l6ZSk6CisgICAgICAgIChRV2ViRGF0YWJhc2U6OmZpbGVOYW1lKToK
KyAgICAgICAgKFFXZWJEYXRhYmFzZTo6cmVtb3ZlRGF0YWJhc2UpOgorICAgICAgICAoUVdlYkRh
dGFiYXNlOjpyZW1vdmVBbGxEYXRhYmFzZXMpOgorICAgICAgICAqIEFwaS9xd2Vic2VjdXJpdHlv
cmlnaW4uY3BwOgorICAgICAgICAoUVdlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFzZVVzYWdlKToK
KyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJhc2VRdW90YSk6CisgICAgICAgIChR
V2ViU2VjdXJpdHlPcmlnaW46OnNldERhdGFiYXNlUXVvdGEpOgorICAgICAgICAoUVdlYlNlY3Vy
aXR5T3JpZ2luOjphbGxPcmlnaW5zKToKKyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0
YWJhc2VzKToKKyAgICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFXZWJT
ZXR0aW5nc1ByaXZhdGU6OmFwcGx5KToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6c2V0T2ZmbGlu
ZVN0b3JhZ2VQYXRoKToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6b2ZmbGluZVN0b3JhZ2VQYXRo
KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKwogMjAxMS0wOS0xMyAgWmVubyBB
bGJpc3NlciAgPHplbm8uYWxiaXNzZXJAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IHN0
YXRlIG9mIHN0b3AvcmVsb2FkIGFjdGlvbnMgaW4gUVdlYlBhZ2UKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvcXQvQXBpL3F3ZWJkYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9x
dC9BcGkvcXdlYmRhdGFiYXNlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0
L3F0L0FwaS9xd2ViZGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw3ICs4Niw3IEBA
IFFTdHJpbmcgUVdlYkRhdGFiYXNlOjpuYW1lKCkgY29uc3QKICovCiBRU3RyaW5nIFFXZWJEYXRh
YmFzZTo6ZGlzcGxheU5hbWUoKSBjb25zdAogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlRGV0YWlscyBkZXRhaWxzID0gRGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRPcmlnaW4oZC0+bmFtZSwgZC0+
b3JpZ2luLmdldCgpKTsKICAgICByZXR1cm4gZGV0YWlscy5kaXNwbGF5TmFtZSgpOwogI2Vsc2UK
QEAgLTk5LDcgKzk5LDcgQEAgUVN0cmluZyBRV2ViRGF0YWJhc2U6OmRpc3BsYXlOYW1lKCkgY29u
cwogKi8KIHFpbnQ2NCBRV2ViRGF0YWJhc2U6OmV4cGVjdGVkU2l6ZSgpIGNvbnN0CiB7Ci0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0YWJhc2VE
ZXRhaWxzIGRldGFpbHMgPSBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5kZXRhaWxzRm9yTmFt
ZUFuZE9yaWdpbihkLT5uYW1lLCBkLT5vcmlnaW4uZ2V0KCkpOwogICAgIHJldHVybiBkZXRhaWxz
LmV4cGVjdGVkVXNhZ2UoKTsKICNlbHNlCkBAIC0xMTIsNyArMTEyLDcgQEAgcWludDY0IFFXZWJE
YXRhYmFzZTo6ZXhwZWN0ZWRTaXplKCkgY29ucwogKi8KIHFpbnQ2NCBRV2ViRGF0YWJhc2U6OnNp
emUoKSBjb25zdAogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgIERhdGFiYXNlRGV0YWlscyBkZXRhaWxzID0gRGF0YWJhc2VUcmFja2VyOjp0cmFj
a2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRPcmlnaW4oZC0+bmFtZSwgZC0+b3JpZ2luLmdldCgpKTsK
ICAgICByZXR1cm4gZGV0YWlscy5jdXJyZW50VXNhZ2UoKTsKICNlbHNlCkBAIC0xNDcsNyArMTQ3
LDcgQEAgUVdlYkRhdGFiYXNlOjpRV2ViRGF0YWJhc2UoUVdlYkRhdGFiYXNlUAogKi8KIFFTdHJp
bmcgUVdlYkRhdGFiYXNlOjpmaWxlTmFtZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIERhdGFiYXNlVHJhY2tlcjo6
dHJhY2tlcigpLmZ1bGxQYXRoRm9yRGF0YWJhc2UoZC0+b3JpZ2luLmdldCgpLCBkLT5uYW1lLCBm
YWxzZSk7CiAjZWxzZQogICAgIHJldHVybiBRU3RyaW5nKCk7CkBAIC0xNzAsNyArMTcwLDcgQEAg
UVdlYlNlY3VyaXR5T3JpZ2luIFFXZWJEYXRhYmFzZTo6b3JpZ2luKAogKi8KIHZvaWQgUVdlYkRh
dGFiYXNlOjpyZW1vdmVEYXRhYmFzZShjb25zdCBRV2ViRGF0YWJhc2UmIGRiKQogewotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlVHJh
Y2tlcjo6dHJhY2tlcigpLmRlbGV0ZURhdGFiYXNlKGRiLmQtPm9yaWdpbi5nZXQoKSwgZGIuZC0+
bmFtZSk7CiAjZW5kaWYKIH0KQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIFFXZWJEYXRhYmFzZTo6
cmVtb3ZlRGF0YWJhc2UoY29uc3QgCiAqLwogdm9pZCBRV2ViRGF0YWJhc2U6OnJlbW92ZUFsbERh
dGFiYXNlcygpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGVsZXRlQWxsRGF0YWJhc2VzKCk7
CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3Jp
Z2luLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2Vj
dXJpdHlvcmlnaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDcgQEAgaW50IFFX
ZWJTZWN1cml0eU9yaWdpbjo6cG9ydCgpIGNvbnN0CiAqLwogcWludDY0IFFXZWJTZWN1cml0eU9y
aWdpbjo6ZGF0YWJhc2VVc2FnZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tl
cigpLnVzYWdlRm9yT3JpZ2luKGQtPm9yaWdpbi5nZXQoKSk7CiAjZWxzZQogICAgIHJldHVybiAw
OwpAQCAtMTMyLDcgKzEzMiw3IEBAIHFpbnQ2NCBRV2ViU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNl
VXNhZ2UKICovCiBxaW50NjQgUVdlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFzZVF1b3RhKCkgY29u
c3QKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICByZXR1cm4gRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkucXVvdGFGb3JPcmlnaW4oZC0+b3Jp
Z2luLmdldCgpKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC0xNDgsNyArMTQ4LDcgQEAgcWlu
dDY0IFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJhc2VRdW90YQogKi8KIHZvaWQgUVdlYlNlY3Vy
aXR5T3JpZ2luOjpzZXREYXRhYmFzZVF1b3RhKHFpbnQ2NCBxdW90YSkKIHsKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZVRyYWNrZXI6
OnRyYWNrZXIoKS5zZXRRdW90YShkLT5vcmlnaW4uZ2V0KCksIHF1b3RhKTsKICNlbmRpZgogfQpA
QCAtMTgxLDcgKzE4MSw3IEBAIFFMaXN0PFFXZWJTZWN1cml0eU9yaWdpbj4gUVdlYlNlY3VyaXR5
T3IKIHsKICAgICBRTGlzdDxRV2ViU2VjdXJpdHlPcmlnaW4+IHdlYk9yaWdpbnM7CiAKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBWZWN0b3I8UmVm
UHRyPFNlY3VyaXR5T3JpZ2luPiA+IGNvcmVPcmlnaW5zOwogICAgIERhdGFiYXNlVHJhY2tlcjo6
dHJhY2tlcigpLm9yaWdpbnMoY29yZU9yaWdpbnMpOwogCkBAIC0yMDEsNyArMjAxLDcgQEAgUUxp
c3Q8UVdlYkRhdGFiYXNlPiBRV2ViU2VjdXJpdHlPcmlnaW46OgogewogICAgIFFMaXN0PFFXZWJE
YXRhYmFzZT4gZGF0YWJhc2VzOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgVmVjdG9yPFN0cmluZz4gbmFtZVZlY3RvcjsKIAogICAgIGlmICgh
RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGF0YWJhc2VOYW1lc0Zvck9yaWdpbihkLT5vcmln
aW4uZ2V0KCksIG5hbWVWZWN0b3IpKQpJbmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNl
dHRpbmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGlu
Z3MuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0
aW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCB2b2lkIFFXZWJTZXR0
aW5nc1ByaXZhdGU6OmFwcGx5KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZ2xvYmFsLT5hdHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6UHJpbnRFbGVtZW50QmFj
a2dyb3VuZHMpKTsKICAgICAgICAgc2V0dGluZ3MtPnNldFNob3VsZFByaW50QmFja2dyb3VuZHMo
dmFsdWUpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgICAgIHZhbHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVT
dG9yYWdlRGF0YWJhc2VFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBnbG9iYWwtPmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpPZmZsaW5lU3RvcmFn
ZURhdGFiYXNlRW5hYmxlZCkpOwogICAgICAgICBXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNlOjpz
ZXRJc0F2YWlsYWJsZSh2YWx1ZSk7CkBAIC05NzgsNyArOTc4LDcgQEAgdm9pZCBRV2ViU2V0dGlu
Z3M6OnJlc2V0QXR0cmlidXRlKFdlYkF0dAogKi8KIHZvaWQgUVdlYlNldHRpbmdzOjpzZXRPZmZs
aW5lU3RvcmFnZVBhdGgoY29uc3QgUVN0cmluZyYgcGF0aCkKIHsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpEYXRhYmFzZVRyYWNr
ZXI6OnRyYWNrZXIoKS5zZXREYXRhYmFzZURpcmVjdG9yeVBhdGgocGF0aCk7CiAjZW5kaWYKIH0K
QEAgLTk5Myw3ICs5OTMsNyBAQCB2b2lkIFFXZWJTZXR0aW5nczo6c2V0T2ZmbGluZVN0b3JhZ2VQ
YXRoCiAqLwogUVN0cmluZyBRV2ViU2V0dGluZ3M6Om9mZmxpbmVTdG9yYWdlUGF0aCgpCiB7Ci0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJu
IFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRhdGFiYXNlRGlyZWN0b3J5UGF0
aCgpOwogI2Vsc2UKICAgICByZXR1cm4gUVN0cmluZygpOwpJbmRleDogU291cmNlL1dlYktpdC9x
dC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lkIENocm9tZUNsaWVudFF0
OjpwcmludChGcmFtZSogZnJhbWUpCiAgICAgZW1pdCBtX3dlYlBhZ2UtPnByaW50UmVxdWVzdGVk
KFFXZWJGcmFtZVByaXZhdGU6OmtpdChmcmFtZSkpOwogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiB2b2lkIENocm9tZUNsaWVudFF0OjpleGNlZWRl
ZERhdGFiYXNlUXVvdGEoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkK
IHsKICAgICBxdWludDY0IHF1b3RhID0gUVdlYlNldHRpbmdzOjpvZmZsaW5lU3RvcmFnZURlZmF1
bHRRdW90YSgpOwpJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRRdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50UXQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3F0L1dl
YkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsx
MzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFRvb2xUaXAoY29uc3QgU3RyaW5n
JiwgVGV4dERpcmVjdGlvbik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKTsKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB2aXJ0dWFs
IHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJik7CiAjZW5k
aWYKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpJbmRleDogU291cmNlL1dl
YktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5n
ZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyMyBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVO
QUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogRm9yRWFjaENvQ2xhc3MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oOgorICAgICAgICAqIFdlYkRhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgICogV2Vi
RGF0YWJhc2VNYW5hZ2VyLmg6CisgICAgICAgICogV2ViU2VjdXJpdHlPcmlnaW4uY3BwOgorICAg
ICAgICAoV2ViU2VjdXJpdHlPcmlnaW46OnVzYWdlKToKKyAgICAgICAgKFdlYlNlY3VyaXR5T3Jp
Z2luOjpxdW90YSk6CisgICAgICAgIChXZWJTZWN1cml0eU9yaWdpbjo6c2V0UXVvdGEpOgorICAg
ICAgICAqIFdlYlZpZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6Cisg
ICAgICAgIChXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDExLTA5LTE1
ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CiAKICAgICAgICAgQSBzaW5nbGUg
bGluZSBtdXN0IG5vdCBiZSBzcGxpdCBpbnRvIHR3byBwYWdlcy4KSW5kZXg6IFNvdXJjZS9XZWJL
aXQvd2luL0ZvckVhY2hDb0NsYXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4v
Rm9yRWFjaENvQ2xhc3MuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9G
b3JFYWNoQ29DbGFzcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNs
dWRlICJQcm9nSURNYWNyb3MuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogI2RlZmluZSBXRUJfREFUQUJBU0VfTUFOQUdFUihtYWNybykgbWFjcm8o
V2ViRGF0YWJhc2VNYW5hZ2VyKQogI2Vsc2UKICNkZWZpbmUgV0VCX0RBVEFCQVNFX01BTkFHRVIo
bWFjcm8pCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIldlYkRhdGFiYXNl
TWFuYWdlci5oIgogI2luY2x1ZGUgIldlYktpdERMTC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJDRkRpY3Rpb25hcnlQcm9w
ZXJ0eUJhZy5oIgogI2luY2x1ZGUgIkNPTUVudW1WYXJpYW50LmgiCkluZGV4OiBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
NyBAQAogI2lmbmRlZiBXZWJEYXRhYmFzZU1hbmFnZXJfaAogI2RlZmluZSBXZWJEYXRhYmFzZU1h
bmFnZXJfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAKICNpbmNsdWRlICJXZWJLaXQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlVHJhY2tl
ckNsaWVudC5oPgpJbmRleDogU291cmNlL1dlYktpdC93aW4vV2ViU2VjdXJpdHlPcmlnaW4uY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlNlY3VyaXR5T3JpZ2luLmNwcAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTZWN1cml0eU9yaWdpbi5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0JT
dHJpbmcuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlVHJhY2tlci5oPgogCi0jaWYgIUVO
QUJMRShEQVRBQkFTRSkKKyNpZiAhRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlIDx3dGYv
VW51c2VkUGFyYW0uaD4KICNlbmRpZgogCkBAIC0xMzAsNyArMTMwLDcgQEAgSFJFU1VMVCBTVERN
RVRIT0RDQUxMVFlQRSBXZWJTZWN1cml0eU9yaQogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBX
ZWJTZWN1cml0eU9yaWdpbjo6dXNhZ2UoIAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gdW5zaWdu
ZWQgbG9uZyBsb25nKiByZXN1bHQpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFX1BPSU5U
RVI7CiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlNl
Y3VyaXR5T3JpCiBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlNlY3VyaXR5T3JpZ2luOjpx
dW90YSggCiAgICAgLyogW3JldHZhbF1bb3V0XSAqLyB1bnNpZ25lZCBsb25nIGxvbmcqIHJlc3Vs
dCkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICBpZiAoIXJlc3VsdCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIApAQCAtMTYxLDcgKzE2
MSw3IEBAIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViU2VjdXJpdHlPcmkKIEhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViU2VjdXJpdHlPcmlnaW46OnNldFF1b3RhKCAKICAgICAvKiBb
aW5dICovIHVuc2lnbmVkIGxvbmcgbG9uZyBxdW90YSkgCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2Vy
KCkuc2V0UXVvdGEobV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgcXVvdGEpOwogCiAgICAgcmV0dXJu
IFNfT0s7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYxOSw3ICsyNjE5
LDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0VwogICAgIHN0YXRp
YyBib29sIGRpZE9uZVRpbWVJbml0aWFsaXphdGlvbjsKICAgICBpZiAoIWRpZE9uZVRpbWVJbml0
aWFsaXphdGlvbikgewogICAgICAgICBJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3Nh
cnkoKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICAgICAgV2ViS2l0SW5pdGlhbGl6ZVdlYkRhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYK
ICAgICAgICAgV2ViS2l0U2V0QXBwbGljYXRpb25DYWNoZVBhdGhJZk5lY2Vzc2FyeSgpOwpAQCAt
NDc1NCw3ICs0NzU0LDcgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5n
ZQogICAgICAgICByZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldE9mZmxpbmVXZWJBcHBsaWNh
dGlvbkNhY2hlRW5hYmxlZChlbmFibGVkKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5kYXRhYmFzZXNFbmFi
bGVkKCZlbmFibGVkKTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNv
cmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3Nyw3ICs1
NzcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cHJpbnQoRnJhbWUqIGZyYW1lCiAgICAgICAg
IHVpRGVsZWdhdGUtPnByaW50RnJhbWUobV93ZWJWaWV3LCBraXQoZnJhbWUpKTsKIH0KIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogdm9pZCBXZWJDaHJv
bWVDbGllbnQ6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmlu
ZyYgZGF0YWJhc2VJZGVudGlmaWVyKQogewogICAgIENPTVB0cjxXZWJTZWN1cml0eU9yaWdpbj4g
b3JpZ2luKEFkb3B0Q09NLCBXZWJTZWN1cml0eU9yaWdpbjo6Y3JlYXRlSW5zdGFuY2UoZnJhbWUt
PmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEzLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVh
bCB2b2lkIHByaW50KFdlYkNvcmU6OkZyYW1lKik7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFz
ZVF1b3RhKFdlYkNvcmU6OkZyYW1lKiwgY29uc3QgV1RGOjpTdHJpbmcmKTsKICNlbmRpZgogCklu
ZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L3dpbmNlL0NoYW5nZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0
L3dpbmNlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA5
LTE1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVO
QUJMRShEQVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGll
bnRXaW5DRS5jcHA6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0Uu
aDoKKwogMjAxMS0wOC0zMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAg
ICAgICBXaW5DRSBidWlsZCBmaXggYXR0ZW1wdCBhZnRlciByOTQwODAuCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdp
bkNFLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk4LDcgKzI5
OCw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50V2luQ0U6OnByaW50KEZyYW1lKikKICAgICBub3RJbXBs
ZW1lbnRlZCgpOwogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiB2b2lkIENocm9tZUNsaWVudFdpbkNFOjpleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJh
bWUqLCBjb25zdCBTdHJpbmcmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkluZGV4OiBTb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRX
aW5DRS5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDcgKzExMyw3
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwcmludChXZWJDb3JlOjpGcmFtZSopOwog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmly
dHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdU
Rjo6U3RyaW5nJiBkYXRhYmFzZU5hbWUpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
d3gvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCShy
ZXZpc2lvbiA5NTI1NSkKKysrIFNvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Vi
a2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FM
X0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwOgorICAgICAgICAqIFdlYktpdFN1
cHBvcnQvQ2hyb21lQ2xpZW50V3guaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAg
KHd4V2ViVmlldzo6Q3JlYXRlKToKKyAgICAgICAgKHd4V2ViVmlldzo6U2V0RGF0YWJhc2VEaXJl
Y3RvcnkpOgorICAgICAgICAod3hXZWJWaWV3OjpHZXREYXRhYmFzZURpcmVjdG9yeSk6CisgICAg
ICAgICh3eFdlYlZpZXc6OlNldERhdGFiYXNlc0VuYWJsZWQpOgorICAgICAgICAod3hXZWJWaWV3
OjpBcmVEYXRhYmFzZXNFbmFibGVkKToKKwogMjAxMS0wOS0wNCAgUm9iaW4gRHVubiAgPHJvYmlu
QGFsbGR1bm4uY29tPgogCiAgICAgICAgIFt3eF0gRW5hYmxlIHd4V2ViS2l0IHRvIHJ1biB1c2lu
ZyB0aGUgd3hHQyBDYWlybyBiYWNrZW5kIG9uIHBsYXRmb3JtcyBvdGhlciB0aGFuIEdUSy4KSW5k
ZXg6IFNvdXJjZS9XZWJLaXQvd3gvV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC93eC9XZWJWaWV3LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3d4
L1dlYlZpZXcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBACiAjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJBYnN0
cmFjdERhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKQEAg
LTQxNSw3ICs0MTUsNyBAQCBib29sIHd4V2ViVmlldzo6Q3JlYXRlKHd4V2luZG93KiBwYXJlbnQs
CiAgICAgc2V0dGluZ3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgiVGltZXMgTmV3IFJvbWFuIik7
CiAgICAgc2V0dGluZ3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHRydWUpOwogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgU2V0RGF0YWJhc2VzRW5h
YmxlZCh0cnVlKTsKICNlbmRpZgogCkBAIC0xMTAwLDcgKzExMDAsNyBAQCBib29sIHd4V2ViVmll
dzo6U2hvdWxkQ2xvc2UoKSBjb25zdAogLyogc3RhdGljICovCiB2b2lkIHd4V2ViVmlldzo6U2V0
RGF0YWJhc2VEaXJlY3RvcnkoY29uc3Qgd3hTdHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5KQogewot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNv
cmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldERhdGFiYXNlRGlyZWN0b3J5UGF0aChk
YXRhYmFzZURpcmVjdG9yeSk7CiAjZW5kaWYKIH0KQEAgLTExMDgsNyArMTEwOCw3IEBAIHZvaWQg
d3hXZWJWaWV3OjpTZXREYXRhYmFzZURpcmVjdG9yeShjb24KIC8qIHN0YXRpYyAqLwogd3hTdHJp
bmcgd3hXZWJWaWV3OjpHZXREYXRhYmFzZURpcmVjdG9yeSgpCiB7Ci0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIFdlYkNvcmU6OkRhdGFi
YXNlVHJhY2tlcjo6dHJhY2tlcigpLmRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpOwogI2Vsc2UKICAg
ICByZXR1cm4gd3hFbXB0eVN0cmluZzsKQEAgLTExMTgsNyArMTExOCw3IEBAIHd4U3RyaW5nIHd4
V2ViVmlldzo6R2V0RGF0YWJhc2VEaXJlY3RvcnkKIC8qIHN0YXRpYyAqLwogdm9pZCB3eFdlYlZp
ZXc6OlNldERhdGFiYXNlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkFic3RyYWN0RGF0
YWJhc2U6OnNldElzQXZhaWxhYmxlKGVuYWJsZWQpOwogI2VuZGlmCiB9CkBAIC0xMTI2LDcgKzEx
MjYsNyBAQCB2b2lkIHd4V2ViVmlldzo6U2V0RGF0YWJhc2VzRW5hYmxlZChib29sCiAvKiBzdGF0
aWMgKi8KIGJvb2wgd3hXZWJWaWV3OjpBcmVEYXRhYmFzZXNFbmFibGVkKCkKIHsKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gV2ViQ29y
ZTo6QWJzdHJhY3REYXRhYmFzZTo6aXNBdmFpbGFibGUoKTsKICNlbmRpZgogICAgIHJldHVybiBm
YWxzZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRX
eC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9t
ZUNsaWVudFd4LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3d4L1dlYktp
dFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50V3guaCIKICNp
bmNsdWRlICJDb25zb2xlLmgiCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKICNpbmNsdWRl
ICJGaWxlQ2hvb3Nlci5oIgpAQCAtNDIwLDcgKzQyMCw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50V3g6
OnByaW50KEZyYW1lKiBmcmFtZSkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIHZvaWQgQ2hyb21lQ2xpZW50V3g6OmV4Y2VlZGVkRGF0
YWJhc2VRdW90YShGcmFtZSosIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBs
b25nIHF1b3RhID0gNSAqIDEwMjQgKiAxMDI0OwpJbmRleDogU291cmNlL1dlYktpdC93eC9XZWJL
aXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEyMCw3ICsxMjAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQo
RnJhbWUqKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBT
dHJpbmcmKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAt
NjIsNyArNjIsNyBAQCBTRVQoVkVSU0lPTl9TQ1JJUFQgIi1XbCwtLXZlcnNpb24tc2NyaXB0CiBX
RUJLSVRfRkVBVFVSRShFTkFCTEVfQVNfSU1BR0UgIkVuYWJsZSBTVkcgYXMgaW1hZ2UiIERFRkFV
TFQgT04gU1ZHKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0JMT0IgIkVuYWJsZSBibG9iIHNsaWNl
IiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAi
RW5hYmxlIGNoYW5uZWwgbWVzc2FnaW5nIiBERUZBVUxUIE9OKQotV0VCS0lUX0ZFQVRVUkUoRU5B
QkxFX0RBVEFCQVNFICJFbmFibGUgZGF0YWJhc2UiIERFRkFVTFQgT04pCitXRUJLSVRfRkVBVFVS
RShFTkFCTEVfU1FMX0RBVEFCQVNFICJFbmFibGUgU1FMIGRhdGFiYXNlIiBERUZBVUxUIE9OKQog
V0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0RBVEFHUklEICJFbmFibGUgZGF0YWdyaWQiIERFRkFVTFQg
T0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0RBVEFMSVNUICJFbmFibGUgZGF0YWxpc3QiIERF
RkFVTFQgT04gSFRNTCkKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1T
ICJFbmFibGUgZGF0YSB0cmFuc2ZlciBpdGVtcyIgREVGQVVMVCBPRkYpCkluZGV4OiBTb3VyY2Uv
Y21ha2UvT3B0aW9uc1dpbkNFLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRp
b25zV2luQ0UuY21ha2UJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL2NtYWtlL09wdGlvbnNX
aW5DRS5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQCBBRERfU1VCRElSRUNU
T1JZKCR7M1JEUEFSVFlfRElSfSAiJHtDTUFLCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfQVNfSU1B
R0UgIkVuYWJsZSBTVkcgYXMgaW1hZ2UiIERFRkFVTFQgT04gU1ZHKQogV0VCS0lUX0ZFQVRVUkUo
RU5BQkxFX0JMT0IgIkVuYWJsZSBibG9iIHNsaWNlIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFU
VVJFKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiRW5hYmxlIGNoYW5uZWwgbWVzc2FnaW5nIiBE
RUZBVUxUIE9GRikKLVdFQktJVF9GRUFUVVJFKEVOQUJMRV9EQVRBQkFTRSAiRW5hYmxlIGRhdGFi
YXNlIiBERUZBVUxUIE9GRikKK1dFQktJVF9GRUFUVVJFKEVOQUJMRV9TUUxfREFUQUJBU0UgIkVu
YWJsZSBTUUwgZGF0YWJhc2UiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0RB
VEFHUklEICJFbmFibGUgZGF0YWdyaWQiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5B
QkxFX0RBVEFMSVNUICJFbmFibGUgZGF0YWxpc3QiIERFRkFVTFQgT0ZGIEhUTUwpCiBXRUJLSVRf
RkVBVFVSRShFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAiRW5hYmxlIGRhdGEgdHJhbnNmZXIg
aXRlbXMiIERFRkFVTFQgT0ZGKQpJbmRleDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NTI1NSkKKysr
IFdlYktpdExpYnJhcmllcy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBA
QAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAg
IFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2luL3Rvb2xzL3ZzcHJv
cHMvRmVhdHVyZURlZmluZXMudnNwcm9wczoKKyAgICAgICAgKiB3aW4vdG9vbHMvdnNwcm9wcy9G
ZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHM6CisKIDIwMTEtMDktMTUgIEVyaWMgU2VpZGVsICA8
ZXJpY0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUoU1ZHX0FTX0lNQUdFKSBz
aW5jZSBhbGwgbWFqb3IgcG9ydHMgaGF2ZSBpdCBvbiBieSBkZWZhdWx0CkluZGV4OiBXZWJLaXRM
aWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMu
dnNwcm9wcwkocmV2aXNpb24gOTUyNDMpCisrKyBXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3Zz
cHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcwkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcg
QEAKIAk+CiAgIDxUb29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCVByZXByb2Nlc3Nv
ckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7
JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9CTE9CKTskKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVO
QUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpOyQoRU5BQkxFX0RBVEFC
QVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RBVEFf
VFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVEFJTFMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQo
RU5BQkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZU1RF
TSk7JChFTkFCTEVfQ1NTM19GTEVYQk9YKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFC
TEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChF
TkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFC
TEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZ
X0FQSSk7JChFTkFCTEVfUFJPR1JFU1NfVEFHKTskKEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfUkVH
SVNURVJfUFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxF
X1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMp
OyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVO
QUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVf
WFNMVCkiCisJCVByZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQo
RU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVO
QUJMRV9CTE9CKTskKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JB
U0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xV
U0lPTlMpOyQoRU5BQkxFX1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxF
X0RBVEFMSVNUKTskKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVRBSUxT
KTskKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQp
OyQoRU5BQkxFX0RPTV9TVE9SQUdFKTskKEVOQUJMRV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklM
VEVSUyk7JChFTkFCTEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0NTUzNfRkxFWEJPWCk7JChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFU
QUJBU0UpOyQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTsk
KEVOQUJMRV9JTlBVVF9TUEVFQ0gpOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5B
QkxFX0xJTktfUFJFRkVUQ0gpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfVEFHKTsk
KEVOQUJMRV9OT1RJRklDQVRJT05TKTskKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMp
OyQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpOyQoRU5BQkxFX1BST0dSRVNTX1RBRyk7JChF
TkFCTEVfUVVPVEEpOyQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpOyQoRU5BQkxF
X1NIQVJFRF9XT1JLRVJTKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5E
SU5HUyk7JChFTkFCTEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfTUVESUFf
U09VUkNFKTskKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7
JChFTkFCTEVfV0VCX1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWEhUTUxNUCk7
JChFTkFCTEVfWFBBVEgpOyQoRU5BQkxFX1hTTFQpIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFt
ZT0iRU5BQkxFXzNEX0NBTlZBUyIKQEAgLTUyLDggKzUyLDggQEAKIAkJUGVyZm9ybUVudmlyb25t
ZW50U2V0PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KLQkJTmFtZT0iRU5BQkxFX0RBVEFCQVNF
IgotCQlWYWx1ZT0iRU5BQkxFX0RBVEFCQVNFIgorCQlOYW1lPSJFTkFCTEVfU1FMX0RBVEFCQVNF
IgorCQlWYWx1ZT0iRU5BQkxFX1NRTF9EQVRBQkFTRSIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0
PSJ0cnVlIgogCS8+CiAgIDxVc2VyTWFjcm8KSW5kZXg6IFdlYktpdExpYnJhcmllcy93aW4vdG9v
bHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0TGlicmFyaWVzL3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9w
cwkocmV2aXNpb24gOTUyNDMpCisrKyBXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMv
RmVhdHVyZURlZmluZXNDYWlyby52c3Byb3BzCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBA
QAogCT4KICAgPFRvb2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJUHJlcHJvY2Vzc29y
RGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVSSU5HKTsk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0JMT0IpOyQoRU5BQkxFX0NI
QU5ORUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pOyQoRU5B
QkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfRVhDTFVTSU9OUyk7JChFTkFCTEVfREFUQUJB
U0UpOyQoRU5BQkxFX0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfREFUQV9U
UkFOU0ZFUl9JVEVNUyk7JChFTkFCTEVfREVUQUlMUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFU
SU9OKTskKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChF
TkFCTEVfRVZFTlRTT1VSQ0UpOyQoRU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0ZJTEVfU1lTVEVN
KTskKEVOQUJMRV9DU1MzX0ZMRVhCT1gpOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJM
RV9HRU9MT0NBVElPTik7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RB
VEFCQVNFKTskKEVOQUJMRV9JTlBVVF9DT0xPUik7JChFTkFCTEVfSU5QVVRfU1BFRUNIKTskKEVO
QUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJM
RV9NQVRITUwpOyQoRU5BQkxFX01FVEVSX1RBRyk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChF
TkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlf
QVBJKTskKEVOQUJMRV9QUk9HUkVTU19UQUcpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9SRUdJ
U1RFUl9QUk9UT0NPTF9IQU5ETEVSKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVf
U1ZHKTskKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7
JChFTkFCTEVfVklERU8pOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RB
VElTVElDUyk7JChFTkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcpOyQoRU5B
QkxFX1dPUktFUlMpOyQoRU5BQkxFX1hIVE1MTVApOyQoRU5BQkxFX1hQQVRIKTskKEVOQUJMRV9Y
U0xUKSIKKwkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChF
TkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5B
QkxFX0JMT0IpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DTElFTlRfQkFT
RURfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfRVhDTFVT
SU9OUyk7JChFTkFCTEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVf
REFUQUxJU1QpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVEFJTFMp
OyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7
JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQoRU5BQkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxU
RVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfQ1NTM19GTEVYQk9YKTskKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRB
QkFTRSk7JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfQ09MT1IpOyQo
RU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFC
TEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQo
RU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7
JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSk7JChFTkFCTEVfUFJPR1JFU1NfVEFHKTskKEVO
QUJMRV9RVU9UQSk7JChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVf
U0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJ
TkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9NRURJQV9T
T1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTsk
KEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTsk
KEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCkiCiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1l
PSJFTkFCTEVfM0RfQ0FOVkFTIgpAQCAtNTIsOCArNTIsOCBAQAogCQlQZXJmb3JtRW52aXJvbm1l
bnRTZXQ9InRydWUiCiAJLz4KICAgPFVzZXJNYWNybwotCQlOYW1lPSJFTkFCTEVfREFUQUJBU0Ui
Ci0JCVZhbHVlPSJFTkFCTEVfREFUQUJBU0UiCisJCU5hbWU9IkVOQUJMRV9TUUxfREFUQUJBU0Ui
CisJCVZhbHVlPSJFTkFCTEVfU1FMX0RBVEFCQVNFIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9
InRydWUiCiAJLz4KICAgPFVzZXJNYWNybwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107602</attachid>
            <date>2011-09-15 21:51:56 -0700</date>
            <delta_ts>2011-09-16 09:08:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-68205-20110915215155.patch</filename>
            <type>text/plain</type>
            <size>154085</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDkt
MTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5B
QkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNt
YWtlOgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0UuY21ha2U6CisgICAgICAg
ICogU291cmNlL2NtYWtlY29uZmlnLmguY21ha2U6CisgICAgICAgICogY29uZmlndXJlLmFjOgor
CiAyMDExLTA5LTE1ICBWYXJ1biBKYWluICA8dmFydW5qYWluQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgQWRkIG1ldGhvZCB0byBzY3JvbGwgY3VycmVudCBub2RlIHRvIHNwZWNpZmljIHBvc2l0aW9u
IGluIENocm9taXVtIFdlYktpdCBBUEkKSW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBjb25maWd1cmUuYWMJKHJldmlzaW9uIDk1MjQzKQorKysgY29uZmlndXJlLmFjCSh3b3JraW5n
IGNvcHkpCkBAIC0xMTMyLDcgKzExMzIsNyBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RJUkVD
VE9SWV9VUExPQURdCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RBVEFHUklEXSxbdGVzdCAiJGVu
YWJsZV9kYXRhZ3JpZCIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RBVEFfVFJB
TlNGRVJfSVRFTVNdLFt0ZXN0ICIkZW5hYmxlX2RhdGFfdHJhbnNmZXJfaXRlbXMiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9ET01fU1RPUkFHRV0sW3Rlc3QgIiRlbmFibGVfZG9t
X3N0b3JhZ2UiID0gInllcyJdKQotQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9EQVRBQkFTRV0sW3Rl
c3QgIiRlbmFibGVfZGF0YWJhc2UiID0gInllcyJdKQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9T
UUxfREFUQUJBU0VdLFt0ZXN0ICIkZW5hYmxlX3NxbF9kYXRhYmFzZSIgPSAieWVzIl0pCiBBTV9D
T05ESVRJT05BTChbRU5BQkxFX0RBVEFMSVNUXSxbdGVzdCAiJGVuYWJsZV9kYXRhbGlzdCIgPSAi
eWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0RFVEFJTFNdLFt0ZXN0ICIkZW5hYmxlX2Rl
dGFpbHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9FVkVOVFNPVVJDRV0sW3Rl
c3QgIiRlbmFibGVfZXZlbnRzb3VyY2UiID0gInllcyJdKQpJbmRleDogU291cmNlL2NtYWtlY29u
ZmlnLmguY21ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL2NtYWtlY29uZmlnLmguY21ha2UJKHdvcmtpbmcgY29w
eSkKQEAgLTgsNyArOCw3IEBACiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQVNfSU1BR0UKICNjbWFr
ZWRlZmluZTAxIEVOQUJMRV9CTE9CCiAjY21ha2VkZWZpbmUwMSBFTkFCTEVfQ0hBTk5FTF9NRVNT
QUdJTkcKLSNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBQkFTRQorI2NtYWtlZGVmaW5lMDEgRU5B
QkxFX1NRTF9EQVRBQkFTRQogI2NtYWtlZGVmaW5lMDEgRU5BQkxFX0RBVEFHUklECiAjY21ha2Vk
ZWZpbmUwMSBFTkFCTEVfREFUQUxJU1QKICNjbWFrZWRlZmluZTAxIEVOQUJMRV9EQVRBX1RSQU5T
RkVSX0lURU1TCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTA5LTE1ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisK
KyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFTRSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBDb25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0u
aDoKKwogMjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMg
aW4gSlNDZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0Nv
bmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMv
RmVhdHVyZURlZmluZXMueGNjb25maWcJKHdvcmtpbmcgY29weSkKQEAgLTU2LDcgKzU2LDcgQEAg
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HID0gRU5BQkxFX0NIQU5ORQogRU5BQkxFX0NTUzNfRkxF
WEJPWCA9IDsKIEVOQUJMRV9DU1NfRVhDTFVTSU9OUyA9IDsKIEVOQUJMRV9DU1NfUkVHSU9OUyA9
IDsKLUVOQUJMRV9EQVRBQkFTRSA9IEVOQUJMRV9EQVRBQkFTRTsKK0VOQUJMRV9TUUxfREFUQUJB
U0UgPSBFTkFCTEVfU1FMX0RBVEFCQVNFOwogRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMgPSA7
CiBFTkFCTEVfREVUQUlMUyA9IEVOQUJMRV9ERVRBSUxTOwogRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTiA9IDsKQEAgLTk3LDQgKzk3LDQgQEAgRU5BQkxFX1hIVE1MTVAgPSA7CiBFTkFCTEVfWFBB
VEggPSBFTkFCTEVfWFBBVEg7CiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJE
X0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChF
TkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9DU1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NT
X1JFR0lPTlMpICQoRU5BQkxFX0RBVEFCQVNFKSAkKEVOQUJMRV9EQVRBTElTVCkgJChFTkFCTEVf
REFUQV9UUkFOU0ZFUl9JVEVNUykgJChFTkFCTEVfREVUQUlMUykgJChFTkFCTEVfREVWSUNFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9ESVJFQ1RPUllfVVBMT0FEKSAkKEVOQUJMRV9ET01fU1RPUkFH
RSkgJChFTkFCTEVfRVZFTlRTT1VSQ0UpICQoRU5BQkxFX0ZJTEVfU1lTVEVNKSAkKEVOQUJMRV9G
SUxURVJTKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQo
RU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVf
SU5QVVRfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1NQRUVDSCkgJChFTkFCTEVfSkFWQVNDUklQVF9E
RUJVR0dFUikgJChFTkFCTEVfTElOS19QUkVGRVRDSCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FVEVS
X1RBRykgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJT05TKSAkKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKSAkKEVOQUJMRV9QUk9HUkVTU19U
QUcpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NPTF9IQU5ETEVSKSAk
KEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09C
SkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FE
SU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdM
KSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJf
VElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFU
SCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9SRU5ERVJJ
TkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQU5JTUFUSU9OX0FQ
SSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NM
SUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTM19GTEVYQk9YKSAkKEVOQUJMRV9D
U1NfRVhDTFVTSU9OUykgJChFTkFCTEVfQ1NTX1JFR0lPTlMpICQoRU5BQkxFX1NRTF9EQVRBQkFT
RSkgJChFTkFCTEVfREFUQUxJU1QpICQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpICQoRU5B
QkxFX0RFVEFJTFMpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRElSRUNU
T1JZX1VQTE9BRCkgJChFTkFCTEVfRE9NX1NUT1JBR0UpICQoRU5BQkxFX0VWRU5UU09VUkNFKSAk
KEVOQUJMRV9GSUxFX1NZU1RFTSkgJChFTkFCTEVfRklMVEVSUykgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOUFVUX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpICQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpICQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRVRFUl9UQUcpICQoRU5BQkxFX05PVElGSUNBVElP
TlMpICQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJChFTkFCTEVfUEFHRV9WSVNJ
QklMSVRZX0FQSSkgJChFTkFCTEVfUFJPR1JFU1NfVEFHKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUikgJChFTkFCTEVfU0hBUkVEX1dPUktFUlMpICQo
RU5BQkxFX1NWRykgJChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RPVUNIX0lDT05fTE9BRElORykgJChFTkFCTEVfVklERU8pICQoRU5B
QkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVO
QUJMRV9XRUJfU09DS0VUUykgJChFTkFCTEVfV0VCX1RJTUlORykgJChFTkFCTEVfV09SS0VSUykg
JChFTkFCTEVfWEhUTUxNUCkgJChFTkFCTEVfWFBBVEgpICQoRU5BQkxFX1hTTFQpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgJKHdvcmtpbmcgY29weSkKQEAgLTgxMSw4
ICs4MTEsOCBAQAogI2RlZmluZSBFTkFCTEVfSUNPTkRBVEFCQVNFIDEKICNlbmRpZgogCi0jaWYg
IWRlZmluZWQoRU5BQkxFX0RBVEFCQVNFKQotI2RlZmluZSBFTkFCTEVfREFUQUJBU0UgMQorI2lm
ICFkZWZpbmVkKEVOQUJMRV9TUUxfREFUQUJBU0UpCisjZGVmaW5lIEVOQUJMRV9TUUxfREFUQUJB
U0UgMQogI2VuZGlmCiAKICNpZiAhZGVmaW5lZChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUikK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTY3IEBACisyMDExLTA5LTE1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFT
RSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgQXMgZGlzY3Vzc2VkIG9uIHdlYmtpdC1kZXYuCisKKyAgICAgICAg
KiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZzoKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbToKKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5saXN0LmFtOgorICAgICAgICAqIFVzZUpTQy5jbWFrZToKKyAgICAgICAgKiBiaW5kaW5n
cy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3BwOgorICAgICAgICAqIGJpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oOgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGlu
Z3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnNldERPTUV4Y2VwdGlv
bik6CisgICAgICAgICogYmluZGluZ3MvanMvSlNFeGNlcHRpb25CYXNlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OnRvRXhjZXB0aW9uQmFzZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNJbmpl
Y3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNJbmplY3RlZFNj
cmlwdEhvc3Q6OmRhdGFiYXNlSWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTU1FMUmVzdWx0
U2V0Um93TGlzdEN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTUUxUcmFuc2Fj
dGlvbkN1c3RvbS5jcHA6CisgICAgICAgICogYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvblN5
bmNDdXN0b20uY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9DUFAvV2ViRE9N
VGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dl
YkRPTVRlc3RDYWxsYmFjay5oOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9HT2Jq
ZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHA6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L0pTL0pTVGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW06CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RDYWxsYmFjay5pZGw6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4
L1Y4VGVzdENhbGxiYWNrLmNwcDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVjgv
VjhUZXN0Q2FsbGJhY2suaDoKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFByb3h5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlY4UHJveHk6OnNldERPTUV4Y2VwdGlvbik6CisgICAgICAgICogYmlu
ZGluZ3MvdjgvVjhQcm94eS5oOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3Rv
bVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1
c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpW
OEluamVjdGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZENhbGxiYWNrKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcDoKKyAgICAgICAg
KiBiaW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHA6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25TeW5jQ3VzdG9tLmNwcDoKKyAg
ICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAg
ICAgICAqIGRvbS9FeGNlcHRpb25Db2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldEV4Y2Vw
dGlvbkNvZGVEZXNjcmlwdGlvbik6CisgICAgICAgICogZG9tL0V4Y2VwdGlvbkNvZGUuaDoKKyAg
ICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpTY3JpcHRFeGVjdXRpb25Db250ZXh0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6On5TY3JpcHRFeGVjdXRpb25Db250
ZXh0KToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAq
IGZlYXR1cmVzLnByaToKKyAgICAgICAgKiBoaXN0b3J5L1BhZ2VDYWNoZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24pOgorICAgICAgICAoV2ViQ29yZTo6
UGFnZUNhY2hlOjpjYW5DYWNoZVBhZ2VDb250YWluaW5nVGhpc0ZyYW1lKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkluamVj
dGVkU2NyaXB0SG9zdDo6SW5qZWN0ZWRTY3JpcHRIb3N0KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
amVjdGVkU2NyaXB0SG9zdDo6ZGlzY29ubmVjdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luamVj
dGVkU2NyaXB0SG9zdC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRIb3N0Ojpp
bml0KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9udGVuZCk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjpkaXNjb25uZWN0RnJvbnRl
bmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3Bl
Y3RvclN0YXRlRnJvbUNvb2tpZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRy
b2xsZXIuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VBZ2VudC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlSW5zdHJ1bWVudGF0aW9uLmg6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291cmNlLmg6CisgICAgICAgICog
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENvbW1pdExvYWRJbXBsKToKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3RydW1lbnRp
bmdBZ2VudHM6Okluc3RydW1lbnRpbmdBZ2VudHMpOgorICAgICAgICAqIGluc3BlY3Rvci9Xb3Jr
ZXJJbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckluc3Bl
Y3RvckNvbnRyb2xsZXI6Oldvcmtlckluc3BlY3RvckNvbnRyb2xsZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6Y29ubmVjdEZyb250ZW5kKToKKyAgICAg
ICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjpzdG9wTG9hZGluZyk6CisgICAg
ICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5jcHA6
CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5p
ZGw6CisgICAgICAgICogcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwOgorICAgICAg
ICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHA6CisgICAgICAgICogcGxhdGZvcm0v
c3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVT
dGF0ZW1lbnQuY3BwOgorICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5j
cHA6CisgICAgICAgICogc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmNwcDoKKyAgICAgICAgKiBz
dG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuaDoKKyAgICAgICAgKiBzdG9yYWdlL0NoYW5nZVZlcnNp
b25XcmFwcGVyLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0NoYW5nZVZlcnNpb25XcmFwcGVyLmg6
CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZS5jcHA6CisgICAgICAgICogc3RvcmFnZS9EYXRh
YmFzZS5oOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2UuaWRsOgorICAgICAgICAqIHN0b3Jh
Z2UvRGF0YWJhc2VBdXRob3JpemVyLmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQ2Fs
bGJhY2suaDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlQ2FsbGJhY2suaWRsOgorICAgICAg
ICAqIHN0b3JhZ2UvRGF0YWJhc2VEZXRhaWxzLmg6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFz
ZVN5bmMuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VTeW5jLmg6CisgICAgICAgICog
c3RvcmFnZS9EYXRhYmFzZVN5bmMuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUYXNr
LmNwcDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVGFzay5oOgorICAgICAgICAqIHN0b3Jh
Z2UvRGF0YWJhc2VUaHJlYWQuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VUaHJlYWQu
aDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHA6CisgICAgICAgICogc3Rv
cmFnZS9EYXRhYmFzZVRyYWNrZXIuaDoKKyAgICAgICAgKiBzdG9yYWdlL0RhdGFiYXNlVHJhY2tl
ckNsaWVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKiBzdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oOgorICAgICAgICAqIHN0b3JhZ2Uv
T3JpZ2luVXNhZ2VSZWNvcmQuY3BwOgorICAgICAgICAqIHN0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNv
cmQuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oOgorICAgICAgICAq
IHN0b3JhZ2UvU1FMRXJyb3IuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTEVycm9yLmlkbDoKKyAg
ICAgICAgKiBzdG9yYWdlL1NRTEV4Y2VwdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMRXhj
ZXB0aW9uLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNldC5jcHA6CisgICAgICAg
ICogc3RvcmFnZS9TUUxSZXN1bHRTZXQuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNl
dC5pZGw6CisgICAgICAgICogc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmNwcDoKKyAgICAg
ICAgKiBzdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuaDoKKyAgICAgICAgKiBzdG9yYWdlL1NR
TFJlc3VsdFNldFJvd0xpc3QuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50LmNw
cDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudC5oOgorICAgICAgICAqIHN0b3JhZ2Uv
U1FMU3RhdGVtZW50Q2FsbGJhY2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudENh
bGxiYWNrLmlkbDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2su
aDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suaWRsOgorICAg
ICAgICAqIHN0b3JhZ2UvU1FMU3RhdGVtZW50U3luYy5jcHA6CisgICAgICAgICogc3RvcmFnZS9T
UUxTdGF0ZW1lbnRTeW5jLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5oOgorICAgICAgICAqIHN0b3JhZ2Uv
U1FMVHJhbnNhY3Rpb24uaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxs
YmFjay5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGw6Cisg
ICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5jcHA6CisgICAgICAgICogc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25Db29yZGluYXRvci5jcHA6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNv
b3JkaW5hdG9yLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJh
Y2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGw6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwOgorICAgICAgICAqIHN0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmg6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvblN5bmMuaWRsOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJh
Y2suaDoKKyAgICAgICAgKiBzdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbDoK
KyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlT2JzZXJ2ZXIuaDoKKyAgICAgICAg
KiBzdG9yYWdlL2Nocm9taXVtL0RhdGFiYXNlVHJhY2tlckNocm9taXVtLmNwcDoKKyAgICAgICAg
KiBzdG9yYWdlL2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHA6CisgICAgICAgICogc3RvcmFnZS9j
aHJvbWl1bS9RdW90YVRyYWNrZXIuaDoKKyAgICAgICAgKiBzdG9yYWdlL2Nocm9taXVtL1NRTFRy
YW5zYWN0aW9uQ2xpZW50Q2hyb21pdW0uY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0Lmg6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXJDb250ZXh0LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWRTaHV0ZG93blN0YXJ0VGFzazo6
cGVyZm9ybVRhc2spOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkOjpzdG9wKToKKwog
MjAxMS0wOS0xNSAgTWFyayBIYWhuZW5iZXJnICA8bWhhaG5lbmJlcmdAYXBwbGUuY29tPgogCiAg
ICAgICAgIFVuemlwIGluaXRpYWxpemF0aW9uIGxpc3RzIGFuZCBjb25zdHJ1Y3RvcnMgaW4gSlND
ZWxsIGhpZXJhcmNoeSAoNy83KQpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDk1
MjQzKQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAg
LTE0MDEsNyArMTQwMSw3IEBAIElGIChFTkFCTEVfQkxPQikKICAgICApCiBFTkRJRiAoKQogCi1J
RiAoRU5BQkxFX0RBVEFCQVNFKQorSUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAgTElTVChB
UFBFTkQgV2ViQ29yZV9TT1VSQ0VTCiAgICAgICAgIHBsYXRmb3JtL3NxbC9TUUxWYWx1ZS5jcHAK
ICAgICAgICAgcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIuY3BwCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTgzLDEyICsxODMsMTIgQEAgZW5kaWYgIyBFTkQgRU5B
QkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSQogIyAtLS0tCiAjIERhdGFiYXNlIFN1cHBvcnQKICMg
LS0tLQotaWYgRU5BQkxFX0RBVEFCQVNFCi1GRUFUVVJFX0RFRklORVMgKz0gRU5BQkxFX0RBVEFC
QVNFPTEKLXdlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfREFUQUJBU0U9MQoraWYgRU5BQkxF
X1NRTF9EQVRBQkFTRQorRkVBVFVSRV9ERUZJTkVTICs9IEVOQUJMRV9TUUxfREFUQUJBU0U9MQor
d2ViY29yZV9jcHBmbGFncyArPSAtREVOQUJMRV9TUUxfREFUQUJBU0U9MQogZWxzZQotd2ViY29y
ZV9jcHBmbGFncyArPSAtREVOQUJMRV9EQVRBQkFTRT0wCi1lbmRpZiAjIEVORCBFTkFCTEVfREFU
QUJBU0UKK3dlYmNvcmVfY3BwZmxhZ3MgKz0gLURFTkFCTEVfU1FMX0RBVEFCQVNFPTAKK2VuZGlm
ICMgRU5EIEVOQUJMRV9TUUxfREFUQUJBU0UKIAogIyAtLS0tCiAjIEhUTUw1IGRhdGFsaXN0IFN1
cHBvcnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCSh3b3JraW5nIGNvcHkpCkBA
IC00MTEyLDcgKzQxMTIsNyBAQCBlbmRpZiAjIEVORCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElD
QVRJCiAjIC0tLS0KICMgRGF0YWJhc2UgU3VwcG9ydAogIyAtLS0tCi1pZiBFTkFCTEVfREFUQUJB
U0UKK2lmIEVOQUJMRV9TUUxfREFUQUJBU0UKIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RhdGFiYXNlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0RhdGFiYXNlLmggXApAQCAtNDEzNyw3ICs0MTM3LDcgQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTU1FMVHJhbnNhY3Rpb25T
eW5jLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NRTFRyYW5zYWN0aW9uU3luY0Nh
bGxiYWNrLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1NRTFRyYW5zYWN0aW9uU3lu
Y0NhbGxiYWNrLmgKLWVuZGlmICMgRU5EIEVOQUJMRV9EQVRBQkFTRQorZW5kaWYgIyBFTkQgRU5B
QkxFX1NRTF9EQVRBQkFTRQogCiAjIC0tLS0KICMgSFRNTDUgZGF0YSB0cmFuc2ZlciBpdGVtcyBz
dXBwb3J0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Vc2VKU0MuY21ha2UKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvVXNlSlNDLmNtYWtlCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJDb3JlL1VzZUpTQy5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtMTY1LDcgKzE2NSw3IEBAIElG
IChFTkFCTEVfQkxPQikKICAgICApCiBFTkRJRiAoKQogCi1JRiAoRU5BQkxFX0RBVEFCQVNFKQor
SUYgKEVOQUJMRV9TUUxfREFUQUJBU0UpCiAgICAgTElTVChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VT
CiAgICAgICAgIGJpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5j
cHAKICAgICAgICAgYmluZGluZ3MvanMvSlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcApJ
bmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5wcm8KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5wcm8JKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5wcm8JKHdvcmtpbmcgY29weSkKQEAgLTI3MzksNyArMjczOSw3IEBAIGNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9TUUxJVEU9MSkgewogfQogCiAKLWNvbnRhaW5zKERFRklORVMsIEVOQUJM
RV9EQVRBQkFTRT0xKSB7Citjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMX0RBVEFCQVNFPTEp
IHsKICAgICBTT1VSQ0VTICs9IFwKICAgICAgICAgc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBl
ci5jcHAgXAogICAgICAgICBzdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAgXApJbmRleDogU291cmNl
L1dlYkNvcmUvZmVhdHVyZXMucHJpCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2ZlYXR1
cmVzLnByaQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9mZWF0dXJlcy5wcmkJ
KHdvcmtpbmcgY29weSkKQEAgLTQ0LDEwICs0NCwxMCBAQCBpc0VtcHR5KEhBVkVfUVJBV0ZPTlQp
IHsKIH0KIAogIyB0dXJuIG9mZiBTUUxJVEUgc3VwcG9ydCBpZiB3ZSBkbyBub3QgaGF2ZSBzcWxp
dGUzIGF2YWlsYWJsZQotIUNPTkZJRyhRVERJUl9idWlsZCk6d2luMzItKjohZXhpc3RzKCAkJHtT
UUxJVEUzU1JDRElSfS9zcWxpdGUzLmMgKTogREVGSU5FUyArPSBFTkFCTEVfU1FMSVRFPTAgRU5B
QkxFX0RBVEFCQVNFPTAgRU5BQkxFX1dPUktFUlM9MCBFTkFCTEVfU0hBUkVEX1dPUktFUlM9MCBF
TkFCTEVfSUNPTkRBVEFCQVNFPTAgRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUz0wIEVO
QUJMRV9ET01fU1RPUkFHRT0wCishQ09ORklHKFFURElSX2J1aWxkKTp3aW4zMi0qOiFleGlzdHMo
ICQke1NRTElURTNTUkNESVJ9L3NxbGl0ZTMuYyApOiBERUZJTkVTICs9IEVOQUJMRV9TUUxJVEU9
MCBFTkFCTEVfU1FMX0RBVEFCQVNFPTAgRU5BQkxFX1dPUktFUlM9MCBFTkFCTEVfU0hBUkVEX1dP
UktFUlM9MCBFTkFCTEVfSUNPTkRBVEFCQVNFPTAgRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FU
SU9OUz0wIEVOQUJMRV9ET01fU1RPUkFHRT0wCiAKICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVf
SkFWQVNDUklQVF9ERUJVR0dFUj0uKTogREVGSU5FUyArPSBFTkFCTEVfSkFWQVNDUklQVF9ERUJV
R0dFUj0xCi0hY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFCQVNFPS4pOiBERUZJTkVTICs9
IEVOQUJMRV9EQVRBQkFTRT0xCishY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NRTF9EQVRBQkFT
RT0uKTogREVGSU5FUyArPSBFTkFCTEVfU1FMX0RBVEFCQVNFPTEKICFjb250YWlucyhERUZJTkVT
LCBFTkFCTEVfRVZFTlRTT1VSQ0U9Lik6IERFRklORVMgKz0gRU5BQkxFX0VWRU5UU09VUkNFPTEK
ICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfT0ZGTElORV9XRUJfQVBQTElDQVRJT05TPS4pOiBE
RUZJTkVTICs9IEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MQogIWNvbnRhaW5zKERF
RklORVMsIEVOQUJMRV9ET01fU1RPUkFHRT0uKTogREVGSU5FUyArPSBFTkFCTEVfRE9NX1NUT1JB
R0U9MQpAQCAtNTksNyArNTksNyBAQCBpc0VtcHR5KEhBVkVfUVJBV0ZPTlQpIHsKIAogIyB0dXJu
IG9uIFNRTElURSBzdXBwb3J0IGlmIGFueSBvZiB0aGUgZGVwZW5kZW50IGZlYXR1cmVzIGFyZSB0
dXJuZWQgb24KICFjb250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMSVRFPS4pIHsKLSAgY29udGFp
bnMoREVGSU5FUywgRU5BQkxFX0RBVEFCQVNFPTEpfGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9J
Q09OREFUQUJBU0U9MSl8Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RPTV9TVE9SQUdFPTEpfGNv
bnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9MSkgeworICBj
b250YWlucyhERUZJTkVTLCBFTkFCTEVfU1FMX0RBVEFCQVNFPTEpfGNvbnRhaW5zKERFRklORVMs
IEVOQUJMRV9JQ09OREFUQUJBU0U9MSl8Y29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RPTV9TVE9S
QUdFPTEpfGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlM9
MSkgewogICAgIERFRklORVMgKz0gRU5BQkxFX1NRTElURT0xCiAgIH0gZWxzZSB7CiAgICAgREVG
SU5FUyArPSBFTkFCTEVfU1FMSVRFPTAKQEAgLTIwOCw3ICsyMDgsNyBAQCB2ODogRkVBVFVSRV9E
RUZJTkVTX0pBVkFTQ1JJUFQgKz0gVjhfQklOCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfQ0hB
Tk5FTF9NRVNTQUdJTkc9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORz0xCiBjb250YWlucyhERUZJTkVTLCBFTkFCTEVfT1JJRU5UQVRJT05f
RVZFTlRTPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfT1JJRU5UQVRJ
T05fRVZFTlRTPTEKIGNvbnRhaW5zKERFRklORVMsIEVOQUJMRV9FVkVOVFNPVVJDRT0xKTogRkVB
VFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQgKz0gRU5BQkxFX0VWRU5UU09VUkNFPTEKLWNvbnRhaW5z
KERFRklORVMsIEVOQUJMRV9EQVRBQkFTRT0xKTogRkVBVFVSRV9ERUZJTkVTX0pBVkFTQ1JJUFQg
Kz0gRU5BQkxFX0RBVEFCQVNFPTEKK2NvbnRhaW5zKERFRklORVMsIEVOQUJMRV9TUUxfREFUQUJB
U0U9MSk6IEZFQVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9TUUxfREFUQUJBU0U9
MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX0RBVEFMSVNUPTEpOiBGRUFUVVJFX0RFRklORVNf
SkFWQVNDUklQVCArPSBFTkFCTEVfREFUQUxJU1Q9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X0RPTV9TVE9SQUdFPTEpOiBGRUFUVVJFX0RFRklORVNfSkFWQVNDUklQVCArPSBFTkFCTEVfRE9N
X1NUT1JBR0U9MQogY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1NIQVJFRF9TQ1JJUFQ9MSk6IEZF
QVRVUkVfREVGSU5FU19KQVZBU0NSSVBUICs9IEVOQUJMRV9TSEFSRURfU0NSSVBUPTEKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCw3
IEBAIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgPSA7CiBFTkFCTEVfQU5JTUFUSU9OX0FQ
SSA9IDsKIEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyA9IEVOQUJMRV9DSEFOTkVMX01FU1NBR0lO
RzsKIEVOQUJMRV9DU1MzX0ZMRVhCT1ggPSA7Ci1FTkFCTEVfREFUQUJBU0UgPSBFTkFCTEVfREFU
QUJBU0U7CitFTkFCTEVfU1FMX0RBVEFCQVNFID0gRU5BQkxFX1NRTF9EQVRBQkFTRTsKIEVOQUJM
RV9EQVRBX1RSQU5TRkVSX0lURU1TID0gOwogRU5BQkxFX0RFVEFJTFMgPSBFTkFCTEVfREVUQUlM
UzsKIEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04gPSA7CkBAIC05Niw0ICs5Niw0IEBAIEVOQUJM
RV9YSFRNTE1QID0gOwogRU5BQkxFX1hQQVRIID0gRU5BQkxFX1hQQVRIOwogRU5BQkxFX1hTTFQg
PSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfUkVOREVSSU5H
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FOSU1BVElPTl9BUEkp
ICQoRU5BQkxFX0JMT0IpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DTElF
TlRfQkFTRURfR0VPTE9DQVRJT04pICQoRU5BQkxFX0NTUzNfRkxFWEJPWCkgJChFTkFCTEVfREFU
QUJBU0UpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKSAk
KEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RJ
UkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAkKEVOQUJMRV9FVkVOVFNPVVJD
RSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRFUlMpICQoRU5BQkxFX0ZVTExT
Q1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBVVF9DT0xPUikgJChFTkFCTEVf
SU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVHR0VSKSAkKEVOQUJMRV9MSU5L
X1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFC
TEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFHKSAkKEVOQUJMRV9OT1RJRklD
QVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpICQoRU5BQkxFX1BBR0Vf
VklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5BQkxFX1JFUVVFU1RfQU5JTUFU
SU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChFTkFCTEVfU1ZHKSAkKEVOQUJM
RV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVE9V
Q0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fVFJBQ0spICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9TT0NLRVRTKSAk
KEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAkKEVOQUJMRV9YSFRNTE1QKSAk
KEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMgPSAkKEVOQUJM
RV8zRF9SRU5ERVJJTkcpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QU5JTUFUSU9OX0FQSSkgJChFTkFCTEVfQkxPQikgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NMSUVOVF9CQVNFRF9HRU9MT0NBVElPTikgJChFTkFCTEVfQ1NTM19GTEVYQk9Y
KSAkKEVOQUJMRV9TUUxfREFUQUJBU0UpICQoRU5BQkxFX0RBVEFMSVNUKSAkKEVOQUJMRV9EQVRB
X1RSQU5TRkVSX0lURU1TKSAkKEVOQUJMRV9ERVRBSUxTKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpICQoRU5BQkxFX0RPTV9TVE9SQUdFKSAk
KEVOQUJMRV9FVkVOVFNPVVJDRSkgJChFTkFCTEVfRklMRV9TWVNURU0pICQoRU5BQkxFX0ZJTFRF
UlMpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFC
TEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTlBV
VF9DT0xPUikgJChFTkFCTEVfSU5QVVRfU1BFRUNIKSAkKEVOQUJMRV9KQVZBU0NSSVBUX0RFQlVH
R0VSKSAkKEVOQUJMRV9MSU5LX1BSRUZFVENIKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVURVJfVEFH
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElP
TlMpICQoRU5BQkxFX1BBR0VfVklTSUJJTElUWV9BUEkpICQoRU5BQkxFX1BST0dSRVNTX1RBRykg
JChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpICQoRU5B
QkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FKSAkKEVOQUJMRV9TSEFSRURfV09SS0VSUykgJChF
TkFCTEVfU1ZHKSAkKEVOQUJMRV9TVkdfRE9NX09CSkNfQklORElOR1MpICQoRU5BQkxFX1NWR19G
T05UUykgJChFTkFCTEVfVE9VQ0hfSUNPTl9MT0FESU5HKSAkKEVOQUJMRV9WSURFTykgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5B
QkxFX1dFQl9TT0NLRVRTKSAkKEVOQUJMRV9XRUJfVElNSU5HKSAkKEVOQUJMRV9XT1JLRVJTKSAk
KEVOQUJMRV9YSFRNTE1QKSAkKEVOQUJMRV9YUEFUSCkgJChFTkFCTEVfWFNMVCk7CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTM1LDcgKzEzNSw3IEBAIGJvb2wgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViU29ja2V0
RW4KIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiBib29sIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6Om9wZW5EYXRhYmFzZUVuYWJsZWQo
KQogewogICAgIHJldHVybiBBYnN0cmFjdERhdGFiYXNlOjppc0F2YWlsYWJsZSgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5h
YmxlZEZlYXR1cmVzLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTk4
LDcgKzk4LDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHdlYlNvY2tldEVuYWJsZWQoKTsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgc3RhdGljIGJvb2wgb3BlbkRhdGFiYXNlRW5hYmxlZCgpOwogICAgIHN0YXRpYyBib29s
IG9wZW5EYXRhYmFzZVN5bmNFbmFibGVkKCk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ3VzdG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21TUUxTdGF0ZW1lbnRF
cnJvckNhbGxiYWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0N1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIKIAotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiSlNTUUxT
dGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAKQEAgLTY5LDQgKzY5LDQgQEAgYm9vbCBKU1NRTFN0
YXRlbWVudEVycm9yQ2FsbGJhY2s6OmhhbmRsZQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFU
QUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCw3ICszOCw3IEBACiAjaW5jbHVkZSAiSlNPcGVyYXRpb25Ob3RBbGxvd2VkRXhjZXB0
aW9uLmgiCiAjZW5kaWYKICNpbmNsdWRlICJKU1JhbmdlRXhjZXB0aW9uLmgiCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiSlNTUUxFeGNl
cHRpb24uaCIKICNlbmRpZgogI2lmIEVOQUJMRShTVkcpCkBAIC0yMzgsNyArMjM4LDcgQEAgdm9p
ZCBzZXRET01FeGNlcHRpb24oRXhlY1N0YXRlKiBleGVjLCBFeAogICAgICAgICAgICAgZXJyb3JP
YmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVjdCwgWFBhdGhFeGNlcHRpb246OmNyZWF0ZShk
ZXNjcmlwdGlvbikpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgY2FzZSBTUUxFeGNlcHRp
b25UeXBlOgogICAgICAgICAgICAgZXJyb3JPYmplY3QgPSB0b0pTKGV4ZWMsIGdsb2JhbE9iamVj
dCwgU1FMRXhjZXB0aW9uOjpjcmVhdGUoZGVzY3JpcHRpb24pKTsKICAgICAgICAgICAgIGJyZWFr
OwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFeGNlcHRpb25CYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0V4Y2VwdGlvbkJhc2Uu
Y3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRXhj
ZXB0aW9uQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRl
ICJKU0V2ZW50RXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiSlNSYW5nZUV4Y2VwdGlvbi5oIgogI2lu
Y2x1ZGUgIkpTWE1MSHR0cFJlcXVlc3RFeGNlcHRpb24uaCIKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJTUUxFeGNlcHRpb24uaCIKICNp
bmNsdWRlICJKU1NRTEV4Y2VwdGlvbi5oIgogI2VuZGlmCkBAIC02MSw3ICs2MSw3IEBAIEV4Y2Vw
dGlvbkJhc2UqIHRvRXhjZXB0aW9uQmFzZShKU0M6OkpTVmEKICAgICBpZiAoWFBhdGhFeGNlcHRp
b24qIHBhdGhFeGNlcHRpb24gPSB0b1hQYXRoRXhjZXB0aW9uKHZhbHVlKSkKICAgICAgICAgcmV0
dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RXhjZXB0aW9uQmFzZSo+KHBhdGhFeGNlcHRpb24pOwogI2Vu
ZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
aWYgKFNRTEV4Y2VwdGlvbiogcGF0aEV4Y2VwdGlvbiA9IHRvU1FMRXhjZXB0aW9uKHZhbHVlKSkK
ICAgICAgICAgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3Q8RXhjZXB0aW9uQmFzZSo+KHBhdGhFeGNl
cHRpb24pOwogI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0luamVj
dGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSW5qZWN0ZWRTY3JpcHRIb3N0Q3VzdG9t
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzYsNyArMzYsNyBAQAogCiAjaW5jbHVkZSAiSlNJbmpl
Y3RlZFNjcmlwdEhvc3QuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiSlNEYXRhYmFzZS5o
IgogI2VuZGlmCkBAIC0xNzEsNyArMTcxLDcgQEAgSlNWYWx1ZSBKU0luamVjdGVkU2NyaXB0SG9z
dDo6ZGF0YWJhc2VJZAogewogICAgIGlmIChleGVjLT5hcmd1bWVudENvdW50KCkgPCAxKQogICAg
ICAgICByZXR1cm4ganNVbmRlZmluZWQoKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5B
QkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZSogZGF0YWJhc2UgPSB0b0RhdGFiYXNlKGV4
ZWMtPmFyZ3VtZW50KDApKTsKICAgICBpZiAoZGF0YWJhc2UpCiAgICAgICAgIHJldHVybiBqc051
bWJlcihpbXBsKCktPmRhdGFiYXNlSWRJbXBsKGRhdGFiYXNlKSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1NRTFJlc3VsdFNldFJvd0xpc3RDdXN0b20uY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMUmVzdWx0U2V0Um93TGlzdEN1
c3RvbS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNTUUxSZXN1bHRTZXRSb3dMaXN0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyAr
MjgsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMUmVzdWx0U2V0Um93TGlz
dC5oIgogCkBAIC04Myw0ICs4Myw0IEBAIEpTVmFsdWUgSlNTUUxSZXN1bHRTZXRSb3dMaXN0Ojpp
dGVtKEV4ZWMKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERB
VEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1NRTFRyYW5z
YWN0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKIAogI2luY2x1ZGUgIkpTU1FMVHJhbnNhY3Rpb24uaCIKIApAQCAtMTE5LDQgKzEx
OSw0IEBAIEpTVmFsdWUgSlNTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNxbChFeGUKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8v
IEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U1NRTFRyYW5zYWN0aW9uU3luY0N1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTU1FMVHJhbnNhY3Rpb25TeW5j
Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKIAogI2luY2x1ZGUgIkpTU1FMVHJhbnNhY3Rpb25TeW5jLmgiCiAKQEAgLTk2LDQgKzk2LDQg
QEAgSlNWYWx1ZSBKU1NRTFRyYW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNxbAogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5B
QkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9UZXN0Q2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0Q2FsbGJhY2suaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAvLyB0aGF0IGhhcyB0aGUgIkNhbGxiYWNrIiBh
dHRyaWJ1dGUgYW5kIGZvciB0cmFja2luZyBjaGFuZ2VzIGluIGl0cyBvdXB1dC4KIG1vZHVsZSB0
ZXN0IHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAg
ICAgICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0
aW9uYWxBcmd1bWVudHMsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBUZXN0Q2FsbGJhY2sgewpJ
bmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0
Q2FsbGJhY2suY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFj
ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
ICNpbmNsdWRlICJXZWJET01UZXN0Q2FsbGJhY2suaCIKIApAQCAtMTM1LDQgKzEzNSw0IEBAIFdl
YkRPTVRlc3RDYWxsYmFjayB0b1dlYktpdChXZWJDb3JlOjpUZXMKICAgICByZXR1cm4gV2ViRE9N
VGVzdENhbGxiYWNrKHZhbHVlKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNl
bmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0NQUC9XZWJET01UZXN0Q2FsbGJhY2suaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvQ1BQL1dlYkRPTVRlc3RDYWxsYmFj
ay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9DUFAvV2ViRE9NVGVzdENhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDcgKzIz
LDcgQEAKICNpZm5kZWYgV2ViRE9NVGVzdENhbGxiYWNrX2gKICNkZWZpbmUgV2ViRE9NVGVzdENh
bGxiYWNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogCiAjaW5jbHVkZSA8V2ViRE9NT2JqZWN0Lmg+CiAjaW5jbHVkZSA8V2ViRE9NU3RyaW5nLmg+
CkBAIC02NSw1ICs2NSw1IEBAIFdlYkNvcmU6OlRlc3RDYWxsYmFjayogdG9XZWJDb3JlKGNvbnN0
IFcKIFdlYkRPTVRlc3RDYWxsYmFjayB0b1dlYktpdChXZWJDb3JlOjpUZXN0Q2FsbGJhY2sqKTsK
IAogI2VuZGlmCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9HT2JqZWN0L1dlYktpdERPTVRlc3RDYWxsYmFjay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0dPYmplY3QvV2ViS2l0RE9NVGVzdENhbGxi
YWNrLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL3Rlc3QvR09iamVjdC9XZWJLaXRET01UZXN0Q2FsbGJhY2suY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KICNpbmNsdWRlICJj
b25maWcuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogCiAjaW5jbHVkZSA8d3RmL0dldFB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KQEAg
LTIzMiw0ICsyMzIsNCBAQCBXZWJLaXRET01UZXN0Q2FsbGJhY2sqIHdyYXBUZXN0Q2FsbGJhY2so
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJjb3JlLW9i
amVjdCIsIGNvcmVPYmplY3QsIE5VTEwpKTsKIH0KIH0gLy8gbmFtZXNwYWNlIFdlYktpdAotI2Vu
ZGlmIC8qIEVOQUJMRShEQVRBQkFTRSkgKi8KKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNF
KQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdENh
bGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0Q2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTIwLDcgKzIwLDcgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJK
U1Rlc3RDYWxsYmFjay5oIgogCkBAIC0xMzAsNCArMTMwLDQgQEAgYm9vbCBKU1Rlc3RDYWxsYmFj
azo6Y2FsbGJhY2tXaXRoU3RyaW5nTAogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0Up
CisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RDYWxsYmFjay5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RDYWxsYmFjay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMSw3ICsyMSw3IEBACiAjaWZu
ZGVmIEpTVGVzdENhbGxiYWNrX2gKICNkZWZpbmUgSlNUZXN0Q2FsbGJhY2tfaAogCi0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJBY3Rp
dmVET01DYWxsYmFjay5oIgogI2luY2x1ZGUgIkpTQ2FsbGJhY2tEYXRhLmgiCkBAIC01NSw2ICs1
NSw2IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVO
QUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9PYmpDL0RPTVRlc3RD
YWxsYmFjay5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvT2JqQy9ET01UZXN0Q2FsbGJhY2subW0JKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L09iakMvRE9NVGVzdENhbGxiYWNrLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbXBvcnQg
IkRPTUludGVybmFsLmgiCiAKQEAgLTEzOCw0ICsxMzgsNCBAQCBET01UZXN0Q2FsbGJhY2sgKmtp
dChXZWJDb3JlOjpUZXN0Q2FsbGJhCiAgICAgcmV0dXJuIFt3cmFwcGVyIGF1dG9yZWxlYXNlXTsK
IH0KIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RB
VEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Y4L1Y4
VGVzdENhbGxiYWNrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVjgvVjhUZXN0Q2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJWOFRlc3RDYWxsYmFjay5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Lmgi
CiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCkBAIC0xNjEsNCArMTYxLDQgQEAgYm9vbCBWOFRlc3RD
YWxsYmFjazo6Y2FsbGJhY2tXaXRoU3RyaW5nTAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFT
RSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RD
YWxsYmFjay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9WOC9WOFRlc3RDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9WOC9WOFRlc3RDYWxsYmFjay5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xOCw3ICsxOCw3IEBACiAgICAgQm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCiAq
LwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNp
Zm5kZWYgVjhUZXN0Q2FsbGJhY2tfaAogI2RlZmluZSBWOFRlc3RDYWxsYmFja19oCkBAIC02Myw0
ICs2Myw0IEBAIHByaXZhdGU6CiAKICNlbmRpZiAvLyBWOFRlc3RDYWxsYmFja19oCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02NzUsNyArNjc1LDcgQEAgdm9pZCBWOFByb3h5OjpzZXRET01FeGNlcHRpb24oaW50IGV4
Y2VwdAogICAgICAgICBleGNlcHRpb24gPSB0b1Y4KFhQYXRoRXhjZXB0aW9uOjpjcmVhdGUoZGVz
Y3JpcHRpb24pKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBjYXNlIFNRTEV4Y2VwdGlvblR5cGU6CiAg
ICAgICAgIGV4Y2VwdGlvbiA9IHRvVjgoU1FMRXhjZXB0aW9uOjpjcmVhdGUoZGVzY3JpcHRpb24p
KTsKICAgICAgICAgYnJlYWs7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFBy
b3h5LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5o
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHku
aAkod29ya2luZyBjb3B5KQpAQCAtMzAyLDcgKzMwMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHN2Z0V4Y2VwdGlvbk5hbWUoaW50IGV4Y2VwdGlv
bkNvZGUpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICAgICAgc3RhdGljIGNvbnN0IGNoYXIqIHNxbEV4Y2VwdGlvbk5hbWUoaW50
IGV4Y2VwdGlvbkNvZGUpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRl
bWVudEVycm9yQ2FsbGJhY2suY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJhY2suY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBACiAKICNpbmNsdWRlICJjb25maWcuaCIK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiVjhTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgiCiAKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEluamVjdGVkU2NyaXB0SG9zdEN1c3RvbS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SW5qZWN0ZWRT
Y3JpcHRIb3N0Q3VzdG9tLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhJbmplY3RlZFNjcmlwdEhvc3RDdXN0b20uY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNjksNyArMTY5LDcgQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IFY4SW5qZWN0
ZWRTY3JpcHRIbwogICAgIElOQ19TVEFUUygiSW5qZWN0ZWRTY3JpcHRIb3N0LmRhdGFiYXNlSWQo
KSIpOwogICAgIGlmIChhcmdzLkxlbmd0aCgpIDwgMSkKICAgICAgICAgcmV0dXJuIHY4OjpVbmRl
ZmluZWQoKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
ICAgICBJbmplY3RlZFNjcmlwdEhvc3QqIGhvc3QgPSBWOEluamVjdGVkU2NyaXB0SG9zdDo6dG9O
YXRpdmUoYXJncy5Ib2xkZXIoKSk7CiAgICAgRGF0YWJhc2UqIGRhdGFiYXNlID0gVjhEYXRhYmFz
ZTo6dG9OYXRpdmUodjg6OkhhbmRsZTx2ODo6T2JqZWN0Pjo6Q2FzdChhcmdzWzBdKSk7CiAgICAg
aWYgKGRhdGFiYXNlKQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMUmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FM
UmVzdWx0U2V0Um93TGlzdEN1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcg
QEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiVjhTUUxSZXN1bHRTZXRSb3dMaXN0LmgiCiAK
ICNpbmNsdWRlICJTUUxSZXN1bHRTZXRSb3dMaXN0LmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvbkN1c3RvbS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rpb25DdXN0
b20uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOFNRTFRyYW5zYWN0aW9uQ3VzdG9tLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyAr
MzAsNyBAQAogCiAjaW5jbHVkZSAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlY4U1FMVHJhbnNhY3Rpb24uaCIK
IApJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4U1FMVHJhbnNhY3Rp
b25TeW5jQ3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhTUUxUcmFuc2FjdGlvblN5bmNDdXN0b20uY3BwCShyZXZpc2lvbiA5NTI0MykK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOFNRTFRyYW5zYWN0aW9uU3lu
Y0N1c3RvbS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKIAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKICNpbmNsdWRlICJWOFNRTFRyYW5zYWN0aW9uU3luYy5oIgogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU2NCw3ICs0NTY0LDcgQEAgdm9pZCBEb2N1
bWVudDo6c2V0U2VjdXJpdHlPcmlnaW4oU2VjdXJpdAogICAgIGluaXRETlNQcmVmZXRjaCgpOwog
fQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKIGJv
b2wgRG9jdW1lbnQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MoKSBjb25zdAogewpJbmRleDogU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0RvY3VtZW50LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTEwMDgsNyArMTAwOCw3IEBAIHB1YmxpYzoKICAgICBi
b29sIHByb2Nlc3NpbmdMb2FkRXZlbnQoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NpbmdMb2Fk
RXZlbnQ7IH0KICAgICBib29sIGxvYWRFdmVudEZpbmlzaGVkKCkgY29uc3QgeyByZXR1cm4gbV9s
b2FkRXZlbnRGaW5pc2hlZDsgfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJhc2VBY2Nlc3MoKSBjb25z
dDsKICAgICB2aXJ0dWFsIHZvaWQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhKGNvbnN0IFN0cmluZyYg
bmFtZSk7CiAjZW5kaWYKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNlcHRpb25Db2RlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRXhjZXB0aW9uQ29kZS5jcHAJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V4Y2VwdGlvbkNvZGUuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zOSw3ICszOSw3IEBACiAjaW5jbHVkZSAiWFBhdGhFeGNlcHRpb24u
aCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAjaW5jbHVkZSAiU1FMRXhjZXB0aW9uLmgiCiAjZW5kaWYKIApAQCAtMTYzLDcgKzE2Myw3
IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBzdmdFeGNlcHRpb25EZXMKIH07CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogc3RhdGlj
IGNvbnN0IGNoYXIqIGNvbnN0IHNxbEV4Y2VwdGlvbk5hbWVzW10gPSB7CiAgICAgIlVOS05PV05f
RVJSIiwKICAgICAiREFUQUJBU0VfRVJSIiwKQEAgLTMxOSw3ICszMTksNyBAQCB2b2lkIGdldEV4
Y2VwdGlvbkNvZGVEZXNjcmlwdGlvbihFeGNlcHRpCiAgICAgICAgIG5hbWVUYWJsZVNpemUgPSBX
VEZfQVJSQVlfTEVOR1RIKHN2Z0V4Y2VwdGlvbk5hbWVzKTsKICAgICAgICAgbmFtZVRhYmxlT2Zm
c2V0ID0gU1ZHRXhjZXB0aW9uOjpTVkdfV1JPTkdfVFlQRV9FUlI7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB9IGVsc2UgaWYgKGNv
ZGUgPj0gU1FMRXhjZXB0aW9uOjpTUUxFeGNlcHRpb25PZmZzZXQgJiYgY29kZSA8PSBTUUxFeGNl
cHRpb246OlNRTEV4Y2VwdGlvbk1heCkgewogICAgICAgICB0eXBlID0gU1FMRXhjZXB0aW9uVHlw
ZTsKICAgICAgICAgdHlwZU5hbWUgPSAiRE9NIFNRTCI7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vRXhjZXB0aW9uQ29kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FeGNl
cHRpb25Db2RlLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0V4Y2Vw
dGlvbkNvZGUuaAkod29ya2luZyBjb3B5KQpAQCAtNzQsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAjaWYgRU5BQkxFKFNWRykKICAgICAgICAgLCBTVkdFeGNlcHRpb25UeXBlCiAjZW5k
aWYKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAg
ICAgLCBTUUxFeGNlcHRpb25UeXBlCiAjZW5kaWYKICNpZiBFTkFCTEUoQkxPQikgfHwgRU5BQkxF
KEZJTEVfU1lTVEVNKQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxLDcgKzkxLDcgQEAg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6U2NyaXB0RXhlY3V0aW9uQwogICAgIDogbV9pdGVyYXRp
bmdBY3RpdmVET01PYmplY3RzKGZhbHNlKQogICAgICwgbV9pbkRlc3RydWN0b3IoZmFsc2UpCiAg
ICAgLCBtX2luRGlzcGF0Y2hFcnJvckV2ZW50KGZhbHNlKQotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICwgbV9oYXNPcGVuRGF0YWJhc2VzKGZhbHNl
KQogI2VuZGlmCiB7CkBAIC0xMTIsNyArMTEyLDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
flNjcmlwdEV4ZWN1dGlvbgogICAgICAgICBBU1NFUlQoKCppdGVyKS0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpID09IHRoaXMpOwogICAgICAgICAoKml0ZXIpLT5jb250ZXh0RGVzdHJveWVkKCk7
CiAgICAgfQotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQog
ICAgIGlmIChtX2RhdGFiYXNlVGhyZWFkKSB7CiAgICAgICAgIEFTU0VSVChtX2RhdGFiYXNlVGhy
ZWFkLT50ZXJtaW5hdGlvblJlcXVlc3RlZCgpKTsKICAgICAgICAgbV9kYXRhYmFzZVRocmVhZCA9
IDA7CkBAIC0xNDQsNyArMTQ0LDcgQEAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6flNjcmlwdEV4
ZWN1dGlvbgogI2VuZGlmCiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIAogRGF0YWJhc2VUaHJlYWQqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRh
dGFiYXNlVGhyZWFkKCkKIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Niw3ICs1Niw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICBjbGFzcyBTY3JpcHRDYWxsU3RhY2s7CiAgICAgY2xhc3Mg
U2VjdXJpdHlPcmlnaW47CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKICAgICBjbGFzcyBEYXRhYmFzZTsKICAgICBjbGFzcyBEYXRhYmFzZVRhc2tTeW5j
aHJvbml6ZXI7CiAgICAgY2xhc3MgRGF0YWJhc2VUaHJlYWQ7CkBAIC03OCw3ICs3OCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBib29sIGlzRG9jdW1lbnQoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgICAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJDb250ZXh0
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICB2aXJ0dWFsIGJvb2wgYWxsb3dEYXRhYmFzZUFj
Y2VzcygpIGNvbnN0ID0gMDsKICAgICAgICAgdmlydHVhbCB2b2lkIGRhdGFiYXNlRXhjZWVkZWRR
dW90YShjb25zdCBTdHJpbmcmIG5hbWUpID0gMDsKICAgICAgICAgRGF0YWJhc2VUaHJlYWQqIGRh
dGFiYXNlVGhyZWFkKCk7CkBAIC0yMDgsNyArMjA4LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICBjbGFzcyBQZW5kaW5nRXhjZXB0aW9uOwogICAgICAgICBPd25QdHI8VmVjdG9yPE93
blB0cjxQZW5kaW5nRXhjZXB0aW9uPiA+ID4gbV9wZW5kaW5nRXhjZXB0aW9uczsKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBSZWZQdHI8
RGF0YWJhc2VUaHJlYWQ+IG1fZGF0YWJhc2VUaHJlYWQ7CiAgICAgICAgIGJvb2wgbV9oYXNPcGVu
RGF0YWJhc2VzOyAvLyBUaGlzIG5ldmVyIGNoYW5nZXMgYmFjayB0byBmYWxzZSwgZXZlbiBhZnRl
ciB0aGUgZGF0YWJhc2UgdGhyZWFkIGlzIGNsb3NlZC4KICNlbmRpZgpJbmRleDogU291cmNlL1dl
YkNvcmUvaGlzdG9yeS9QYWdlQ2FjaGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2hpc3RvcnkvUGFnZUNhY2hlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9oaXN0b3J5L1BhZ2VDYWNoZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBA
QCBzdGF0aWMgYm9vbCBsb2dDYW5DYWNoZUZyYW1lRGVjaXNpb24oRnJhCiAgICAgICAgICAgICBQ
Q0xPRygiICAgLUZyYW1lIGhhcyBhbiB1bmxvYWQgZXZlbnQgbGlzdGVuZXIiKTsKICAgICAgICAg
ICAgIGNhbm5vdENhY2hlID0gdHJ1ZTsKICAgICAgICAgfQotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBpZiAoZnJhbWUtPmRvY3VtZW50KCkt
Pmhhc09wZW5EYXRhYmFzZXMoKSkgewogICAgICAgICAgICAgUENMT0coIiAgIC1GcmFtZSBoYXMg
b3BlbiBkYXRhYmFzZSBoYW5kbGVzIik7CiAgICAgICAgICAgICBjYW5ub3RDYWNoZSA9IHRydWU7
CkBAIC0yNjUsNyArMjY1LDcgQEAgYm9vbCBQYWdlQ2FjaGU6OmNhbkNhY2hlUGFnZUNvbnRhaW5p
bmdUaAogICAgICAgICAmJiAhZnJhbWUtPmxvYWRlcigpLT5zdWJmcmFtZUxvYWRlcigpLT5jb250
YWluc1BsdWdpbnMoKQogICAgICAgICAmJiAhZnJhbWUtPmRvY3VtZW50KCktPnVybCgpLnByb3Rv
Y29sSXMoImh0dHBzIikKICAgICAgICAgJiYgKCFmcmFtZS0+ZG9tV2luZG93KCkgfHwgIWZyYW1l
LT5kb21XaW5kb3coKS0+aGFzRXZlbnRMaXN0ZW5lcnMoZXZlbnROYW1lcygpLnVubG9hZEV2ZW50
KSkKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAg
ICAgJiYgIWZyYW1lLT5kb2N1bWVudCgpLT5oYXNPcGVuRGF0YWJhc2VzKCkKICNlbmRpZgogI2lm
IEVOQUJMRShTSEFSRURfV09SS0VSUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bmplY3RlZFNjcmlwdEhvc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhvc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC00Nyw3ICs0Nyw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9yVmFsdWVzLmgiCiAjaW5jbHVkZSAi
UGFzdGVib2FyZC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNlbmRpZgogCkBAIC03Miw3ICs3Miw3IEBA
IFBhc3NSZWZQdHI8SW5qZWN0ZWRTY3JpcHRIb3N0PiBJbmplY3RlZFMKIEluamVjdGVkU2NyaXB0
SG9zdDo6SW5qZWN0ZWRTY3JpcHRIb3N0KCkKICAgICA6IG1faW5zcGVjdG9yQWdlbnQoMCkKICAg
ICAsIG1fY29uc29sZUFnZW50KDApCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAgICAgLCBtX2RhdGFiYXNlQWdlbnQoMCkKICNlbmRpZgogI2lmIEVOQUJM
RShET01fU1RPUkFHRSkKQEAgLTkxLDcgKzkxLDcgQEAgdm9pZCBJbmplY3RlZFNjcmlwdEhvc3Q6
OmRpc2Nvbm5lY3QoKQogewogICAgIG1faW5zcGVjdG9yQWdlbnQgPSAwOwogICAgIG1fY29uc29s
ZUFnZW50ID0gMDsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKICAgICBtX2RhdGFiYXNlQWdlbnQgPSAwOwogI2VuZGlmCiAjaWYgRU5BQkxFKERPTV9TVE9S
QUdFKQpAQCAtMTM4LDcgKzEzOCw3IEBAIE5vZGUqIEluamVjdGVkU2NyaXB0SG9zdDo6aW5zcGVj
dGVkTm9kZSgKICAgICByZXR1cm4gMDsKIH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogaW50IEluamVjdGVkU2NyaXB0SG9zdDo6ZGF0YWJhc2VJZElt
cGwoRGF0YWJhc2UqIGRhdGFiYXNlKQogewogICAgIGlmIChtX2RhdGFiYXNlQWdlbnQpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRIb3N0LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0SG9zdC5oCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdEhv
c3QuaAkod29ya2luZyBjb3B5KQpAQCAtNTksNyArNTksNyBAQCBwdWJsaWM6CiAKICAgICB2b2lk
IGluaXQoSW5zcGVjdG9yQWdlbnQqIGluc3BlY3RvckFnZW50CiAgICAgICAgICAgICAsIEluc3Bl
Y3RvckNvbnNvbGVBZ2VudCogY29uc29sZUFnZW50Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICAgICAsIEluc3BlY3RvckRhdGFiYXNlQWdl
bnQqIGRhdGFiYXNlQWdlbnQKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTY5
LDcgKzY5LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbV9pbnNwZWN0b3JBZ2VudCA9IGlu
c3BlY3RvckFnZW50OwogICAgICAgICBtX2NvbnNvbGVBZ2VudCA9IGNvbnNvbGVBZ2VudDsKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgbV9k
YXRhYmFzZUFnZW50ID0gZGF0YWJhc2VBZ2VudDsKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgIHZvaWQgY2xlYXJDb25zb2xlTWVz
c2FnZXMoKTsKICAgICB2b2lkIGNvcHlUZXh0KGNvbnN0IFN0cmluZyYgdGV4dCk7CiAgICAgTm9k
ZSogaW5zcGVjdGVkTm9kZSh1bnNpZ25lZCBpbnQgbnVtKTsKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBpbnQgZGF0YWJhc2VJZEltcGwoRGF0YWJh
c2UqKTsKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTEwOCw3ICsxMDgsNyBA
QCBwcml2YXRlOgogCiAgICAgSW5zcGVjdG9yQWdlbnQqIG1faW5zcGVjdG9yQWdlbnQ7CiAgICAg
SW5zcGVjdG9yQ29uc29sZUFnZW50KiBtX2NvbnNvbGVBZ2VudDsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50
KiBtX2RhdGFiYXNlQWdlbnQ7CiAjZW5kaWYKICNpZiBFTkFCTEUoRE9NX1NUT1JBR0UpCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3Bw
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
b250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTAxLDcgKzEwMSw3IEBAIEluc3BlY3Rv
ckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIKICAgICAsIG1fcGFnZUFnZW50KEluc3Bl
Y3RvclBhZ2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgcGFnZSwg
bV9pbmplY3RlZFNjcmlwdE1hbmFnZXIuZ2V0KCkpKQogICAgICwgbV9kb21BZ2VudChJbnNwZWN0
b3JET01BZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVudGluZ0FnZW50cy5nZXQoKSwgbV9wYWdlQWdl
bnQuZ2V0KCksIGluc3BlY3RvckNsaWVudCwgbV9zdGF0ZS5nZXQoKSwgbV9pbmplY3RlZFNjcmlw
dE1hbmFnZXIuZ2V0KCkpKQogICAgICwgbV9jc3NBZ2VudChhZG9wdFB0cihuZXcgSW5zcGVjdG9y
Q1NTQWdlbnQobV9pbnN0cnVtZW50aW5nQWdlbnRzLmdldCgpLCBtX2RvbUFnZW50LmdldCgpKSkp
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgLCBt
X2RhdGFiYXNlQWdlbnQoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudDo6Y3JlYXRlKG1faW5zdHJ1bWVu
dGluZ0FnZW50cy5nZXQoKSwgbV9zdGF0ZS5nZXQoKSkpCiAjZW5kaWYKICNpZiBFTkFCTEUoRE9N
X1NUT1JBR0UpCkBAIC0xMzAsNyArMTMwLDcgQEAgSW5zcGVjdG9yQ29udHJvbGxlcjo6SW5zcGVj
dG9yQ29udHJvbGxlcgogICAgIEFTU0VSVF9BUkcoaW5zcGVjdG9yQ2xpZW50LCBpbnNwZWN0b3JD
bGllbnQpOwogICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3Qo
KS0+aW5pdChtX2luc3BlY3RvckFnZW50LmdldCgpCiAgICAgICAgICwgbV9jb25zb2xlQWdlbnQu
Z2V0KCkKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAg
ICAgICAgLCBtX2RhdGFiYXNlQWdlbnQuZ2V0KCkKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKQEAgLTIxNCw3ICsyMTQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5l
Y3RGcm9udGVuCiAgICAgbV9kZWJ1Z2dlckFnZW50LT5zZXRGcm9udGVuZChtX2luc3BlY3RvckZy
b250ZW5kLmdldCgpKTsKICAgICBtX3Byb2ZpbGVyQWdlbnQtPnNldEZyb250ZW5kKG1faW5zcGVj
dG9yRnJvbnRlbmQuZ2V0KCkpOwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgbV9kYXRhYmFzZUFnZW50LT5zZXRGcm9udGVuZChtX2lu
c3BlY3RvckZyb250ZW5kLmdldCgpKTsKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkK
QEAgLTI0NCw3ICsyNDQsNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGcm9u
dGVuCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgICAgICBtX2RvbVN0b3JhZ2VBZ2VudC5n
ZXQoKSwKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgICAgICBtX2RhdGFiYXNlQWdlbnQuZ2V0KCksCiAjZW5kaWYKICNpZiBFTkFCTEUo
SkFWQVNDUklQVF9ERUJVR0dFUikKQEAgLTI5Myw3ICsyOTMsNyBAQCB2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OmRpc2Nvbm5lY3RGcm9uCiAgICAgbV9jc3NBZ2VudC0+Y2xlYXJGcm9udGVuZCgp
OwogICAgIG1fdGltZWxpbmVBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogICAgIG1fcmVzb3VyY2VB
Z2VudC0+Y2xlYXJGcm9udGVuZCgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+Y2xlYXJGcm9udGVuZCgpOwogI2Vu
ZGlmCiAjaWYgRU5BQkxFKERPTV9TVE9SQUdFKQpAQCAtMzQ2LDcgKzM0Niw3IEBAIHZvaWQgSW5z
cGVjdG9yQ29udHJvbGxlcjo6cmVzdG9yZUluc3BlY3QKICAgICBtX3Jlc291cmNlQWdlbnQtPnJl
c3RvcmUoKTsKICAgICBtX3RpbWVsaW5lQWdlbnQtPnJlc3RvcmUoKTsKICAgICBtX2NvbnNvbGVB
Z2VudC0+cmVzdG9yZSgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIG1fZGF0YWJhc2VBZ2VudC0+cmVzdG9yZSgpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKERPTV9TVE9SQUdFKQpJbmRleDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yQ29udHJvbGxlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzNCw3ICsx
MzQsNyBAQCBwcml2YXRlOgogICAgIE93blB0cjxJbnNwZWN0b3JQYWdlQWdlbnQ+IG1fcGFnZUFn
ZW50OwogICAgIE93blB0cjxJbnNwZWN0b3JET01BZ2VudD4gbV9kb21BZ2VudDsKICAgICBPd25Q
dHI8SW5zcGVjdG9yQ1NTQWdlbnQ+IG1fY3NzQWdlbnQ7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgT3duUHRyPEluc3BlY3RvckRhdGFiYXNlQWdl
bnQ+IG1fZGF0YWJhc2VBZ2VudDsKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZUFnZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VB
Z2VudC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRhdGFiYXNlQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw3ICszMCw3IEBA
CiAKICNpbmNsdWRlICJJbnNwZWN0b3JEYXRhYmFzZUFnZW50LmgiCiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKSAmJiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKElOU1BFQ1RPUikgJiYgRU5B
QkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiRXhj
ZXB0aW9uQ29kZS5oIgpAQCAtMzU3LDQgKzM1Nyw0IEBAIERhdGFiYXNlKiBJbnNwZWN0b3JEYXRh
YmFzZUFnZW50OjpkYXRhYmEKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8g
RU5BQkxFKElOU1BFQ1RPUikgJiYgRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShJ
TlNQRUNUT1IpICYmIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VJbnN0cnVtZW50YXRp
b24uaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRGF0YWJhc2VJbnN0cnVtZW50YXRpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcs
NyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6ZGlkT3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NS
ZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlLCBjb25zdCBTdHJpbmcmIGRvbWFpbiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24pCiB7CiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JEYXRhYmFzZVJlc291
cmNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RGF0YWJhc2VSZXNvdXJjZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9y
RGF0YWJhc2VSZXNvdXJjZS5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAmJiBFTkFCTEUoSU5T
UEVDVE9SKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpICYmIEVOQUJMRShJTlNQRUNUT1IpCiAj
aW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVuZC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvclZhbHVlcy5oIgpAQCAtNjYsNCArNjYsNCBAQCB2b2lkIEluc3BlY3Rv
ckRhdGFiYXNlUmVzb3VyY2U6OmJpbmQoSW5zCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkgJiYgRU5BQkxFKElOU1BFQ1RPUikKKyNlbmRpZiAv
LyBFTkFCTEUoU1FMX0RBVEFCQVNFKSAmJiBFTkFCTEUoSU5TUEVDVE9SKQpJbmRleDogU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRhdGFiYXNlUmVzb3VyY2UuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZS5o
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JE
YXRhYmFzZVJlc291cmNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5k
ZWYgSW5zcGVjdG9yRGF0YWJhc2VSZXNvdXJjZV9oCiAjZGVmaW5lIEluc3BlY3RvckRhdGFiYXNl
UmVzb3VyY2VfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKSAmJiBFTkFCTEUoSU5TUEVDVE9SKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpICYmIEVOQUJMRShJTlNQRUNUT1IpCiAjaW5jbHVkZSAi
SW5zcGVjdG9yRnJvbnRlbmQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1
ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CkBAIC02Myw2ICs2Myw2IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAv
LyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gSW5zcGVjdG9yRGF0YWJhc2VSZXNv
dXJjZV9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNjQzLDcgKzY0Myw3IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDb21t
aXQKICNlbmRpZgogICAgICAgICBpZiAoSW5zcGVjdG9yQ1NTQWdlbnQqIGNzc0FnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ1NTQWdlbnQoKSkKICAgICAgICAgICAgIGNzc0Fn
ZW50LT5yZXNldCgpOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgICAgICBpZiAoSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogZGF0YWJhc2VBZ2VudCA9
IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRhdGFiYXNlQWdlbnQoKSkKICAgICAgICAg
ICAgIGRhdGFiYXNlQWdlbnQtPmNsZWFyUmVzb3VyY2VzKCk7CiAjZW5kaWYKQEAgLTc1MSw3ICs3
NTEsNyBAQCBib29sIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6cHJvZmlsZXJFCiB9CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogdm9p
ZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE9wZW5EYXRhYmFzZUltcGwoSW5zdHJ1bWVu
dGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgUGFzc1JlZlB0cjxEYXRhYmFzZT4gZGF0
YWJhc2UsIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdmVyc2lvbikKIHsKICAgICBJbnNwZWN0b3JBZ2VudCogaW5zcGVjdG9yQWdlbnQgPSBp
bnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JBZ2VudCgpOwpJbmRleDogU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAkocmV2aXNp
b24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTE2Niw3ICsxNjYsNyBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIGJvb2wgcHJvZmlsZXJFbmFibGVkKFBhZ2UqKTsKICNlbmRpZgogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgc3RhdGljIHZvaWQgZGlk
T3BlbkRhdGFiYXNlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBQYXNzUmVmUHRyPERhdGFiYXNl
PiwgY29uc3QgU3RyaW5nJiBkb21haW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB2ZXJzaW9uKTsKICNlbmRpZgogCkBAIC0zMDAsNyArMzAwLDcgQEAgcHJpdmF0ZToKICAgICBz
dGF0aWMgYm9vbCBwcm9maWxlckVuYWJsZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKICNl
bmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAg
ICAgc3RhdGljIHZvaWQgZGlkT3BlbkRhdGFiYXNlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwg
UGFzc1JlZlB0cjxEYXRhYmFzZT4sIGNvbnN0IFN0cmluZyYgZG9tYWluLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbik7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3RydW1lbnRpbmdBZ2VudHMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zdHJ1bWVudGluZ0FnZW50cy5oCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnN0cnVtZW50aW5nQWdlbnRzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGljOgogI2lmIEVOQUJMRShET01fU1RP
UkFHRSkKICAgICAgICAgLCBtX2luc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgwKQogI2VuZGlmCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgICwg
bV9pbnNwZWN0b3JEYXRhYmFzZUFnZW50KDApCiAjZW5kaWYKICNpZiBFTkFCTEUoT0ZGTElORV9X
RUJfQVBQTElDQVRJT05TKQpAQCAtMTE1LDcgKzExNSw3IEBAIHB1YmxpYzoKICAgICBJbnNwZWN0
b3JET01TdG9yYWdlQWdlbnQqIGluc3BlY3RvckRPTVN0b3JhZ2VBZ2VudCgpIGNvbnN0IHsgcmV0
dXJuIG1faW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JE
T01TdG9yYWdlQWdlbnQoSW5zcGVjdG9yRE9NU3RvcmFnZUFnZW50KiBhZ2VudCkgeyBtX2luc3Bl
Y3RvckRPTVN0b3JhZ2VBZ2VudCA9IGFnZW50OyB9CiAjZW5kaWYKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBJbnNwZWN0b3JEYXRhYmFzZUFnZW50
KiBpbnNwZWN0b3JEYXRhYmFzZUFnZW50KCkgY29uc3QgeyByZXR1cm4gbV9pbnNwZWN0b3JEYXRh
YmFzZUFnZW50OyB9CiAgICAgdm9pZCBzZXRJbnNwZWN0b3JEYXRhYmFzZUFnZW50KEluc3BlY3Rv
ckRhdGFiYXNlQWdlbnQqIGFnZW50KSB7IG1faW5zcGVjdG9yRGF0YWJhc2VBZ2VudCA9IGFnZW50
OyB9CiAjZW5kaWYKQEAgLTE1MCw3ICsxNTAsNyBAQCBwcml2YXRlOgogI2lmIEVOQUJMRShET01f
U1RPUkFHRSkKICAgICBJbnNwZWN0b3JET01TdG9yYWdlQWdlbnQqIG1faW5zcGVjdG9yRE9NU3Rv
cmFnZUFnZW50OwogI2VuZGlmCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAgICAgSW5zcGVjdG9yRGF0YWJhc2VBZ2VudCogbV9pbnNwZWN0b3JEYXRhYmFz
ZUFnZW50OwogI2VuZGlmCiAjaWYgRU5BQkxFKE9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Xb3JrZXJJbnNwZWN0b3JDb250cm9sbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvV29ya2VySW5zcGVjdG9y
Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL1dvcmtlckluc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEs
NyArMTAxLDcgQEAgV29ya2VySW5zcGVjdG9yQ29udHJvbGxlcjo6V29ya2VySW5zcGVjdAogewog
ICAgIG1faW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLT5pbmplY3RlZFNjcmlwdEhvc3QoKS0+aW5pdCgw
CiAgICAgICAgICwgMAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgICAgICAsIDAKICNlbmRpZgogI2lmIEVOQUJMRShET01fU1RPUkFHRSkKQEAgLTEz
OCw3ICsxMzgsNyBAQCB2b2lkIFdvcmtlckluc3BlY3RvckNvbnRyb2xsZXI6OmNvbm5lY3RGCiAj
aWYgRU5BQkxFKERPTV9TVE9SQUdFKQogICAgICAgICAwLCAvLyBJbnNwZWN0b3JET01TdG9yYWdl
QWdlbnQKICNlbmRpZgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogICAgICAgICAwLCAvLyBJbnNwZWN0b3JEYXRhYmFzZUFnZW50CiAjZW5kaWYKICNpZiBF
TkFCTEUoSkFWQVNDUklQVF9ERUJVR0dFUikKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9nZW5lcmF0ZS1pbnNwZWN0b3ItaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC04NCw3ICs4NCw3IEBAIHR5cGVfdHJhaXRzID0gewogcmVmX3R5cGVzID0ge30KIAogbWFj
cm9fdHJhaXRzID0gewotICAgICJEYXRhYmFzZSI6ICJEQVRBQkFTRSIsCisgICAgIkRhdGFiYXNl
IjogIlNRTF9EQVRBQkFTRSIsCiAgICAgIkRPTVN0b3JhZ2UiOiAiRE9NX1NUT1JBR0UiLAogICAg
ICJBcHBsaWNhdGlvbkNhY2hlIjogIk9GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyIsCiAgICAgIkRl
YnVnZ2VyIjogIkpBVkFTQ1JJUFRfREVCVUdHRVIiLApJbmRleDogU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2xvYWRlci9F
bXB0eUNsaWVudHMuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RW1wdHlDbGllbnRzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4MCw3ICsxODAsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKSB7IH0KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1YWwgdm9pZCBleGNlZWRl
ZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmKSB7IH0KICNlbmRpZgogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysg
U291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDI2LDcgKzQyNiw3IEBAIHZvaWQgRnJhbWVMb2FkZXI6OnN0b3BMb2FkaW5nKFVubG9hZEV2ZW4K
ICAgICAgICAgLy8gaHR0cDovL3d3dy53My5vcmcvQnVncy9QdWJsaWMvc2hvd19idWcuY2dpP2lk
PTEwNTM3CiAgICAgICAgIGRvYy0+c2V0UmVhZHlTdGF0ZShEb2N1bWVudDo6Q29tcGxldGUpOwog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAg
IGRvYy0+c3RvcERhdGFiYXNlcygwKTsKICNlbmRpZgogICAgIH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzksNyArMTc5LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKSA9IDA7CiAg
ICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRSdWJiZXJCYW5kSW5EaXJlY3Rpb24oU2Nyb2xsRGly
ZWN0aW9uKSBjb25zdCA9IDA7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShG
cmFtZSosIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKSA9IDA7CiAjZW5kaWYKIApJbmRleDog
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzNDUsNyArMTM0NSw3
IEBAIGRvdWJsZSBET01XaW5kb3c6OmRldmljZVBpeGVsUmF0aW8oKSBjb24KICAgICByZXR1cm4g
cGFnZS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKIH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogUGFzc1JlZlB0cjxEYXRhYmFzZT4gRE9NV2luZG93Ojpv
cGVuRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNv
bnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFz
c1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBSZWZQdHI8RGF0YWJhc2U+IGRhdGFiYXNlID0gMDsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cGFnZS9ET01XaW5kb3cuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNDksOCArMzQ5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICBET01VUkwqIHdlYmtpdFVSTCgpIGNvbnN0OwogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCi0gICAgICAgIC8vIEhUTUwgNSBjbGllbnQtc2lkZSBkYXRh
YmFzZQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIFBhc3NSZWZQdHI8RGF0YWJh
c2U+IG9wZW5EYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lv
biwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXpl
LCBQYXNzUmVmUHRyPERhdGFiYXNlQ2FsbGJhY2s+IGNyZWF0aW9uQ2FsbGJhY2ssIEV4Y2VwdGlv
bkNvZGUmKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAkod29ya2lu
ZyBjb3B5KQpAQCAtMTY2LDcgKzE2Niw3IEBAIG1vZHVsZSB3aW5kb3cgewogI2lmIGRlZmluZWQo
RU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUykgJiYgRU5BQkxFX09GRkxJTkVfV0VCX0FQ
UExJQ0FUSU9OUwogICAgICAgICByZWFkb25seSBhdHRyaWJ1dGUgW0VuYWJsZWRBdFJ1bnRpbWVd
IERPTUFwcGxpY2F0aW9uQ2FjaGUgYXBwbGljYXRpb25DYWNoZTsKICNlbmRpZiAgICAKLSNpZiBk
ZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RBVEFCQVNFCisjaWYgZGVmaW5lZChF
TkFCTEVfU1FMX0RBVEFCQVNFKSAmJiBFTkFCTEVfU1FMX0RBVEFCQVNFCiAgICAgICAgIFtFbmFi
bGVkQXRSdW50aW1lXSBEYXRhYmFzZSBvcGVuRGF0YWJhc2UoaW4gRE9NU3RyaW5nIG5hbWUsIGlu
IERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlzcGxheU5hbWUsIGluIHVuc2lnbmVk
IGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBPcHRpb25hbF0gRGF0YWJhc2VDYWxs
YmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAgICAgICAgcmFpc2VzKERPTUV4Y2VwdGlvbik7
CiAjZW5kaWYKQEAgLTc5MCw3ICs3OTAsNyBAQCBtb2R1bGUgd2luZG93IHsKICNlbmRpZgogI2Vu
ZGlmCiAKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1EQVRBQkFTRV0gU1FMRXhjZXB0
aW9uQ29uc3RydWN0b3IgU1FMRXhjZXB0aW9uOworICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlv
bmFsPVNRTF9EQVRBQkFTRV0gU1FMRXhjZXB0aW9uQ29uc3RydWN0b3IgU1FMRXhjZXB0aW9uOwog
CiAKICAgICAgICAgYXR0cmlidXRlIERPTUZvcm1EYXRhQ29uc3RydWN0b3IgRm9ybURhdGE7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlQXV0aG9yaXplci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUF1dGhvcml6ZXIu
Y3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVBdXRob3JpemVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlQXV0aG9yaXplci5oIgogCi0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNpbmNsdWRlIDxzcWxp
dGUzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQwLDQgKzQxLDQgQEAgY29uc3QgaW50
IFNRTEF1dGhEZW55ID0gU1FMSVRFX0RFTlk7CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNF
KQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2Uu
Y3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxp
dGVEYXRhYmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3LDcgKzI3LDggQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxpdGVEYXRhYmFzZS5oIgogCi0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNpbmNsdWRlICJEYXRhYmFzZUF1
dGhvcml6ZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiU1FMaXRlRmlsZVN5
c3RlbS5oIgpAQCAtNDcxLDQgKzQ3Miw0IEBAIGJvb2wgU1FMaXRlRGF0YWJhc2U6OnR1cm5Pbklu
Y3JlbWVudGFsQXUKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRmlsZVN5c3RlbS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZUZpbGVTeXN0ZW0uY3BwCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVGaWxlU3lzdGVt
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIlNRTGl0ZUZpbGVTeXN0ZW0uaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRmlsZVN5c3RlbS5oIgogI2lu
Y2x1ZGUgIlNRTGl0ZURhdGFiYXNlLmgiCkBAIC0xMjUsNCArMTI1LDUgQEAgbG9uZyBsb25nIFNR
TGl0ZUZpbGVTeXN0ZW06OmdldERhdGFiYXNlRgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRB
QkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0ZW1lbnQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVTdGF0
ZW1lbnQuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Nx
bC9TUUxpdGVTdGF0ZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMaXRlU3RhdGVtZW50LmgiCiAKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJTUUxWYWx1ZS5oIgpAQCAtNTQ2LDQgKzU0Niw0IEBAIGJvb2wg
U1FMaXRlU3RhdGVtZW50Ojppc0V4cGlyZWQoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
LSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFT
RSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NxbC9TUUxpdGVUcmFuc2FjdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZVRyYW5z
YWN0aW9uLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9z
cWwvU1FMaXRlVHJhbnNhY3Rpb24uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMaXRlVHJhbnNhY3Rpb24uaCIKIAot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVk
ZSAiU1FMaXRlRGF0YWJhc2UuaCIKIApAQCAtMTAzLDQgKzEwMyw1IEBAIGJvb2wgU1FMaXRlVHJh
bnNhY3Rpb246Ondhc1JvbGxlZEJhY2tCeVMKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
I2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKworI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJB
U0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0Fic3RyYWN0RGF0YWJhc2UuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQWJzdHJhY3REYXRhYmFzZS5jcHAJ
KHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFi
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksOCBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSAiRGF0YWJhc2VBdXRob3Jp
emVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5o
IgpAQCAtNTQ1LDQgKzU0Niw0IEBAIGJvb2wgQWJzdHJhY3REYXRhYmFzZTo6aXNJbnRlcnJ1cHRl
ZCgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFT
RSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9BYnN0cmFjdERhdGFiYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAKICNpZm5kZWYgQWJzdHJhY3REYXRhYmFzZV9oCiAjZGVmaW5lIEFic3RyYWN0RGF0
YWJhc2VfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcu
aCIKQEAgLTEzMyw2ICsxMzMsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRB
QkFTRSkKIAogI2VuZGlmIC8vIEFic3RyYWN0RGF0YWJhc2VfaApJbmRleDogU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDggQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJDaGFuZ2VWZXJzaW9uV3JhcHBlci5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCisKICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUg
IlNRTEVycm9yLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTg1LDQgKzg2LDQg
QEAgdm9pZCBDaGFuZ2VWZXJzaW9uV3JhcHBlcjo6aGFuZGxlQ29tbWl0RgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5B
QkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvQ2hhbmdlVmVy
c2lvbldyYXBwZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0NoYW5n
ZVZlcnNpb25XcmFwcGVyLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9DaGFuZ2VWZXJzaW9uV3JhcHBlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3
IEBACiAjaWZuZGVmIENoYW5nZVZlcnNpb25XcmFwcGVyX2gKICNkZWZpbmUgQ2hhbmdlVmVyc2lv
bldyYXBwZXJfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0
aW9uLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksOCBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFi
YXNlLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
KwogI2luY2x1ZGUgIkNoYW5nZVZlcnNpb25XcmFwcGVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VD
YWxsYmFjay5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgpAQCAtNDEyLDQgKzQxMyw0IEBA
IFNlY3VyaXR5T3JpZ2luKiBEYXRhYmFzZTo6c2VjdXJpdHlPcmlnaW4KIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJM
RShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5oCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2UuaAkod29ya2luZyBj
b3B5KQpAQCAtMjksNyArMjksOCBAQAogI2lmbmRlZiBEYXRhYmFzZV9oCiAjZGVmaW5lIERhdGFi
YXNlX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQor
CiAjaW5jbHVkZSAiQWJzdHJhY3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtMTE1LDYgKzExNiw2IEBAIHByaXZh
dGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFT
RSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gRGF0YWJhc2Vf
aApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZS5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0gICAg
ICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJB
U0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0aWNUYWJsZXMKICAg
ICBdIERhdGFiYXNlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VBdXRo
b3JpemVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNl
QXV0aG9yaXplci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZUF1dGhvcml6ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VBdXRob3JpemVyLmgiCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1
ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5oCShyZXZpc2lvbiA5NTI0
MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIERhdGFiYXNlQ2FsbGJhY2tfaAogI2Rl
ZmluZSBEYXRhYmFzZUNhbGxiYWNrX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDYWxsYmFjay5pZGwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNhbGxiYWNrLmlkbAko
cmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ2FsbGJh
Y2suaWRsCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAKIG1vZHVsZSBzdG9yYWdl
IHsKICAgICBpbnRlcmZhY2UgWwotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAg
ICAgQ29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9u
YWxBcmd1bWVudHMsCiAgICAgICAgIENhbGxiYWNrCiAgICAgXSBEYXRhYmFzZUNhbGxiYWNrIHsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VEZXRhaWxzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZURldGFpbHMuaAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlRGV0YWlscy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIERhdGFiYXNlRGV0YWlsc19oCiAj
ZGVmaW5lIERhdGFiYXNlRGV0YWlsc19oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5B
QkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5jcHAJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0zMSw3ICszMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJh
c2VTeW5jLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKKwogI2luY2x1ZGUgIkRhdGFiYXNlQ2FsbGJhY2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRy
YWNrZXIuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTcsNCArMTk4LDQgQEAgdm9pZCBE
YXRhYmFzZVN5bmM6OmNsb3NlSW1tZWRpYXRlbHkoKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRB
QkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VTeW5jLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVN5bmMuaAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlU3luYy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMSw3ICszMSw4IEBACiAjaWZuZGVmIERhdGFiYXNlU3luY19oCiAjZGVmaW5l
IERhdGFiYXNlU3luY19oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKKwogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTcwLDYgKzcxLDYg
QEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxF
KERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKLSNlbmRpZiAvLyBE
YXRhYmFzZVN5bmNfaAorI2VuZGlmCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFi
YXNlU3luYy5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFz
ZVN5bmMuaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VTeW5jLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogbW9kdWxlIHN0
b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0Us
CisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAgT21pdENvbnN0cnVj
dG9yLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gRGF0YWJhc2VTeW5jIHsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5jcHAJKHJldmlzaW9uIDk1MjQzKQor
KysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJh
c2VUYXNrLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFT
RSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRhc2suaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGFzay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUYXNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTI4
LDcgKzI4LDggQEAKICNpZm5kZWYgRGF0YWJhc2VUYXNrX2gKICNkZWZpbmUgRGF0YWJhc2VUYXNr
X2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAj
aW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVk
ZSAiUGxhdGZvcm1TdHJpbmcuaCIKQEAgLTE3Myw1ICsxNzQsNiBAQCBwcml2YXRlOgogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYg
Ly8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKwogI2VuZGlmIC8vIERhdGFiYXNlVGFza19oCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkRhdGFiYXNlVGhyZWFkLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkF1dG9kcmFpbmVkUG9vbC5oIgogI2luY2x1ZGUgIkRh
dGFiYXNlLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVGhyZWFkLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRocmVhZC5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUaHJlYWQu
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsOCBAQAogI2lmbmRlZiBEYXRhYmFzZVRocmVh
ZF9oCiAjZGVmaW5lIERhdGFiYXNlVGhyZWFkX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgpAQCAtOTEsNSArOTIs
NSBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFC
TEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNlbmRpZiAvLyBE
YXRhYmFzZVRocmVhZF9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJh
Y2tlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRy
YWNrZXIuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0
YWJhc2VUcmFja2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJBYnN0cmFj
dERhdGFiYXNlLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVHJhY2tlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjks
NyBAQAogI2lmbmRlZiBEYXRhYmFzZVRyYWNrZXJfaAogI2RlZmluZSBEYXRhYmFzZVRyYWNrZXJf
aAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNp
bmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC0x
ODcsNSArMTg3LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5k
aWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCisK
ICNlbmRpZiAvLyBEYXRhYmFzZVRyYWNrZXJfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9EYXRhYmFzZVRyYWNrZXJDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0RhdGFiYXNlVHJhY2tlckNsaWVudC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkK
QEAgLTI4LDcgKzI4LDcgQEAKICNpZm5kZWYgRGF0YWJhc2VUcmFja2VyQ2xpZW50X2gKICNkZWZp
bmUgRGF0YWJhc2VUcmFja2VyQ2xpZW50X2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KIApJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmNwcAkocmV2aXNp
b24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJPcmlnaW5RdW90YU1hbmFnZXIuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQWJzdHJhY3REYXRhYmFzZS5o
IgogI2luY2x1ZGUgIk9yaWdpblVzYWdlUmVjb3JkLmgiCkBAIC0xMzQsNCArMTM0LDQgQEAgdW5z
aWduZWQgbG9uZyBsb25nIE9yaWdpblF1b3RhTWFuYWdlcjo6ZAogCiB9CiAKLSNlbmRpZiAvLyBF
TkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luUXVvdGFNYW5hZ2VyLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5RdW90YU1hbmFnZXIuaAkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblF1b3RhTWFuYWdlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIE9yaWdpblF1b3RhTWFuYWdlcl9o
CiAjZGVmaW5lIE9yaWdpblF1b3RhTWFuYWdlcl9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luSGFzaC5o
IgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC03MSw2ICs3MSw2IEBAIHByaXZhdGU6CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNl
bmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gT3JpZ2luUXVvdGFNYW5h
Z2VyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNhZ2VSZWNvcmQu
Y3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2luVXNh
Z2VSZWNvcmQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiT3JpZ2luVXNhZ2VSZWNvcmQuaCIKIAotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiU1FMaXRlRmls
ZVN5c3RlbS5oIgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL09yaWdpblVzYWdlUmVj
b3JkLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9PcmlnaW5Vc2FnZVJl
Y29yZC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvT3JpZ2lu
VXNhZ2VSZWNvcmQuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lmbmRlZiBP
cmlnaW5Vc2FnZVJlY29yZF9oCiAjZGVmaW5lIE9yaWdpblVzYWdlUmVjb3JkX2gKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgpJbmRleDogU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxDYWxsYmFja1dyYXBwZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL1NRTENhbGxiYWNrV3JhcHBlci5oCShyZXZpc2lvbiA5NTI0MykKKysr
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMQ2FsbGJhY2tXcmFwcGVyLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI4LDcgKzI4LDcgQEAKICNpZm5kZWYgU1FMQ2FsbGJhY2tXcmFwcGVyX2gKICNkZWZp
bmUgU1FMQ2FsbGJhY2tXcmFwcGVyX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFC
TEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQ3Jvc3NUaHJlYWRUYXNrLmgiCiAjaW5jbHVk
ZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgpAQCAtMTAzLDYgKzEwMyw2IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkK
KyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gU1FMQ2FsbGJhY2tX
cmFwcGVyX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXJyb3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEVycm9yLmgJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIFNRTEVycm9yX2gKICNkZWZpbmUgU1FMRXJyb3JfaAog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRl
ZC5oPgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFcnJvci5pZGwJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKIAogICAgIGludGVyZmFjZSBbCi0g
ICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFU
QUJBU0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0aWNUYWJsZXMK
ICAgICBdIFNRTEVycm9yIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMRXhjZXB0
aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxFeGNlcHRpb24u
aAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTEV4Y2VwdGlv
bi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIFNRTEV4Y2VwdGlv
bl9oCiAjZGVmaW5lIFNRTEV4Y2VwdGlvbl9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkJhc2UuaCIKIApAQCAt
NjcsNiArNjcsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRp
ZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAog
I2VuZGlmIC8vIFNRTEV4Y2VwdGlvbl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TEV4Y2VwdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxF
eGNlcHRpb24uaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U1FMRXhjZXB0aW9uLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogbW9kdWxl
IHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJB
U0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAgICAgTm9TdGF0aWNU
YWJsZXMsCiAgICAgICAgIERvbnRDaGVja0VudW1zCiAgICAgXSBTUUxFeGNlcHRpb24gewpJbmRl
eDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmNwcAkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxS
ZXN1bHRTZXQuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMUmVzdWx0U2V0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxSZXN1bHRTZXQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTFJlc3VsdFNldC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVm
IFNRTFJlc3VsdFNldF9oCiAjZGVmaW5lIFNRTFJlc3VsdFNldF9oCiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkV4Y2VwdGlvbkNv
ZGUuaCIKICNpbmNsdWRlICJTUUxSZXN1bHRTZXRSb3dMaXN0LmgiCkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TUUxSZXN1bHRTZXQuaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyAr
MjksNyBAQAogbW9kdWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKLSAgICAgICAgQ29u
ZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAg
ICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBOb1N0YXRpY1RhYmxlcwogICAgIF0gU1FM
UmVzdWx0U2V0IHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0Um93
TGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRT
ZXRSb3dMaXN0LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L1NRTFJlc3VsdFNldFJvd0xpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiU1FMUmVzdWx0U2V0Um93TGlzdC5oIgog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRT
ZXRSb3dMaXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1
bHRTZXRSb3dMaXN0LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxSZXN1bHRTZXRSb3dMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAK
ICNpZm5kZWYgU1FMUmVzdWx0U2V0Um93TGlzdF9oCiAjZGVmaW5lIFNRTFJlc3VsdFNldFJvd0xp
c3RfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAK
ICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUgIlNRTFZhbHVlLmgiCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFJlc3VsdFNldFJvd0xpc3QuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMUmVzdWx0U2V0Um93TGlzdC5pZGwJKHJl
dmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxSZXN1bHRTZXRSb3dM
aXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMzAsNyArMzAsNyBAQCBtb2R1bGUgc3RvcmFnZSB7
CiAKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVu
dHMsCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1T
UUxfREFUQUJBU0UsCiAgICAgICAgIE9taXRDb25zdHJ1Y3RvciwKICAgICAgICAgTm9TdGF0aWNU
YWJsZXMKICAgICBdIFNRTFJlc3VsdFNldFJvd0xpc3QgewpJbmRleDogU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxTdGF0ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMU3RhdGVtZW50LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI4LDcgKzI4LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxTdGF0ZW1lbnQuaCIKIAotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAi
RGF0YWJhc2UuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0xOTksNCArMTk5LDQgQEAgYm9v
bCBTUUxTdGF0ZW1lbnQ6Omxhc3RFeGVjdXRpb25GYWlsZWREdQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNR
TF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnQuaAkocmV2
aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIFNRTFN0YXRlbWVudF9oCiAj
ZGVmaW5lIFNRTFN0YXRlbWVudF9oCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAi
U1FMQ2FsbGJhY2tXcmFwcGVyLmgiCkBAIC04MCw2ICs4MCw2IEBAIHByaXZhdGU6CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAv
LyBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjZW5kaWYgLy8gU1FMU3RhdGVtZW50X2gKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3RhdGVtZW50Q2FsbGJhY2suaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudENhbGxiYWNrLmgJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFj
ay5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw3IEBACiAjaWZuZGVmIFNRTFN0YXRlbWVu
dENhbGxiYWNrX2gKICNkZWZpbmUgU1FMU3RhdGVtZW50Q2FsbGJhY2tfaAogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlIDx3dGYvVGhy
ZWFkU2FmZVJlZkNvdW50ZWQuaD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxT
dGF0ZW1lbnRDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAg
LTI5LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAg
ICBMZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCi0gICAgICAgIENvbmRpdGlvbmFsPURB
VEFCQVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIENhbGxi
YWNrCiAgICAgXSBTUUxTdGF0ZW1lbnRDYWxsYmFjayB7CiAgICAgICAgIGJvb2xlYW4gaGFuZGxl
RXZlbnQoaW4gU1FMVHJhbnNhY3Rpb24gdHJhbnNhY3Rpb24sIGluIFNRTFJlc3VsdFNldCByZXN1
bHRTZXQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRFcnJvckNh
bGxiYWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1l
bnRFcnJvckNhbGxiYWNrLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmgJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcg
KzI5LDcgQEAKICNpZm5kZWYgU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFja19oCiAjZGVmaW5lIFNR
TFN0YXRlbWVudEVycm9yQ2FsbGJhY2tfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQu
aD4KIApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRFcnJvckNhbGxi
YWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVu
dEVycm9yQ2FsbGJhY2suaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTI5
LDcgKzI5LDcgQEAKIG1vZHVsZSBzdG9yYWdlIHsKICAgICBpbnRlcmZhY2UgWwogICAgICAgICBM
ZWdhY3lEZWZhdWx0T3B0aW9uYWxBcmd1bWVudHMsCi0gICAgICAgIENvbmRpdGlvbmFsPURBVEFC
QVNFLAorICAgICAgICBDb25kaXRpb25hbD1TUUxfREFUQUJBU0UsCiAgICAgICAgIENhbGxiYWNr
CiAgICAgXSBTUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrIHsKICAgICAgICAgW0N1c3RvbV0gYm9v
bGVhbiBoYW5kbGVFdmVudChpbiBTUUxUcmFuc2FjdGlvbiB0cmFuc2FjdGlvbiwgaW4gU1FMRXJy
b3IgZXJyb3IpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxTdGF0ZW1lbnRTeW5j
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudFN5
bmMuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMU3Rh
dGVtZW50U3luYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxTdGF0ZW1lbnRTeW5jLmgiCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNl
U3luYy5oIgogI2luY2x1ZGUgIlNRTEV4Y2VwdGlvbi5oIgpAQCAtMTIzLDQgKzEyMyw0IEBAIFBh
c3NSZWZQdHI8U1FMUmVzdWx0U2V0PiBTUUxTdGF0ZW1lbnRTeW4KIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShT
UUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudFN5
bmMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRlbWVudFN5
bmMuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFN0YXRl
bWVudFN5bmMuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBTUUxT
dGF0ZW1lbnRTeW5jX2gKICNkZWZpbmUgU1FMU3RhdGVtZW50U3luY19oCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkV4Y2VwdGlv
bkNvZGUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgpAQCAtNTgsNiArNTgsNiBAQCBw
cml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFU
QUJBU0UpCisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIFNRTFN0
YXRlbWVudFN5bmNfaApJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlv
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlv
bi5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDcgKzI5LDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbi5oIgogCi0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJEYXRhYmFzZS5oIgog
I2luY2x1ZGUgIkRhdGFiYXNlQXV0aG9yaXplci5oIgpAQCAtNjEwLDQgKzYxMCw0IEBAIHZvaWQg
U1FMVHJhbnNhY3Rpb246OmNsZWFudXBBZnRlclRyYW5zYWMKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxf
REFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5oCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMjgsNyArMjgsNyBAQAogI2lmbmRlZiBTUUxUcmFuc2FjdGlv
bl9oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uX2gKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgogI2lu
Y2x1ZGUgIlNRTFN0YXRlbWVudC5oIgpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbi5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxU
cmFuc2FjdGlvbi5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbi5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDcgKzMwLDcgQEAgbW9k
dWxlIHN0b3JhZ2UgewogCiAgICAgaW50ZXJmYWNlIFsKICAgICAgICAgTGVnYWN5RGVmYXVsdE9w
dGlvbmFsQXJndW1lbnRzLAotICAgICAgICBDb25kaXRpb25hbD1EQVRBQkFTRSwKKyAgICAgICAg
Q29uZGl0aW9uYWw9U1FMX0RBVEFCQVNFLAogICAgICAgICBPbWl0Q29uc3RydWN0b3IsCiAgICAg
ICAgIE5vU3RhdGljVGFibGVzCiAgICAgXSBTUUxUcmFuc2FjdGlvbiB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2suaAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2FsbGJhY2su
aAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRlZiBTUUxUcmFuc2FjdGlv
bkNhbGxiYWNrX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25DYWxsYmFja19oCiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgPHd0Zi9U
aHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uQ2FsbGJhY2suaWRsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvU1FMVHJhbnNhY3Rpb25DYWxsYmFjay5pZGwJKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNhbGxiYWNrLmlkbAkod29ya2luZyBj
b3B5KQpAQCAtMjksNyArMjksNyBAQAogbW9kdWxlIHN0b3JhZ2UgewogICAgIGludGVyZmFjZSBb
CiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKLSAgICAgICAgQ29uZGl0
aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFTRSwKICAgICAg
ICAgQ2FsbGJhY2sKICAgICBdIFNRTFRyYW5zYWN0aW9uQ2FsbGJhY2sgewogICAgICAgICBib29s
ZWFuIGhhbmRsZUV2ZW50KGluIFNRTFRyYW5zYWN0aW9uIHRyYW5zYWN0aW9uKTsKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGll
bnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiU1FMVHJhbnNhY3Rpb25DbGllbnQuaCIKIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQWJzdHJhY3REYXRh
YmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgpAQCAtNjIsNCArNjIsNCBAQCBi
b29sIFNRTFRyYW5zYWN0aW9uQ2xpZW50OjpkaWRFeGNlZWRRdW90CiAKIH0KIAotI2VuZGlmIC8v
IEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDog
U291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25DbGllbnQuaAkocmV2aXNp
b24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50
LmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpZm5kZWYgU1FMVHJhbnNhY3Rp
b25DbGllbnRfaAogI2RlZmluZSBTUUxUcmFuc2FjdGlvbkNsaWVudF9oCiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgPHd0Zi9GYXN0
QWxsb2NCYXNlLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CkBAIC01Myw2ICs1Myw2
IEBAIHB1YmxpYzoKIAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8v
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNlbmRpZiAvLyBTUUxUcmFuc2FjdGlvbkNsaWVudF9o
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3Iu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25D
b29yZGluYXRvci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TUUxUcmFuc2FjdGlvbkNvb3JkaW5hdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ29v
cmRpbmF0b3IuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvbi5o
IgpAQCAtMTI3LDQgKzEyNyw0IEBAIHZvaWQgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcjo6c2h1
dGRvd24KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFC
QVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0b3IuaAkocmV2aXNpb24g
OTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ29vcmRpbmF0
b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lmbmRlZiBTUUxUcmFuc2Fj
dGlvbkNvb3JkaW5hdG9yX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25Db29yZGluYXRvcl9oCiAK
LSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1
ZGUgPHd0Zi9EZXF1ZS5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CkBAIC02NSw2ICs2NSw2
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICB9OwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERB
VEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNlbmRpZiAvLyBTUUxU
cmFuc2FjdGlvbkNvb3JkaW5hdG9yX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FM
VHJhbnNhY3Rpb25FcnJvckNhbGxiYWNrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaAkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaWZuZGVmIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFja19oCiAjZGVmaW5lIFNRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFja19oCiAKLSNp
ZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL1NRTFRyYW5zYWN0aW9uRXJyb3JDYWxsYmFjay5pZGwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkVycm9yQ2FsbGJhY2suaWRsCShyZXZpc2lv
biA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25FcnJvckNh
bGxiYWNrLmlkbAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogbW9kdWxlIHN0b3Jh
Z2UgewogICAgIGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3Vt
ZW50cywKLSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFs
PVNRTF9EQVRBQkFTRSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFNRTFRyYW5zYWN0aW9uRXJy
b3JDYWxsYmFjayB7CiAgICAgICAgIGJvb2xlYW4gaGFuZGxlRXZlbnQoaW4gU1FMRXJyb3IgZXJy
b3IpOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5j
LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5z
YWN0aW9uU3luYy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJTUUxUcmFuc2FjdGlvblN5bmMuaCIKIAotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiRGF0YWJh
c2VBdXRob3JpemVyLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VTeW5jLmgiCkBAIC0yMjAsNCArMjIw
LDQgQEAgdm9pZCBTUUxUcmFuc2FjdGlvblN5bmM6OnJvbGxiYWNrKCkKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJM
RShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0
aW9uU3luYy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNh
Y3Rpb25TeW5jLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9T
UUxUcmFuc2FjdGlvblN5bmMuaAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2lm
bmRlZiBTUUxUcmFuc2FjdGlvblN5bmNfaAogI2RlZmluZSBTUUxUcmFuc2FjdGlvblN5bmNfaAog
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNs
dWRlICJFeGNlcHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5jLmlkbAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5pZGwJKHJldmlz
aW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMu
aWRsCSh3b3JraW5nIGNvcHkpCkBAIC0zMiw3ICszMiw3IEBAIG1vZHVsZSBzdG9yYWdlIHsKIAog
ICAgIGludGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywK
LSAgICAgICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9E
QVRBQkFTRSwKICAgICAgICAgT21pdENvbnN0cnVjdG9yLAogICAgICAgICBOb1N0YXRpY1RhYmxl
cwogICAgIF0gU1FMVHJhbnNhY3Rpb25TeW5jIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3Jh
Z2UvU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmgJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmNDYWxsYmFjay5o
CSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAjaWZuZGVmIFNRTFRyYW5zYWN0aW9u
U3luY0NhbGxiYWNrX2gKICNkZWZpbmUgU1FMVHJhbnNhY3Rpb25TeW5jQ2FsbGJhY2tfaAogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRy
YW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbAkocmV2aXNpb24gOTUyNDMpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrLmlkbAko
d29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogbW9kdWxlIHN0b3JhZ2UgewogICAgIGlu
dGVyZmFjZSBbCiAgICAgICAgIExlZ2FjeURlZmF1bHRPcHRpb25hbEFyZ3VtZW50cywKLSAgICAg
ICAgQ29uZGl0aW9uYWw9REFUQUJBU0UsCisgICAgICAgIENvbmRpdGlvbmFsPVNRTF9EQVRBQkFT
RSwKICAgICAgICAgQ2FsbGJhY2sKICAgICBdIFNRTFRyYW5zYWN0aW9uU3luY0NhbGxiYWNrIHsK
ICAgICAgICAgYm9vbGVhbiBoYW5kbGVFdmVudChpbiBTUUxUcmFuc2FjdGlvblN5bmMgdHJhbnNh
Y3Rpb24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9EYXRhYmFzZU9i
c2VydmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9E
YXRhYmFzZU9ic2VydmVyLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9jaHJvbWl1bS9EYXRhYmFzZU9ic2VydmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKICNpZm5kZWYgRGF0YWJhc2VPYnNlcnZlcl9oCiAjZGVmaW5lIERhdGFiYXNlT2Jz
ZXJ2ZXJfaAogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogCkBAIC01Miw2ICs1Miw2IEBAIHB1YmxpYzoK
IAogfQogCi0jZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAKICNlbmRpZiAvLyBEYXRhYmFzZU9ic2VydmVyX2gKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0YWJhc2VUcmFja2VyQ2hyb21pdW0uY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vRGF0YWJhc2VUcmFja2Vy
Q2hyb21pdW0uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
Y2hyb21pdW0vRGF0YWJhc2VUcmFja2VyQ2hyb21pdW0uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFj
a2VyLmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkK
IAogI2luY2x1ZGUgIkFic3RyYWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZU9ic2Vy
dmVyLmgiCkBAIC0yMTgsNCArMjE4LDQgQEAgdm9pZCBEYXRhYmFzZVRyYWNrZXI6OmludGVycnVw
dEFsbERhdGFiYQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYgLy8g
RU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvY2hyb21p
dW0vUXVvdGFUcmFja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L2Nocm9taXVtL1F1b3RhVHJhY2tlci5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9RdW90YVRyYWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUXVvdGFUcmFja2VyLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1TdXBwb3J0LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9E
QVRBQkFTRSkKIAogI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIApAQCAtODksNCArODks
NCBAQCB2b2lkIFF1b3RhVHJhY2tlcjo6cmVzZXRTcGFjZUF2YWlsYWJsZVRvCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShEQVRBQkFTRSkKKyNlbmRpZiAvLyBF
TkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1
bS9RdW90YVRyYWNrZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2No
cm9taXVtL1F1b3RhVHJhY2tlci5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvY2hyb21pdW0vUXVvdGFUcmFja2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMxLDcg
KzMxLDcgQEAKICNpZm5kZWYgUXVvdGFUcmFja2VyX2gKICNkZWZpbmUgUXVvdGFUcmFja2VyX2gK
IAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAt
NjQsNiArNjQsNiBAQCBwcml2YXRlOgogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0Up
CisjZW5kaWYgLy8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2VuZGlmIC8vIFF1b3RhVHJhY2tl
cl9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL1NRTFRyYW5zYWN0aW9u
Q2xpZW50Q2hyb21pdW0uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
Y2hyb21pdW0vU1FMVHJhbnNhY3Rpb25DbGllbnRDaHJvbWl1bS5jcHAJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9TUUxUcmFuc2FjdGlvbkNsaWVu
dENocm9taXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIlNRTFRyYW5zYWN0aW9uQ2xpZW50LmgiCiAKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkFic3Ry
YWN0RGF0YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZU9ic2VydmVyLmgiCkBAIC04Niw0ICs4
Niw0IEBAIGJvb2wgU1FMVHJhbnNhY3Rpb25DbGllbnQ6OmRpZEV4Y2VlZFF1b3QKIAogfQogCi0j
ZW5kaWYgLy8gRU5BQkxFKERBVEFCQVNFKQorI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0Up
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAJKHJldmlzaW9u
IDk1MjQzKQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMjk5LDcgKzI5OSw3IEBAIE5vdGlmaWNhdGlvbkNlbnRlciogV29ya2Vy
Q29udGV4dDo6d2Via2kKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiBQYXNzUmVmUHRyPERhdGFiYXNlPiBXb3JrZXJDb250ZXh0Ojpv
cGVuRGF0YWJhc2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNv
bnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFz
c1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2Rl
JiBlYykKIHsKICAgICBpZiAoIXNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0RhdGFiYXNlKCkg
fHwgIUFic3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCkpIHsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTMsNyArMTEz
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBOb3RpZmljYXRpb25DZW50ZXIqIHdl
YmtpdE5vdGlmaWNhdGlvbnMoKSBjb25zdDsKICNlbmRpZgogCi0jaWYgRU5BQkxFKERBVEFCQVNF
KQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIC8vIEhUTUwgNSBjbGllbnQtc2lk
ZSBkYXRhYmFzZQogICAgICAgICBQYXNzUmVmUHRyPERhdGFiYXNlPiBvcGVuRGF0YWJhc2UoY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNvbnN0IFN0cmluZyYgZGlz
cGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFz
ZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CiAgICAgICAgIFBh
c3NSZWZQdHI8RGF0YWJhc2VTeW5jPiBvcGVuRGF0YWJhc2VTeW5jKGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1lLCB1bnNp
Z25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQdHI8RGF0YWJhc2VDYWxsYmFjaz4gY3Jl
YXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJDb250ZXh0LmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckNvbnRleHQuaWRsCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyQ29udGV4dC5pZGwJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5LDcg
QEAgbW9kdWxlIHRocmVhZHMgewogICAgICAgICAvLyBXb3JrZXJVdGlscwogICAgICAgICBbQ3Vz
dG9tXSB2b2lkIGltcG9ydFNjcmlwdHMoLypbVmFyaWFkaWNdIGluIERPTVN0cmluZyB1cmxzICov
KTsKICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIFtSZXBsYWNlYWJsZV0gV29ya2VyTmF2aWdh
dG9yIG5hdmlnYXRvcjsKLSNpZiBkZWZpbmVkKEVOQUJMRV9EQVRBQkFTRSkgJiYgRU5BQkxFX0RB
VEFCQVNFCisjaWYgZGVmaW5lZChFTkFCTEVfU1FMX0RBVEFCQVNFKSAmJiBFTkFCTEVfU1FMX0RB
VEFCQVNFCiAgICAgICAgIFtFbmFibGVkQXRSdW50aW1lXSBEYXRhYmFzZSBvcGVuRGF0YWJhc2Uo
aW4gRE9NU3RyaW5nIG5hbWUsIGluIERPTVN0cmluZyB2ZXJzaW9uLCBpbiBET01TdHJpbmcgZGlz
cGxheU5hbWUsIGluIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgaW4gW0NhbGxiYWNrLCBP
cHRpb25hbF0gRGF0YWJhc2VDYWxsYmFjayBjcmVhdGlvbkNhbGxiYWNrKQogICAgICAgICAgICAg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgICAgIFtFbmFibGVkQXRSdW50aW1lXSBEYXRhYmFz
ZVN5bmMgb3BlbkRhdGFiYXNlU3luYyhpbiBET01TdHJpbmcgbmFtZSwgaW4gRE9NU3RyaW5nIHZl
cnNpb24sIGluIERPTVN0cmluZyBkaXNwbGF5TmFtZSwgaW4gdW5zaWduZWQgbG9uZyBlc3RpbWF0
ZWRTaXplLCBpbiBbQ2FsbGJhY2ssIE9wdGlvbmFsXSBEYXRhYmFzZUNhbGxiYWNrIGNyZWF0aW9u
Q2FsbGJhY2spCkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCShy
ZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDAsNyArNDAsNyBAQAogI2luY2x1ZGUgPHV0aWxpdHk+CiAj
aW5jbHVkZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYg
RU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRl
ICJEYXRhYmFzZVRyYWNrZXIuaCIKICNlbmRpZgpAQCAtMTk3LDcgKzE5Nyw3IEBAIHB1YmxpYzoK
ICAgICAgICAgQVNTRVJUKGNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKTsKICAgICAgICAgV29y
a2VyQ29udGV4dCogd29ya2VyQ29udGV4dCA9IHN0YXRpY19jYXN0PFdvcmtlckNvbnRleHQqPihj
b250ZXh0KTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgICAgICBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIgY2xlYW51cFN5bmM7CiAgICAgICAg
IHdvcmtlckNvbnRleHQtPnN0b3BEYXRhYmFzZXMoJmNsZWFudXBTeW5jKTsKICNlbmRpZgpAQCAt
MjEwLDcgKzIxMCw3IEBAIHB1YmxpYzoKICAgICAgICAgLy8gd2hpY2ggYmVjb21lIGRhbmdsaW5n
IG9uY2UgSGVhcCBpcyBkZXN0cm95ZWQuCiAgICAgICAgIHdvcmtlckNvbnRleHQtPnJlbW92ZUFs
bEV2ZW50TGlzdGVuZXJzKCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICAgICAgLy8gV2Ugd2FpdCBmb3IgdGhlIGRhdGFiYXNlIHRocmVhZCB0
byBjbGVhbiB1cCBhbGwgaXRzIHN0dWZmIHNvIHRoYXQgd2UKICAgICAgICAgLy8gY2FuIGRvIG1v
cmUgc3RyaW5nZW50IGxlYWsgY2hlY2tzIGFzIHdlIGV4aXQuCiAgICAgICAgIGNsZWFudXBTeW5j
LndhaXRGb3JUYXNrQ29tcGxldGlvbigpOwpAQCAtMjMzLDcgKzIzMyw3IEBAIHZvaWQgV29ya2Vy
VGhyZWFkOjpzdG9wKCkKICAgICBpZiAobV93b3JrZXJDb250ZXh0KSB7CiAgICAgICAgIG1fd29y
a2VyQ29udGV4dC0+c2NyaXB0KCktPnNjaGVkdWxlRXhlY3V0aW9uVGVybWluYXRpb24oKTsKIAot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAgICBE
YXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5pbnRlcnJ1cHRBbGxEYXRhYmFzZXNGb3JDb250ZXh0
KG1fd29ya2VyQ29udGV4dC5nZXQoKSk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNp
b24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNyBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJB
U0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIw
NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1
cGRhdGVQcmVmZXJlbmNlcyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorCiAy
MDExLTA5LTE1ICBFcmljIFNlaWRlbCAgPGVyaWNAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZW1v
dmUgRU5BQkxFKFNWR19BU19JTUFHRSkgc2luY2UgYWxsIG1ham9yIHBvcnRzIGhhdmUgaXQgb24g
YnkgZGVmYXVsdApJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3Bw
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE5MSw3ICsxOTEsNyBAQCB2b2lkIFdlYlByb2Nlc3M6
OmluaXRpYWxpemVXZWJQcm9jZXNzKGNvCiAgICAgICAgIH0KICAgICB9CiAKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAvLyBNYWtlIHN1cmUgdGhl
IFdlYkRhdGFiYXNlTWFuYWdlciBpcyBpbml0aWFsaXplZCBzbyB0aGF0IHRoZSBEYXRhYmFzZSBk
aXJlY3RvcnkgaXMgc2V0LgogICAgIFdlYkRhdGFiYXNlTWFuYWdlcjo6aW5pdGlhbGl6ZShwYXJh
bWV0ZXJzLmRhdGFiYXNlRGlyZWN0b3J5KTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxNyw3
ICs1MTcsNyBAQCB2b2lkIFdlYkNocm9tZUNsaWVudDo6cHJpbnQoRnJhbWUqIGZyYW1lCiAgICAg
bV9wYWdlLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcmludEZyYW1lKHdlYkZy
YW1lLT5mcmFtZUlEKCkpLCBNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpQcmludEZyYW1lOjpSZXBs
eSgpKTsKIH0KIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSogZnJh
bWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQogewogICAgIFdlYkZyYW1lKiB3ZWJGcmFt
ZSA9IHN0YXRpY19jYXN0PFdlYkZyYW1lTG9hZGVyQ2xpZW50Kj4oZnJhbWUtPmxvYWRlcigpLT5j
bGllbnQoKSktPndlYkZyYW1lKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9u
IDk1MjQzKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMTMyLDcgKzEzMiw3IEBAIHByaXZhdGU6
CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHByaW50KFdlYkNvcmU6OkZyYW1lKik7CiAgICAgCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmlydHVh
bCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFN0cmlu
ZyYgZGF0YWJhc2VOYW1lKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MTU4NCw3ICsxNTg0LDcgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZQogICAgIHNldHRpbmdzLT5zZXRNZWRpYVBsYXliYWNrUmVxdWlyZXNVc2VyR2VzdHVyZShzdG9y
ZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1lZGlhUGxheWJhY2tSZXF1
aXJlc1VzZXJHZXN0dXJlS2V5KCkpKTsKICAgICBzZXR0aW5ncy0+c2V0TWVkaWFQbGF5YmFja0Fs
bG93c0lubGluZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6Om1l
ZGlhUGxheWJhY2tBbGxvd3NJbmxpbmVLZXkoKSkpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgQWJzdHJhY3REYXRhYmFzZTo6c2V0SXNBdmFp
bGFibGUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpkYXRhYmFz
ZXNFbmFibGVkS2V5KCkpKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBACisyMDExLTA5LTE1ICBBZGFtIEJhcnRoICA8
YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFTRSkgdG8g
RU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBzcmMvRGF0YWJhc2VPYnNlcnZlci5jcHA6CisgICAgICAgICogc3JjL1dl
YkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OnVwZGF0ZURhdGFi
YXNlU2l6ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjp1cGRhdGVTcGFjZUF2YWls
YWJsZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlOjpyZXNldFNwYWNlQXZhaWxhYmxl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJhc2U6OmNsb3NlRGF0YWJhc2VJbW1lZGlhdGVs
eSk6CisgICAgICAgICogc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5jcHA6CisgICAgICAgIChXZWJL
aXQ6OldlYlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlRGF0YWJhc2UpOgorICAgICAgICAoV2ViS2l0
OjpXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGF0YWJhc2VFbmFibGVkKToKKwogMjAxMS0wOS0xNSAg
RGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIFRlc3RX
ZWJLaXRBUEkgZnJvbSB0aGUgY2hyb21pdW0gYnVpbGQgdW50aWwgaXQgaXMgbWFkZSB0byB3b3Jr
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRhYmFzZU9ic2VydmVy
LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9EYXRh
YmFzZU9ic2VydmVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkRhdGFiYXNlT2JzZXJ2ZXIuaCIKIAotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW5jbHVkZSAiQWJzdHJh
Y3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkNyb3NzVGhyZWFkQ29waWVyLmgiCkBAIC0xOTUsNCAr
MTk1LDQgQEAgdm9pZCBEYXRhYmFzZU9ic2VydmVyOjpkYXRhYmFzZUNsb3NlZChBYgogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoREFUQUJBU0UpCisjZW5kaWYg
Ly8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYkRhdGFiYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEYXRhYmFzZS5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViRGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MCw3ICs0MCw3IEBA
CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CiAK
LSNpZiAhRU5BQkxFKERBVEFCQVNFKQorI2lmICFFTkFCTEUoU1FMX0RBVEFCQVNFKQogbmFtZXNw
YWNlIFdlYkNvcmUgewogY2xhc3MgQWJzdHJhY3REYXRhYmFzZSB7CiBwdWJsaWM6CkBAIC01MCw3
ICs1MCw3IEBAIHB1YmxpYzoKICAgICBTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4oKSBj
b25zdCB7IHJldHVybiAwOyB9CiB9OwogfQotI2VuZGlmIC8vICFFTkFCTEUoREFUQUJBU0UpCisj
ZW5kaWYgLy8gIUVOQUJMRShTUUxfREFUQUJBU0UpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCkBAIC05NCwyOCArOTQsMjggQEAgV2ViRGF0YWJhc2VPYnNlcnZlciogV2ViRGF0YWJhc2U6
Om9ic2VydgogCiB2b2lkIFdlYkRhdGFiYXNlOjp1cGRhdGVEYXRhYmFzZVNpemUoY29uc3QgV2Vi
U3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBXZWJTdHJpbmcmIG5hbWUsIGxvbmcgbG9u
ZyBzaXplKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogICAgIFF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS51cGRhdGVEYXRhYmFzZVNpemUob3JpZ2lu
SWRlbnRpZmllciwgbmFtZSwgc2l6ZSk7CiAjZW5kaWYKIH0KIAogdm9pZCBXZWJEYXRhYmFzZTo6
dXBkYXRlU3BhY2VBdmFpbGFibGUoY29uc3QgV2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBs
b25nIGxvbmcgc3BhY2VBdmFpbGFibGUpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgUXVvdGFUcmFja2VyOjppbnN0YW5jZSgpLnVwZGF0ZVNw
YWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmllciwgc3BhY2VBdmFpbGFibGUpOwog
I2VuZGlmCiB9CiAKIHZvaWQgV2ViRGF0YWJhc2U6OnJlc2V0U3BhY2VBdmFpbGFibGUoY29uc3Qg
V2ViU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFF1b3RhVHJhY2tlcjo6aW5zdGFuY2UoKS5yZXNl
dFNwYWNlQXZhaWxhYmxlVG9PcmlnaW4ob3JpZ2luSWRlbnRpZmllcik7CiAjZW5kaWYKIH0KIAog
dm9pZCBXZWJEYXRhYmFzZTo6Y2xvc2VEYXRhYmFzZUltbWVkaWF0ZWx5KGNvbnN0IFdlYlN0cmlu
ZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgV2ViU3RyaW5nJiBkYXRhYmFzZU5hbWUpCiB7Ci0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgSGFzaFNl
dDxSZWZQdHI8QWJzdHJhY3REYXRhYmFzZT4gPiBkYXRhYmFzZUhhbmRsZXM7CiAgICAgRGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkuZ2V0T3BlbkRhdGFiYXNlcyhvcmlnaW5JZGVudGlmaWVyLCBk
YXRhYmFzZU5hbWUsICZkYXRhYmFzZUhhbmRsZXMpOwogICAgIGZvciAoSGFzaFNldDxSZWZQdHI8
QWJzdHJhY3REYXRhYmFzZT4gPjo6aXRlcmF0b3IgaXQgPSBkYXRhYmFzZUhhbmRsZXMuYmVnaW4o
KTsgaXQgIT0gZGF0YWJhc2VIYW5kbGVzLmVuZCgpOyArK2l0KQpJbmRleDogU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViUnVudGltZUZlYXR1cmVzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJSdW50aW1lRmVhdHVyZXMuY3BwCShyZXZpc2lvbiA5
NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlJ1bnRpbWVGZWF0dXJlcy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0LDE0ICs0NCwxNCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogdm9pZCBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZURhdGFiYXNlKGJvb2wgZW5hYmxlKQog
ewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEFi
c3RyYWN0RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGVuYWJsZSk7CiAjZW5kaWYKIH0KIAogYm9v
bCBXZWJSdW50aW1lRmVhdHVyZXM6OmlzRGF0YWJhc2VFbmFibGVkKCkKIHsKLSNpZiBFTkFCTEUo
REFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gQWJzdHJhY3RE
YXRhYmFzZTo6aXNBdmFpbGFibGUoKTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpJbmRleDog
U291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQv
ZWZsL0NoYW5nZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNyBAQAorMjAxMS0wOS0xNSAgQWRhbSBC
YXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJB
U0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcDoK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwuaDoKKyAgICAgICAgKiBl
d2svZXdrX3NldHRpbmdzLmNwcDoKKyAgICAgICAgKGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2Vf
ZGVmYXVsdF9xdW90YV9nZXQpOgorICAgICAgICAoZXdrX3NldHRpbmdzX3dlYl9kYXRhYmFzZV9w
YXRoX3NldCk6CisgICAgICAgIChld2tfc2V0dGluZ3Nfd2ViX2RhdGFiYXNlX3BhdGhfZ2V0KToK
KwogMjAxMS0wOS0xNCAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcuY3phamtvd3NraUBzYW1zdW5n
LmNvbT4KIAogICAgICAgICBbRUZMXSBBZGQgTlVMTCBjaGVja3MgdG8gZXdrX3dpbmRvd19mZWF0
dXJlc19uZXdfZnJvbV9jb3JlIGFuZCBld2tfdmlld193aW5kb3dfY3JlYXRlLgpJbmRleDogU291
cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRFZmwu
Y3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEVmbC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDcgKzM0LDggQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRFZmwuaCIKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiAjaW5jbHVkZSAiRGF0
YWJhc2VEZXRhaWxzLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKQEAg
LTM5Myw3ICszOTQsNyBAQCB2b2lkIENocm9tZUNsaWVudEVmbDo6bmVlZFRvdWNoRXZlbnRzKGJv
CiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogdm9pZCBDaHJvbWVDbGllbnRFZmw6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSog
ZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQogewogICAgIHVpbnQ2NF90IHF1b3Rh
OwpJbmRleDogU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZs
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50RWZsLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9lZmwvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50RWZsLmgJKHdvcmtpbmcgY29weSkKQEAgLTEwNiw3ICsxMDYs
NyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKTsKIAotI2lmIEVO
QUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1YWwgdm9p
ZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmKTsKICNlbmRpZgog
CkluZGV4OiBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3NldHRpbmdzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMjIsNyArMjIsNyBAQAogI2luY2x1ZGUgImV3a19zZXR0aW5ncy5oIgogCiAjaW5j
bHVkZSAiRVdlYktpdC5oIgotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2VuZGlmCiAjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCkBAIC01MSw3ICs1MSw3IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBfZXdrX2Nh
Y2hlX2RpcmVjdG9yeV8KICNlbmRpZgogCiBzdGF0aWMgY29uc3QgY2hhciogX2V3a19pY29uX2Rh
dGFiYXNlX3BhdGggPSAwOwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogc3RhdGljIGNvbnN0IGNoYXIqIF9ld2tfZGVmYXVsdF93ZWJfZGF0YWJhc2VfcGF0
aCA9IDA7CiBzdGF0aWMgdWludDY0X3QgX2V3a19kZWZhdWx0X3dlYl9kYXRhYmFzZV9xdW90YSA9
IDEgKiAxMDI0ICogMTAyNDsKICNlbmRpZgpAQCAtODIsNyArODIsNyBAQCBzdGF0aWMgV1RGOjpT
dHJpbmcgX2V3a19zZXR0aW5nc193ZWJraXRfCiAKIHVpbnQ2NF90IGV3a19zZXR0aW5nc193ZWJf
ZGF0YWJhc2VfZGVmYXVsdF9xdW90YV9nZXQodm9pZCkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gX2V3a19kZWZhdWx0X3dlYl9k
YXRhYmFzZV9xdW90YTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC05MSw3ICs5MSw3IEBAIHVp
bnQ2NF90IGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfZGVmYXUKIAogdm9pZCBld2tfc2V0dGlu
Z3Nfd2ViX2RhdGFiYXNlX3BhdGhfc2V0KGNvbnN0IGNoYXIgKnBhdGgpCiB7Ci0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV1RGOjpTdHJpbmcgY29y
ZVBhdGggPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgocGF0aCk7CiAgICAgV2ViQ29yZTo6RGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkuc2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRoKGNvcmVQYXRoKTsK
ICAgICBpZiAoIV9ld2tfZGVmYXVsdF93ZWJfZGF0YWJhc2VfcGF0aCkKQEAgLTEwNCw3ICsxMDQs
NyBAQCB2b2lkIGV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9zZXQoCiAKIGNvbnN0IGNo
YXIgKmV3a19zZXR0aW5nc193ZWJfZGF0YWJhc2VfcGF0aF9nZXQodm9pZCkKIHsKLSNpZiBFTkFC
TEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gX2V3a19k
ZWZhdWx0X3dlYl9kYXRhYmFzZV9wYXRoOwogI2Vsc2UKICAgICByZXR1cm4gMDsKSW5kZXg6IFNv
dXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0
ay9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1KQorKysgU291cmNlL1dlYktpdC9ndGsvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzAgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKworICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNF
KSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHA6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmg6CisgICAgICAgICogd2Vi
a2l0L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmNwcDoKKyAgICAgICAgKHdlYmtpdF9zZWN1cml0eV9v
cmlnaW5fZ2V0X3dlYl9kYXRhYmFzZV91c2FnZSk6CisgICAgICAgICh3ZWJraXRfc2VjdXJpdHlf
b3JpZ2luX2dldF93ZWJfZGF0YWJhc2VfcXVvdGEpOgorICAgICAgICAod2Via2l0X3NlY3VyaXR5
X29yaWdpbl9zZXRfd2ViX2RhdGFiYXNlX3F1b3RhKToKKyAgICAgICAgKHdlYmtpdF9zZWN1cml0
eV9vcmlnaW5fZ2V0X2FsbF93ZWJfZGF0YWJhc2VzKToKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0
d2ViZGF0YWJhc2UuY3BwOgorICAgICAgICAod2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfZGlzcGxh
eV9uYW1lKToKKyAgICAgICAgKHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0X2V4cGVjdGVkX3NpemUp
OgorICAgICAgICAod2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfc2l6ZSk6CisgICAgICAgICh3ZWJr
aXRfd2ViX2RhdGFiYXNlX2dldF9maWxlbmFtZSk6CisgICAgICAgICh3ZWJraXRfd2ViX2RhdGFi
YXNlX3JlbW92ZSk6CisgICAgICAgICh3ZWJraXRfcmVtb3ZlX2FsbF93ZWJfZGF0YWJhc2VzKToK
KyAgICAgICAgKHdlYmtpdF9nZXRfd2ViX2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoKToKKyAgICAg
ICAgKHdlYmtpdF9zZXRfd2ViX2RhdGFiYXNlX2RpcmVjdG9yeV9wYXRoKToKKyAgICAgICAgKiB3
ZWJraXQvd2Via2l0d2Vidmlldy5jcHA6CisgICAgICAgICh3ZWJraXRfd2ViX3ZpZXdfdXBkYXRl
X3NldHRpbmdzKToKKyAgICAgICAgKHdlYmtpdF93ZWJfdmlld19zZXR0aW5nc19ub3RpZnkpOgor
CiAyMDExLTA5LTEwICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
Rml4IGJ1aWxkIGJyZWFrLgpJbmRleDogU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q2hyb21lQ2xpZW50R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTYzLDcgKzYzLDcgQEAKICNpbmNsdWRlIDxndGsvZ3RrLmg+CiAjaW5jbHVkZSA8
d3RmL3RleHQvQ1N0cmluZy5oPgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShT
UUxfREFUQUJBU0UpCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKIApAQCAt
NTc2LDcgKzU3Niw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50OjpwcmludChGcmFtZSogZnJhbWUpCiAg
ICAgd2Via2l0X3dlYl9mcmFtZV9wcmludCh3ZWJGcmFtZSk7CiB9CiAKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIHZvaWQgQ2hyb21lQ2xpZW50OjpleGNl
ZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFt
ZSkKIHsKICAgICBndWludDY0IGRlZmF1bHRRdW90YSA9IHdlYmtpdF9nZXRfZGVmYXVsdF93ZWJf
ZGF0YWJhc2VfcXVvdGEoKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudEd0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTUsNyArMTE1LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAgICAgICAgIHZpcnR1YWwg
dm9pZCBkaXNwYXRjaFZpZXdwb3J0RGF0YURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpWaWV3cG9y
dEFyZ3VtZW50cyYgYXJndW1lbnRzKSBjb25zdDsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcHJp
bnQoV2ViQ29yZTo6RnJhbWUqKTsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICAgICAgdmlydHVhbCB2b2lkIGV4Y2VlZGVkRGF0YWJhc2VRdW90YShX
ZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdURjo6U3RyaW5nJik7CiAjZW5kaWYKICNpZiBFTkFCTEUo
T0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpJbmRleDogU291cmNlL1dlYktpdC9ndGsvd2Via2l0
L3dlYmtpdHNlY3VyaXR5b3JpZ2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L2d0
ay93ZWJraXQvd2Via2l0c2VjdXJpdHlvcmlnaW4uY3BwCShyZXZpc2lvbiA5NTI0MykKKysrIFNv
dXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRzZWN1cml0eW9yaWdpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTI5Niw3ICsyOTYsNyBAQCBndWludDY0IHdlYmtpdF9zZWN1cml0eV9vcmlnaW5f
Z2V0X3dlYl9kCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoV0VCS0lUX0lTX1NFQ1VSSVRZ
X09SSUdJTihzZWN1cml0eU9yaWdpbiksIDApOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lm
IEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGNvcmVP
cmlnaW4gPSBjb3JlKHNlY3VyaXR5T3JpZ2luKTsKICAgICByZXR1cm4gV2ViQ29yZTo6RGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkudXNhZ2VGb3JPcmlnaW4oY29yZU9yaWdpbik7CiAjZWxzZQpA
QCAtMzE5LDcgKzMxOSw3IEBAIGd1aW50NjQgd2Via2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfd2Vi
X2QKIHsKICAgICBnX3JldHVybl92YWxfaWZfZmFpbChXRUJLSVRfSVNfU0VDVVJJVFlfT1JJR0lO
KHNlY3VyaXR5T3JpZ2luKSwgMCk7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiogY29yZU9yaWdpbiA9
IGNvcmUoc2VjdXJpdHlPcmlnaW4pOwogICAgIHJldHVybiBXZWJDb3JlOjpEYXRhYmFzZVRyYWNr
ZXI6OnRyYWNrZXIoKS5xdW90YUZvck9yaWdpbihjb3JlT3JpZ2luKTsKICNlbHNlCkBAIC0zNDAs
NyArMzQwLDcgQEAgdm9pZCB3ZWJraXRfc2VjdXJpdHlfb3JpZ2luX3NldF93ZWJfZGF0YQogewog
ICAgIGdfcmV0dXJuX2lmX2ZhaWwoV0VCS0lUX0lTX1NFQ1VSSVRZX09SSUdJTihzZWN1cml0eU9y
aWdpbikpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGNvcmVPcmlnaW4gPSBjb3JlKHNlY3VyaXR5
T3JpZ2luKTsKICAgICBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5zZXRRdW90
YShjb3JlT3JpZ2luLCBxdW90YSk7CiAjZW5kaWYKQEAgLTM2Miw3ICszNjIsNyBAQCBHTGlzdCog
d2Via2l0X3NlY3VyaXR5X29yaWdpbl9nZXRfYWxsX3dlCiAgICAgZ19yZXR1cm5fdmFsX2lmX2Zh
aWwoV0VCS0lUX0lTX1NFQ1VSSVRZX09SSUdJTihzZWN1cml0eU9yaWdpbiksIE5VTEwpOwogICAg
IEdMaXN0KiBkYXRhYmFzZXMgPSBOVUxMOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4qIGNvcmVPcmln
aW4gPSBjb3JlKHNlY3VyaXR5T3JpZ2luKTsKICAgICBWZWN0b3I8V1RGOjpTdHJpbmc+IGRhdGFi
YXNlTmFtZXM7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJkYXRh
YmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdl
YmRhdGFiYXNlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJr
aXQvd2Via2l0d2ViZGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjUsNyArMzI1LDcg
QEAgY29uc3QgZ2NoYXIqIHdlYmtpdF93ZWJfZGF0YWJhc2VfZ2V0X2RpcwogewogICAgIGdfcmV0
dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0YWJhc2UpLCBOVUxM
KTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
IFdlYktpdFdlYkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAg
IFdlYkNvcmU6OkRhdGFiYXNlRGV0YWlscyBkZXRhaWxzID0gV2ViQ29yZTo6RGF0YWJhc2VUcmFj
a2VyOjp0cmFja2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRPcmlnaW4ocHJpdi0+bmFtZSwgY29yZShw
cml2LT5vcmlnaW4pKTsKICAgICBXVEY6OlN0cmluZyBkaXNwbGF5TmFtZSA9ICBkZXRhaWxzLmRp
c3BsYXlOYW1lKCk7CkBAIC0zNTcsNyArMzU3LDcgQEAgZ3VpbnQ2NCB3ZWJraXRfd2ViX2RhdGFi
YXNlX2dldF9leHBlY3RlZAogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdFQktJVF9JU19X
RUJfREFUQUJBU0Uod2ViRGF0YWJhc2UpLCAwKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYktpdFdlYkRhdGFiYXNlUHJpdmF0ZSogcHJp
diA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAgIFdlYkNvcmU6OkRhdGFiYXNlRGV0YWlscyBkZXRh
aWxzID0gV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGV0YWlsc0Zvck5hbWVB
bmRPcmlnaW4ocHJpdi0+bmFtZSwgY29yZShwcml2LT5vcmlnaW4pKTsKICAgICByZXR1cm4gZGV0
YWlscy5leHBlY3RlZFVzYWdlKCk7CkBAIC0zODAsNyArMzgwLDcgQEAgZ3VpbnQ2NCB3ZWJraXRf
d2ViX2RhdGFiYXNlX2dldF9zaXplKFdlYgogewogICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKFdF
QktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0YWJhc2UpLCAwKTsKIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYktpdFdlYkRhdGFiYXNlUHJp
dmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAgIFdlYkNvcmU6OkRhdGFiYXNlRGV0
YWlscyBkZXRhaWxzID0gV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGV0YWls
c0Zvck5hbWVBbmRPcmlnaW4ocHJpdi0+bmFtZSwgY29yZShwcml2LT5vcmlnaW4pKTsKICAgICBy
ZXR1cm4gZGV0YWlscy5jdXJyZW50VXNhZ2UoKTsKQEAgLTQwMyw3ICs0MDMsNyBAQCBjb25zdCBn
Y2hhciogd2Via2l0X3dlYl9kYXRhYmFzZV9nZXRfZmlsCiB7CiAgICAgZ19yZXR1cm5fdmFsX2lm
X2ZhaWwoV0VCS0lUX0lTX1dFQl9EQVRBQkFTRSh3ZWJEYXRhYmFzZSksIE5VTEwpOwogCi0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV2ViS2l0V2Vi
RGF0YWJhc2VQcml2YXRlKiBwcml2ID0gd2ViRGF0YWJhc2UtPnByaXY7CiAgICAgV1RGOjpTdHJp
bmcgY29yZU5hbWUgPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgocHJpdi0+bmFtZSk7CiAgICAgV1RG
OjpTdHJpbmcgY29yZVBhdGggPSBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5m
dWxsUGF0aEZvckRhdGFiYXNlKGNvcmUocHJpdi0+b3JpZ2luKSwgY29yZU5hbWUpOwpAQCAtNDMz
LDcgKzQzMyw3IEBAIHZvaWQgd2Via2l0X3dlYl9kYXRhYmFzZV9yZW1vdmUoV2ViS2l0V2UKIHsK
ICAgICBnX3JldHVybl9pZl9mYWlsKFdFQktJVF9JU19XRUJfREFUQUJBU0Uod2ViRGF0YWJhc2Up
KTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAg
IFdlYktpdFdlYkRhdGFiYXNlUHJpdmF0ZSogcHJpdiA9IHdlYkRhdGFiYXNlLT5wcml2OwogICAg
IFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRlbGV0ZURhdGFiYXNlKGNvcmUo
cHJpdi0+b3JpZ2luKSwgcHJpdi0+bmFtZSk7CiAjZW5kaWYKQEAgLTQ0OCw3ICs0NDgsNyBAQCB2
b2lkIHdlYmtpdF93ZWJfZGF0YWJhc2VfcmVtb3ZlKFdlYktpdFdlCiAgKiovCiB2b2lkIHdlYmtp
dF9yZW1vdmVfYWxsX3dlYl9kYXRhYmFzZXMoKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNp
ZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJh
Y2tlcigpLmRlbGV0ZUFsbERhdGFiYXNlcygpOwogI2VuZGlmCiB9CkBAIC00NjYsNyArNDY2LDcg
QEAgdm9pZCB3ZWJraXRfcmVtb3ZlX2FsbF93ZWJfZGF0YWJhc2VzKCkKICAqKi8KIGNvbnN0IGdj
aGFyKiB3ZWJraXRfZ2V0X3dlYl9kYXRhYmFzZV9kaXJlY3RvcnlfcGF0aCgpCiB7Ci0jaWYgRU5B
QkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV1RGOjpTdHJpbmcg
cGF0aCA9IFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRhdGFiYXNlRGlyZWN0
b3J5UGF0aCgpOwogCiAgICAgaWYgKHBhdGguaXNFbXB0eSgpKQpAQCAtNDkxLDcgKzQ5MSw3IEBA
IGNvbnN0IGdjaGFyKiB3ZWJraXRfZ2V0X3dlYl9kYXRhYmFzZV9kaXIKICAqKi8KIHZvaWQgd2Vi
a2l0X3NldF93ZWJfZGF0YWJhc2VfZGlyZWN0b3J5X3BhdGgoY29uc3QgZ2NoYXIqIHBhdGgpCiB7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgV1RG
OjpTdHJpbmcgY29yZVBhdGggPSBXVEY6OlN0cmluZzo6ZnJvbVVURjgocGF0aCk7CiAgICAgV2Vi
Q29yZTo6RGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuc2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRo
KGNvcmVQYXRoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYnZp
ZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJ2
aWV3LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0d2Vidmlldy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyMzMsNyArMzIzMyw3IEBAIHN0YXRp
YyB2b2lkIHdlYmtpdF93ZWJfdmlld191cGRhdGVfc2V0dGkKICAgICBjb3JlU2V0dGluZ3MtPnNl
dEh5cGVybGlua0F1ZGl0aW5nRW5hYmxlZChzZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUh5cGVybGlu
a0F1ZGl0aW5nKTsKICAgICBjb3JlU2V0dGluZ3MtPnNldEROU1ByZWZldGNoaW5nRW5hYmxlZChz
ZXR0aW5nc1ByaXZhdGUtPmVuYWJsZUROU1ByZWZldGNoaW5nKTsKIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEFic3RyYWN0RGF0YWJhc2U6OnNl
dElzQXZhaWxhYmxlKHNldHRpbmdzUHJpdmF0ZS0+ZW5hYmxlSFRNTDVEYXRhYmFzZSk7CiAjZW5k
aWYKIApAQCAtMzMxOCw3ICszMzE4LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0X3dlYl92aWV3X3Nl
dHRpbmdzX25vdAogICAgICAgICBzZXR0aW5ncy0+c2V0UHJpdmF0ZUJyb3dzaW5nRW5hYmxlZChn
X3ZhbHVlX2dldF9ib29sZWFuKCZ2YWx1ZSkpOwogICAgIGVsc2UgaWYgKG5hbWUgPT0gZ19pbnRl
cm5fc3RyaW5nKCJlbmFibGUtY2FyZXQtYnJvd3NpbmciKSkKICAgICAgICAgc2V0dGluZ3MtPnNl
dENhcmV0QnJvd3NpbmdFbmFibGVkKGdfdmFsdWVfZ2V0X2Jvb2xlYW4oJnZhbHVlKSk7Ci0jaWYg
RU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgZWxzZSBpZiAo
bmFtZSA9PSBnX2ludGVybl9zdHJpbmcoImVuYWJsZS1odG1sNS1kYXRhYmFzZSIpKSB7CiAgICAg
ICAgIEFic3RyYWN0RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKGdfdmFsdWVfZ2V0X2Jvb2xlYW4o
JnZhbHVlKSk7CiAgICAgfQpJbmRleDogU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1MjU1
KQorKysgU291cmNlL1dlYktpdC9oYWlrdS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwxMiBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgor
CisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0Up
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50SGFpa3UuaDoKKwogMjAxMS0wOC0zMCAgS2F1c3R1YmggQXRy
YXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBUaGUgdW51c2VkIFNj
cm9sbFZpZXcqIGFyZ3VtZW50IGNhbiBhbmQgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbQpJbmRleDog
U291cmNlL1dlYktpdC9oYWlrdS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRIYWlrdS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvaGFpa3UvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50SGFpa3UuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L2hhaWt1L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudEhhaWt1LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyNyw3ICsx
MjcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBwcmludChGcmFtZSop
OwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAg
ICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJp
bmcmIGRhdGFiYXNlTmFtZSk7CiAjZW5kaWYKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkocmV2aXNp
b24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwzMSBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFU
QUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
U3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXIubW06CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRh
YmFzZU1hbmFnZXJJbnRlcm5hbC5oOgorICAgICAgICAqIFN0b3JhZ2UvV2ViRGF0YWJhc2VNYW5h
Z2VyUHJpdmF0ZS5oOgorICAgICAgICAqIFN0b3JhZ2UvV2ViRGF0YWJhc2VRdW90YU1hbmFnZXIu
bW06CisgICAgICAgICgtW1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyIHVzYWdlXSk6CisgICAgICAg
ICgtW1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyIHF1b3RhXSk6CisgICAgICAgICgtW1dlYkRhdGFi
YXNlUXVvdGFNYW5hZ2VyIHNldFF1b3RhOl0pOgorICAgICAgICAqIFN0b3JhZ2UvV2ViRGF0YWJh
c2VUcmFja2VyQ2xpZW50Lmg6CisgICAgICAgICogU3RvcmFnZS9XZWJEYXRhYmFzZVRyYWNrZXJD
bGllbnQubW06CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lm1tOgorICAgICAgICAqIFdl
YkNvcmVTdXBwb3J0L1dlYlNlY3VyaXR5T3JpZ2luLm1tOgorICAgICAgICAoLVtXZWJTZWN1cml0
eU9yaWdpbiB1c2FnZV0pOgorICAgICAgICAoLVtXZWJTZWN1cml0eU9yaWdpbiBxdW90YV0pOgor
ICAgICAgICAoLVtXZWJTZWN1cml0eU9yaWdpbiBzZXRRdW90YTpdKToKKyAgICAgICAgKiBXZWJW
aWV3L1dlYkZyYW1lLm1tOgorICAgICAgICAoLVtXZWJGcmFtZSBfY2FjaGVhYmlsaXR5RGljdGlv
bmFyeV0pOgorICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmll
dyBfY29tbW9uSW5pdGlhbGl6YXRpb25XaXRoRnJhbWVOYW1lOmdyb3VwTmFtZTp1c2VzRG9jdW1l
bnRWaWV3czpdKToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5jZXNDaGFuZ2VkOl0pOgor
CiAyMDExLTA5LTE1ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAK
ICAgICAgICAgVW56aXAgaW5pdGlhbGl6YXRpb24gbGlzdHMgYW5kIGNvbnN0cnVjdG9ycyBpbiBK
U0NlbGwgaGllcmFyY2h5ICg3LzcpCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlTWFuYWdlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9TdG9y
YWdlL1dlYkRhdGFiYXNlTWFuYWdlci5tbQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdlci5tbQkod29ya2luZyBjb3B5KQpAQCAt
MjksNyArMjksNyBAQAogI2ltcG9ydCAiV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oIgogI2lt
cG9ydCAiV2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCiAjaW1wb3J0ICJXZWJEYXRhYmFzZVRyYWNr
ZXJDbGllbnQuaCIKICNpbXBvcnQgIldlYlNlY3VyaXR5T3JpZ2luSW50ZXJuYWwuaCIKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VNYW5hZ2VySW50ZXJuYWwuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlTWFuYWdl
ckludGVybmFsLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9tYWMvU3RvcmFn
ZS9XZWJEYXRhYmFzZU1hbmFnZXJJbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5B
QkxFKFNRTF9EQVRBQkFTRSkKIAogdm9pZCBXZWJLaXRJbml0aWFsaXplRGF0YWJhc2VzSWZOZWNl
c3NhcnkoKTsKIApJbmRleDogU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1h
bmFnZXJQcml2YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9X
ZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dl
YktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZU1hbmFnZXJQcml2YXRlLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI2LDggKzI2LDggQEAKICAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKLSAKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQorCiBleHRlcm4gTlNTdHJpbmcgKldl
YkRhdGFiYXNlRGlyZWN0b3J5RGVmYXVsdHNLZXk7CiAKIGV4dGVybiBOU1N0cmluZyAqV2ViRGF0
YWJhc2VEaXNwbGF5TmFtZUtleTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2Vi
RGF0YWJhc2VRdW90YU1hbmFnZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMv
U3RvcmFnZS9XZWJEYXRhYmFzZVF1b3RhTWFuYWdlci5tbQkocmV2aXNpb24gOTUyNDMpCisrKyBT
b3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlUXVvdGFNYW5hZ2VyLm1tCSh3b3Jr
aW5nIGNvcHkpCkBAIC00OSw3ICs0OSw3IEBAIC0gKFdlYlNlY3VyaXR5T3JpZ2luICopb3JpZ2lu
CiAKIC0gKHVuc2lnbmVkIGxvbmcgbG9uZyl1c2FnZQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNrZXI6OnRy
YWNrZXIoKS51c2FnZUZvck9yaWdpbihbX29yaWdpbiBfY29yZV0pOwogI2Vsc2UKICAgICByZXR1
cm4gMDsKQEAgLTU4LDcgKzU4LDcgQEAgLSAodW5zaWduZWQgbG9uZyBsb25nKXVzYWdlCiAKIC0g
KHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIo
KS5xdW90YUZvck9yaWdpbihbX29yaWdpbiBfY29yZV0pOwogI2Vsc2UKICAgICByZXR1cm4gMDsK
QEAgLTcwLDcgKzcwLDcgQEAgLSAodW5zaWduZWQgbG9uZyBsb25nKXF1b3RhCiAvLyBwcmV2ZW50
IG5ldyBkYXRhIGZyb20gYmVpbmcgYWRkZWQgdG8gZGF0YWJhc2VzIGluIHRoYXQgb3JpZ2luLgog
LSAodm9pZClzZXRRdW90YToodW5zaWduZWQgbG9uZyBsb25nKXF1b3RhCiB7Ci0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0YWJhc2VUcmFja2Vy
Ojp0cmFja2VyKCkuc2V0UXVvdGEoW19vcmlnaW4gX2NvcmVdLCBxdW90YSk7CiAjZW5kaWYKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1N0b3JhZ2UvV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvU3RvcmFnZS9XZWJEYXRhYmFzZVRy
YWNrZXJDbGllbnQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9TdG9y
YWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsy
Niw3IEBACiAgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpIAorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpIAogCiAjaW1wb3J0IDxXZWJDb3JlL0RhdGFiYXNlVHJhY2tlckNs
aWVudC5oPgogCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJh
Y2tlckNsaWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9TdG9yYWdlL1dl
YkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2Vi
S2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNlVHJhY2tlckNsaWVudC5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjgsNyArMjgsNyBAQAogIAogI2ltcG9ydCAiV2ViRGF0YWJhc2VUcmFja2VyQ2xpZW50
LmgiCiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAog
I2ltcG9ydCAiV2ViRGF0YWJhc2VNYW5hZ2VyUHJpdmF0ZS5oIgogI2ltcG9ydCAiV2ViU2VjdXJp
dHlPcmlnaW5JbnRlcm5hbC5oIgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNl
L1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEwOSw3ICsxMDksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFRvb2xU
aXAoY29uc3QgV1RGOjpTdHJpbmcmLCBXZWJDb3JlOjpUZXh0RGlyZWN0aW9uKTsKIAogICAgIHZp
cnR1YWwgdm9pZCBwcmludChXZWJDb3JlOjpGcmFtZSopOwotI2lmIEVOQUJMRShEQVRBQkFTRSkK
KyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1YWwgdm9pZCBleGNlZWRlZERhdGFi
YXNlUXVvdGEoV2ViQ29yZTo6RnJhbWUqLCBjb25zdCBXVEY6OlN0cmluZyYgZGF0YWJhc2VOYW1l
KTsKICNlbmRpZgogI2lmIEVOQUJMRShPRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpCkluZGV4OiBT
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQubW0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
Lm1tCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtNjU3LDcgKzY1Nyw3IEBAIHZv
aWQgV2ViQ2hyb21lQ2xpZW50OjpwcmludChGcmFtZSogZnJhbWUKICAgICAgICAgQ2FsbFVJRGVs
ZWdhdGUobV93ZWJWaWV3LCBAc2VsZWN0b3Iod2ViVmlldzpwcmludEZyYW1lVmlldzopLCBbd2Vi
RnJhbWUgZnJhbWVWaWV3XSk7CiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxF
KFNRTF9EQVRBQkFTRSkKIAogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmV4Y2VlZGVkRGF0YWJhc2VR
dW90YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VOYW1lKQogewpJbmRleDog
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlPcmlnaW4ubW0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU2VjdXJpdHlP
cmlnaW4ubW0JKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViU2VjdXJpdHlPcmlnaW4ubW0JKHdvcmtpbmcgY29weSkKQEAgLTE2Miw3ICsxNjIs
NyBAQCAtIChpZDxXZWJRdW90YU1hbmFnZXI+KWRhdGFiYXNlUXVvdGFNYW5hCiAKIC0gKHVuc2ln
bmVkIGxvbmcgbG9uZyl1c2FnZQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUo
U1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS51c2Fn
ZUZvck9yaWdpbihyZWludGVycHJldF9jYXN0PFNlY3VyaXR5T3JpZ2luKj4oX3ByaXZhdGUpKTsK
ICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC0xNzEsNyArMTcxLDcgQEAgLSAodW5zaWduZWQgbG9u
ZyBsb25nKXVzYWdlCiAKIC0gKHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogewotI2lmIEVOQUJM
RShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHJldHVybiBEYXRhYmFz
ZVRyYWNrZXI6OnRyYWNrZXIoKS5xdW90YUZvck9yaWdpbihyZWludGVycHJldF9jYXN0PFNlY3Vy
aXR5T3JpZ2luKj4oX3ByaXZhdGUpKTsKICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC0xODAsNyAr
MTgwLDcgQEAgLSAodW5zaWduZWQgbG9uZyBsb25nKXF1b3RhCiAKIC0gKHZvaWQpc2V0UXVvdGE6
KHVuc2lnbmVkIGxvbmcgbG9uZylxdW90YQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnNldFF1
b3RhKHJlaW50ZXJwcmV0X2Nhc3Q8U2VjdXJpdHlPcmlnaW4qPihfcHJpdmF0ZSksIHF1b3RhKTsK
ICNlbmRpZgogfQpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0JKHdv
cmtpbmcgY29weSkKQEAgLTExNzcsNyArMTE3Nyw3IEBAIC0gKE5TTXV0YWJsZURpY3Rpb25hcnkg
KilfY2FjaGVhYmlsaXR5RGkKICAgICB9CiAgICAgCiAgICAgaWYgKERvY3VtZW50KiBkb2N1bWVu
dCA9IF9wcml2YXRlLT5jb3JlRnJhbWUtPmRvY3VtZW50KCkpIHsKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgaWYgKGRvY3VtZW50LT5oYXNP
cGVuRGF0YWJhc2VzKCkpCiAgICAgICAgICAgICBbcmVzdWx0IHNldE9iamVjdDpbTlNOdW1iZXIg
bnVtYmVyV2l0aEJvb2w6WUVTXSBmb3JLZXk6V2ViRnJhbWVVc2VzRGF0YWJhc2VzXTsKICNlbmRp
ZgpJbmRleDogU291cmNlL1dlYktpdC9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQkocmV2aXNpb24gOTUyNDMp
CisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJWaWV3L1dlYlZpZXcubW0JKHdvcmtpbmcgY29weSkK
QEAgLTcyNiw3ICs3MjYsNyBAQCAtICh2b2lkKV9jb21tb25Jbml0aWFsaXphdGlvbldpdGhGcmFt
ZU5hCiAgICAgICAgIFdlYktpdEluaXRpYWxpemVMb2dnaW5nQ2hhbm5lbHNJZk5lY2Vzc2FyeSgp
OwogICAgICAgICBXZWJDb3JlOjpJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3Nhcnko
KTsKICAgICAgICAgW1dlYkhpc3RvcnlJdGVtIGluaXRXaW5kb3dXYXRjaGVySWZOZWNlc3Nhcnld
OwotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgICAg
ICBXZWJLaXRJbml0aWFsaXplRGF0YWJhc2VzSWZOZWNlc3NhcnkoKTsKICNlbmRpZgogCkBAIC0x
NTE1LDcgKzE1MTUsNyBAQCAtICh2b2lkKV9wcmVmZXJlbmNlc0NoYW5nZWQ6KFdlYlByZWZlcmVu
CiAgICAgc2V0dGluZ3MtPnNldE1pbmltdW1Mb2dpY2FsRm9udFNpemUoW3ByZWZlcmVuY2VzIG1p
bmltdW1Mb2dpY2FsRm9udFNpemVdKTsKICAgICBzZXR0aW5ncy0+c2V0UGljdG9ncmFwaEZvbnRG
YW1pbHkoW3ByZWZlcmVuY2VzIHBpY3RvZ3JhcGhGb250RmFtaWx5XSk7CiAgICAgc2V0dGluZ3Mt
PnNldFBsdWdpbnNFbmFibGVkKFtwcmVmZXJlbmNlcyBhcmVQbHVnSW5zRW5hYmxlZF0pOwotI2lm
IEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIEFic3RyYWN0
RGF0YWJhc2U6OnNldElzQXZhaWxhYmxlKFtwcmVmZXJlbmNlcyBkYXRhYmFzZXNFbmFibGVkXSk7
CiAjZW5kaWYKICAgICBzZXR0aW5ncy0+c2V0TG9jYWxTdG9yYWdlRW5hYmxlZChbcHJlZmVyZW5j
ZXMgbG9jYWxTdG9yYWdlRW5hYmxlZF0pOwpJbmRleDogU291cmNlL1dlYktpdC9xdC9DaGFuZ2VM
b2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHJldmlzaW9uIDk1
MjU1KQorKysgU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwzMCBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgor
CisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0Up
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogQXBpL3F3
ZWJkYXRhYmFzZS5jcHA6CisgICAgICAgIChRV2ViRGF0YWJhc2U6OmRpc3BsYXlOYW1lKToKKyAg
ICAgICAgKFFXZWJEYXRhYmFzZTo6ZXhwZWN0ZWRTaXplKToKKyAgICAgICAgKFFXZWJEYXRhYmFz
ZTo6c2l6ZSk6CisgICAgICAgIChRV2ViRGF0YWJhc2U6OmZpbGVOYW1lKToKKyAgICAgICAgKFFX
ZWJEYXRhYmFzZTo6cmVtb3ZlRGF0YWJhc2UpOgorICAgICAgICAoUVdlYkRhdGFiYXNlOjpyZW1v
dmVBbGxEYXRhYmFzZXMpOgorICAgICAgICAqIEFwaS9xd2Vic2VjdXJpdHlvcmlnaW4uY3BwOgor
ICAgICAgICAoUVdlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFzZVVzYWdlKToKKyAgICAgICAgKFFX
ZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJhc2VRdW90YSk6CisgICAgICAgIChRV2ViU2VjdXJpdHlP
cmlnaW46OnNldERhdGFiYXNlUXVvdGEpOgorICAgICAgICAoUVdlYlNlY3VyaXR5T3JpZ2luOjph
bGxPcmlnaW5zKToKKyAgICAgICAgKFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJhc2VzKToKKyAg
ICAgICAgKiBBcGkvcXdlYnNldHRpbmdzLmNwcDoKKyAgICAgICAgKFFXZWJTZXR0aW5nc1ByaXZh
dGU6OmFwcGx5KToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6c2V0T2ZmbGluZVN0b3JhZ2VQYXRo
KToKKyAgICAgICAgKFFXZWJTZXR0aW5nczo6b2ZmbGluZVN0b3JhZ2VQYXRoKToKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHA6CisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKwogMjAxMS0wOS0xMyAgWmVubyBBbGJpc3NlciAgPHpl
bm8uYWxiaXNzZXJAbm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRml4IHN0YXRlIG9mIHN0b3Av
cmVsb2FkIGFjdGlvbnMgaW4gUVdlYlBhZ2UKSW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3
ZWJkYXRhYmFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYmRh
dGFiYXNlLmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vi
ZGF0YWJhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw3ICs4Niw3IEBAIFFTdHJpbmcgUVdl
YkRhdGFiYXNlOjpuYW1lKCkgY29uc3QKICovCiBRU3RyaW5nIFFXZWJEYXRhYmFzZTo6ZGlzcGxh
eU5hbWUoKSBjb25zdAogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIERhdGFiYXNlRGV0YWlscyBkZXRhaWxzID0gRGF0YWJhc2VUcmFja2VyOjp0
cmFja2VyKCkuZGV0YWlsc0Zvck5hbWVBbmRPcmlnaW4oZC0+bmFtZSwgZC0+b3JpZ2luLmdldCgp
KTsKICAgICByZXR1cm4gZGV0YWlscy5kaXNwbGF5TmFtZSgpOwogI2Vsc2UKQEAgLTk5LDcgKzk5
LDcgQEAgUVN0cmluZyBRV2ViRGF0YWJhc2U6OmRpc3BsYXlOYW1lKCkgY29ucwogKi8KIHFpbnQ2
NCBRV2ViRGF0YWJhc2U6OmV4cGVjdGVkU2l6ZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKERBVEFC
QVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0YWJhc2VEZXRhaWxzIGRldGFp
bHMgPSBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5kZXRhaWxzRm9yTmFtZUFuZE9yaWdpbihk
LT5uYW1lLCBkLT5vcmlnaW4uZ2V0KCkpOwogICAgIHJldHVybiBkZXRhaWxzLmV4cGVjdGVkVXNh
Z2UoKTsKICNlbHNlCkBAIC0xMTIsNyArMTEyLDcgQEAgcWludDY0IFFXZWJEYXRhYmFzZTo6ZXhw
ZWN0ZWRTaXplKCkgY29ucwogKi8KIHFpbnQ2NCBRV2ViRGF0YWJhc2U6OnNpemUoKSBjb25zdAog
ewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERh
dGFiYXNlRGV0YWlscyBkZXRhaWxzID0gRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGV0YWls
c0Zvck5hbWVBbmRPcmlnaW4oZC0+bmFtZSwgZC0+b3JpZ2luLmdldCgpKTsKICAgICByZXR1cm4g
ZGV0YWlscy5jdXJyZW50VXNhZ2UoKTsKICNlbHNlCkBAIC0xNDcsNyArMTQ3LDcgQEAgUVdlYkRh
dGFiYXNlOjpRV2ViRGF0YWJhc2UoUVdlYkRhdGFiYXNlUAogKi8KIFFTdHJpbmcgUVdlYkRhdGFi
YXNlOjpmaWxlTmFtZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmZ1
bGxQYXRoRm9yRGF0YWJhc2UoZC0+b3JpZ2luLmdldCgpLCBkLT5uYW1lLCBmYWxzZSk7CiAjZWxz
ZQogICAgIHJldHVybiBRU3RyaW5nKCk7CkBAIC0xNzAsNyArMTcwLDcgQEAgUVdlYlNlY3VyaXR5
T3JpZ2luIFFXZWJEYXRhYmFzZTo6b3JpZ2luKAogKi8KIHZvaWQgUVdlYkRhdGFiYXNlOjpyZW1v
dmVEYXRhYmFzZShjb25zdCBRV2ViRGF0YWJhc2UmIGRiKQogewotI2lmIEVOQUJMRShEQVRBQkFT
RSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tl
cigpLmRlbGV0ZURhdGFiYXNlKGRiLmQtPm9yaWdpbi5nZXQoKSwgZGIuZC0+bmFtZSk7CiAjZW5k
aWYKIH0KQEAgLTE4NCw3ICsxODQsNyBAQCB2b2lkIFFXZWJEYXRhYmFzZTo6cmVtb3ZlRGF0YWJh
c2UoY29uc3QgCiAqLwogdm9pZCBRV2ViRGF0YWJhc2U6OnJlbW92ZUFsbERhdGFiYXNlcygpCiB7
Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgRGF0
YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuZGVsZXRlQWxsRGF0YWJhc2VzKCk7CiAjZW5kaWYKIH0K
SW5kZXg6IFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZWN1cml0eW9yaWdpbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNlY3VyaXR5b3JpZ2luLmNwcAkocmV2
aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2VjdXJpdHlvcmlnaW4u
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjAsNyArMTIwLDcgQEAgaW50IFFXZWJTZWN1cml0eU9y
aWdpbjo6cG9ydCgpIGNvbnN0CiAqLwogcWludDY0IFFXZWJTZWN1cml0eU9yaWdpbjo6ZGF0YWJh
c2VVc2FnZSgpIGNvbnN0CiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxf
REFUQUJBU0UpCiAgICAgcmV0dXJuIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnVzYWdlRm9y
T3JpZ2luKGQtPm9yaWdpbi5nZXQoKSk7CiAjZWxzZQogICAgIHJldHVybiAwOwpAQCAtMTMyLDcg
KzEzMiw3IEBAIHFpbnQ2NCBRV2ViU2VjdXJpdHlPcmlnaW46OmRhdGFiYXNlVXNhZ2UKICovCiBx
aW50NjQgUVdlYlNlY3VyaXR5T3JpZ2luOjpkYXRhYmFzZVF1b3RhKCkgY29uc3QKIHsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gRGF0
YWJhc2VUcmFja2VyOjp0cmFja2VyKCkucXVvdGFGb3JPcmlnaW4oZC0+b3JpZ2luLmdldCgpKTsK
ICNlbHNlCiAgICAgcmV0dXJuIDA7CkBAIC0xNDgsNyArMTQ4LDcgQEAgcWludDY0IFFXZWJTZWN1
cml0eU9yaWdpbjo6ZGF0YWJhc2VRdW90YQogKi8KIHZvaWQgUVdlYlNlY3VyaXR5T3JpZ2luOjpz
ZXREYXRhYmFzZVF1b3RhKHFpbnQ2NCBxdW90YSkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisj
aWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIoKS5z
ZXRRdW90YShkLT5vcmlnaW4uZ2V0KCksIHF1b3RhKTsKICNlbmRpZgogfQpAQCAtMTgxLDcgKzE4
MSw3IEBAIFFMaXN0PFFXZWJTZWN1cml0eU9yaWdpbj4gUVdlYlNlY3VyaXR5T3IKIHsKICAgICBR
TGlzdDxRV2ViU2VjdXJpdHlPcmlnaW4+IHdlYk9yaWdpbnM7CiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBWZWN0b3I8UmVmUHRyPFNlY3VyaXR5
T3JpZ2luPiA+IGNvcmVPcmlnaW5zOwogICAgIERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLm9y
aWdpbnMoY29yZU9yaWdpbnMpOwogCkBAIC0yMDEsNyArMjAxLDcgQEAgUUxpc3Q8UVdlYkRhdGFi
YXNlPiBRV2ViU2VjdXJpdHlPcmlnaW46OgogewogICAgIFFMaXN0PFFXZWJEYXRhYmFzZT4gZGF0
YWJhc2VzOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0Up
CiAgICAgVmVjdG9yPFN0cmluZz4gbmFtZVZlY3RvcjsKIAogICAgIGlmICghRGF0YWJhc2VUcmFj
a2VyOjp0cmFja2VyKCkuZGF0YWJhc2VOYW1lc0Zvck9yaWdpbihkLT5vcmlnaW4uZ2V0KCksIG5h
bWVWZWN0b3IpKQpJbmRleDogU291cmNlL1dlYktpdC9xdC9BcGkvcXdlYnNldHRpbmdzLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3F0L0FwaS9xd2Vic2V0dGluZ3MuY3BwCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvcXQvQXBpL3F3ZWJzZXR0aW5ncy5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCB2b2lkIFFXZWJTZXR0aW5nc1ByaXZhdGU6
OmFwcGx5KCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsLT5h
dHRyaWJ1dGVzLnZhbHVlKFFXZWJTZXR0aW5nczo6UHJpbnRFbGVtZW50QmFja2dyb3VuZHMpKTsK
ICAgICAgICAgc2V0dGluZ3MtPnNldFNob3VsZFByaW50QmFja2dyb3VuZHModmFsdWUpOwogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgICAgIHZh
bHVlID0gYXR0cmlidXRlcy52YWx1ZShRV2ViU2V0dGluZ3M6Ok9mZmxpbmVTdG9yYWdlRGF0YWJh
c2VFbmFibGVkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnbG9iYWwt
PmF0dHJpYnV0ZXMudmFsdWUoUVdlYlNldHRpbmdzOjpPZmZsaW5lU3RvcmFnZURhdGFiYXNlRW5h
YmxlZCkpOwogICAgICAgICBXZWJDb3JlOjpBYnN0cmFjdERhdGFiYXNlOjpzZXRJc0F2YWlsYWJs
ZSh2YWx1ZSk7CkBAIC05NzgsNyArOTc4LDcgQEAgdm9pZCBRV2ViU2V0dGluZ3M6OnJlc2V0QXR0
cmlidXRlKFdlYkF0dAogKi8KIHZvaWQgUVdlYlNldHRpbmdzOjpzZXRPZmZsaW5lU3RvcmFnZVBh
dGgoY29uc3QgUVN0cmluZyYgcGF0aCkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5B
QkxFKFNRTF9EQVRBQkFTRSkKICAgICBXZWJDb3JlOjpEYXRhYmFzZVRyYWNrZXI6OnRyYWNrZXIo
KS5zZXREYXRhYmFzZURpcmVjdG9yeVBhdGgocGF0aCk7CiAjZW5kaWYKIH0KQEAgLTk5Myw3ICs5
OTMsNyBAQCB2b2lkIFFXZWJTZXR0aW5nczo6c2V0T2ZmbGluZVN0b3JhZ2VQYXRoCiAqLwogUVN0
cmluZyBRV2ViU2V0dGluZ3M6Om9mZmxpbmVTdG9yYWdlUGF0aCgpCiB7Ci0jaWYgRU5BQkxFKERB
VEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIFdlYkNvcmU6OkRh
dGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLmRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpOwogI2Vsc2UK
ICAgICByZXR1cm4gUVN0cmluZygpOwpJbmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9DaHJvbWVDbGllbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAJKHJldmlzaW9uIDk1MjQzKQorKysgU291
cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTUyOSw3ICs1MjksNyBAQCB2b2lkIENocm9tZUNsaWVudFF0OjpwcmludChGcmFt
ZSogZnJhbWUpCiAgICAgZW1pdCBtX3dlYlBhZ2UtPnByaW50UmVxdWVzdGVkKFFXZWJGcmFtZVBy
aXZhdGU6OmtpdChmcmFtZSkpOwogfQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiB2b2lkIENocm9tZUNsaWVudFF0OjpleGNlZWRlZERhdGFiYXNlUXVv
dGEoRnJhbWUqIGZyYW1lLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSkKIHsKICAgICBxdWlu
dDY0IHF1b3RhID0gUVdlYlNldHRpbmdzOjpvZmZsaW5lU3RvcmFnZURlZmF1bHRRdW90YSgpOwpJ
bmRleDogU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
UXQuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0Nocm9tZUNsaWVudFF0LmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMyw3ICsxMzMsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFRvb2xUaXAoY29uc3QgU3RyaW5nJiwgVGV4dERpcmVj
dGlvbik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKTsKLSNpZiBFTkFCTEUoREFU
QUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVk
ZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKICNpZiBFTkFC
TEUoT0ZGTElORV9XRUJfQVBQTElDQVRJT05TKQpJbmRleDogU291cmNlL1dlYktpdC93aW4vQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNp
b24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwyMyBAQAorMjAxMS0wOS0xNSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQu
b3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFCTEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFU
QUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
Rm9yRWFjaENvQ2xhc3MuaDoKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuY3BwOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAg
ICAgICAqIFdlYkRhdGFiYXNlTWFuYWdlci5jcHA6CisgICAgICAgICogV2ViRGF0YWJhc2VNYW5h
Z2VyLmg6CisgICAgICAgICogV2ViU2VjdXJpdHlPcmlnaW4uY3BwOgorICAgICAgICAoV2ViU2Vj
dXJpdHlPcmlnaW46OnVzYWdlKToKKyAgICAgICAgKFdlYlNlY3VyaXR5T3JpZ2luOjpxdW90YSk6
CisgICAgICAgIChXZWJTZWN1cml0eU9yaWdpbjo6c2V0UXVvdGEpOgorICAgICAgICAqIFdlYlZp
ZXcuY3BwOgorICAgICAgICAoV2ViVmlldzo6aW5pdFdpdGhGcmFtZSk6CisgICAgICAgIChXZWJW
aWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZWQpOgorCiAyMDExLTA5LTE1ICBLZW50YXJvIEhh
cmEgIDxoYXJha2VuQGdvb2dsZS5jb20+CiAKICAgICAgICAgQSBzaW5nbGUgbGluZSBtdXN0IG5v
dCBiZSBzcGxpdCBpbnRvIHR3byBwYWdlcy4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL0ZvckVh
Y2hDb0NsYXNzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93aW4vRm9yRWFjaENvQ2xh
c3MuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9Gb3JFYWNoQ29DbGFz
cy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJQcm9nSURN
YWNyb3MuaCIKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNF
KQogI2RlZmluZSBXRUJfREFUQUJBU0VfTUFOQUdFUihtYWNybykgbWFjcm8oV2ViRGF0YWJhc2VN
YW5hZ2VyKQogI2Vsc2UKICNkZWZpbmUgV0VCX0RBVEFCQVNFX01BTkFHRVIobWFjcm8pCkluZGV4
OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRhYmFzZU1hbmFnZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJLaXQvd2luL1dlYkRhdGFiYXNlTWFuYWdlci5jcHAJKHJldmlzaW9uIDk1MjQz
KQorKysgU291cmNlL1dlYktpdC93aW4vV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIldlYkRhdGFiYXNlTWFuYWdlci5oIgog
I2luY2x1ZGUgIldlYktpdERMTC5oIgogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRlICJDRkRpY3Rpb25hcnlQcm9wZXJ0eUJhZy5oIgog
I2luY2x1ZGUgIkNPTUVudW1WYXJpYW50LmgiCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJEYXRh
YmFzZU1hbmFnZXIuaAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMjksNyArMjksNyBAQAogI2lmbmRl
ZiBXZWJEYXRhYmFzZU1hbmFnZXJfaAogI2RlZmluZSBXZWJEYXRhYmFzZU1hbmFnZXJfaAogCi0j
aWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAKICNpbmNsdWRl
ICJXZWJLaXQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlVHJhY2tlckNsaWVudC5oPgpJ
bmRleDogU291cmNlL1dlYktpdC93aW4vV2ViU2VjdXJpdHlPcmlnaW4uY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQvd2luL1dlYlNlY3VyaXR5T3JpZ2luLmNwcAkocmV2aXNpb24gOTUy
NDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbi9XZWJTZWN1cml0eU9yaWdpbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0JTdHJpbmcuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0RhdGFiYXNlVHJhY2tlci5oPgogCi0jaWYgIUVOQUJMRShEQVRBQkFT
RSkKKyNpZiAhRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0u
aD4KICNlbmRpZgogCkBAIC0xMzAsNyArMTMwLDcgQEAgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQ
RSBXZWJTZWN1cml0eU9yaQogSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBXZWJTZWN1cml0eU9y
aWdpbjo6dXNhZ2UoIAogICAgIC8qIFtyZXR2YWxdW291dF0gKi8gdW5zaWduZWQgbG9uZyBsb25n
KiByZXN1bHQpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJB
U0UpCiAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgIHJldHVybiBFX1BPSU5URVI7CiAKQEAgLTE0
Niw3ICsxNDYsNyBAQCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlNlY3VyaXR5T3JpCiBI
UkVTVUxUIFNURE1FVEhPRENBTExUWVBFIFdlYlNlY3VyaXR5T3JpZ2luOjpxdW90YSggCiAgICAg
LyogW3JldHZhbF1bb3V0XSAqLyB1bnNpZ25lZCBsb25nIGxvbmcqIHJlc3VsdCkKIHsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICBpZiAoIXJlc3Vs
dCkKICAgICAgICAgcmV0dXJuIEVfUE9JTlRFUjsKIApAQCAtMTYxLDcgKzE2MSw3IEBAIEhSRVNV
TFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViU2VjdXJpdHlPcmkKIEhSRVNVTFQgU1RETUVUSE9EQ0FM
TFRZUEUgV2ViU2VjdXJpdHlPcmlnaW46OnNldFF1b3RhKCAKICAgICAvKiBbaW5dICovIHVuc2ln
bmVkIGxvbmcgbG9uZyBxdW90YSkgCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJM
RShTUUxfREFUQUJBU0UpCiAgICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuc2V0UXVvdGEo
bV9zZWN1cml0eU9yaWdpbi5nZXQoKSwgcXVvdGEpOwogCiAgICAgcmV0dXJuIFNfT0s7CkluZGV4
OiBTb3VyY2UvV2ViS2l0L3dpbi9XZWJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L3dpbi9XZWJWaWV3LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dp
bi9XZWJWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYxOSw3ICsyNjE5LDcgQEAgSFJFU1VM
VCBTVERNRVRIT0RDQUxMVFlQRSBXZWJWaWV3Ojppbml0VwogICAgIHN0YXRpYyBib29sIGRpZE9u
ZVRpbWVJbml0aWFsaXphdGlvbjsKICAgICBpZiAoIWRpZE9uZVRpbWVJbml0aWFsaXphdGlvbikg
ewogICAgICAgICBJbml0aWFsaXplTG9nZ2luZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKLSNpZiBF
TkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICAgICAgV2ViS2l0
SW5pdGlhbGl6ZVdlYkRhdGFiYXNlc0lmTmVjZXNzYXJ5KCk7CiAjZW5kaWYKICAgICAgICAgV2Vi
S2l0U2V0QXBwbGljYXRpb25DYWNoZVBhdGhJZk5lY2Vzc2FyeSgpOwpAQCAtNDc1NCw3ICs0NzU0
LDcgQEAgSFJFU1VMVCBXZWJWaWV3Ojpub3RpZnlQcmVmZXJlbmNlc0NoYW5nZQogICAgICAgICBy
ZXR1cm4gaHI7CiAgICAgc2V0dGluZ3MtPnNldE9mZmxpbmVXZWJBcHBsaWNhdGlvbkNhY2hlRW5h
YmxlZChlbmFibGVkKTsKIAotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RB
VEFCQVNFKQogICAgIGhyID0gcHJlZnNQcml2YXRlLT5kYXRhYmFzZXNFbmFibGVkKCZlbmFibGVk
KTsKICAgICBpZiAoRkFJTEVEKGhyKSkKICAgICAgICAgcmV0dXJuIGhyOwpJbmRleDogU291cmNl
L1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3Nyw3ICs1NzcsNyBAQCB2b2lk
IFdlYkNocm9tZUNsaWVudDo6cHJpbnQoRnJhbWUqIGZyYW1lCiAgICAgICAgIHVpRGVsZWdhdGUt
PnByaW50RnJhbWUobV93ZWJWaWV3LCBraXQoZnJhbWUpKTsKIH0KIAotI2lmIEVOQUJMRShEQVRB
QkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmV4
Y2VlZGVkRGF0YWJhc2VRdW90YShGcmFtZSogZnJhbWUsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VJ
ZGVudGlmaWVyKQogewogICAgIENPTVB0cjxXZWJTZWN1cml0eU9yaWdpbj4gb3JpZ2luKEFkb3B0
Q09NLCBXZWJTZWN1cml0eU9yaWdpbjo6Y3JlYXRlSW5zdGFuY2UoZnJhbWUtPmRvY3VtZW50KCkt
PnNlY3VyaXR5T3JpZ2luKCkpKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd2luL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCShyZXZpc2lvbiA5NTI0MykKKysrIFNvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xMTMsNyArMTEzLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHByaW50
KFdlYkNvcmU6OkZyYW1lKik7CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKICAgICB2aXJ0dWFsIHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKFdlYkNv
cmU6OkZyYW1lKiwgY29uc3QgV1RGOjpTdHJpbmcmKTsKICNlbmRpZgogCkluZGV4OiBTb3VyY2Uv
V2ViS2l0L3dpbmNlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L3dpbmNl
L0NoYW5nZUxvZwkocmV2aXNpb24gOTUyNTUpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDExLTA5LTE1ICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmVuYW1lIEVOQUJMRShEQVRBQkFT
RSkgdG8gRU5BQkxFKFNRTF9EQVRBQkFTRSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTY4MjA1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5jcHA6
CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50V2luQ0UuaDoKKwogMjAxMS0w
OC0zMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBXaW5DRSBi
dWlsZCBmaXggYXR0ZW1wdCBhZnRlciByOTQwODAuCkluZGV4OiBTb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmNwcAkocmV2
aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudFdpbkNFLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjk4LDcgKzI5OCw3IEBAIHZvaWQg
Q2hyb21lQ2xpZW50V2luQ0U6OnByaW50KEZyYW1lKikKICAgICBub3RJbXBsZW1lbnRlZCgpOwog
fQogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiB2b2lk
IENocm9tZUNsaWVudFdpbkNFOjpleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBT
dHJpbmcmKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L3dp
bmNlL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFdpbkNFLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRXaW5DRS5oCShyZXZp
c2lvbiA5NTI0MykKKysrIFNvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvQ2hyb21l
Q2xpZW50V2luQ0UuaAkod29ya2luZyBjb3B5KQpAQCAtMTEzLDcgKzExMyw3IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCBwcmludChXZWJDb3JlOjpGcmFtZSopOwogCi0jaWYgRU5BQkxF
KERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgdmlydHVhbCB2b2lkIGV4
Y2VlZGVkRGF0YWJhc2VRdW90YShXZWJDb3JlOjpGcmFtZSosIGNvbnN0IFdURjo6U3RyaW5nJiBk
YXRhYmFzZU5hbWUpOwogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NTI1
NSkKKysrIFNvdXJjZS9XZWJLaXQvd3gvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTEtMDktMTUgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KKwor
ICAgICAgICBSZW5hbWUgRU5BQkxFKERBVEFCQVNFKSB0byBFTkFCTEUoU1FMX0RBVEFCQVNFKQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyMDUKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFN1
cHBvcnQvQ2hyb21lQ2xpZW50V3guY3BwOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvQ2hyb21l
Q2xpZW50V3guaDoKKyAgICAgICAgKiBXZWJWaWV3LmNwcDoKKyAgICAgICAgKHd4V2ViVmlldzo6
Q3JlYXRlKToKKyAgICAgICAgKHd4V2ViVmlldzo6U2V0RGF0YWJhc2VEaXJlY3RvcnkpOgorICAg
ICAgICAod3hXZWJWaWV3OjpHZXREYXRhYmFzZURpcmVjdG9yeSk6CisgICAgICAgICh3eFdlYlZp
ZXc6OlNldERhdGFiYXNlc0VuYWJsZWQpOgorICAgICAgICAod3hXZWJWaWV3OjpBcmVEYXRhYmFz
ZXNFbmFibGVkKToKKwogMjAxMS0wOS0wNCAgUm9iaW4gRHVubiAgPHJvYmluQGFsbGR1bm4uY29t
PgogCiAgICAgICAgIFt3eF0gRW5hYmxlIHd4V2ViS2l0IHRvIHJ1biB1c2luZyB0aGUgd3hHQyBD
YWlybyBiYWNrZW5kIG9uIHBsYXRmb3JtcyBvdGhlciB0aGFuIEdUSy4KSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvd3gvV2ViVmlldy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93eC9XZWJW
aWV3LmNwcAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3d4L1dlYlZpZXcuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBACiAjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CiAKLSNpZiBFTkFCTEUoREFUQUJB
U0UpCisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICNpbmNsdWRlICJBYnN0cmFjdERhdGFiYXNl
LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKQEAgLTQxNSw3ICs0MTUs
NyBAQCBib29sIHd4V2ViVmlldzo6Q3JlYXRlKHd4V2luZG93KiBwYXJlbnQsCiAgICAgc2V0dGlu
Z3MtPnNldFN0YW5kYXJkRm9udEZhbWlseSgiVGltZXMgTmV3IFJvbWFuIik7CiAgICAgc2V0dGlu
Z3MtPnNldEphdmFTY3JpcHRFbmFibGVkKHRydWUpOwogCi0jaWYgRU5BQkxFKERBVEFCQVNFKQor
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAgICAgU2V0RGF0YWJhc2VzRW5hYmxlZCh0cnVlKTsK
ICNlbmRpZgogCkBAIC0xMTAwLDcgKzExMDAsNyBAQCBib29sIHd4V2ViVmlldzo6U2hvdWxkQ2xv
c2UoKSBjb25zdAogLyogc3RhdGljICovCiB2b2lkIHd4V2ViVmlldzo6U2V0RGF0YWJhc2VEaXJl
Y3RvcnkoY29uc3Qgd3hTdHJpbmcmIGRhdGFiYXNlRGlyZWN0b3J5KQogewotI2lmIEVOQUJMRShE
QVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkRhdGFiYXNl
VHJhY2tlcjo6dHJhY2tlcigpLnNldERhdGFiYXNlRGlyZWN0b3J5UGF0aChkYXRhYmFzZURpcmVj
dG9yeSk7CiAjZW5kaWYKIH0KQEAgLTExMDgsNyArMTEwOCw3IEBAIHZvaWQgd3hXZWJWaWV3OjpT
ZXREYXRhYmFzZURpcmVjdG9yeShjb24KIC8qIHN0YXRpYyAqLwogd3hTdHJpbmcgd3hXZWJWaWV3
OjpHZXREYXRhYmFzZURpcmVjdG9yeSgpCiB7Ci0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVO
QUJMRShTUUxfREFUQUJBU0UpCiAgICAgcmV0dXJuIFdlYkNvcmU6OkRhdGFiYXNlVHJhY2tlcjo6
dHJhY2tlcigpLmRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpOwogI2Vsc2UKICAgICByZXR1cm4gd3hF
bXB0eVN0cmluZzsKQEAgLTExMTgsNyArMTExOCw3IEBAIHd4U3RyaW5nIHd4V2ViVmlldzo6R2V0
RGF0YWJhc2VEaXJlY3RvcnkKIC8qIHN0YXRpYyAqLwogdm9pZCB3eFdlYlZpZXc6OlNldERhdGFi
YXNlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogewotI2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBF
TkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIFdlYkNvcmU6OkFic3RyYWN0RGF0YWJhc2U6OnNldElz
QXZhaWxhYmxlKGVuYWJsZWQpOwogI2VuZGlmCiB9CkBAIC0xMTI2LDcgKzExMjYsNyBAQCB2b2lk
IHd4V2ViVmlldzo6U2V0RGF0YWJhc2VzRW5hYmxlZChib29sCiAvKiBzdGF0aWMgKi8KIGJvb2wg
d3hXZWJWaWV3OjpBcmVEYXRhYmFzZXNFbmFibGVkKCkKIHsKLSNpZiBFTkFCTEUoREFUQUJBU0Up
CisjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKICAgICByZXR1cm4gV2ViQ29yZTo6QWJzdHJhY3RE
YXRhYmFzZTo6aXNBdmFpbGFibGUoKTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKSW5kZXg6
IFNvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmNw
cAkocmV2aXNpb24gOTUyNDMpCisrKyBTb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hy
b21lQ2xpZW50V3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw3IEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50V3guaCIKICNpbmNsdWRlICJDb25z
b2xlLmgiCi0jaWYgRU5BQkxFKERBVEFCQVNFKQorI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCiAj
aW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKICNpbmNsdWRlICJGaWxlQ2hvb3Nl
ci5oIgpAQCAtNDIwLDcgKzQyMCw3IEBAIHZvaWQgQ2hyb21lQ2xpZW50V3g6OnByaW50KEZyYW1l
KiBmcmFtZSkKICAgICB9CiB9CiAKLSNpZiBFTkFCTEUoREFUQUJBU0UpCisjaWYgRU5BQkxFKFNR
TF9EQVRBQkFTRSkKIHZvaWQgQ2hyb21lQ2xpZW50V3g6OmV4Y2VlZGVkRGF0YWJhc2VRdW90YShG
cmFtZSosIGNvbnN0IFN0cmluZyYpCiB7CiAgICAgdW5zaWduZWQgbG9uZyBsb25nIHF1b3RhID0g
NSAqIDEwMjQgKiAxMDI0OwpJbmRleDogU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0No
cm9tZUNsaWVudFd4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBw
b3J0L0Nocm9tZUNsaWVudFd4LmgJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVudFd4LmgJKHdvcmtpbmcgY29weSkKQEAgLTEyMCw3
ICsxMjAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgcHJpbnQoRnJhbWUqKTsKIAot
I2lmIEVOQUJMRShEQVRBQkFTRSkKKyNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogICAgIHZpcnR1
YWwgdm9pZCBleGNlZWRlZERhdGFiYXNlUXVvdGEoRnJhbWUqLCBjb25zdCBTdHJpbmcmKTsKICNl
bmRpZgogCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQkocmV2aXNpb24gOTUyNDMpCisrKyBTb3Vy
Y2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQkod29ya2luZyBjb3B5KQpAQCAtNjIsNyArNjIsNyBA
QCBTRVQoVkVSU0lPTl9TQ1JJUFQgIi1XbCwtLXZlcnNpb24tc2NyaXB0CiBXRUJLSVRfRkVBVFVS
RShFTkFCTEVfQVNfSU1BR0UgIkVuYWJsZSBTVkcgYXMgaW1hZ2UiIERFRkFVTFQgT04gU1ZHKQog
V0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0JMT0IgIkVuYWJsZSBibG9iIHNsaWNlIiBERUZBVUxUIE9G
RikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyAiRW5hYmxlIGNoYW5u
ZWwgbWVzc2FnaW5nIiBERUZBVUxUIE9OKQotV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0RBVEFCQVNF
ICJFbmFibGUgZGF0YWJhc2UiIERFRkFVTFQgT04pCitXRUJLSVRfRkVBVFVSRShFTkFCTEVfU1FM
X0RBVEFCQVNFICJFbmFibGUgU1FMIGRhdGFiYXNlIiBERUZBVUxUIE9OKQogV0VCS0lUX0ZFQVRV
UkUoRU5BQkxFX0RBVEFHUklEICJFbmFibGUgZGF0YWdyaWQiIERFRkFVTFQgT0ZGKQogV0VCS0lU
X0ZFQVRVUkUoRU5BQkxFX0RBVEFMSVNUICJFbmFibGUgZGF0YWxpc3QiIERFRkFVTFQgT04gSFRN
TCkKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TICJFbmFibGUgZGF0
YSB0cmFuc2ZlciBpdGVtcyIgREVGQVVMVCBPRkYpCkluZGV4OiBTb3VyY2UvY21ha2UvT3B0aW9u
c1dpbkNFLmNtYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zV2luQ0UuY21h
a2UJKHJldmlzaW9uIDk1MjQzKQorKysgU291cmNlL2NtYWtlL09wdGlvbnNXaW5DRS5jbWFrZQko
d29ya2luZyBjb3B5KQpAQCAtMjMsNyArMjMsNyBAQCBBRERfU1VCRElSRUNUT1JZKCR7M1JEUEFS
VFlfRElSfSAiJHtDTUFLCiBXRUJLSVRfRkVBVFVSRShFTkFCTEVfQVNfSU1BR0UgIkVuYWJsZSBT
VkcgYXMgaW1hZ2UiIERFRkFVTFQgT04gU1ZHKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0JMT0Ig
IkVuYWJsZSBibG9iIHNsaWNlIiBERUZBVUxUIE9GRikKIFdFQktJVF9GRUFUVVJFKEVOQUJMRV9D
SEFOTkVMX01FU1NBR0lORyAiRW5hYmxlIGNoYW5uZWwgbWVzc2FnaW5nIiBERUZBVUxUIE9GRikK
LVdFQktJVF9GRUFUVVJFKEVOQUJMRV9EQVRBQkFTRSAiRW5hYmxlIGRhdGFiYXNlIiBERUZBVUxU
IE9GRikKK1dFQktJVF9GRUFUVVJFKEVOQUJMRV9TUUxfREFUQUJBU0UgIkVuYWJsZSBTUUwgZGF0
YWJhc2UiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0RBVEFHUklEICJFbmFi
bGUgZGF0YWdyaWQiIERFRkFVTFQgT0ZGKQogV0VCS0lUX0ZFQVRVUkUoRU5BQkxFX0RBVEFMSVNU
ICJFbmFibGUgZGF0YWxpc3QiIERFRkFVTFQgT0ZGIEhUTUwpCiBXRUJLSVRfRkVBVFVSRShFTkFC
TEVfREFUQV9UUkFOU0ZFUl9JVEVNUyAiRW5hYmxlIGRhdGEgdHJhbnNmZXIgaXRlbXMiIERFRkFV
TFQgT0ZGKQpJbmRleDogV2ViS2l0TGlicmFyaWVzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXRMaWJyYXJpZXMvQ2hhbmdlTG9nCShyZXZpc2lvbiA5NTI1NSkKKysrIFdlYktpdExpYnJh
cmllcy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMS0wOS0x
NSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbmFtZSBFTkFC
TEUoREFUQUJBU0UpIHRvIEVOQUJMRShTUUxfREFUQUJBU0UpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIwNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURl
ZmluZXMudnNwcm9wczoKKyAgICAgICAgKiB3aW4vdG9vbHMvdnNwcm9wcy9GZWF0dXJlRGVmaW5l
c0NhaXJvLnZzcHJvcHM6CisKIDIwMTEtMDktMTUgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJlbW92ZSBFTkFCTEUoU1ZHX0FTX0lNQUdFKSBzaW5jZSBhbGwgbWFq
b3IgcG9ydHMgaGF2ZSBpdCBvbiBieSBkZWZhdWx0CkluZGV4OiBXZWJLaXRMaWJyYXJpZXMvd2lu
L3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmluZXMudnNwcm9wcwkocmV2
aXNpb24gOTUyNDMpCisrKyBXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVy
ZURlZmluZXMudnNwcm9wcwkod29ya2luZyBjb3B5KQpAQCAtOSw3ICs5LDcgQEAKIAk+CiAgIDxU
b29sCiAJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCi0JCVByZXByb2Nlc3NvckRlZmluaXRpb25z
PSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JFTkRFUklORyk7JChFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9CTE9CKTskKEVOQUJMRV9DSEFOTkVMX01FU1NB
R0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9DU1NfUkVH
SU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpOyQoRU5BQkxFX0RBVEFCQVNFKTskKEVOQUJM
RV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQoRU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRF
TVMpOyQoRU5BQkxFX0RFVEFJTFMpOyQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTik7JChFTkFC
TEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRE9NX1NUT1JBR0UpOyQoRU5BQkxFX0VWRU5U
U09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJMRV9GSUxFX1NZU1RFTSk7JChFTkFCTEVf
Q1NTM19GTEVYQk9YKTskKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSk7JChFTkFCTEVfR0VPTE9DQVRJ
T04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSk7JChF
TkFCTEVfSU5QVVRfQ09MT1IpOyQoRU5BQkxFX0lOUFVUX1NQRUVDSCk7JChFTkFCTEVfSkFWQVND
UklQVF9ERUJVR0dFUik7JChFTkFCTEVfTElOS19QUkVGRVRDSCk7JChFTkFCTEVfTUFUSE1MKTsk
KEVOQUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxFX05PVElGSUNBVElPTlMpOyQoRU5BQkxFX09GRkxJ
TkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfUEFHRV9WSVNJQklMSVRZX0FQSSk7JChFTkFC
TEVfUFJPR1JFU1NfVEFHKTskKEVOQUJMRV9RVU9UQSk7JChFTkFCTEVfUkVHSVNURVJfUFJPVE9D
T0xfSEFORExFUik7JChFTkFCTEVfU0hBUkVEX1dPUktFUlMpOyQoRU5BQkxFX1NWRyk7JChFTkFC
TEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJMRV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJ
REVPKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpOyQo
RU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJfVElNSU5HKTskKEVOQUJMRV9XT1JLRVJT
KTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFUSCk7JChFTkFCTEVfWFNMVCkiCisJCVBy
ZXByb2Nlc3NvckRlZmluaXRpb25zPSIkKEVOQUJMRV8zRF9DQU5WQVMpOyQoRU5BQkxFXzNEX1JF
TkRFUklORyk7JChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKTskKEVOQUJMRV9CTE9CKTsk
KEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORyk7JChFTkFCTEVfQ0xJRU5UX0JBU0VEX0dFT0xPQ0FU
SU9OKTskKEVOQUJMRV9DU1NfUkVHSU9OUyk7JChFTkFCTEVfQ1NTX0VYQ0xVU0lPTlMpOyQoRU5B
QkxFX1NRTF9EQVRBQkFTRSk7JChFTkFCTEVfREFUQUdSSUQpOyQoRU5BQkxFX0RBVEFMSVNUKTsk
KEVOQUJMRV9EQVRBX1RSQU5TRkVSX0lURU1TKTskKEVOQUJMRV9ERVRBSUxTKTskKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pOyQoRU5BQkxFX0RJUkVDVE9SWV9VUExPQUQpOyQoRU5BQkxFX0RP
TV9TVE9SQUdFKTskKEVOQUJMRV9FVkVOVFNPVVJDRSk7JChFTkFCTEVfRklMVEVSUyk7JChFTkFC
TEVfRklMRV9TWVNURU0pOyQoRU5BQkxFX0NTUzNfRkxFWEJPWCk7JChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpOyQoRU5BQkxFX0dFT0xPQ0FUSU9OKTskKEVOQUJMRV9JQ09OREFUQUJBU0UpOyQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0UpOyQoRU5BQkxFX0lOUFVUX0NPTE9SKTskKEVOQUJMRV9JTlBV
VF9TUEVFQ0gpOyQoRU5BQkxFX0pBVkFTQ1JJUFRfREVCVUdHRVIpOyQoRU5BQkxFX0xJTktfUFJF
RkVUQ0gpOyQoRU5BQkxFX01BVEhNTCk7JChFTkFCTEVfTUVURVJfVEFHKTskKEVOQUJMRV9OT1RJ
RklDQVRJT05TKTskKEVOQUJMRV9PRkZMSU5FX1dFQl9BUFBMSUNBVElPTlMpOyQoRU5BQkxFX1BB
R0VfVklTSUJJTElUWV9BUEkpOyQoRU5BQkxFX1BST0dSRVNTX1RBRyk7JChFTkFCTEVfUVVPVEEp
OyQoRU5BQkxFX1JFR0lTVEVSX1BST1RPQ09MX0hBTkRMRVIpOyQoRU5BQkxFX1NIQVJFRF9XT1JL
RVJTKTskKEVOQUJMRV9TVkcpOyQoRU5BQkxFX1NWR19ET01fT0JKQ19CSU5ESU5HUyk7JChFTkFC
TEVfU1ZHX0ZPTlRTKTskKEVOQUJMRV9WSURFTyk7JChFTkFCTEVfTUVESUFfU09VUkNFKTskKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKTskKEVOQUJMRV9XRUJfU09DS0VUUyk7JChFTkFCTEVfV0VC
X1RJTUlORyk7JChFTkFCTEVfV09SS0VSUyk7JChFTkFCTEVfWEhUTUxNUCk7JChFTkFCTEVfWFBB
VEgpOyQoRU5BQkxFX1hTTFQpIgogCS8+CiAgIDxVc2VyTWFjcm8KIAkJTmFtZT0iRU5BQkxFXzNE
X0NBTlZBUyIKQEAgLTUyLDggKzUyLDggQEAKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVl
IgogCS8+CiAgIDxVc2VyTWFjcm8KLQkJTmFtZT0iRU5BQkxFX0RBVEFCQVNFIgotCQlWYWx1ZT0i
RU5BQkxFX0RBVEFCQVNFIgorCQlOYW1lPSJFTkFCTEVfU1FMX0RBVEFCQVNFIgorCQlWYWx1ZT0i
RU5BQkxFX1NRTF9EQVRBQkFTRSIKIAkJUGVyZm9ybUVudmlyb25tZW50U2V0PSJ0cnVlIgogCS8+
CiAgIDxVc2VyTWFjcm8KSW5kZXg6IFdlYktpdExpYnJhcmllcy93aW4vdG9vbHMvdnNwcm9wcy9G
ZWF0dXJlRGVmaW5lc0NhaXJvLnZzcHJvcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0TGlicmFyaWVz
L3dpbi90b29scy92c3Byb3BzL0ZlYXR1cmVEZWZpbmVzQ2Fpcm8udnNwcm9wcwkocmV2aXNpb24g
OTUyNDMpCisrKyBXZWJLaXRMaWJyYXJpZXMvd2luL3Rvb2xzL3ZzcHJvcHMvRmVhdHVyZURlZmlu
ZXNDYWlyby52c3Byb3BzCSh3b3JraW5nIGNvcHkpCkBAIC05LDcgKzksNyBAQAogCT4KICAgPFRv
b2wKIAkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJUHJlcHJvY2Vzc29yRGVmaW5pdGlvbnM9
IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVOREVSSU5HKTskKEVOQUJMRV9BQ0NF
TEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0JMT0IpOyQoRU5BQkxFX0NIQU5ORUxfTUVTU0FH
SU5HKTskKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0NTU19SRUdJ
T05TKTskKEVOQUJMRV9DU1NfRVhDTFVTSU9OUyk7JChFTkFCTEVfREFUQUJBU0UpOyQoRU5BQkxF
X0RBVEFHUklEKTskKEVOQUJMRV9EQVRBTElTVCk7JChFTkFCTEVfREFUQV9UUkFOU0ZFUl9JVEVN
Uyk7JChFTkFCTEVfREVUQUlMUyk7JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKTskKEVOQUJM
RV9ESVJFQ1RPUllfVVBMT0FEKTskKEVOQUJMRV9ET01fU1RPUkFHRSk7JChFTkFCTEVfRVZFTlRT
T1VSQ0UpOyQoRU5BQkxFX0ZJTFRFUlMpOyQoRU5BQkxFX0ZJTEVfU1lTVEVNKTskKEVOQUJMRV9D
U1MzX0ZMRVhCT1gpOyQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKTskKEVOQUJMRV9HRU9MT0NBVElP
Tik7JChFTkFCTEVfSUNPTkRBVEFCQVNFKTskKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKTskKEVO
QUJMRV9JTlBVVF9DT0xPUik7JChFTkFCTEVfSU5QVVRfU1BFRUNIKTskKEVOQUJMRV9KQVZBU0NS
SVBUX0RFQlVHR0VSKTskKEVOQUJMRV9MSU5LX1BSRUZFVENIKTskKEVOQUJMRV9NQVRITUwpOyQo
RU5BQkxFX01FVEVSX1RBRyk7JChFTkFCTEVfTk9USUZJQ0FUSU9OUyk7JChFTkFCTEVfT0ZGTElO
RV9XRUJfQVBQTElDQVRJT05TKTskKEVOQUJMRV9QQUdFX1ZJU0lCSUxJVFlfQVBJKTskKEVOQUJM
RV9QUk9HUkVTU19UQUcpOyQoRU5BQkxFX1FVT1RBKTskKEVOQUJMRV9SRUdJU1RFUl9QUk9UT0NP
TF9IQU5ETEVSKTskKEVOQUJMRV9TSEFSRURfV09SS0VSUyk7JChFTkFCTEVfU1ZHKTskKEVOQUJM
RV9TVkdfRE9NX09CSkNfQklORElOR1MpOyQoRU5BQkxFX1NWR19GT05UUyk7JChFTkFCTEVfVklE
RU8pOyQoRU5BQkxFX01FRElBX1NPVVJDRSk7JChFTkFCTEVfTUVESUFfU1RBVElTVElDUyk7JChF
TkFCTEVfV0VCX1NPQ0tFVFMpOyQoRU5BQkxFX1dFQl9USU1JTkcpOyQoRU5BQkxFX1dPUktFUlMp
OyQoRU5BQkxFX1hIVE1MTVApOyQoRU5BQkxFX1hQQVRIKTskKEVOQUJMRV9YU0xUKSIKKwkJUHJl
cHJvY2Vzc29yRGVmaW5pdGlvbnM9IiQoRU5BQkxFXzNEX0NBTlZBUyk7JChFTkFCTEVfM0RfUkVO
REVSSU5HKTskKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpOyQoRU5BQkxFX0JMT0IpOyQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKTskKEVOQUJMRV9DTElFTlRfQkFTRURfR0VPTE9DQVRJ
T04pOyQoRU5BQkxFX0NTU19SRUdJT05TKTskKEVOQUJMRV9DU1NfRVhDTFVTSU9OUyk7JChFTkFC
TEVfU1FMX0RBVEFCQVNFKTskKEVOQUJMRV9EQVRBR1JJRCk7JChFTkFCTEVfREFUQUxJU1QpOyQo
RU5BQkxFX0RBVEFfVFJBTlNGRVJfSVRFTVMpOyQoRU5BQkxFX0RFVEFJTFMpOyQoRU5BQkxFX0RF
VklDRV9PUklFTlRBVElPTik7JChFTkFCTEVfRElSRUNUT1JZX1VQTE9BRCk7JChFTkFCTEVfRE9N
X1NUT1JBR0UpOyQoRU5BQkxFX0VWRU5UU09VUkNFKTskKEVOQUJMRV9GSUxURVJTKTskKEVOQUJM
RV9GSUxFX1NZU1RFTSk7JChFTkFCTEVfQ1NTM19GTEVYQk9YKTskKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSk7JChFTkFCTEVfR0VPTE9DQVRJT04pOyQoRU5BQkxFX0lDT05EQVRBQkFTRSk7JChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRSk7JChFTkFCTEVfSU5QVVRfQ09MT1IpOyQoRU5BQkxFX0lOUFVU
X1NQRUVDSCk7JChFTkFCTEVfSkFWQVNDUklQVF9ERUJVR0dFUik7JChFTkFCTEVfTElOS19QUkVG
RVRDSCk7JChFTkFCTEVfTUFUSE1MKTskKEVOQUJMRV9NRVRFUl9UQUcpOyQoRU5BQkxFX05PVElG
SUNBVElPTlMpOyQoRU5BQkxFX09GRkxJTkVfV0VCX0FQUExJQ0FUSU9OUyk7JChFTkFCTEVfUEFH
RV9WSVNJQklMSVRZX0FQSSk7JChFTkFCTEVfUFJPR1JFU1NfVEFHKTskKEVOQUJMRV9RVU9UQSk7
JChFTkFCTEVfUkVHSVNURVJfUFJPVE9DT0xfSEFORExFUik7JChFTkFCTEVfU0hBUkVEX1dPUktF
UlMpOyQoRU5BQkxFX1NWRyk7JChFTkFCTEVfU1ZHX0RPTV9PQkpDX0JJTkRJTkdTKTskKEVOQUJM
RV9TVkdfRk9OVFMpOyQoRU5BQkxFX1ZJREVPKTskKEVOQUJMRV9NRURJQV9TT1VSQ0UpOyQoRU5B
QkxFX01FRElBX1NUQVRJU1RJQ1MpOyQoRU5BQkxFX1dFQl9TT0NLRVRTKTskKEVOQUJMRV9XRUJf
VElNSU5HKTskKEVOQUJMRV9XT1JLRVJTKTskKEVOQUJMRV9YSFRNTE1QKTskKEVOQUJMRV9YUEFU
SCk7JChFTkFCTEVfWFNMVCkiCiAJLz4KICAgPFVzZXJNYWNybwogCQlOYW1lPSJFTkFCTEVfM0Rf
Q0FOVkFTIgpAQCAtNTIsOCArNTIsOCBAQAogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUi
CiAJLz4KICAgPFVzZXJNYWNybwotCQlOYW1lPSJFTkFCTEVfREFUQUJBU0UiCi0JCVZhbHVlPSJF
TkFCTEVfREFUQUJBU0UiCisJCU5hbWU9IkVOQUJMRV9TUUxfREFUQUJBU0UiCisJCVZhbHVlPSJF
TkFCTEVfU1FMX0RBVEFCQVNFIgogCQlQZXJmb3JtRW52aXJvbm1lbnRTZXQ9InRydWUiCiAJLz4K
ICAgPFVzZXJNYWNybwo=
</data>
<flag name="review"
          id="104329"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>