<?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>233407</bug_id>
          
          <creation_ts>2021-11-21 03:09:53 -0800</creation_ts>
          <short_desc>[Model] clean up compile-time flags and condition IDL methods behind them</short_desc>
          <delta_ts>2021-11-30 12:05:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233652</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1817183</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-21 03:09:53 -0800</bug_when>
    <thetext>The various compile-time flags are not well organized and their use throughout the code related to &lt;model&gt; is a bit messy and lacking with regards to IDL method definitions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817184</commentid>
    <comment_count>1</comment_count>
      <attachid>444923</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-21 03:12:31 -0800</bug_when>
    <thetext>Created attachment 444923
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817209</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-21 14:03:46 -0800</bug_when>
    <thetext>r- because it seems like this entirely regresses https://trac.webkit.org/changeset/282567/webkit; I&apos;ll retract my r- if you build with SEPARATED_MODEL on and everything works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817596</commentid>
    <comment_count>3</comment_count>
      <attachid>445077</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-24 00:29:52 -0800</bug_when>
    <thetext>Created attachment 445077
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1817597</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-24 00:30:20 -0800</bug_when>
    <thetext>(In reply to Tim Horton from comment #2)
&gt; r- because it seems like this entirely regresses
&gt; https://trac.webkit.org/changeset/282567/webkit; I&apos;ll retract my r- if you
&gt; build with SEPARATED_MODEL on and everything works.

The new patch retains ENABLE_ARKIT_INLINE_PREVIEW accounting for the changes made in r 282567.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818069</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-11-28 03:10:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/85786210&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818305</commentid>
    <comment_count>6</comment_count>
      <attachid>445077</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2021-11-29 10:40:35 -0800</bug_when>
    <thetext>Comment on attachment 445077
Patch

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

&gt; Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h:58
&gt; -#if ENABLE(ARKIT_INLINE_PREVIEW_IOS)
&gt; +#if HAVE(ASV_INLINE_PREVIEW_IOS)

Should just remove this ifdef, it&apos;s a lie

&gt; Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h:95
&gt; -#if ENABLE(ARKIT_INLINE_PREVIEW_IOS)
&gt; +#if HAVE(ASV_INLINE_PREVIEW_IOS)

Should just remove this ifdef, it&apos;s a lie</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818321</commentid>
    <comment_count>7</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-29 11:06:48 -0800</bug_when>
    <thetext>Committed r286227 (244608@main): &lt;https://commits.webkit.org/244608@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1818865</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2021-11-30 12:05:09 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 233652</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444923</attachid>
            <date>2021-11-21 03:12:31 -0800</date>
            <delta_ts>2021-11-24 00:29:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233407-20211121121229.patch</filename>
            <type>text/plain</type>
            <size>75668</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVhYjNiMjBkYTVmNDFhMjYwMTM4NDhj
OTViMmViNTZmMzFjZDE3ODEuLmJhNTM5NGVmNzkzZWM4OTdhMjQ5MmQ3MzMwMjdlYjE5YmY5Yzhh
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMjEtMTEtMjEgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRpbWUg
ZmxhZ3MgYW5kIGNvbmRpdGlvbiBJREwgbWV0aG9kcyBiZWhpbmQgdGhlbQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNDA3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgcmVmYWN0b3IgYW5kIGF1Z21l
bnQgdGhlIGZsYWdzIHJlbGF0ZWQgdG8gdGhlIDxtb2RlbD4gZWxlbWVudC4gRmlyc3QsIHdlIGNo
YW5nZSB0aGUKKyAgICAgICAgZm9sbG93aW5nIGV4aXN0aW5nIGZsYWdzIGZyb20gRU5BQkxFIHRv
IEhBVkUgc2luY2UgdGhleSBhcmUgYWJvdXQgdGhlIGF2YWlsYWJpbGl0eSBvZgorICAgICAgICBz
cGVjaWZpYyBBUElzIGluIEFSS2l0LCBhbmQgbW9yZSBzcGVjaWZpYyBBU1ZJbmxpbmVQcmV2aWV3
LiBUaGUgY2hhbmdlcyBhcmUgYXMgZm9sbG93czoKKworICAgICAgICAgICAgRU5BQkxFX0FSS0lU
X0lOTElORV9QUkVWSUVXX0lPUyA9PiBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19JT1MKKyAgICAg
ICAgICAgIEVOQUJMRV9BUktJVF9JTkxJTkVfUFJFVklFV19NQUMgPT4gSEFWRV9BU1ZfSU5MSU5F
X1BSRVZJRVdfTUFDCisgICAgICAgICAgICBFTkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVcgPT4g
SEFWRV9BU1ZfSU5MSU5FX1BSRVZJRVcKKyAgICAgICAgICAgIEVOQUJMRV9BUktJVF9JTkxJTkVf
UFJFVklFV19DQU1FUkFfVFJBTlNGT1JNID0+IEhBVkVfQVNWX0lOTElORV9QUkVWSUVXX0NBTUVS
QV9DT05UUk9MCisgICAgICAgICAgICBFTkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVdfQU5JTUFU
SU9OU19DT05UUk9MID0+IEhBVkVfQVNWX0lOTElORV9QUkVWSUVXX0FOSU1BVElPTl9DT05UUk9M
CisgICAgICAgICAgICBFTkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVdfQVVESU9fQ09OVFJPTCA9
PiBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19BVURJT19DT05UUk9MCisKKyAgICAgICAgVGhlbiwg
d2UgYWRkIHRocmVlIG5ldyBmbGFncyB0byBzcGVjaWZ5IHdoZXRoZXIgc29tZSA8bW9kZWw+IGZl
YXR1cmVzIGV4cG9zZWQgdG8gdGhlIFdlYiBhcmUgZW5hYmxlZCwKKyAgICAgICAgYWxsIGN1cnJl
bnRseSBjb25kaXRpb25lZCBieSB0aGUgbWF0Y2hpbmcgSEFWRV9BU1ZfSU5MSU5FX1BSRVZJRVdf
IGZsYWdzLCBidXQgdGhvc2UgY291bGQgYmUgc3ViamVjdAorICAgICAgICB0byBtb3JlIGNvbXBs
ZXggcnVsZXMgd2hlbiBvdGhlciA8bW9kZWw+IGJhY2tlbmRzIGV4cG9zZSBzdXBwb3J0aW5nIEFQ
SXMgZm9yIHRoZXNlIGZlYXR1cmVzLgorCisgICAgICAgICAgICBFTkFCTEVfTU9ERUxfRUxFTUVO
VF9DQU1FUkFfQ09OVFJPTAorICAgICAgICAgICAgRU5BQkxFX01PREVMX0VMRU1FTlRfQU5JTUFU
SU9OX0NPTlRST0wKKyAgICAgICAgICAgIEVOQUJMRV9NT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRS
T0wKKworICAgICAgICBGaW5hbGx5LCB3ZSBtb2RpZnkgdGhlIG1hY09TIHZlcnNpb24gdXNlZCB0
byBkZWZpbmUgdGhlIEhBVkVfQVNWX0lOTElORV9QUkVWSUVXX1hYWF9DT05UUk9MIGZsYWdzLgor
CisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlh
bWw6CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1IYXZlLmg6CisKIDIwMjEtMTEtMTkgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBhZGQgYXVkaW8gc3VwcG9ydApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmlu
ZGV4IDgzNGU4NTc0MmFmZDAwNWQ1NGU3YTdlODdhOTMwM2IwNTZkOTcwMTMuLjQxNzRlYmI4NmMx
ZWIwOTA4YzkzNTRjYjIxMTZmODlhYjE2OTRiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBA
QAorMjAyMS0xMS0yMSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAg
ICAgICBbTW9kZWxdIGNsZWFuIHVwIGNvbXBpbGUtdGltZSBmbGFncyBhbmQgY29uZGl0aW9uIElE
TCBtZXRob2RzIGJlaGluZCB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzM0MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBXZSBjb25kaXRpb24gdGhlIGF2YWlsYWJpbGl0eSBvZiBJREwgbWV0aG9k
cyByZWNlbnRseSBhZGRlZCB0byBIVE1MTW9kZWxFbGVtZW50IGJ5CisgICAgICAgIHRoZSBuZXcg
c2V0IG9mIEVOQUJMRV9NT0RFTF9FTEVNRU5UX1hYWF9DT05UUk9MIGZsYWdzLgorCisgICAgICAg
ICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwOgorICAgICAgICAq
IE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5oOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmg6CisgICAgICAgICog
TW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW06Cisg
ICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAyMS0xMS0yMCAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVwb3J0IHRoZSBpbml0
aWF0aW5nIHVybCBpbnN0ZWFkIG9mIHRoZSByZWRpcmVjdGVkIG9uZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cK
aW5kZXggZjE4NjEyZjYyMmQ0YTI2NzFlNDUwNDVhZDk3MjA4MzU3NjEyYWJkNC4uZjBlZDQ1NTBh
ZmJhN2NlYjI1MmMwMDBkMWNlYzQ4MjNmY2YzMzcyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTYgQEAKKzIwMjEtMTEtMjEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgW01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRpbWUgZmxhZ3MgYW5kIGNv
bmRpdGlvbiBJREwgbWV0aG9kcyBiZWhpbmQgdGhlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgYWRvcHQgdGhlIGNoYW5nZXMgbWFkZSB0byBmbGFn
cyBpbiB3dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGFuZCB3dGYvUGxhdGZvcm1IYXZlLmguCisK
KyAgICAgICAgKiBwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaDoKKyAgICAgICAgKiBwYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmg6CisgICAgICAgICogcGFsL3NwaS9tYWMvU3lzdGVt
UHJldmlld1NQSS5oOgorCiAyMDIxLTExLTE5ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYkdQVV0gQWRkIGNvbnZlcnRlcnMgZnJvbSBzZXJp
YWxpemFibGUgZGVzY3JpcHRvcnMgdG8gaW50ZXJmYWNlIGRlc2NyaXB0b3JzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGUwNTJmYmZhYmY1OTYwZDdiMDIyNDk5NWI0ZDBjZGIzZWE1ZmY2NjQuLmU5NDkzYTllNzgzZjdj
NGE4YzA0NzU1NmM1M2U5OTFkYzYxNDc2M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcgQEAKKzIw
MjEtMTEtMjEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
W01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRpbWUgZmxhZ3MgYW5kIGNvbmRpdGlvbiBJREwgbWV0
aG9kcyBiZWhpbmQgdGhlbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjMzNDA3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgT24gdG9wIG9mIGFkb3B0aW5nIHRoZSBjaGFuZ2VzIG1hZGUgdG8gZmxhZ3MgaW4g
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaCBhbmQgd3RmL1BsYXRmb3JtSGF2ZS5oLAorICAgICAg
ICB3ZSBjb25kaXRpb24gdGhlIGRlZmluaXRpb24gb2YgY29kZSByZWxhdGVkIHRvIElETCBtZXRo
b2RzIHJlY2VudGx5IGFkZGVkIHRvIEhUTUxNb2RlbEVsZW1lbnQgYnkKKyAgICAgICAgdGhlIG5l
dyBzZXQgb2YgRU5BQkxFX01PREVMX0VMRU1FTlRfWFhYX0NPTlRST0wgZmxhZ3MsIHVuY2x1ZGlu
ZyBXZWJQYWdlUHJveHkgbWVzc2FnZXMgYWxsb3dpbmcKKyAgICAgICAgZm9yIHRoaXMgZmVhdHVy
ZSB0byB3b3JrLgorCisgICAgICAgICogU2hhcmVkL01vZGVsSWRlbnRpZmllci5oOgorICAgICAg
ICAoV2ViS2l0OjpNb2RlbElkZW50aWZpZXI6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJL
aXQ6Ok1vZGVsSWRlbnRpZmllcjo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vz
c0RhdGFTdG9yZVBhcmFtZXRlcnMuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc0RhdGFT
dG9yZVBhcmFtZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnByZXZp
ZXdIYXNDYW1lcmFTdXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxF
bGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdl
YktpdDo6cHJldmlld0hhc0FuaW1hdGlvblN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjppc1BsYXlpbmdBbmltYXRpb25Gb3JNb2RlbEVsZW1lbnQpOgor
ICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRBbmltYXRpb25Jc1Bs
YXlpbmdGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250
cm9sbGVyOjppc0xvb3BpbmdBbmltYXRpb25Gb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2Vi
S2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRJc0xvb3BpbmdBbmltYXRpb25Gb3JNb2Rl
bEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjphbmlt
YXRpb25EdXJhdGlvbkZvck1vZGVsRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OmFuaW1hdGlvbkN1cnJlbnRUaW1lRm9yTW9kZWxFbGVtZW50KToKKyAg
ICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0QW5pbWF0aW9uQ3VycmVu
dFRpbWVGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpwcmV2aWV3SGFzQXVkaW9T
dXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aGFzQXVk
aW9Gb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9s
bGVyOjppc011dGVkRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVt
ZW50Q29udHJvbGxlcjo6c2V0SXNNdXRlZEZvck1vZGVsRWxlbWVudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuY3BwOgorICAgICAgICAqIFVJUHJvY2Vzcy9N
b2RlbEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL1JlbW90ZUxheWVy
VHJlZS9pb3MvUmVtb3RlTGF5ZXJUcmVlSG9zdElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6UmVt
b3RlTGF5ZXJUcmVlSG9zdDo6bWFrZU5vZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZEF0dGFjaFRvUnVu
bmluZ1Byb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnJlc2V0U3RhdGUp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp3ZWJQcm9jZXNz
RGF0YVN0b3JlUGFyYW1ldGVycyk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0Nv
Y29hL1dlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRh
U3RvcmU6OnJlc29sdmVEaXJlY3Rvcmllc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9X
ZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uOjpXZWJzaXRlRGF0YVN0b3JlQ29u
ZmlndXJhdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0
aW9uOjpjb3B5IGNvbnN0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLTW9k
ZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmg6CisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbToKKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS01vZGVs
Vmlldy5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllci5tbToKKyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL1dlYk1vZGVsUGxh
eWVyUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJNb2RlbFBsYXllclByb3ZpZGVy
OjpjcmVhdGVNb2RlbFBsYXllcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL01v
ZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxh
eWVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ck1hYzo6c3VwcG9ydHNNb3VzZUludGVyYWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZl
cmVuY2VzKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3M6OnNldFdlYnNpdGVEYXRhU3RvcmVQYXJhbWV0ZXJzKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1TZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyk6CisKIDIwMjEtMTEtMjAgIENh
cmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlcG9y
dCB0aGUgaW5pdGlhdGluZyB1cmwgaW5zdGVhZCBvZiB0aGUgcmVkaXJlY3RlZCBvbmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVy
bmFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNJ
bnRlcm5hbC55YW1sCmluZGV4IDVhOThhYWU2OGJiYzExYTkwM2EwNGY5NTFhODAxZWNhZWNiODFj
N2EuLmRiNmQzOWE0OWE1NWFkYzEwNzc5Mjc3ZmQ0ODI3ZWQzODA4NTExYmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0ludGVybmFsLnlh
bWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzSW50
ZXJuYWwueWFtbApAQCAtODAzLDcgKzgwMyw3IEBAIFVzZUFSS2l0Rm9yTW9kZWw6CiAgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIlVzZSBBUktpdCBmb3IgPG1vZGVsPiIKICAgd2ViY29yZUJp
bmRpbmc6IG5vbmUKICAgZXhwb3NlZDogWyBXZWJLaXQgXQotICBjb25kaXRpb246IEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFVykKKyAgY29uZGl0aW9uOiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
VykKICAgZGVmYXVsdFZhbHVlOgogICAgIFdlYktpdDoKICAgICAgIGRlZmF1bHQ6IHRydWUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaCBiL1NvdXJjZS9X
VEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAppbmRleCA3ZTgwN2JlZGE1ODhhNTQwYjQ3N2Ux
ODVlNDFlMzY3ZjdhMzMzNzAyLi5iMTJmMWNiYWUyNTA2ZDBhZGE5OTQwNzJjNWJlYWFmYTUwNzhi
ODZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKKysr
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCkBAIC03MzIsMjAgKzczMiwx
NCBAQAogI2RlZmluZSBFTkFCTEVfUFJFREVGSU5FRF9DT0xPUl9TUEFDRV9ESVNQTEFZX1AzIDEK
ICNlbmRpZgogCi0jaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkgJiYgSEFWRShBU1ZfSU5MSU5FX1BS
RVZJRVcpICYmICFFTkFCTEUoU0VQQVJBVEVEX01PREVMKQotI2RlZmluZSBFTkFCTEVfQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TIDEKKyNpZiAhZGVmaW5lZChFTkFCTEVfTU9ERUxfRUxFTUVOVF9D
QU1FUkFfQ09OVFJPTCkgJiYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQ0FNRVJBX0NPTlRST0wp
CisjZGVmaW5lIEVOQUJMRV9NT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MIDEKICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oTUFDKSAmJiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKLSNkZWZpbmUg
RU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX01BQyAxCisjaWYgIWRlZmluZWQoRU5BQkxFX01P
REVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpICYmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVX
X0FOSU1BVElPTl9DT05UUk9MKQorI2RlZmluZSBFTkFCTEVfTU9ERUxfRUxFTUVOVF9BTklNQVRJ
T05fQ09OVFJPTCAxCiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19J
T1MpIHx8IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCi0jZGVmaW5lIEVOQUJMRV9B
UktJVF9JTkxJTkVfUFJFVklFVyAxCi0jZW5kaWYKLQotI2lmIChFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTIwNDAw
KSB8fCAoRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykgJiYgX19JUEhPTkVfT1NfVkVS
U0lPTl9NQVhfQUxMT1dFRCA+PSAxNTA0MDApCi0jZGVmaW5lIEVOQUJMRV9BUktJVF9JTkxJTkVf
UFJFVklFV19DQU1FUkFfVFJBTlNGT1JNIDEKLSNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9Q
UkVWSUVXX0FOSU1BVElPTlNfQ09OVFJPTCAxCi0jZGVmaW5lIEVOQUJMRV9BUktJVF9JTkxJTkVf
UFJFVklFV19BVURJT19DT05UUk9MIDEKKyNpZiAhZGVmaW5lZChFTkFCTEVfTU9ERUxfRUxFTUVO
VF9BVURJT19DT05UUk9MKSAmJiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19BVURJT19DT05UUk9M
KQorI2RlZmluZSBFTkFCTEVfTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MIDEKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUhhdmUuaAppbmRleCBjY2VjMWVmZDExZDI5ODc1OTE5MjU1ZmVlN2E2YWMyMzY0
Mzc2NjgxLi5hYTY4MTRhZTkxMjk0OGIwYTZiOGVlOWJmOGEwOGUzODY0OTNjYWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUhhdmUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Q
bGF0Zm9ybUhhdmUuaApAQCAtOTU3LDExICs5NTcsMjQgQEAKICNlbmRpZgogCiAjaWYgKFBMQVRG
T1JNKElPUykgJiYgIVBMQVRGT1JNKElPU19TSU1VTEFUT1IpICYmIF9fSVBIT05FX09TX1ZFUlNJ
T05fTUlOX1JFUVVJUkVEID49IDE1MDAwMCkgXAotICAgIHx8IChQTEFURk9STShNQUNDQVRBTFlT
VCkgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAwKSBcCi0gICAg
fHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MjAwMDApCisgICAgfHwgKFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSAmJiBfX0lQSE9ORV9PU19WRVJT
SU9OX01JTl9SRVFVSVJFRCA+PSAxNTAwMDApCisjZGVmaW5lIEhBVkVfQVNWX0lOTElORV9QUkVW
SUVXX0lPUyAxCisjZW5kaWYKKworI2lmIChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVS
U0lPTl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQorI2RlZmluZSBIQVZFX0FTVl9JTkxJTkVfUFJF
VklFV19NQUMgMQorI2VuZGlmCisKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpIHx8
IEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKICNkZWZpbmUgSEFWRV9BU1ZfSU5MSU5FX1BS
RVZJRVcgMQogI2VuZGlmCiAKKyNpZiAoSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKSAmJiBf
X01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTIwMzAwKSB8fCAoSEFWRShBU1ZfSU5M
SU5FX1BSRVZJRVdfSU9TKSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1
MDQwMCkKKyNkZWZpbmUgSEFWRV9BU1ZfSU5MSU5FX1BSRVZJRVdfQ0FNRVJBX0NPTlRST0wgMQor
I2RlZmluZSBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19BTklNQVRJT05fQ09OVFJPTCAxCisjZGVm
aW5lIEhBVkVfQVNWX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wgMQorI2VuZGlmCisKICNp
ZiBQTEFURk9STShJT1MpIHx8IFBMQVRGT1JNKE1BQ0NBVEFMWVNUKSB8fCAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDExMDAwMCkKICNkZWZpbmUg
SEFWRV9OU1VSTFBST1RPQ09MX1dJVEhfU0tJUEFQUFNTTyAxCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50
LmNwcAppbmRleCBkZTYxNTlhY2FkMDFkMzdiM2NkNjFkMWVmZWM3NmM2YmQxMGRmZDkzLi5iMzcy
NWM1YWRkOGE4ZGE0MjE3YjBkY2MwZGQ0YTZjOTNmNzUyYmI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3Bw
CkBAIC0zNjYsNiArMzY2LDcgQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50OjpkcmFnRGlkRW5kKE1v
dXNlRXZlbnQmIGV2ZW50KQogCiAvLyBNQVJLOiAtIENhbWVyYSBzdXBwb3J0LgogCisjaWYgRU5B
QkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCiB2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6
OmdldENhbWVyYShDYW1lcmFQcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBpZiAoIW1fbW9kZWxQ
bGF5ZXIpIHsKQEAgLTM5NSw5ICszOTYsMTEgQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50OjpzZXRD
YW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIERPTVByb21pc2VEZWZlcnIKICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7CiAgICAgfSk7CiB9CisjZW5kaWYgLy8gRU5BQkxF
KE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCiAKIC8vIE1BUks6IC0gQW5pbWF0aW9ucyBz
dXBwb3J0LgogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiB2
b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OmlzUGxheWluZ0FuaW1hdGlvbihJc1BsYXlpbmdBbmltYXRp
b25Qcm9taXNlJiYgcHJvbWlzZSkKIHsKICAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKQEAgLTUx
Miw5ICs1MTUsMTEgQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50OjpzZXRBbmltYXRpb25DdXJyZW50
VGltZShkb3VibGUgY3VycmVudFRpbWUsIERPTVByb21pc2VEZWYKICAgICAgICAgICAgIHByb21p
c2UucmVqZWN0KCk7CiAgICAgfSk7CiB9CisjZW5kaWYgLy8gRU5BQkxFKE1PREVMX0VMRU1FTlRf
QU5JTUFUSU9OX0NPTlRST0wpCiAKIC8vIE1BUks6IC0gQXVkaW8gc3VwcG9ydC4KIAorI2lmIEVO
QUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRST0wpCiB2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6
Omhhc0F1ZGlvKEhhc0F1ZGlvUHJvbWlzZSYmIHByb21pc2UpCiB7CiAgICAgaWYgKCFtX21vZGVs
UGxheWVyKSB7CkBAIC01NTksNiArNTY0LDcgQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50OjpzZXRJ
c011dGVkKGJvb2wgaXNNdXRlZCwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWkKICAg
ICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7CiAgICAgfSk7CiB9CisjZW5kaWYgLy8gRU5BQkxF
KE1PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTCkKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAppbmRleCA4
Y2M2MjEzOGFiZWY1MzQzOGEwYzUzOWVhNjhiOWI2YzZjNGY4OGM3Li44MDVkNWJjZGU0OGFlZDgz
NGIzMTYwMzA4Y2Q2NTlmYjdmZTAzMDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmgKQEAgLTcxLDEwICs3MSwx
MyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisjaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCiAgICAgdXNpbmcgQ2FtZXJhUHJvbWlzZSA9
IERPTVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
PjsKICAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOwogICAgIHZvaWQgc2V0Q2Ft
ZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsK
KyNlbmRpZgogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiAg
ICAgdXNpbmcgSXNQbGF5aW5nQW5pbWF0aW9uUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJ
RExCb29sZWFuPjsKICAgICB2b2lkIGlzUGxheWluZ0FuaW1hdGlvbihJc1BsYXlpbmdBbmltYXRp
b25Qcm9taXNlJiYpOwogICAgIHZvaWQgcGxheUFuaW1hdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8
dm9pZD4mJik7CkBAIC04OSwxMiArOTIsMTUgQEAgcHVibGljOgogICAgIHVzaW5nIEN1cnJlbnRU
aW1lUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExEb3VibGU+OwogICAgIHZvaWQgYW5p
bWF0aW9uQ3VycmVudFRpbWUoQ3VycmVudFRpbWVQcm9taXNlJiYpOwogICAgIHZvaWQgc2V0QW5p
bWF0aW9uQ3VycmVudFRpbWUoZG91YmxlLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7Cisj
ZW5kaWYKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRST0wpCiAgICAgdXNp
bmcgSGFzQXVkaW9Qcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+OwogICAg
IHZvaWQgaGFzQXVkaW8oSGFzQXVkaW9Qcm9taXNlJiYpOwogICAgIHVzaW5nIElzTXV0ZWRQcm9t
aXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xlYW4+OwogICAgIHZvaWQgaXNNdXRlZChJ
c011dGVkUHJvbWlzZSYmKTsKICAgICB2b2lkIHNldElzTXV0ZWQoYm9vbCwgRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYpOworI2VuZGlmCiAKICAgICBib29sIGlzRHJhZ2dhYmxlSWdub3JpbmdB
dHRyaWJ1dGVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCkBAIC0xMjYsNyArMTMy
LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRyYWdEaWRDaGFuZ2UoTW91c2VFdmVudCYpOwogICAg
IHZvaWQgZHJhZ0RpZEVuZChNb3VzZUV2ZW50Jik7CiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVO
VF9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2b2lkIHNldEFuaW1hdGlvbklzUGxheWluZyhib29s
LCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CisjZW5kaWYKIAogICAgIFVSTCBtX3NvdXJj
ZVVSTDsKICAgICBDYWNoZWRSZXNvdXJjZUhhbmRsZTxDYWNoZWRSYXdSZXNvdXJjZT4gbV9yZXNv
dXJjZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9I
VE1MTW9kZWxFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVu
dC9IVE1MTW9kZWxFbGVtZW50LmlkbAppbmRleCA3MjgzMWExNzJmMmFkZTU2OGFkYzI3MWU1MjE1
MDRmNjNjYmVkZjhlLi5kYThiMTUwYTJlOGRiMDU5N2I0NDVjZGNjYTE0MjdhNzEyMWRmMzk1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hU
TUxNb2RlbEVsZW1lbnQuaWRsCkBAIC0zNCwyMSArMzQsMjEgQEAKIAogICAgIHVuZGVmaW5lZCBl
bnRlckZ1bGxzY3JlZW4oKTsKIAotICAgIFByb21pc2U8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4g
Z2V0Q2FtZXJhKCk7Ci0gICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNldENhbWVyYShIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhIGNhbWVyYSk7CisgICAgW0NvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlRfQ0FN
RVJBX0NPTlRST0xdIFByb21pc2U8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4gZ2V0Q2FtZXJhKCk7
CisgICAgW0NvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0xdIFByb21pc2U8
dW5kZWZpbmVkPiBzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEpOwogCi0g
ICAgUHJvbWlzZTxib29sZWFuPiBpc1BsYXlpbmdBbmltYXRpb24oKTsKLSAgICBQcm9taXNlPHVu
ZGVmaW5lZD4gcGxheUFuaW1hdGlvbigpOwotICAgIFByb21pc2U8dW5kZWZpbmVkPiBwYXVzZUFu
aW1hdGlvbigpOworICAgIFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05U
Uk9MXSBQcm9taXNlPGJvb2xlYW4+IGlzUGxheWluZ0FuaW1hdGlvbigpOworICAgIFtDb25kaXRp
b25hbD1NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MXSBQcm9taXNlPHVuZGVmaW5lZD4g
cGxheUFuaW1hdGlvbigpOworICAgIFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0FOSU1BVElP
Tl9DT05UUk9MXSBQcm9taXNlPHVuZGVmaW5lZD4gcGF1c2VBbmltYXRpb24oKTsKIAotICAgIFBy
b21pc2U8Ym9vbGVhbj4gaXNMb29waW5nQW5pbWF0aW9uKCk7Ci0gICAgUHJvbWlzZTx1bmRlZmlu
ZWQ+IHNldElzTG9vcGluZ0FuaW1hdGlvbihib29sZWFuIGxvb3BpbmcpOworICAgIFtDb25kaXRp
b25hbD1NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MXSBQcm9taXNlPGJvb2xlYW4+IGlz
TG9vcGluZ0FuaW1hdGlvbigpOworICAgIFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0FOSU1B
VElPTl9DT05UUk9MXSBQcm9taXNlPHVuZGVmaW5lZD4gc2V0SXNMb29waW5nQW5pbWF0aW9uKGJv
b2xlYW4gbG9vcGluZyk7CiAKLSAgICBQcm9taXNlPGRvdWJsZT4gYW5pbWF0aW9uRHVyYXRpb24o
KTsKLSAgICBQcm9taXNlPGRvdWJsZT4gYW5pbWF0aW9uQ3VycmVudFRpbWUoKTsKLSAgICBQcm9t
aXNlPHVuZGVmaW5lZD4gc2V0QW5pbWF0aW9uQ3VycmVudFRpbWUoZG91YmxlIGN1cnJlbnRUaW1l
KTsKKyAgICBbQ29uZGl0aW9uYWw9TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTF0gUHJv
bWlzZTxkb3VibGU+IGFuaW1hdGlvbkR1cmF0aW9uKCk7CisgICAgW0NvbmRpdGlvbmFsPU1PREVM
X0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0xdIFByb21pc2U8ZG91YmxlPiBhbmltYXRpb25DdXJy
ZW50VGltZSgpOworICAgIFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05U
Uk9MXSBQcm9taXNlPHVuZGVmaW5lZD4gc2V0QW5pbWF0aW9uQ3VycmVudFRpbWUoZG91YmxlIGN1
cnJlbnRUaW1lKTsKIAotICAgIFByb21pc2U8Ym9vbGVhbj4gaGFzQXVkaW8oKTsKLSAgICBQcm9t
aXNlPGJvb2xlYW4+IGlzTXV0ZWQoKTsKLSAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0SXNNdXRl
ZChib29sZWFuIGlzTXV0ZWQpOworICAgIFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0FVRElP
X0NPTlRST0xdIFByb21pc2U8Ym9vbGVhbj4gaGFzQXVkaW8oKTsKKyAgICBbQ29uZGl0aW9uYWw9
TU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MXSBQcm9taXNlPGJvb2xlYW4+IGlzTXV0ZWQoKTsK
KyAgICBbQ29uZGl0aW9uYWw9TU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MXSBQcm9taXNlPHVu
ZGVmaW5lZD4gc2V0SXNNdXRlZChib29sZWFuIGlzTXV0ZWQpOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKaW5kZXggZTFiZmMx
Njg1YjdjNTQxYWI0ZmRjNTRiMWVkMjdlYWQ1YzkwOGFmNC4uOGQ5MjkzNWQ5NTFlYTFiZjY4ZjEy
OTUwZTNiYWI2YTg2MmVkYjliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKQEAgLTUwLDggKzUwLDExIEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3Rv
bmljVGltZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29uc3QgTGF5
b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1v
dXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSA9IDA7CisjaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCiAgICAgdmlydHVhbCB2b2lkIGdldENhbWVy
YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENh
bWVyYT4mJik+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2FtZXJhKEhUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgPSAw
OworI2VuZGlmCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiAg
ICAgdmlydHVhbCB2b2lkIGlzUGxheWluZ0FuaW1hdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0QW5p
bWF0aW9uSXNQbGF5aW5nKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNz
KT4mJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBpc0xvb3BpbmdBbmltYXRpb24oQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSA9IDA7CkBAIC01OSw5ICs2
MiwxMiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGFuaW1hdGlvbkR1cmF0aW9uKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxTZWNvbmRzPiYmKT4mJikgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBhbmltYXRpb25DdXJyZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4mJik+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
QW5pbWF0aW9uQ3VycmVudFRpbWUoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
IHN1Y2Nlc3MpPiYmKSA9IDA7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJ
T19DT05UUk9MKQogICAgIHZpcnR1YWwgdm9pZCBoYXNBdWRpbyhDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaXNN
dXRlZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpID0g
MDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0SXNNdXRlZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wgc3VjY2Vzcyk+JiYpID0gMDsKKyNlbmRpZgogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15
TW9kZWxQbGF5ZXIuY3BwCmluZGV4IGNkZTNkMmY5MGQ3ZTQwMmQ4NjU3NTgwZjhjNjgyZGViYzM5
NjhmODUuLjAxNTI4NGZlMWQ5ZTI0Mjg5NTAyOTBlOWViZWVlYWQyOTZiYTYyNmYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVs
UGxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVt
bXkvRHVtbXlNb2RlbFBsYXllci5jcHAKQEAgLTcwLDYgKzcwLDcgQEAgdm9pZCBEdW1teU1vZGVs
UGxheWVyOjpoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkK
IHsKIH0KIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogdm9pZCBE
dW1teU1vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYmKQogewogfQpAQCAt
NzcsNyArNzgsOSBAQCB2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SAogdm9pZCBEdW1teU1vZGVsUGxh
eWVyOjpzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKQogewogfQorI2VuZGlmCiAKKyNpZiBFTkFC
TEUoTU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKIHZvaWQgRHVtbXlNb2RlbFBsYXll
cjo6aXNQbGF5aW5nQW5pbWF0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25h
bDxib29sPiYmKT4mJikKIHsKIH0KQEAgLTEwNSw3ICsxMDgsOSBAQCB2b2lkIER1bW15TW9kZWxQ
bGF5ZXI6OmFuaW1hdGlvbkN1cnJlbnRUaW1lKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpv
cHRpb25hbAogdm9pZCBEdW1teU1vZGVsUGxheWVyOjpzZXRBbmltYXRpb25DdXJyZW50VGltZShT
ZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpCiB7CiB9Cisj
ZW5kaWYKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRST0wpCiB2b2lkIER1
bW15TW9kZWxQbGF5ZXI6Omhhc0F1ZGlvKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxib29sPiYmKT4mJikKIHsKIH0KQEAgLTExNyw1ICsxMjIsNiBAQCB2b2lkIER1bW15TW9k
ZWxQbGF5ZXI6OmlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJv
b2w+JiYpPiYmKQogdm9pZCBEdW1teU1vZGVsUGxheWVyOjpzZXRJc011dGVkKGJvb2wsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikKIHsKIH0KKyNlbmRpZgogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVt
bXlNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1
bW15L0R1bW15TW9kZWxQbGF5ZXIuaAppbmRleCAxN2RiZjc4ZDAxMmIxNzg0NjVlNzU1NDg4NzQw
ODJjMWFjYzY1YjE3Li4xM2ZkMzI3N2IyNmE4MjEyZDg4ZThlODMzODgyNDc5NWVlNDQ5NGYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVt
bXlNb2RlbFBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVu
dC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmgKQEAgLTQ3LDggKzQ3LDExIEBAIHByaXZhdGU6CiAg
ICAgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYs
IE1vbm90b25pY1RpbWUpIG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBM
YXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpIG92ZXJyaWRlOworI2lmIEVOQUJMRShNT0RFTF9F
TEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBvdmVy
cmlkZTsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9M
KQogICAgIHZvaWQgaXNQbGF5aW5nQW5pbWF0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3Rk
OjpvcHRpb25hbDxib29sPiYmKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRBbmltYXRpb25J
c1BsYXlpbmcoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBv
dmVycmlkZTsKICAgICB2b2lkIGlzTG9vcGluZ0FuaW1hdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwpAQCAtNTYsOSArNTksMTIg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGFuaW1hdGlvbkR1cmF0aW9uKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoc3RkOjpvcHRpb25hbDxTZWNvbmRzPiYmKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBh
bmltYXRpb25DdXJyZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8
U2Vjb25kcz4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QW5pbWF0aW9uQ3VycmVudFRp
bWUoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBvdmVy
cmlkZTsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRST0wpCiAg
ICAgdm9pZCBoYXNBdWRpbyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9v
bD4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgaXNNdXRlZChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0SXNN
dXRlZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpIG92ZXJy
aWRlOworI2VuZGlmCiAKICAgICBXZWFrUHRyPE1vZGVsUGxheWVyQ2xpZW50PiBtX2NsaWVudDsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2Nl
bmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaAppbmRleCA5NDFkMmYwNGQw
OTVhOWJiOTRiYjc5MWVkNGQxZTViMmIyMTg3YWU4Li5jMjM5ZjU3MWI3NzI5NzM1ZmU4NmMxNmNl
MzdkYTc2Njg0ZDZkZTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVs
LWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgK
QEAgLTYxLDggKzYxLDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd24oY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpIG92ZXJyaWRlOwog
ICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAg
IHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRDYW1lcmEo
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nl
c3MpPiYmKSBvdmVycmlkZTsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1B
VElPTl9DT05UUk9MKQogICAgIHZvaWQgaXNQbGF5aW5nQW5pbWF0aW9uKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBz
ZXRBbmltYXRpb25Jc1BsYXlpbmcoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1
Y2Nlc3MpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGlzTG9vcGluZ0FuaW1hdGlvbihDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwpAQCAt
NzAsOSArNzMsMTIgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFuaW1hdGlvbkR1cmF0aW9uKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxTZWNvbmRzPiYmKT4mJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBhbmltYXRpb25DdXJyZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8U2Vjb25kcz4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QW5pbWF0
aW9uQ3VycmVudFRpbWUoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nl
c3MpPiYmKSBvdmVycmlkZTsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElP
X0NPTlRST0wpCiAgICAgdm9pZCBoYXNBdWRpbyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6
b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgaXNNdXRlZChDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0SXNNdXRlZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vz
cyk+JiYpIG92ZXJyaWRlOworI2VuZGlmCiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xp
ZW50IG92ZXJyaWRlcy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtp
dE1vZGVsTG9hZGVyJiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1v
ZGVsUGxheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5l
a2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KaW5kZXggNzYwMzAyY2I0OGU5YzRjMWQ1NTQ2MWNj
NGQ1ZjdhNDAwYWJjZjQwZC4uNmIxNzhjMjk4MmFhNDBkNGIxMzA4OTY3NDNkYzE2N2Q1OGVkMDJm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5l
a2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTg4LDYgKzg4
LDcgQEAgdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91
dFBvaW50JiwgTW9ub3RvbmljVGltZSkKIHsKIH0KIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5U
X0NBTUVSQV9DT05UUk9MKQogdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
JiYpPiYmKQogewogfQpAQCAtOTUsNyArOTYsOSBAQCB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6
OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRNTE1vZAog
dm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVy
YSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKQogewogfQorI2VuZGlm
CiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKIHZvaWQgU2Nl
bmVLaXRNb2RlbFBsYXllcjo6aXNQbGF5aW5nQW5pbWF0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJikKIHsKIH0KQEAgLTEyMyw3ICsxMjYsOSBAQCB2
b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmFuaW1hdGlvbkN1cnJlbnRUaW1lKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpbwogdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRBbmlt
YXRpb25DdXJyZW50VGltZShTZWNvbmRzLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3Vj
Y2Vzcyk+JiYpCiB7CiB9CisjZW5kaWYKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElP
X0NPTlRST0wpCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6Omhhc0F1ZGlvKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJikKIHsKIH0KQEAgLTEzNSw2ICsx
NDAsNyBAQCB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmlzTXV0ZWQoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPgogdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVy
OjpzZXRJc011dGVkKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4m
JikKIHsKIH0KKyNlbmRpZgogCiAvLyBNQVJLOiAtIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQg
b3ZlcnJpZGVzLgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2Nv
YS9RdWFydHpDb3JlU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9RdWFy
dHpDb3JlU1BJLmgKaW5kZXggYmJiNjllMTQyYTI5MzhlMGVlNDNjYTdlOTkzZTlhMDY5NGJhZTE4
NC4uZjQzODRmZDcyYjY3Mzk3NmY4OWY1MGNjM2I3YjNmNmU4NTMxOGJhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaApAQCAtNTUsNyAr
NTUsNyBAQAogI2lmZGVmIF9fT0JKQ19fCiB0eXBlZGVmIHN0cnVjdCBfQ0FSZW5kZXJDb250ZXh0
IENBUmVuZGVyQ29udGV4dDsKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1Mp
CisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogQGNsYXNzIENBRmVuY2VIYW5kbGU7
CiAjZW5kaWYKIApAQCAtOTIsNyArOTIsNyBAQCB0eXBlZGVmIHN0cnVjdCBfQ0FSZW5kZXJDb250
ZXh0IENBUmVuZGVyQ29udGV4dDsKIEBwcm9wZXJ0eSBDR0NvbG9yU3BhY2VSZWYgY29sb3JTcGFj
ZTsKIEBwcm9wZXJ0eSAocmVhZG9ubHkpIENBUmVuZGVyQ29udGV4dCogcmVuZGVyQ29udGV4dDsK
IAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1ZfSU5M
SU5FX1BSRVZJRVdfSU9TKQogLShCT09MKWFkZEZlbmNlOihDQUZlbmNlSGFuZGxlICopaGFuZGxl
OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9T
eXN0ZW1QcmV2aWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVt
UHJldmlld1NQSS5oCmluZGV4IDczOTVlNTBkZDBmMGQzMzhmZjNlZjMyMjViMTBhZjgwMmVlMTJm
ZjEuLjI0MGMxZmU5OTYwMTRlZTIwYWUyOGE2NmMwYWU0ZmIxM2IzNWI2YjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaApAQCAtMzMs
NyArMzMsNyBAQAogI2ltcG9ydCA8QXNzZXRWaWV3ZXIvQVNWVGh1bWJuYWlsVmlldy5oPgogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNW
X0lOTElORV9QUkVWSUVXX0lPUykKICNpbXBvcnQgPEFzc2V0Vmlld2VyL0FTVklubGluZVByZXZp
ZXcuaD4KICNlbmRpZgogCkBAIC04Miw3ICs4Miw3IEBAIE5TX0FTU1VNRV9OT05OVUxMX0VORAog
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFW
RShBU1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogCiAjaW1wb3J0IDxzaW1kL3NpbWQuaD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEku
aCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKaW5k
ZXggM2YwMmU4Y2NiMDhlNWZiZjZmMzFhZTlhYTJmODIxNzk5MWE2NzM2ZS4uZjI5NzJmNDExOGQy
ZWJhMTM1OGQzYWU3ZjcyOGUxYjA4ODIwNjA4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
QUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oCkBAIC0yNSwxMyArMjUsMTMgQEAKIAog
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfTUFDKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKICNpbXBvcnQgPEFz
c2V0Vmlld2VyL0FTVklubGluZVByZXZpZXcuaD4KICNlbmRpZgogCiAjZWxzZSAvLyBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykK
KyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAKICNpbXBvcnQgPHNpbWQvc2ltZC5o
PgogCkBAIC03Miw2ICs3Miw2IEBAIHR5cGVkZWYgdm9pZCAoXkFTVlNldElzUGxheWluZ1JlcGx5
QmxvY2spIChCT09MIGlzUGxheWluZywgTlNFcnJvciAqIF9OdWxsYWJsZSBlCiAKIE5TX0FTU1VN
RV9OT05OVUxMX0VORAogCi0jZW5kaWYgLy8gRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKKyNlbmRpZiAvLyBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAKICNlbmRpZiAvLyBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXgg
ZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5OTAwY2RjNzZlZS4uMWM2NzgxNjE5YjdhNWFk
ZDgyOGQ5YTllMDI3MDBlM2MwYjU3OWYyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5o
CkBAIC03OCw3ICs3OCw3IEBAIGNsYXNzIFdBS1Jlc3BvbmRlcjsKICNpbmNsdWRlICJNZWRpYVVz
YWdlSW5mby5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisj
aWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCiBjbGFzcyBIVE1MTW9kZWxFbGVtZW50OwogI2Vu
ZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL01vZGVsSWRlbnRpZmllci5o
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKaW5kZXggNDQxM2FkMGFh
NDIzODUzMDk4M2VlYzQ0NDYxN2FlYmVhZmQ0NjRiOC4uMDE2ZmU2NGM4MjlkYTZhNmE0Njg0Y2Q0
ODQwOWJiMGVlZjFkZTIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJ
ZGVudGlmaWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgK
QEAgLTI3LDE2ICsyNywxNiBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKIAotI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BS
RVZJRVdfSU9TKQogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjZW5kaWYKIAog
c3RydWN0IE1vZGVsSWRlbnRpZmllciB7Ci0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgU3RyaW5nIHV1aWQ7
Ci0jZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2VsaWYgSEFWRShBU1Zf
SU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3Jt
TGF5ZXJJRCBsYXllcklkZW50aWZpZXI7CiAjZW5kaWYKIApAQCAtNDYsMjIgKzQ2LDIyIEBAIHN0
cnVjdCBNb2RlbElkZW50aWZpZXIgewogCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIE1v
ZGVsSWRlbnRpZmllcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
V19NQUMpCiAgICAgZW5jb2RlciA8PCB1dWlkOwotI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0lPUykKKyNlbGlmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICBlbmNv
ZGVyIDw8IGxheWVySWRlbnRpZmllcjsKICNlbmRpZgogfQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gTW9kZWxJZGVudGlmaWVyOjpkZWNv
ZGUoRGVjb2RlciYgZGVjb2RlcikKIHsKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKICAgICBzdGQ6Om9wdGlvbmFs
PFN0cmluZz4gdXVpZDsKICAgICBkZWNvZGVyID4+IHV1aWQ7CiAgICAgaWYgKCF1dWlkKQogICAg
ICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdXVpZCkg
fSB9OwotI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNlbGlmIEhBVkUo
QVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRD4gbGF5ZXJJZGVudGlmaWVyOwogICAgIGRlY29kZXIg
Pj4gbGF5ZXJJZGVudGlmaWVyOwogICAgIGlmICghbGF5ZXJJZGVudGlmaWVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMuaCBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzLmgKaW5k
ZXggYmExMjE2NzU4ZjI0NzY1NWI2NWQ5OTE4ODAwNzg2Y2VkOWVjZTkxYS4uYmUzMjFkMjA0ZTcz
NThiMjUxOTlhZGU0ZTcyYTBiZDY1ZTRkY2UzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9T
aGFyZWQvV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycy5oCkBAIC01MSw3ICs1MSw3IEBA
IHN0cnVjdCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyB7CiAgICAgSGFzaFNldDxXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbj4gZG9tYWluc1dpdGhVc2VySW50ZXJhY3Rpb247CiAgICAg
SGFzaE1hcDxUb3BGcmFtZURvbWFpbiwgU3ViUmVzb3VyY2VEb21haW4+IGRvbWFpbnNXaXRoU3Rv
cmFnZUFjY2Vzc1F1aXJrOwogI2VuZGlmCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
KQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXKQogICAgIFN0cmluZyBtb2RlbEVsZW1lbnRD
YWNoZURpcmVjdG9yeTsKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbW9kZWxFbGVtZW50
Q2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGU7CiAjZW5kaWYKQEAgLTc5LDcgKzc5LDcgQEAg
dm9pZCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVyczo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0CiAgICAgZW5jb2RlciA8PCBkb21haW5zV2l0aFVzZXJJbnRlcmFjdGlvbjsKICAg
ICBlbmNvZGVyIDw8IGRvbWFpbnNXaXRoU3RvcmFnZUFjY2Vzc1F1aXJrOwogI2VuZGlmCi0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVX
KQogICAgIGVuY29kZXIgPDwgbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnk7CiAgICAgZW5jb2Rl
ciA8PCBtb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZTsKICNlbmRpZgpA
QCAtMTUwLDcgKzE1MCw3IEBAIHN0ZDo6b3B0aW9uYWw8V2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFt
ZXRlcnM+IFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzOjpkZWNvCiAgICAgaWYgKCFkb21h
aW5zV2l0aFN0b3JhZ2VBY2Nlc3NRdWlyaykKICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsK
ICNlbmRpZgotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9J
TkxJTkVfUFJFVklFVykKICAgICAgICAgU3RyaW5nIG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5
OwogICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5
KSkKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CkBAIC0xODEsNyArMTgxLDcgQEAg
c3RkOjpvcHRpb25hbDxXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycz4gV2ViUHJvY2Vzc0Rh
dGFTdG9yZVBhcmFtZXRlcnM6OmRlY28KICAgICAgICAgV1RGTW92ZSgqZG9tYWluc1dpdGhVc2Vy
SW50ZXJhY3Rpb24pLAogICAgICAgICBXVEZNb3ZlKCpkb21haW5zV2l0aFN0b3JhZ2VBY2Nlc3NR
dWlyayksCiAjZW5kaWYKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisjaWYgSEFW
RShBU1ZfSU5MSU5FX1BSRVZJRVcpCiAgICAgICAgIFdURk1vdmUobW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3RvcnkpLAogICAgICAgICBXVEZNb3ZlKCptb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeUV4
dGVuc2lvbkhhbmRsZSksCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCA4Njhj
MWU1NzM2MTVjMjAyODJmMjc0N2ZlNzZiMTZjOWU1NTcwMmEzLi4xZGJiMGRiYzgzNDdiMTI1ODJl
YTAzM2UyYjA0NGY3OTNmN2Y3MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCkBAIC0yNiwx
OCArMjYsMjEgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTW9kZWxFbGVtZW50Q29u
dHJvbGxlci5oIgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEhBVkUo
QVNWX0lOTElORV9QUkVWSUVXKQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJXZWJQ
YWdlUHJveHkuaCIKICNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0UG9pbnQuaD4KICNpbXBvcnQgPFdl
YkNvcmUvTGF5b3V0VW5pdC5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+Ci0j
aW1wb3J0IDxzaW1kL3NpbWQuaD4KICNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CiAjaW1wb3J0
IDx3dGYvTW9ub3RvbmljVGltZS5oPgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19DQU1FUkFfQ09OVFJPTCkKKyNpbXBv
cnQgPHNpbWQvc2ltZC5oPgorI2VuZGlmCisKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19J
T1MpCiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJh
d2luZ0FyZWFQcm94eS5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlSG9zdC5oIgpAQCAtNDcs
NyArNTAsNyBAQAogI2ltcG9ydCA8cGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oPgogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNW
X0lOTElORV9QUkVWSUVXX01BQykKICNpbXBvcnQgPHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdT
UEkuaD4KICNlbmRpZgogCkBAIC01Niw3ICs1OSw3IEBAIFNPRlRfTElOS19DTEFTUyhBc3NldFZp
ZXdlciwgQVNWSW5saW5lUHJldmlldyk7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
V19JT1MpCiAKIFdLTW9kZWxWaWV3ICogTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3
Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCiB7CkBA
IC0xMzMsNyArMTM2LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxF
bGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGUKIAogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNWX0lOTElORV9Q
UkVWSUVXX01BQykKIAogQVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6
OnByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmll
cikKIHsKQEAgLTIzMSwxMSArMjM0LDExIEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6
aGFuZGxlTW91c2VVcEZvck1vZGVsRWxlbWVudChjb25zdCBTdHJpbmcmIHV1aWQsIGNvCiAKICNl
bmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEVOQUJMRShNT0RF
TF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogCiBzdGF0aWMgYm9vbCBwcmV2aWV3SGFzQ2FtZXJh
U3VwcG9ydChBU1ZJbmxpbmVQcmV2aWV3ICpwcmV2aWV3KQogewotI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19DQU1FUkFfVFJBTlNGT1JNKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVW
SUVXX0NBTUVSQV9DT05UUk9MKQogICAgIHJldHVybiBbcHJldmlldyByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKGdldENhbWVyYVRyYW5zZm9ybTopXTsKICNlbHNlCiAgICAgcmV0dXJuIGZh
bHNlOwpAQCAtMjUwLDcgKzI1Myw3IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6Z2V0
Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfQ0FNRVJB
X1RSQU5TRk9STSkKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19DQU1FUkFfQ09OVFJPTCkK
ICAgICBbcHJldmlldyBnZXRDYW1lcmFUcmFuc2Zvcm06bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9
IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSAoc2ltZF9mbG9hdDMgY2FtZXJhVHJhbnNmb3JtLCBOU0Vycm9yICplcnJvcikg
bXV0YWJsZSB7CiAgICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAgY2FsbE9uTWFpblJ1
bkxvb3AoW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewpAQCAtMjc4LDcgKzI4MSw3
IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50
KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfQ0FNRVJBX1RSQU5TRk9STSkKKyNpZiBIQVZF
KEFTVl9JTkxJTkVfUFJFVklFV19DQU1FUkFfQ09OVFJPTCkKICAgICBbcHJldmlldyBzZXRDYW1l
cmFUcmFuc2Zvcm06c2ltZF9tYWtlX2Zsb2F0MyhjYW1lcmEucGl0Y2gsIGNhbWVyYS55YXcsIGNh
bWVyYS5zY2FsZSldOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogI2Vsc2UKQEAgLTI4
Niw5ICsyODksMTMgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JN
b2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnQKICNlbmRpZgogfQogCisjZW5k
aWYgLy8gRU5BQkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCisKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKKwogc3RhdGljIGJvb2wgcHJldmlld0hh
c0FuaW1hdGlvblN1cHBvcnQoQVNWSW5saW5lUHJldmlldyAqcHJldmlldykKIHsKLSNpZiBFTkFC
TEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OU19DT05UUk9MKQorI2lmIEhBVkUoQVNW
X0lOTElORV9QUkVWSUVXX0FOSU1BVElPTl9DT05UUk9MKQogICAgIHJldHVybiBbcHJldmlldyBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGlzUGxheWluZyldOwogI2Vsc2UKICAgICByZXR1
cm4gZmFsc2U7CkBAIC0zMDMsNyArMzEwLDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVy
Ojppc1BsYXlpbmdBbmltYXRpb25Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG0KICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19B
TklNQVRJT05TX0NPTlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9O
X0NPTlRST0wpCiAgICAgY29tcGxldGlvbkhhbmRsZXIoW3ByZXZpZXcgaXNQbGF5aW5nXSk7CiAj
ZWxzZQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzE4LDcgKzMyNSw3IEBAIHZvaWQg
TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0QW5pbWF0aW9uSXNQbGF5aW5nRm9yTW9kZWxFbGVt
ZW50KE1vZGVsSWRlbnRpZmllCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OU19DT05UUk9MKQorI2lmIEhBVkUoQVNWX0lO
TElORV9QUkVWSUVXX0FOSU1BVElPTl9DT05UUk9MKQogICAgIFtwcmV2aWV3IHNldElzUGxheWlu
Zzppc1BsYXlpbmcgcmVwbHk6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhp
cyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoQk9P
TCwgTlNFcnJvciAqZXJyb3IpIG11dGFibGUgewogICAgICAgICBjYWxsT25NYWluUnVuTG9vcChb
ZXJyb3IsIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgewogICAgICAgICAgICAgaWYg
KHdlYWtUaGlzKQpAQCAtMzM4LDcgKzM0NSw3IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxl
cjo6aXNMb29waW5nQW5pbWF0aW9uRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
QU5JTUFUSU9OU19DT05UUk9MKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0FOSU1BVElP
Tl9DT05UUk9MKQogICAgIGNvbXBsZXRpb25IYW5kbGVyKFtwcmV2aWV3IGlzTG9vcGluZ10pOwog
I2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTM1Myw3ICszNjAsNyBAQCB2b2lk
IE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnNldElzTG9vcGluZ0FuaW1hdGlvbkZvck1vZGVsRWxl
bWVudChNb2RlbElkZW50aWZpZQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0FOSU1BVElPTlNfQ09OVFJPTCkKKyNpZiBIQVZFKEFTVl9J
TkxJTkVfUFJFVklFV19BTklNQVRJT05fQ09OVFJPTCkKICAgICBwcmV2aWV3LmlzTG9vcGluZyA9
IGlzTG9vcGluZzsKICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKICNlbHNlCkBAIC0zNjks
NyArMzc2LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjphbmltYXRpb25EdXJhdGlv
bkZvck1vZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIgbW8KICAgICAgICAgcmV0dXJuOwogICAg
IH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BTklNQVRJT05TX0NPTlRST0wp
CisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OX0NPTlRST0wpCiAgICAgY29t
cGxldGlvbkhhbmRsZXIoU2Vjb25kcyhbcHJldmlldyBkdXJhdGlvbl0pKTsKICNlbHNlCiAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zODQsNyArMzkxLDcgQEAgdm9pZCBNb2RlbEVsZW1l
bnRDb250cm9sbGVyOjphbmltYXRpb25DdXJyZW50VGltZUZvck1vZGVsRWxlbWVudChNb2RlbElk
ZW50aWZpZXIKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19BTklNQVRJT05TX0NPTlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJ
RVdfQU5JTUFUSU9OX0NPTlRST0wpCiAgICAgY29tcGxldGlvbkhhbmRsZXIoU2Vjb25kcyhbcHJl
dmlldyBjdXJyZW50VGltZV0pKTsKICNlbHNlCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBA
IC0zOTksNyArNDA2LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRBbmltYXRp
b25DdXJyZW50VGltZUZvck1vZGVsRWxlbWVudChNb2RlbElkZW50aWYKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BTklNQVRJT05TX0NP
TlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OX0NPTlRST0wpCiAg
ICAgcHJldmlldy5jdXJyZW50VGltZSA9IGN1cnJlbnRUaW1lLnNlY29uZHMoKTsKICAgICBjb21w
bGV0aW9uSGFuZGxlcih0cnVlKTsKICNlbHNlCkBAIC00MDcsOSArNDE0LDEzIEBAIHZvaWQgTW9k
ZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0QW5pbWF0aW9uQ3VycmVudFRpbWVGb3JNb2RlbEVsZW1l
bnQoTW9kZWxJZGVudGlmCiAjZW5kaWYKIH0KIAorI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVN
RU5UX0FOSU1BVElPTl9DT05UUk9MKQorCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQVVESU9f
Q09OVFJPTCkKKwogc3RhdGljIGJvb2wgcHJldmlld0hhc0F1ZGlvU3VwcG9ydChBU1ZJbmxpbmVQ
cmV2aWV3ICpwcmV2aWV3KQogewotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BVURJ
T19DT05UUk9MKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCiAg
ICAgcmV0dXJuIFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaGFzQXVkaW8p
XTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNDI0LDcgKzQzNSw3IEBAIHZvaWQgTW9k
ZWxFbGVtZW50Q29udHJvbGxlcjo6aGFzQXVkaW9Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfQVVESU9fQ09OVFJPTCkKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJF
VklFV19BVURJT19DT05UUk9MKQogICAgIGNvbXBsZXRpb25IYW5kbGVyKFtwcmV2aWV3IGhhc0F1
ZGlvXSk7CiAjZWxzZQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtNDM5LDcgKzQ1MCw3
IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aXNNdXRlZEZvck1vZGVsRWxlbWVudChN
b2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfQVVESU9fQ09OVFJPTCkKKyNpZiBIQVZFKEFT
Vl9JTkxJTkVfUFJFVklFV19BVURJT19DT05UUk9MKQogICAgIGNvbXBsZXRpb25IYW5kbGVyKFtw
cmV2aWV3IGlzTXV0ZWRdKTsKICNlbHNlCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00
NTQsNyArNDY1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRJc011dGVkRm9y
TW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW4KICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BVURJT19DT05UUk9MKQor
I2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCiAgICAgcHJldmlldy5p
c011dGVkID0gaXNNdXRlZDsKICAgICBjb21wbGV0aW9uSGFuZGxlcih0cnVlKTsKICNlbHNlCkBA
IC00NjIsOCArNDczLDggQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRJc011dGVk
Rm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW4KICNlbmRpZgogfQogCi0j
ZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogCiB9
CiAKLSNlbmRpZgorI2VuZGlmIC8vIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmNwcAppbmRleCBj
MzBjMWE3NjFiZjc3OTI5YTcxZTQxN2YwODM0YmQ3OGQ2M2M3ODc4Li4xOWI2OWNlYmNiNjk2N2Yx
YTJjZDQ5OGM3YTIzNjUxY2Q2N2E2MWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIk1vZGVsRWxlbWVudENvbnRyb2xsZXIuaCIKIAotI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
VykKIAogI2luY2x1ZGUgIldlYlBhZ2VQcm94eS5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKaW5kZXggMWU5YzY5OGIyM2JkYjM4YjBk
NzFmNWVjNmRhNWY0ODYyYzU1ZDg3Ny4uYzIzOWZkNDgzZDQ3ZDU2NjY5NTdkYzY0ZGZjNDQ2ZTlm
YjRlOWVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50
Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENv
bnRyb2xsZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKIAog
I2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRWxlbWVudENv
bnRleHQuaD4KQEAgLTM2LDcgKzM2LDcgQEAKIAogT0JKQ19DTEFTUyBBU1ZJbmxpbmVQcmV2aWV3
OwogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9J
TkxJTkVfUFJFVklFV19JT1MpCiBPQkpDX0NMQVNTIFdLTW9kZWxWaWV3OwogI2VuZGlmCiAKQEAg
LTUxLDkgKzUxLDEyIEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94eSYgcGFnZSgpIHsgcmV0
dXJuIG1fd2ViUGFnZVByb3h5OyB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcp
CisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRf
Q0FNRVJBX0NPTlRST0wpCiAgICAgdm9pZCBnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJ
ZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxN
b2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CiAgICAgdm9p
ZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyNl
bmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MKQogICAgIHZv
aWQgaXNQbGF5aW5nQW5pbWF0aW9uRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Pik+JiYpOwogICAgIHZvaWQgc2V0QW5pbWF0aW9uSXNQbGF5aW5nRm9yTW9kZWxFbGVtZW50KE1v
ZGVsSWRlbnRpZmllciwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAg
ICAgdm9pZCBpc0xvb3BpbmdBbmltYXRpb25Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291cmNl
RXJyb3I+KT4mJik7CkBAIC02MSwxNCArNjQsMTcgQEAgcHVibGljOgogICAgIHZvaWQgYW5pbWF0
aW9uRHVyYXRpb25Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPFNlY29uZHMsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7
CiAgICAgdm9pZCBhbmltYXRpb25DdXJyZW50VGltZUZvck1vZGVsRWxlbWVudChNb2RlbElkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8U2Vjb25kcywgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIHNldEFuaW1hdGlvbkN1cnJlbnRUaW1lRm9y
TW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwgU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJik7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJT19D
T05UUk9MKQogICAgIHZvaWQgaGFzQXVkaW9Gb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291cmNl
RXJyb3I+KT4mJik7CiAgICAgdm9pZCBpc011dGVkRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yPik+JiYpOwogICAgIHZvaWQgc2V0SXNNdXRlZEZvck1vZGVsRWxlbWVudChNb2Rl
bElkZW50aWZpZXIsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2Vu
ZGlmCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNlbmRpZiAvLyBIQVZF
KEFTVl9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAg
ICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIpOwogI2Vu
ZGlmCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9J
TkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3
KFVSTCwgU3RyaW5nLCBXZWJDb3JlOjpGbG9hdFNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
RXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yPik+JiYpOwogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duRm9yTW9kZWxFbGVtZW50KGNvbnN0
IFN0cmluZyYsIGNvbnN0IFdlYkNvcmU6OkxheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSk7CiAg
ICAgdm9pZCBoYW5kbGVNb3VzZU1vdmVGb3JNb2RlbEVsZW1lbnQoY29uc3QgU3RyaW5nJiwgY29u
c3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKTsKQEAgLTc2LDE2ICs4Miwx
NiBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJpdmF0ZToKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVcpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCiAgICAgQVNWSW5saW5lUHJl
dmlldyAqIHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyKTsKICNlbmRp
ZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9J
TkxJTkVfUFJFVklFV19JT1MpCiAgICAgV0tNb2RlbFZpZXcgKiBtb2RlbFZpZXdGb3JNb2RlbElk
ZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyKTsKICNlbmRpZgogCiAgICAgV2ViUGFnZVByb3h5JiBt
X3dlYlBhZ2VQcm94eTsKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lm
IEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKICAgICBSZXRhaW5QdHI8QVNWSW5saW5lUHJl
dmlldz4gcHJldmlld0ZvclVVSUQoY29uc3QgU3RyaW5nJik7CiAgICAgSGFzaE1hcDxTdHJpbmcs
IFJldGFpblB0cjxBU1ZJbmxpbmVQcmV2aWV3Pj4gbV9pbmxpbmVQcmV2aWV3czsKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9S
ZW1vdGVMYXllclRyZWVIb3N0SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3Rl
TGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRyZWVIb3N0SU9TLm1tCmluZGV4IDM5ZDA3NGY0MzEx
MDJjZjQ3ZGY4MDFhY2QyNTc5MzIwOTAyZWEwNGMuLjZmOTM4NGNmZmI5MDM0MmY1N2M3NDc0ZTQw
OTkyZWRlMjVkM2FjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90
ZUxheWVyVHJlZS9pb3MvUmVtb3RlTGF5ZXJUcmVlSG9zdElPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZUhvc3RJT1Mu
bW0KQEAgLTM1LDcgKzM1LDcgQEAKICNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xsVmlldy5oPgogI2lt
cG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAKLSNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICNp
bXBvcnQgIldLTW9kZWxWaWV3LmgiCiAjZW5kaWYKIApAQCAtOTksNyArOTksNyBAQCBzdGQ6OnVu
aXF1ZV9wdHI8UmVtb3RlTGF5ZXJUcmVlTm9kZT4gUmVtb3RlTGF5ZXJUcmVlSG9zdDo6bWFrZU5v
ZGUoY29uc3QgUmVtb3RlTAogICAgIGNhc2UgUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVNb2Rl
bExheWVyOgogI2lmIEVOQUJMRShTRVBBUkFURURfTU9ERUwpCiAgICAgICAgIHJldHVybiBtYWtl
V2l0aFZpZXcoYWRvcHROUyhbW1dLU2VwYXJhdGVkTW9kZWxWaWV3IGFsbG9jXSBpbml0V2l0aE1v
ZGVsOipwcm9wZXJ0aWVzLm1vZGVsXSkpOwotI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0lPUykKKyNlbGlmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICAgICAgcmV0
dXJuIG1ha2VXaXRoVmlldyhhZG9wdE5TKFtbV0tNb2RlbFZpZXcgYWxsb2NdIGluaXRXaXRoTW9k
ZWw6KnByb3BlcnRpZXMubW9kZWxdKSk7CiAjZWxzZQogICAgICAgICByZXR1cm4gbWFrZVdpdGhW
aWV3KGFkb3B0TlMoW1tXS0NvbXBvc2l0aW5nVmlldyBhbGxvY10gaW5pdF0pKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY2YWI4MDlkYzhjNGI5MzZmODE0
N2ZiOTkyYjQwZTAyYTJmMmQ5YTAuLjZjYzY3YjhhMTdlNjdiZDljZjhmNzE5MzM2MDAxMzY0YjYx
MmIzZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA0
NSw3ICsxMDQ1LDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZEF0dGFjaFRvUnVubmluZ1Byb2Nl
c3MoKQogICAgIG1fc3lzdGVtUHJldmlld0NvbnRyb2xsZXIgPSBtYWtlVW5pcXVlPFN5c3RlbVBy
ZXZpZXdDb250cm9sbGVyPigqdGhpcyk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKICAgICBpZiAobV9wcmVm
ZXJlbmNlcy0+bW9kZWxFbGVtZW50RW5hYmxlZCgpKSB7CiAgICAgICAgIEFTU0VSVCghbV9tb2Rl
bEVsZW1lbnRDb250cm9sbGVyKTsKICAgICAgICAgbV9tb2RlbEVsZW1lbnRDb250cm9sbGVyID0g
bWFrZVVuaXF1ZTxNb2RlbEVsZW1lbnRDb250cm9sbGVyPigqdGhpcyk7CkBAIC03ODU3LDcgKzc4
NTcsNyBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6cmVzZXRTdGF0ZShSZXNldFN0YXRlUmVhc29uIHJl
c2V0U3RhdGVSZWFzb24pCiAgICAgbV9zeXN0ZW1QcmV2aWV3Q29udHJvbGxlciA9IG51bGxwdHI7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFT
Vl9JTkxJTkVfUFJFVklFVykKICAgICBtX21vZGVsRWxlbWVudENvbnRyb2xsZXIgPSBudWxscHRy
OwogI2VuZGlmCiAKQEAgLTEwODMyLDcgKzEwODMyLDggQEAgV2ViQ29yZTo6Q2FwdHVyZVNvdXJj
ZU9yRXJyb3IgV2ViUGFnZVByb3h5OjpjcmVhdGVSZWFsdGltZU1lZGlhU291cmNlRm9yU3BlZWNo
UmUKIAogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisjaWYgSEFW
RShBU1ZfSU5MSU5FX1BSRVZJRVcpCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NP
TlRST0wpCiB2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1vZGVsSWRl
bnRpZmllciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8
V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgUmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQogewogICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+Z2V0Q2FtZXJh
Rm9yTW9kZWxFbGVtZW50KG1vZGVsSWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwpAQCAtMTA4NDIsNyArMTA4NDMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVt
ZW50U2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFdlYkNvcgogewog
ICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KG1v
ZGVsSWRlbnRpZmllciwgY2FtZXJhLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9Cisj
ZW5kaWYKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MKQogdm9p
ZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudElzUGxheWluZ0FuaW1hdGlvbihNb2RlbElkZW50
aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJv
b2wsIFJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtb2RlbEVs
ZW1lbnRDb250cm9sbGVyKCktPmlzUGxheWluZ0FuaW1hdGlvbkZvck1vZGVsRWxlbWVudChtb2Rl
bElkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKQEAgLTEwODc3LDcgKzEw
ODgwLDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldEFuaW1hdGlvbkN1cnJl
bnRUaW1lKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW4KIHsKICAgICBtb2RlbEVsZW1lbnRDb250
cm9sbGVyKCktPnNldEFuaW1hdGlvbkN1cnJlbnRUaW1lRm9yTW9kZWxFbGVtZW50KG1vZGVsSWRl
bnRpZmllciwgY3VycmVudFRpbWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KKyNl
bmRpZgogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTCkKIHZvaWQgV2Vi
UGFnZVByb3h5Ojptb2RlbEVsZW1lbnRIYXNBdWRpbyhNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVu
dGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFJlc291cmNlRXJy
b3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVy
KCktPmhhc0F1ZGlvRm9yTW9kZWxFbGVtZW50KG1vZGVsSWRlbnRpZmllciwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOwpAQCAtMTA4OTMsMTUgKzEwODk4LDE2IEBAIHZvaWQgV2ViUGFnZVBy
b3h5Ojptb2RlbEVsZW1lbnRTZXRJc011dGVkKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZp
ZXIsIGJvb2wKICAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPnNldElzTXV0ZWRGb3JNb2Rl
bEVsZW1lbnQobW9kZWxJZGVudGlmaWVyLCBpc011dGVkLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSk7CiB9CiAjZW5kaWYKKyNlbmRpZiAvLyBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKIAot
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1ZfSU5MSU5F
X1BSRVZJRVdfSU9TKQogdm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCiB7CiAgICAgbW9kZWxFbGVtZW50
Q29udHJvbGxlcigpLT50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihtb2RlbElkZW50aWZpZXIp
OwogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lm
IEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKIHZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIHV1aWQs
IGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxz
dGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKIHsKICAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPm1vZGVsRWxlbWVudERp
ZENyZWF0ZVByZXZpZXcodXJsLCB1dWlkLCBzaXplLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDUzYmI2ZDVkZDEw
Y2I2MzUzYWFlZjkzNThlMDNiMDQwMDMyZjk2NzcuLjdiODRjNGFmZmJhNzQ3OWQ5Mjc1OTgyMmVm
YzA0NzQ4Y2M0MGQxMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0xOTQsNyArMTk0LDcgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAjaW5jbHVkZSAiUGxh
dGZvcm1YUlN5c3RlbS5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVcpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCiAjaW5jbHVkZSAiTW9kZWxFbGVtZW50
Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgogI2VuZGlmCkBAIC01
ODYsMTAgKzU4NiwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzeXN0ZW1QcmV2aWV3QWN0aW9uVHJp
Z2dlcmVkKGNvbnN0IFdlYkNvcmU6OlN5c3RlbVByZXZpZXdJbmZvJiwgY29uc3QgU3RyaW5nJik7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFT
Vl9JTkxJTkVfUFJFVklFVykKICAgICBNb2RlbEVsZW1lbnRDb250cm9sbGVyKiBtb2RlbEVsZW1l
bnRDb250cm9sbGVyKCkgeyByZXR1cm4gbV9tb2RlbEVsZW1lbnRDb250cm9sbGVyLmdldCgpOyB9
CisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCiAgICAgdm9pZCBtb2Rl
bEVsZW1lbnRHZXRDYW1lcmEoTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3I+KT4mJik7CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRTZXRDYW1lcmEoTW9kZWxJZGVu
dGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wpPiYmKTsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1B
VElPTl9DT05UUk9MKQogICAgIHZvaWQgbW9kZWxFbGVtZW50SXNQbGF5aW5nQW5pbWF0aW9uKE1v
ZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwogICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0QW5pbWF0
aW9uSXNQbGF5aW5nKE1vZGVsSWRlbnRpZmllciwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJik7CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRJc0xvb3BpbmdBbmltYXRpb24oTW9k
ZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNv
cmU6OlJlc291cmNlRXJyb3I+KT4mJik7CkBAIC01OTcsMTQgKzYwMCwxNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBtb2RlbEVsZW1lbnRBbmltYXRpb25EdXJhdGlvbihNb2RlbElkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8U2Vjb25kcywgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvcj4pPiYmKTsKICAgICB2b2lkIG1vZGVsRWxlbWVudEFuaW1hdGlvbkN1cnJlbnRUaW1lKE1v
ZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxTZWNvbmRzLCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwogICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0QW5p
bWF0aW9uQ3VycmVudFRpbWUoTW9kZWxJZGVudGlmaWVyLCBTZWNvbmRzLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FV
RElPX0NPTlRST0wpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnRIYXNBdWRpbyhNb2RlbElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIG1vZGVsRWxlbWVudElzTXV0ZWQoTW9kZWxJZGVudGlm
aWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3I+KT4mJik7CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRTZXRJc011dGVkKE1vZGVsSWRl
bnRpZmllciwgYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYK
LSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2VuZGlmIC8vIEhBVkUoQVNW
X0lOTElORV9QUkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICB2
b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYK
LSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNWX0lOTElO
RV9QUkVWSUVXX01BQykKICAgICB2b2lkIG1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoY29u
c3QgVVJMJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdl
YkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd25Gb3JN
b2RlbEVsZW1lbnQoY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBN
b25vdG9uaWNUaW1lKTsKICAgICB2b2lkIGhhbmRsZU1vdXNlTW92ZUZvck1vZGVsRWxlbWVudChj
b25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
OwpAQCAtMjY3OSw3ICsyNjg1LDcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3lz
dGVtUHJldmlld0NvbnRyb2xsZXI+IG1fc3lzdGVtUHJldmlld0NvbnRyb2xsZXI7CiAjZW5kaWYK
IAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVf
UFJFVklFVykKICAgICBzdGQ6OnVuaXF1ZV9wdHI8TW9kZWxFbGVtZW50Q29udHJvbGxlcj4gbV9t
b2RlbEVsZW1lbnRDb250cm9sbGVyOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCA2MmFlYjU4N2Y3Yzg3YjFkNmM0
ZDJhN2JjMDNmY2I2NWZiOThkMDRhLi5iNzNmOGE2NmViZmI5ZTMxNzFjNzMwZDJlNDIyZDZhMDJh
NGZjYTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1l
c3NhZ2VzLmluCkBAIC01ODUsMTggKzU4NSwyMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkg
ewogICAgIENoYW5nZVVuaXZlcnNhbEFjY2Vzc1pvb21Gb2N1cyhXZWJDb3JlOjpJbnRSZWN0IHZp
ZXdSZWN0LCBXZWJDb3JlOjpJbnRSZWN0IGNhcmV0UmVjdCkKICNlbmRpZgogCi0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19J
T1MpCiAgICAgVGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oc3RydWN0IFdlYktpdDo6TW9kZWxJ
ZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKICNlbmRpZgotI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1v
ZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6
OkZsb2F0U2l6ZSBzaXplKSAtPiAoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCiAgICAgSGFuZGxlTW91c2VE
b3duRm9yTW9kZWxFbGVtZW50KFN0cmluZyB1dWlkLCBXZWJDb3JlOjpMYXlvdXRQb2ludCBsb2Nh
dGlvbkluUGFnZUNvb3JkaW5hdGVzLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCkKICAgICBIYW5k
bGVNb3VzZU1vdmVGb3JNb2RlbEVsZW1lbnQoU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkxheW91dFBv
aW50IGxvY2F0aW9uSW5QYWdlQ29vcmRpbmF0ZXMsIE1vbm90b25pY1RpbWUgdGltZXN0YW1wKQog
ICAgIEhhbmRsZU1vdXNlVXBGb3JNb2RlbEVsZW1lbnQoU3RyaW5nIHV1aWQsIFdlYkNvcmU6Okxh
eW91dFBvaW50IGxvY2F0aW9uSW5QYWdlQ29vcmRpbmF0ZXMsIE1vbm90b25pY1RpbWUgdGltZXN0
YW1wKQogI2VuZGlmCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAgIE1vZGVsRWxlbWVudEdldENhbWVy
YShzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKSAtPiAoRXhw
ZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvcj4gcmVzdWx0KSBBc3luYwogICAgIE1vZGVsRWxlbWVudFNldENhbWVyYShzdHJ1Y3QgV2Vi
S2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisjZW5k
aWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKICAgICBNb2Rl
bEVsZW1lbnRJc1BsYXlpbmdBbmltYXRpb24oc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291cmNlRXJy
b3I+IHJlc3VsdCkgQXN5bmMKICAgICBNb2RlbEVsZW1lbnRTZXRBbmltYXRpb25Jc1BsYXlpbmco
c3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgYm9vbCBpc1Bs
YXlpbmcpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCiAgICAgTW9kZWxFbGVtZW50SXNMb29waW5n
QW5pbWF0aW9uKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIp
IC0+IChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5j
CkBAIC02MDQsNiArNjA2LDggQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBNb2Rl
bEVsZW1lbnRBbmltYXRpb25EdXJhdGlvbihzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIg
bW9kZWxJZGVudGlmaWVyKSAtPiAoRXhwZWN0ZWQ8U2Vjb25kcywgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvcj4gcmVzdWx0KSBBc3luYwogICAgIE1vZGVsRWxlbWVudEFuaW1hdGlvbkN1cnJlbnRUaW1l
KHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBl
Y3RlZDxTZWNvbmRzLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCiAgICAg
TW9kZWxFbGVtZW50U2V0QW5pbWF0aW9uQ3VycmVudFRpbWUoc3RydWN0IFdlYktpdDo6TW9kZWxJ
ZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgU2Vjb25kcyBjdXJyZW50VGltZSkgLT4gKGJvb2wg
c3VjY2VzcykgQXN5bmMKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NP
TlRST0wpCiAgICAgTW9kZWxFbGVtZW50SGFzQXVkaW8oc3RydWN0IFdlYktpdDo6TW9kZWxJZGVu
dGlmaWVyIG1vZGVsSWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291
cmNlRXJyb3I+IHJlc3VsdCkgQXN5bmMKICAgICBNb2RlbEVsZW1lbnRJc011dGVkKHN0cnVjdCBX
ZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxib29s
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCiAgICAgTW9kZWxFbGVtZW50
U2V0SXNNdXRlZChzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVy
LCBib29sIGlzTXV0ZWQpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKaW5kZXggNzQyNGYwOGU1ZWVmYmUzMzYxNzY5ODVl
ZGIwYzAzZmVjYTFmNTI5Zi4uNjIyYzA5OTNjYmQ3MDcyODU4NzcwM2VkNjA4MTc4M2ViYjIwZGY5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNzMz
LDcgKzczMyw3IEBAIFdlYlByb2Nlc3NEYXRhU3RvcmVQYXJhbWV0ZXJzIFdlYlByb2Nlc3NQb29s
Ojp3ZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQCiAgICAgICAgICAgICBqYXZhU2Ny
aXB0Q29uZmlndXJhdGlvbkRpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSA9IFdURk1vdmUoKmhhbmRs
ZSk7CiAgICAgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEhBVkUo
QVNWX0lOTElORV9QUkVWSUVXKQogICAgIGF1dG8gbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnkg
PSB3ZWJzaXRlRGF0YVN0b3JlLnJlc29sdmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKTsK
ICAgICBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgbW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnlF
eHRlbnNpb25IYW5kbGU7CiAgICAgaWYgKCFtb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeS5pc0Vt
cHR5KCkpIHsKQEAgLTc1OCw3ICs3NTgsNyBAQCBXZWJQcm9jZXNzRGF0YVN0b3JlUGFyYW1ldGVy
cyBXZWJQcm9jZXNzUG9vbDo6d2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMoV2ViUAogICAg
ICAgICBtX2RvbWFpbnNXaXRoVXNlckludGVyYWN0aW9uLAogICAgICAgICBtX2RvbWFpbnNXaXRo
Q3Jvc3NQYWdlU3RvcmFnZUFjY2Vzc1F1aXJrLAogI2VuZGlmCi0jaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXKQogICAgICAgICBXVEZN
b3ZlKG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KSwKICAgICAgICAgV1RGTW92ZShtb2RlbEVs
ZW1lbnRDYWNoZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSksCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL0NvY29hL1dl
YnNpdGVEYXRhU3RvcmVDb2NvYS5tbQppbmRleCAwY2NiNjYyYmExYjM5NzNlNDNkNmY3NWMyMTRk
NWU3NWM0ZjlhZWU1Li4yMjkwOTA1MjZhYzJiZDEwOTcwYWJhZDZhZTNhN2UwYThjZDlkNmUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9Db2NvYS9XZWJz
aXRlRGF0YVN0b3JlQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvQ29jb2EvV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tCkBAIC0zNTcsNyArMzU3LDcgQEAg
U3RyaW5nIFdlYnNpdGVEYXRhU3RvcmU6OmRlZmF1bHRKYXZhU2NyaXB0Q29uZmlndXJhdGlvbkRp
cmVjdG9yeSgpCiAgICAgcmV0dXJuIHRlbXBEaXJlY3RvcnlGaWxlU3lzdGVtUmVwcmVzZW50YXRp
b24oIkphdmFTY3JpcHRDb3JlRGVidWciLCBTaG91bGRDcmVhdGVEaXJlY3Rvcnk6Ok5vKTsKIH0K
IAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVf
UFJFVklFVykKIFN0cmluZyBXZWJzaXRlRGF0YVN0b3JlOjpkZWZhdWx0TW9kZWxFbGVtZW50Q2Fj
aGVEaXJlY3RvcnkoKQogewogICAgIHJldHVybiB0ZW1wRGlyZWN0b3J5RmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKCJNb2RlbEVsZW1lbnQiLCBTaG91bGRDcmVhdGVEaXJlY3Rvcnk6Ok5vKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRh
U3RvcmUuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURh
dGFTdG9yZS5jcHAKaW5kZXggYmMyMjM3OWJhNzY2M2FjYTZiMmQxMTc2NmMxOTU4MDNhN2UwMzA2
MS4uZmExNmM4MmU4NmFmNDA4MDhkNDRhODBkYjBhOTIyYmIxZGViNzhlYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5jcHAKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lkIFdlYnNpdGVEYXRhU3RvcmU6OnJlc29sdmVE
aXJlY3Rvcmllc0lmTmVjZXNzYXJ5KCkKICAgICAgICAgbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24t
PnNldEhTVFNTdG9yYWdlRGlyZWN0b3J5KHJlc29sdmVQYXRoRm9yU2FuZGJveEV4dGVuc2lvbiht
X2NvbmZpZ3VyYXRpb24tPmhzdHNTdG9yYWdlRGlyZWN0b3J5KCkpKTsKICAgICBpZiAoIW1fY29u
ZmlndXJhdGlvbi0+Z2VuZXJhbFN0b3JhZ2VEaXJlY3RvcnkoKS5pc0VtcHR5KCkpCiAgICAgICAg
IG1fcmVzb2x2ZWRDb25maWd1cmF0aW9uLT5zZXRHZW5lcmFsU3RvcmFnZURpcmVjdG9yeShyZXNv
bHZlQW5kQ3JlYXRlUmVhZFdyaXRlRGlyZWN0b3J5Rm9yU2FuZGJveEV4dGVuc2lvbihtX2NvbmZp
Z3VyYXRpb24tPmdlbmVyYWxTdG9yYWdlRGlyZWN0b3J5KCkpKTsKLSNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVcpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCiAgICAgaWYgKCFt
X2NvbmZpZ3VyYXRpb24tPm1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkuaXNFbXB0eSgpKQog
ICAgICAgICBtX3Jlc29sdmVkQ29uZmlndXJhdGlvbi0+c2V0TW9kZWxFbGVtZW50Q2FjaGVEaXJl
Y3RvcnkocmVzb2x2ZUFuZENyZWF0ZVJlYWRXcml0ZURpcmVjdG9yeUZvclNhbmRib3hFeHRlbnNp
b24obV9jb25maWd1cmF0aW9uLT5tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpKSk7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNp
dGVEYXRhU3RvcmUuaAppbmRleCA2MTk2MjgwZjc2ZGExMjAyOThlMmI3YWIxNjQwNWQyZjBiYTI4
OTIzLi4yMzAyY2NhYTg2NDEzZGNhMGFkNjhjYjAyYjRjNzgzZDI2ZDUyYmRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9y
ZS5oCkBAIC0yNTUsNyArMjU1LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2
ZWRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9y
ZXNvbHZlZENvbmZpZ3VyYXRpb24tPnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EaXJlY3Rvcnko
KTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGly
ZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9yZXNvbHZlZENvbmZpZ3VyYXRpb24tPnJlc291cmNl
TG9hZFN0YXRpc3RpY3NEaXJlY3RvcnkoKTsgfQogICAgIGNvbnN0IFN0cmluZyYgcmVzb2x2ZWRI
U1RTU3RvcmFnZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzb2x2ZWRDb25maWd1cmF0
aW9uLT5oc3RzU3RvcmFnZURpcmVjdG9yeSgpOyB9Ci0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXKQogICAgIGNvbnN0IFN0cmluZyYg
cmVzb2x2ZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVz
b2x2ZWRDb25maWd1cmF0aW9uLT5tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpOyB9CiAjZW5k
aWYKIApAQCAtMzQwLDcgKzM0MCw3IEBAIHB1YmxpYzoKICNpZiBVU0UoR0xJQikKICAgICBzdGF0
aWMgV1RGOjpTdHJpbmcgZGVmYXVsdEhTVFNEaXJlY3RvcnkoKTsKICNlbmRpZgotI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKICAg
ICBzdGF0aWMgV1RGOjpTdHJpbmcgZGVmYXVsdE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCk7
CiAjZW5kaWYKICAgICBzdGF0aWMgV1RGOjpTdHJpbmcgZGVmYXVsdEluZGV4ZWREQkRhdGFiYXNl
RGlyZWN0b3J5KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5jcHAKaW5k
ZXggYzBmNGI1MWIxNjA3YzU4ZWI2ZmFmNTZiMmExYjNhNDU4MmUwZTVmZi4uYWFmZTBhNDhmNmVm
ZmI5ZTI1OTIzMjJkYWViYTk0ZTFhMjFkMTIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2Vic2l0ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVD
b25maWd1cmF0aW9uLmNwcApAQCAtNDgsNyArNDgsNyBAQCBXZWJzaXRlRGF0YVN0b3JlQ29uZmln
dXJhdGlvbjo6V2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24oSXNQZXJzaXN0ZW50IGlzUGVy
cwogICAgICAgICBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KFdlYnNpdGVEYXRh
U3RvcmU6OmRlZmF1bHRSZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGlyZWN0b3J5KCkpOwogICAgICAg
ICBzZXREZXZpY2VJZEhhc2hTYWx0c1N0b3JhZ2VEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6
ZGVmYXVsdERldmljZUlkSGFzaFNhbHRzU3RvcmFnZURpcmVjdG9yeSgpKTsKICAgICAgICAgc2V0
SmF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVs
dEphdmFTY3JpcHRDb25maWd1cmF0aW9uRGlyZWN0b3J5KCkpOwotI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKICAgICAgICAgc2V0
TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoV2Vic2l0ZURhdGFTdG9yZTo6ZGVmYXVsdE1vZGVs
RWxlbWVudENhY2hlRGlyZWN0b3J5KCkpOwogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAt
MTEwLDcgKzExMCw3IEBAIFJlZjxXZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbj4gV2Vic2l0
ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb246OmNvcHkoKSBjb25zdAogICAgIGlmIChtX3Byb3h5Q29u
ZmlndXJhdGlvbikKICAgICAgICAgY29weS0+bV9wcm94eUNvbmZpZ3VyYXRpb24gPSBhZG9wdENG
KENGRGljdGlvbmFyeUNyZWF0ZUNvcHkobnVsbHB0ciwgdGhpcy0+bV9wcm94eUNvbmZpZ3VyYXRp
b24uZ2V0KCkpKTsKICNlbmRpZgotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyNp
ZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKICAgICBjb3B5LT5tX21vZGVsRWxlbWVudENhY2hl
RGlyZWN0b3J5ID0gdGhpcy0+bV9tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeTsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRlRGF0YS9XZWJzaXRl
RGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vic2l0
ZURhdGEvV2Vic2l0ZURhdGFTdG9yZUNvbmZpZ3VyYXRpb24uaAppbmRleCA4NzBkNzdiYzU5N2Fm
Mjc4NDFjNzk3ZTIyYjNmMWQ2MjcxY2E4YmNmLi5lZjczNzdmNTc4OTAyYmZlMGMyMzQ2OGE2ZjA3
YzdkMDcwYWUzZjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJzaXRl
RGF0YS9XZWJzaXRlRGF0YVN0b3JlQ29uZmlndXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYnNpdGVEYXRhL1dlYnNpdGVEYXRhU3RvcmVDb25maWd1cmF0aW9uLmgKQEAg
LTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFN0cmluZyYgbG9jYWxTdG9yYWdlRGly
ZWN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV9sb2NhbFN0b3JhZ2VEaXJlY3Rvcnk7IH0KICAgICB2
b2lkIHNldExvY2FsU3RvcmFnZURpcmVjdG9yeShTdHJpbmcmJiBkaXJlY3RvcnkpIHsgbV9sb2Nh
bFN0b3JhZ2VEaXJlY3RvcnkgPSBXVEZNb3ZlKGRpcmVjdG9yeSk7IH0KIAotI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKICAgICBj
b25zdCBTdHJpbmcmIG1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkgY29uc3QgeyByZXR1cm4g
bV9tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeTsgfQogICAgIHZvaWQgc2V0TW9kZWxFbGVtZW50
Q2FjaGVEaXJlY3RvcnkoU3RyaW5nJiYgZGlyZWN0b3J5KSB7IG1fbW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3RvcnkgPSBXVEZNb3ZlKGRpcmVjdG9yeSk7IH0KICNlbmRpZgpAQCAtMjAzLDcgKzIwMyw3
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRpcmVj
dG9yeTsKICAgICBTdHJpbmcgbV93ZWJTUUxEYXRhYmFzZURpcmVjdG9yeTsKICAgICBTdHJpbmcg
bV9oc3RzU3RvcmFnZURpcmVjdG9yeTsKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcp
CisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCiAgICAgU3RyaW5nIG1fbW9kZWxFbGVtZW50
Q2FjaGVEaXJlY3Rvcnk7CiAjZW5kaWYKICNpZiBVU0UoR0xJQikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXpl
ci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1
cmVSZWNvZ25pemVyLmgKaW5kZXggNWQzN2NkNzg2MzBjZmEzZTcyNTRhYWMwYTQ3YzQzYjJjNGEy
MWU0OC4uZDBjNTczNWJlYTRmM2IxYzJkNjcyMDkzMDllOGE4YTAyYzU1M2UwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVS
ZWNvZ25pemVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRl
cmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmgKQEAgLTIzLDcgKzIzLDcgQEAKICAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAKICNpbXBvcnQg
IlVJS2l0U1BJLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9X
S01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbQppbmRleCBi
Y2FhYTQ2YjdkMmU1Mzg0NWNhOTY0NGZhYmEzNDJjYWNmYWRlOWZhLi40ODczMzAyNjNkNjk4NGZi
NDRmZTIxYTZhN2E2YWY2MjBmMGI5MTk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW0KKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25p
emVyLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIldL
TW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLmgiCiAKLSNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIAog
I2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVmlld3MuaCIKICNpbXBvcnQgIldLTW9kZWxWaWV3Lmgi
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsVmlldy5oCmluZGV4IDZjNDNkZmJi
ODU3MjdjMzM5NDY5MTJhMjNiNjFjOGRmZjU3NTgwYjQuLjZmYjRkYjg1NDMxZThiMTI2ZTc5OTZi
MmE5MWJjM2FkMTFmZWE1ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS01vZGVsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVs
Vmlldy5oCkBAIC0yMyw3ICsyMyw3IEBACiAgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBFTkFC
TEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVX
X0lPUykKIAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVmlld3MuaCIKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tCmluZGV4IDdlOTM3MGZhMzM2NTc2MGRhMDVl
YWEyN2U1MmVjN2YwYmQyMmNmMDAuLjY3OTI1YmUxOTk5YWM5MWU0YzUyZGJlYTM4ZDQ0YmQ3NDk4
OTRlYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsVmll
dy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcubW0KQEAg
LTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiV0tNb2RlbFZpZXcu
aCIKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1Zf
SU5MSU5FX1BSRVZJRVdfSU9TKQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVWaWV3cy5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaAppbmRleCBlNmVi
OTliMzNiNGU5OGUwZmVjNWU1Njg0MzEzNjEzNmUzYTljZGFmLi5lMmExNDA3Mzc3ZWMzNTU0ZWVm
ZWQwOWViNzhmZGUyOWIzMWM3YmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaApAQCAt
MjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFVykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKIAogI2ltcG9ydCAiTW9kZWxJ
ZGVudGlmaWVyLmgiCiAjaW1wb3J0ICJXZWJQYWdlLmgiCkBAIC01Myw4ICs1MywxMSBAQCBwcml2
YXRlOgogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpNb2RlbCYsIFdlYkNvcmU6OkxheW91dFNpemUp
IG92ZXJyaWRlOwogICAgIFBsYXRmb3JtTGF5ZXIqIGxheWVyKCkgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBlbnRlckZ1bGxzY3JlZW4oKSBvdmVycmlkZTsKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9D
QU1FUkFfQ09OVFJPTCkKICAgICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1l
cmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2
b2lkIGlzUGxheWluZ0FuaW1hdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0QW5pbWF0aW9uSXNQbGF5aW5n
KGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7
CiAgICAgdm9pZCBpc0xvb3BpbmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKQEAgLTYyLDkgKzY1LDEyIEBAIHByaXZh
dGU6CiAgICAgdm9pZCBhbmltYXRpb25EdXJhdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8U2Vjb25kcz4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgYW5pbWF0aW9u
Q3VycmVudFRpbWUoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNlY29uZHM+
JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKFNlY29u
ZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7Cisj
ZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogICAgIHZvaWQg
aGFzQXVkaW8oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYm
KSBvdmVycmlkZTsKICAgICB2b2lkIGlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldElzTXV0ZWQoYm9v
bCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBvdmVycmlkZTsKKyNl
bmRpZgogCiAgICAgV2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7CiAgICAgV2Vha1B0cjxXZWJDb3Jl
OjpNb2RlbFBsYXllckNsaWVudD4gbV9jbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIu
bW0KaW5kZXggOTg3OGViMzRmOWJmZDZjZTUzYjVlNmJhNDRmZDJiZDFmNzU0MWIwNy4uZWU5OWFk
NDlkOGJmNWE2MjkwOGNjMmIyM2VlMzNjNmZhMGNiNWFkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllci5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oIgogCi0jaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXKQogCiAjaW1wb3J0ICJX
ZWJQYWdlLmgiCiAKQEAgLTU1LDYgKzU1LDcgQEAgdm9pZCBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllcjo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKIH0KIAorI2lmIEVOQUJMRShNT0RFTF9FTEVN
RU5UX0NBTUVSQV9DT05UUk9MKQogdm9pZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6
Z2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBh
dXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigpOwpAQCAtMTAxLDcg
KzEwMiw5IEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OnNldENhbWVyYShX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhCiAKICAgICBzdHJvbmdQYWdlLT5zZW5k
V2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TW9kZWxFbGVtZW50U2V0Q2Ft
ZXJhKCptb2RlbElkZW50aWZpZXIsIGNhbWVyYSksIFdURk1vdmUocmVtb3RlQ29tcGxldGlvbkhh
bmRsZXIpKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1FUkFfQ09OVFJP
TCkKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MKQogdm9pZCBB
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6aXNQbGF5aW5nQW5pbWF0aW9uKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigp
OwpAQCAtMjY4LDcgKzI3MSw5IEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6
OnNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKFNlY29uZHMgY3VycmVudFRpbWUsCiAKICAgICBzdHJv
bmdQYWdlLT5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TW9kZWxF
bGVtZW50U2V0QW5pbWF0aW9uQ3VycmVudFRpbWUoKm1vZGVsSWRlbnRpZmllciwgY3VycmVudFRp
bWUpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CisjZW5kaWYgLy8gRU5B
QkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiAKKyNpZiBFTkFCTEUoTU9ERUxf
RUxFTUVOVF9BVURJT19DT05UUk9MKQogdm9pZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
cjo6aGFzQXVkaW8oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhp
cy0+bW9kZWxJZGVudGlmaWVyKCk7CkBAIC0zNDEsNiArMzQ2LDcgQEAgdm9pZCBBUktpdElubGlu
ZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0SXNNdXRlZChib29sIGlzTXV0ZWQsIENvbXBsZXRpb25I
YW5kbGVyPHYKIAogICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6
V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRTZXRJc011dGVkKCptb2RlbElkZW50aWZpZXIsIGlz
TXV0ZWQpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CisjZW5kaWYgLy8g
RU5BQkxFKE1PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTCkKIAogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvV2ViTW9kZWxQbGF5ZXJQcm92aWRlci5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvV2ViTW9kZWxQbGF5ZXJQcm92aWRlci5j
cHAKaW5kZXggNTc2ZTUxZDI1ZDAyYTRlMWQ3MjBmNWE1MjFiMTllOGI0ZmZkMjgyYy4uZjYwNTYy
OWYzYzQxYWNjOGYxNDFkOGZlMzgzMDg2ZmU1MDhmMjY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL01vZGVsL1dlYk1vZGVsUGxheWVyUHJvdmlkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9XZWJNb2RlbFBsYXllclByb3ZpZGVyLmNwcApA
QCAtMjksMTEgKzI5LDExIEBACiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvTW9kZWxQbGF5ZXIuaD4KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMp
CisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogI2luY2x1ZGUgIkFSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVyTWFjLmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogI2luY2x1
ZGUgIkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgiCiAjZW5kaWYKIApAQCAtNTUs
NyArNTUsNyBAQCBXZWJNb2RlbFBsYXllclByb3ZpZGVyOjp+V2ViTW9kZWxQbGF5ZXJQcm92aWRl
cigpID0gZGVmYXVsdDsKIAogUmVmUHRyPFdlYkNvcmU6Ok1vZGVsUGxheWVyPiBXZWJNb2RlbFBs
YXllclByb3ZpZGVyOjpjcmVhdGVNb2RlbFBsYXllcihXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVu
dCYgY2xpZW50KQogewotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisjaWYg
SEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIGlmIChtX3BhZ2UudXNlQVJLaXRGb3JN
b2RlbCgpKQogICAgICAgICByZXR1cm4gQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6
OmNyZWF0ZShtX3BhZ2UsIGNsaWVudCk7CiAjZW5kaWYKQEAgLTYzLDcgKzYzLDcgQEAgUmVmUHRy
PFdlYkNvcmU6Ok1vZGVsUGxheWVyPiBXZWJNb2RlbFBsYXllclByb3ZpZGVyOjpjcmVhdGVNb2Rl
bFBsYXllcihXZWJDb3JlOjoKICAgICBpZiAobV9wYWdlLnVzZVNjZW5lS2l0Rm9yTW9kZWwoKSkK
ICAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmNyZWF0ZShjbGll
bnQpOwogI2VuZGlmCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBI
QVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAgICAgcmV0dXJuIEFSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TOjpjcmVhdGUobV9wYWdlLCBjbGllbnQpOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJJT1MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3Mv
QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MuaAppbmRleCA0MGEyNTk1ZjcwZTRiZWUx
ZjFkNjY4N2E0MjJkZmQ3YTczMzdkYmQ2Li41OTZiYmI5Y2Y4ZmQ3MDBjNmMwMzZiODEyMWU5ZWZi
MWQxNTNlYjYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9z
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oCkBA
IC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAKICNpbmNs
dWRlICJBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUv
TW9kZWxQbGF5ZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2Rl
bC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLm1t
CmluZGV4IGE5OWEzNGI1ZjE1YWQ3ZWVlNWRiMjg1M2E2OTIyMWNjYWM0YTY1NGQuLmY5YjE4Zjcx
NzgyZDhkNzc0MDc4ODVlNTI5ZDZmODdkYTFmMzcyZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1Mu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllcklPUy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oIgogCi0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJF
VklFV19JT1MpCiAKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eU1l
c3NhZ2VzLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFj
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgKaW5kZXgg
YjNjOGU0MjA4YjEyZTUxOWQ0ZDA3Mzk5YzNjNzVjMTQxMThhNDgxNC4uYzc1YTcwOTYzNDc4YmE3
YWFiNzY1ZTE0YjU4OTI4Zjg1MzZlODc5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJNYWMuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJ
RVdfTUFDKQogCiAjaW5jbHVkZSAiQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL01vZGVsUGxheWVyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllck1hYy5tbQppbmRleCBlNTI0ZDhlMWIwMTdhYThlNWUwM2I4OTJkOTJiNzU4OTRj
NThmMzc0Li42YzA4OTg1ZWNjZjNhM2NiNDkyNTMyYWJlN2Y5MjJkNTM2ODA3OTdlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9t
YWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0KQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5
ZXJNYWMuaCIKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisjaWYgSEFW
RShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogCiAjaW1wb3J0ICJXZWJQYWdlLmgiCiAjaW1wb3J0
ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgpAQCAtMTc5LDcgKzE3OSw3IEBAIFBsYXRmb3JtTGF5
ZXIqIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjOjpsYXllcigpCiAKIGJvb2wgQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6OnN1cHBvcnRzTW91c2VJbnRlcmFjdGlvbigp
CiB7Ci0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9J
TkxJTkVfUFJFVklFV19NQUMpCiAgICAgcmV0dXJuIHRydWU7CiAjZW5kaWYKICAgICByZXR1cm4g
ZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IGRkNTljZmE3MTA2ZjA4NDQyZTNmYjM5OTNiMWE4ODA4ODFmN2JhMzYuLjI1OTQwYWUyOTVm
YWQ1ZWJiMzFlZmY0ODE1ZDg5MzU0MmRhODQzZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC00MDgyLDcgKzQwODIsNyBAQCB2b2lkIFdlYlBh
Z2U6OnVwZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQog
I2VuZGlmCiAgICAgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEhB
VkUoQVNWX0lOTElORV9QUkVWSUVXKQogICAgIG1fdXNlQVJLaXRGb3JNb2RlbCA9IHN0b3JlLmdl
dEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dXNlQVJLaXRGb3JNb2RlbEtleSgp
KTsKICNlbmRpZgogI2lmIEhBVkUoU0NFTkVLSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNzQwM2Y3N2Q1MGFjZDFmZDUwMGJkZWY5ZTRiYWEyZTU3
ZjgyODQ1YS4uNjZkYWEzMjU2NzNiMTMyNDI1ZmQ2MzMyMjVmMTJhNDhhMmNiYTlmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQ5Niw3ICsxNDk2
LDcgQEAgcHVibGljOgogICAgIGNvbnN0IFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlSb290QXRzcGkm
IGFjY2Vzc2liaWxpdHlSb290T2JqZWN0KCkgY29uc3QgeyByZXR1cm4gKm1fYWNjZXNzaWJpbGl0
eVJvb3RPYmplY3Q7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
KQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXKQogICAgIGJvb2wgdXNlQVJLaXRGb3JNb2Rl
bCgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlQVJLaXRGb3JNb2RlbDsgfTsKICNlbmRpZgogI2lmIEhB
VkUoU0NFTkVLSVQpCkBAIC0yMzcyLDcgKzIzNzIsNyBAQCBwcml2YXRlOgogCiAgICAgYm9vbCBt
X2RpZFVwZGF0ZVJlbmRlcmluZ0FmdGVyQ29tbWl0dGluZ0xvYWQgeyBmYWxzZSB9OwogCi0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVX
KQogICAgIGJvb2wgbV91c2VBUktpdEZvck1vZGVsIHsgZmFsc2UgfTsKICNlbmRpZgogI2lmIEhB
VkUoU0NFTkVLSVQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXgg
OTQzMDRiNzExZmQ0ZmFlYTNiMjBlNzM5Yzk5NmE0N2I4YzcyYWQzNC4uYzFhNTQ1NjBjZTZiZjI3
M2I0NDI3ZmRmOTg2OGZlNmI0Zjk0NGNlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcApAQCAtMTQ1LDcgKzE0NSw3IEBACiAjaW5jbHVkZSA8d3RmL1VSTFBhcnNlci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0hhc2guaD4KIAotI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogI2lu
Y2x1ZGUgIkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgiCiAjZW5kaWYKIApAQCAt
NjAzLDcgKzYwMyw3IEBAIHZvaWQgV2ViUHJvY2Vzczo6c2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFt
ZXRlcnMoV2ViUHJvY2Vzc0RhdGFTdG9yZVBhcmFtZXRlcnMmJiBwCiAgICAgICAgIFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhQ2FjaGVEaXJlY3RvcnkocGFyYW1ldGVycy5tZWRp
YUNhY2hlRGlyZWN0b3J5KTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgaWYgKCFwYXJh
bWV0ZXJzLm1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5LmlzRW1wdHkoKSkKICAgICAgICAgQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6OnNldE1vZGVsRWxlbWVudENhY2hlRGlyZWN0
b3J5KHBhcmFtZXRlcnMubW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkpOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQppbmRl
eCBkYmY4NDlkYzZjYjEyMmYwM2IyMWExN2EwZWZlMGFkOTA5ZDkzMmNhLi5mZTZiNjhiYjE0YjZj
YjU0ODI0M2M4ZjRlNDczZTViOGM3NDEyMzZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvY29jb2EvV2ViUHJvY2Vzc0NvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW0KQEAgLTQ2Nyw3ICs0NjcsNyBAQCB2b2lk
IFdlYlByb2Nlc3M6OnBsYXRmb3JtU2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMoV2ViUHJv
Y2Vzc0RhdGFTdG9yZVBhcmFtZQogICAgIFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5l
bnRseShwYXJhbWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3RvcnlFeHRlbnNpb25IYW5kbGUpOwogICAg
IFNhbmRib3hFeHRlbnNpb246OmNvbnN1bWVQZXJtYW5lbnRseShwYXJhbWV0ZXJzLm1lZGlhS2V5
U3RvcmFnZURpcmVjdG9yeUV4dGVuc2lvbkhhbmRsZSk7CiAgICAgU2FuZGJveEV4dGVuc2lvbjo6
Y29uc3VtZVBlcm1hbmVudGx5KHBhcmFtZXRlcnMuamF2YVNjcmlwdENvbmZpZ3VyYXRpb25EaXJl
Y3RvcnlFeHRlbnNpb25IYW5kbGUpOwotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykK
KyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykKICAgICBTYW5kYm94RXh0ZW5zaW9uOjpjb25z
dW1lUGVybWFuZW50bHkocGFyYW1ldGVycy5tb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeUV4dGVu
c2lvbkhhbmRsZSk7CiAjZW5kaWYKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445077</attachid>
            <date>2021-11-24 00:29:52 -0800</date>
            <delta_ts>2021-11-29 10:40:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233407-20211124092950.patch</filename>
            <type>text/plain</type>
            <size>59877</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGVhYjNiMjBkYTVmNDFhMjYwMTM4NDhj
OTViMmViNTZmMzFjZDE3ODEuLmM1Yjc4YTgxNzEyMjBiZTQ3MWMxNThkNmFjNmFkYzE1OGI2YTVi
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMTEtMjQgIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBjbGVhbiB1cCBjb21waWxlLXRpbWUg
ZmxhZ3MgYW5kIGNvbmRpdGlvbiBJREwgbWV0aG9kcyBiZWhpbmQgdGhlbQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNDA3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgcmVmYWN0b3IgYW5kIGF1Z21l
bnQgdGhlIGZsYWdzIHJlbGF0ZWQgdG8gdGhlIDxtb2RlbD4gZWxlbWVudC4gRmlyc3QsIHdlIGNo
YW5nZSB0aGUKKyAgICAgICAgZm9sbG93aW5nIGV4aXN0aW5nIGZsYWdzIGZyb20gRU5BQkxFIHRv
IEhBVkUgc2luY2UgdGhleSBhcmUgYWJvdXQgdGhlIGF2YWlsYWJpbGl0eSBvZgorICAgICAgICBz
cGVjaWZpYyBBUElzIGluIEFSS2l0LCBhbmQgbW9yZSBzcGVjaWZpYyBBU1ZJbmxpbmVQcmV2aWV3
LiBUaGUgY2hhbmdlcyBhcmUgYXMgZm9sbG93czoKKworICAgICAgICAgICAgRU5BQkxFX0FSS0lU
X0lOTElORV9QUkVWSUVXX0lPUyA9PiBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19JT1MKKyAgICAg
ICAgICAgIEVOQUJMRV9BUktJVF9JTkxJTkVfUFJFVklFV19NQUMgPT4gSEFWRV9BU1ZfSU5MSU5F
X1BSRVZJRVdfTUFDCisgICAgICAgICAgICBFTkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVdfQ0FN
RVJBX1RSQU5TRk9STSA9PiBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19DQU1FUkFfQ09OVFJPTAor
ICAgICAgICAgICAgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0FOSU1BVElPTlNfQ09OVFJP
TCA9PiBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19BTklNQVRJT05fQ09OVFJPTAorICAgICAgICAg
ICAgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wgPT4gSEFWRV9BU1Zf
SU5MSU5FX1BSRVZJRVdfQVVESU9fQ09OVFJPTAorCisgICAgICAgIFdlIHJldGFpbiB0aGUgRU5B
QkxFX0FSS0lUX0lOTElORV9QUkVWSUVXIGZsYWcgaG93ZXZlciBhcywgZXZlbiB3aGVuIHRoZSBB
U1ZJbmxpbmVQcmV2aWV3IEFQSSBpcworICAgICAgICBhdmFpbGFibGUsIHdlIG1heSBlbGVjdCB0
byBub3QgdXNlIHRoaXMgQVBJLgorCisgICAgICAgIFRoZW4sIHdlIGFkZCB0aHJlZSBuZXcgZmxh
Z3MgdG8gc3BlY2lmeSB3aGV0aGVyIHNvbWUgPG1vZGVsPiBmZWF0dXJlcyBleHBvc2VkIHRvIHRo
ZSBXZWIgYXJlIGVuYWJsZWQsCisgICAgICAgIGFsbCBjdXJyZW50bHkgY29uZGl0aW9uZWQgYnkg
dGhlIG1hdGNoaW5nIEhBVkVfQVNWX0lOTElORV9QUkVWSUVXXyBmbGFncywgYnV0IHRob3NlIGNv
dWxkIGJlIHN1YmplY3QKKyAgICAgICAgdG8gbW9yZSBjb21wbGV4IHJ1bGVzIHdoZW4gb3RoZXIg
PG1vZGVsPiBiYWNrZW5kcyBleHBvc2Ugc3VwcG9ydGluZyBBUElzIGZvciB0aGVzZSBmZWF0dXJl
cy4KKworICAgICAgICAgICAgRU5BQkxFX01PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wKKyAg
ICAgICAgICAgIEVOQUJMRV9NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MCisgICAgICAg
ICAgICBFTkFCTEVfTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MCisKKyAgICAgICAgRmluYWxs
eSwgd2UgbW9kaWZ5IHRoZSBtYWNPUyB2ZXJzaW9uIHVzZWQgdG8gZGVmaW5lIHRoZSBIQVZFX0FT
Vl9JTkxJTkVfUFJFVklFV19YWFhfQ09OVFJPTCBmbGFncy4KKworICAgICAgICAqIHd0Zi9QbGF0
Zm9ybUVuYWJsZUNvY29hLmg6CisgICAgICAgICogd3RmL1BsYXRmb3JtSGF2ZS5oOgorCiAyMDIx
LTExLTE5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtN
b2RlbF0gYWRkIGF1ZGlvIHN1cHBvcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4MzRlODU3NDJhZmQwMDVkNTRl
N2E3ZTg3YTkzMDNiMDU2ZDk3MDEzLi5kN2FiNDI0ZmIzZTNmNTI4MjQwMmFjYWRmODY0NjQ5Y2U5
NzkyOTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMjEtMTEtMjQgIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBjbGVhbiB1cCBj
b21waWxlLXRpbWUgZmxhZ3MgYW5kIGNvbmRpdGlvbiBJREwgbWV0aG9kcyBiZWhpbmQgdGhlbQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNDA3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY29uZGl0
aW9uIHRoZSBhdmFpbGFiaWxpdHkgb2YgSURMIG1ldGhvZHMgcmVjZW50bHkgYWRkZWQgdG8gSFRN
TE1vZGVsRWxlbWVudCBieQorICAgICAgICB0aGUgbmV3IHNldCBvZiBFTkFCTEVfTU9ERUxfRUxF
TUVOVF9YWFhfQ09OVFJPTCBmbGFncy4KKworICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVu
dC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudC5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1M
TW9kZWxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQ
bGF5ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2Rl
bFBsYXllci5jcHA6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15
TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQv
U2NlbmVLaXRNb2RlbFBsYXllci5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9z
Y2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tOgorCiAyMDIxLTExLTIwICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXBvcnQgdGhlIGlu
aXRpYXRpbmcgdXJsIGluc3RlYWQgb2YgdGhlIHJlZGlyZWN0ZWQgb25lCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxv
ZwppbmRleCBmMTg2MTJmNjIyZDRhMjY3MWU0NTA0NWFkOTcyMDgzNTc2MTJhYmQ0Li5iZWU4ZWYz
YTZlNmY1NDE1MTdlNDhkNWQ2YjQ4YzgwMWMwNDY0ZGYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAyMS0xMS0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0
Lm9yZz4KKworICAgICAgICBbTW9kZWxdIGNsZWFuIHVwIGNvbXBpbGUtdGltZSBmbGFncyBhbmQg
Y29uZGl0aW9uIElETCBtZXRob2RzIGJlaGluZCB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM0MDcKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhZG9wdCB0aGUgY2hhbmdlcyBtYWRlIHRvIGZs
YWdzIGluIHd0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYW5kIHd0Zi9QbGF0Zm9ybUhhdmUuaC4K
KworICAgICAgICAqIHBhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oOgorICAgICAgICAqIHBh
bC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9TeXN0
ZW1QcmV2aWV3U1BJLmg6CisKIDIwMjEtMTEtMTkgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViR1BVXSBBZGQgY29udmVydGVycyBmcm9tIHNl
cmlhbGl6YWJsZSBkZXNjcmlwdG9ycyB0byBpbnRlcmZhY2UgZGVzY3JpcHRvcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5k
ZXggZTA1MmZiZmFiZjU5NjBkN2IwMjI0OTk1YjRkMGNkYjNlYTVmZjY2NC4uZmFkZTI5NjJjZjBm
ODllYjFjYWM3OWQ3ODM2ZDUwYWIzMDY4YjJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1NiBAQAor
MjAyMS0xMS0yNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBbTW9kZWxdIGNsZWFuIHVwIGNvbXBpbGUtdGltZSBmbGFncyBhbmQgY29uZGl0aW9uIElETCBt
ZXRob2RzIGJlaGluZCB0aGVtCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzM0MDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBPbiB0b3Agb2YgYWRvcHRpbmcgdGhlIGNoYW5nZXMgbWFkZSB0byBmbGFncyBp
biB3dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGFuZCB3dGYvUGxhdGZvcm1IYXZlLmgsCisgICAg
ICAgIHdlIGNvbmRpdGlvbiB0aGUgZGVmaW5pdGlvbiBvZiBjb2RlIHJlbGF0ZWQgdG8gSURMIG1l
dGhvZHMgcmVjZW50bHkgYWRkZWQgdG8gSFRNTE1vZGVsRWxlbWVudCBieQorICAgICAgICB0aGUg
bmV3IHNldCBvZiBFTkFCTEVfTU9ERUxfRUxFTUVOVF9YWFhfQ09OVFJPTCBmbGFncywgdW5jbHVk
aW5nIFdlYlBhZ2VQcm94eSBtZXNzYWdlcyBhbGxvd2luZworICAgICAgICBmb3IgdGhpcyBmZWF0
dXJlIHRvIHdvcmsuCisKKyAgICAgICAgKiBTaGFyZWQvTW9kZWxJZGVudGlmaWVyLmg6CisgICAg
ICAgIChXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdl
YktpdDo6TW9kZWxJZGVudGlmaWVyOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2Nv
YS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6OnByZXZp
ZXdIYXNDYW1lcmFTdXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxF
bGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdl
YktpdDo6cHJldmlld0hhc0FuaW1hdGlvblN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjppc1BsYXlpbmdBbmltYXRpb25Gb3JNb2RlbEVsZW1lbnQpOgor
ICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRBbmltYXRpb25Jc1Bs
YXlpbmdGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250
cm9sbGVyOjppc0xvb3BpbmdBbmltYXRpb25Gb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2Vi
S2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRJc0xvb3BpbmdBbmltYXRpb25Gb3JNb2Rl
bEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjphbmlt
YXRpb25EdXJhdGlvbkZvck1vZGVsRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OmFuaW1hdGlvbkN1cnJlbnRUaW1lRm9yTW9kZWxFbGVtZW50KToKKyAg
ICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0QW5pbWF0aW9uQ3VycmVu
dFRpbWVGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpwcmV2aWV3SGFzQXVkaW9T
dXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aGFzQXVk
aW9Gb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9s
bGVyOjppc011dGVkRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVt
ZW50Q29udHJvbGxlcjo6c2V0SXNNdXRlZEZvck1vZGVsRWxlbWVudCk6CisgICAgICAgICogVUlQ
cm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvUmVt
b3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXllclRyZWVIb3N0SU9TLm1tOgorICAgICAgICAoV2Vi
S2l0OjpSZW1vdGVMYXllclRyZWVIb3N0OjptYWtlTm9kZSk6CisgICAgICAgICogVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVjb2duaXplci5oOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIu
bW06CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS01vZGVsVmlldy5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9B
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9k
ZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW06CisgICAgICAgICogV2ViUHJvY2Vz
cy9Nb2RlbC9XZWJNb2RlbFBsYXllclByb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
TW9kZWxQbGF5ZXJQcm92aWRlcjo6Y3JlYXRlTW9kZWxQbGF5ZXIpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJ
T1MubW06CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJNYWMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxp
bmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6OnN1cHBvcnRzTW91c2VJbnRlcmFjdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6c2V0V2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRlcnMpOgorCiAyMDIxLTExLTIwICBDYXJs
b3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSZXBvcnQg
dGhlIGluaXRpYXRpbmcgdXJsIGluc3RlYWQgb2YgdGhlIHJlZGlyZWN0ZWQgb25lCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggN2U4MDdiZWRhNTg4YTU0MGI0NzdlMTg1ZTQx
ZTM2N2Y3YTMzMzcwMi4uZjRlN2U1ZDhmMWQyMGU1Zjg4MjQ4NzdhNjg0NzBmYzFlZmJiMjBhMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzMyLDIwICs3MzIsMTggQEAK
ICNkZWZpbmUgRU5BQkxFX1BSRURFRklORURfQ09MT1JfU1BBQ0VfRElTUExBWV9QMyAxCiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpICYmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVX
KSAmJiAhRU5BQkxFKFNFUEFSQVRFRF9NT0RFTCkKLSNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElO
RV9QUkVWSUVXX0lPUyAxCisjaWYgIWRlZmluZWQoRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVX
KSAmJiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFVykgJiYgIUVOQUJMRShTRVBBUkFURURfTU9ERUwp
CisjZGVmaW5lIEVOQUJMRV9BUktJVF9JTkxJTkVfUFJFVklFVyAxCiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKE1BQykgJiYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVcpCi0jZGVmaW5lIEVOQUJMRV9B
UktJVF9JTkxJTkVfUFJFVklFV19NQUMgMQorI2lmICFkZWZpbmVkKEVOQUJMRV9NT0RFTF9FTEVN
RU5UX0NBTUVSQV9DT05UUk9MKSAmJiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19DQU1FUkFfQ09O
VFJPTCkKKyNkZWZpbmUgRU5BQkxFX01PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wgMQogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKSB8fCBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQotI2RlZmluZSBFTkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJ
RVcgMQorI2lmICFkZWZpbmVkKEVOQUJMRV9NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9M
KSAmJiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19BTklNQVRJT05fQ09OVFJPTCkKKyNkZWZpbmUg
RU5BQkxFX01PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wgMQogI2VuZGlmCiAKLSNpZiAo
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01B
WF9BTExPV0VEID49IDEyMDQwMCkgfHwgKEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1Mp
ICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTUwNDAwKQotI2RlZmluZSBF
TkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVdfQ0FNRVJBX1RSQU5TRk9STSAxCi0jZGVmaW5lIEVO
QUJMRV9BUktJVF9JTkxJTkVfUFJFVklFV19BTklNQVRJT05TX0NPTlRST0wgMQotI2RlZmluZSBF
TkFCTEVfQVJLSVRfSU5MSU5FX1BSRVZJRVdfQVVESU9fQ09OVFJPTCAxCisjaWYgIWRlZmluZWQo
RU5BQkxFX01PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTCkgJiYgSEFWRShBU1ZfSU5MSU5FX1BS
RVZJRVdfQVVESU9fQ09OVFJPTCkKKyNkZWZpbmUgRU5BQkxFX01PREVMX0VMRU1FTlRfQVVESU9f
Q09OVFJPTCAxCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtSGF2
ZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKaW5kZXggY2NlYzFlZmQxMWQyOTg3
NTkxOTI1NWZlZTdhNmFjMjM2NDM3NjY4MS4uYWE2ODE0YWU5MTI5NDhiMGE2YjhlZTliZjhhMDhl
Mzg2NDkzY2FmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKKysr
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1IYXZlLmgKQEAgLTk1NywxMSArOTU3LDI0IEBACiAj
ZW5kaWYKIAogI2lmIChQTEFURk9STShJT1MpICYmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKSAm
JiBfX0lQSE9ORV9PU19WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxNTAwMDApIFwKLSAgICB8fCAo
UExBVEZPUk0oTUFDQ0FUQUxZU1QpICYmIF9fSVBIT05FX09TX1ZFUlNJT05fTUlOX1JFUVVJUkVE
ID49IDE1MDAwMCkgXAotICAgIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lP
Tl9NSU5fUkVRVUlSRUQgPj0gMTIwMDAwKQorICAgIHx8IChQTEFURk9STShNQUNDQVRBTFlTVCkg
JiYgX19JUEhPTkVfT1NfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTUwMDAwKQorI2RlZmluZSBI
QVZFX0FTVl9JTkxJTkVfUFJFVklFV19JT1MgMQorI2VuZGlmCisKKyNpZiAoUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDAwMCkKKyNkZWZpbmUg
SEFWRV9BU1ZfSU5MSU5FX1BSRVZJRVdfTUFDIDEKKyNlbmRpZgorCisjaWYgSEFWRShBU1ZfSU5M
SU5FX1BSRVZJRVdfSU9TKSB8fCBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAjZGVmaW5l
IEhBVkVfQVNWX0lOTElORV9QUkVWSUVXIDEKICNlbmRpZgogCisjaWYgKEhBVkUoQVNWX0lOTElO
RV9QUkVWSUVXX01BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01BWF9BTExPV0VEID49IDEyMDMw
MCkgfHwgKEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lP
Tl9NQVhfQUxMT1dFRCA+PSAxNTA0MDApCisjZGVmaW5lIEhBVkVfQVNWX0lOTElORV9QUkVWSUVX
X0NBTUVSQV9DT05UUk9MIDEKKyNkZWZpbmUgSEFWRV9BU1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFU
SU9OX0NPTlRST0wgMQorI2RlZmluZSBIQVZFX0FTVl9JTkxJTkVfUFJFVklFV19BVURJT19DT05U
Uk9MIDEKKyNlbmRpZgorCiAjaWYgUExBVEZPUk0oSU9TKSB8fCBQTEFURk9STShNQUNDQVRBTFlT
VCkgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+
PSAxMTAwMDApCiAjZGVmaW5lIEhBVkVfTlNVUkxQUk9UT0NPTF9XSVRIX1NLSVBBUFBTU08gMQog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKaW5kZXggZGU2MTU5YWNhZDAxZDM3YjNjZDYxZDFlZmVj
NzZjNmJkMTBkZmQ5My4uYjM3MjVjNWFkZDhhOGRhNDIxN2IwZGNjMGRkNGE2YzkzZjc1MmJiOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9I
VE1MTW9kZWxFbGVtZW50LmNwcApAQCAtMzY2LDYgKzM2Niw3IEBAIHZvaWQgSFRNTE1vZGVsRWxl
bWVudDo6ZHJhZ0RpZEVuZChNb3VzZUV2ZW50JiBldmVudCkKIAogLy8gTUFSSzogLSBDYW1lcmEg
c3VwcG9ydC4KIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogdm9p
ZCBIVE1MTW9kZWxFbGVtZW50OjpnZXRDYW1lcmEoQ2FtZXJhUHJvbWlzZSYmIHByb21pc2UpCiB7
CiAgICAgaWYgKCFtX21vZGVsUGxheWVyKSB7CkBAIC0zOTUsOSArMzk2LDExIEBAIHZvaWQgSFRN
TE1vZGVsRWxlbWVudDo6c2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhLCBE
T01Qcm9taXNlRGVmZXJyCiAgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOwogICAgIH0pOwog
fQorI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogCiAvLyBN
QVJLOiAtIEFuaW1hdGlvbnMgc3VwcG9ydC4KIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FO
SU1BVElPTl9DT05UUk9MKQogdm9pZCBIVE1MTW9kZWxFbGVtZW50Ojppc1BsYXlpbmdBbmltYXRp
b24oSXNQbGF5aW5nQW5pbWF0aW9uUHJvbWlzZSYmIHByb21pc2UpCiB7CiAgICAgaWYgKCFtX21v
ZGVsUGxheWVyKSB7CkBAIC01MTIsOSArNTE1LDExIEBAIHZvaWQgSFRNTE1vZGVsRWxlbWVudDo6
c2V0QW5pbWF0aW9uQ3VycmVudFRpbWUoZG91YmxlIGN1cnJlbnRUaW1lLCBET01Qcm9taXNlRGVm
CiAgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOwogICAgIH0pOwogfQorI2VuZGlmIC8vIEVO
QUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MKQogCiAvLyBNQVJLOiAtIEF1ZGlv
IHN1cHBvcnQuCiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogdm9p
ZCBIVE1MTW9kZWxFbGVtZW50OjpoYXNBdWRpbyhIYXNBdWRpb1Byb21pc2UmJiBwcm9taXNlKQog
ewogICAgIGlmICghbV9tb2RlbFBsYXllcikgewpAQCAtNTU5LDYgKzU2NCw3IEBAIHZvaWQgSFRN
TE1vZGVsRWxlbWVudDo6c2V0SXNNdXRlZChib29sIGlzTXV0ZWQsIERPTVByb21pc2VEZWZlcnJl
ZDx2b2lkPiYmIHByb21pCiAgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOwogICAgIH0pOwog
fQorI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRST0wpCiAKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmgKaW5kZXggOGNjNjIxMzhhYmVmNTM0MzhhMGM1MzllYTY4YjliNmM2YzRmODhj
Ny4uODA1ZDViY2RlNDhhZWQ4MzRiMzE2MDMwOGNkNjU5ZmI3ZmUwMzA1YSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVu
dC5oCkBAIC03MSwxMCArNzEsMTMgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbnRlckZ1bGxzY3Jl
ZW4oKTsKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAgIHVz
aW5nIENhbWVyYVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMRGljdGlvbmFyeTxIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhPj47CiAgICAgdm9pZCBnZXRDYW1lcmEoQ2FtZXJhUHJvbWlzZSYm
KTsKICAgICB2b2lkIHNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBET01Qcm9taXNl
RGVmZXJyZWQ8dm9pZD4mJik7CisjZW5kaWYKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FO
SU1BVElPTl9DT05UUk9MKQogICAgIHVzaW5nIElzUGxheWluZ0FuaW1hdGlvblByb21pc2UgPSBE
T01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj47CiAgICAgdm9pZCBpc1BsYXlpbmdBbmltYXRp
b24oSXNQbGF5aW5nQW5pbWF0aW9uUHJvbWlzZSYmKTsKICAgICB2b2lkIHBsYXlBbmltYXRpb24o
RE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOwpAQCAtODksMTIgKzkyLDE1IEBAIHB1YmxpYzoK
ICAgICB1c2luZyBDdXJyZW50VGltZVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMRG91
YmxlPjsKICAgICB2b2lkIGFuaW1hdGlvbkN1cnJlbnRUaW1lKEN1cnJlbnRUaW1lUHJvbWlzZSYm
KTsKICAgICB2b2lkIHNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKGRvdWJsZSwgRE9NUHJvbWlzZURl
ZmVycmVkPHZvaWQ+JiYpOworI2VuZGlmCiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJ
T19DT05UUk9MKQogICAgIHVzaW5nIEhhc0F1ZGlvUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJl
ZDxJRExCb29sZWFuPjsKICAgICB2b2lkIGhhc0F1ZGlvKEhhc0F1ZGlvUHJvbWlzZSYmKTsKICAg
ICB1c2luZyBJc011dGVkUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPjsK
ICAgICB2b2lkIGlzTXV0ZWQoSXNNdXRlZFByb21pc2UmJik7CiAgICAgdm9pZCBzZXRJc011dGVk
KGJvb2wsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKKyNlbmRpZgogCiAgICAgYm9vbCBp
c0RyYWdnYWJsZUlnbm9yaW5nQXR0cmlidXRlcygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KIApAQCAtMTI2LDcgKzEzMiw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkcmFnRGlkQ2hhbmdl
KE1vdXNlRXZlbnQmKTsKICAgICB2b2lkIGRyYWdEaWRFbmQoTW91c2VFdmVudCYpOwogCisjaWYg
RU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiAgICAgdm9pZCBzZXRBbmlt
YXRpb25Jc1BsYXlpbmcoYm9vbCwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYpOworI2VuZGlm
CiAKICAgICBVUkwgbV9zb3VyY2VVUkw7CiAgICAgQ2FjaGVkUmVzb3VyY2VIYW5kbGU8Q2FjaGVk
UmF3UmVzb3VyY2U+IG1fcmVzb3VyY2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKaW5kZXggNzI4MzFhMTcy
ZjJhZGU1NjhhZGMyNzFlNTIxNTA0ZjYzY2JlZGY4ZS4uZGE4YjE1MGEyZThkYjA1OTdiNDQ1Y2Rj
Y2ExNDI3YTcxMjFkZjM5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApAQCAtMzQsMjEgKzM0LDIxIEBA
CiAKICAgICB1bmRlZmluZWQgZW50ZXJGdWxsc2NyZWVuKCk7CiAKLSAgICBQcm9taXNlPEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE+IGdldENhbWVyYSgpOwotICAgIFByb21pc2U8dW5kZWZpbmVkPiBz
ZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEpOworICAgIFtDb25kaXRpb25h
bD1NT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MXSBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnRD
YW1lcmE+IGdldENhbWVyYSgpOworICAgIFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0NBTUVS
QV9DT05UUk9MXSBQcm9taXNlPHVuZGVmaW5lZD4gc2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEgY2FtZXJhKTsKIAotICAgIFByb21pc2U8Ym9vbGVhbj4gaXNQbGF5aW5nQW5pbWF0aW9u
KCk7Ci0gICAgUHJvbWlzZTx1bmRlZmluZWQ+IHBsYXlBbmltYXRpb24oKTsKLSAgICBQcm9taXNl
PHVuZGVmaW5lZD4gcGF1c2VBbmltYXRpb24oKTsKKyAgICBbQ29uZGl0aW9uYWw9TU9ERUxfRUxF
TUVOVF9BTklNQVRJT05fQ09OVFJPTF0gUHJvbWlzZTxib29sZWFuPiBpc1BsYXlpbmdBbmltYXRp
b24oKTsKKyAgICBbQ29uZGl0aW9uYWw9TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTF0g
UHJvbWlzZTx1bmRlZmluZWQ+IHBsYXlBbmltYXRpb24oKTsKKyAgICBbQ29uZGl0aW9uYWw9TU9E
RUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTF0gUHJvbWlzZTx1bmRlZmluZWQ+IHBhdXNlQW5p
bWF0aW9uKCk7CiAKLSAgICBQcm9taXNlPGJvb2xlYW4+IGlzTG9vcGluZ0FuaW1hdGlvbigpOwot
ICAgIFByb21pc2U8dW5kZWZpbmVkPiBzZXRJc0xvb3BpbmdBbmltYXRpb24oYm9vbGVhbiBsb29w
aW5nKTsKKyAgICBbQ29uZGl0aW9uYWw9TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTF0g
UHJvbWlzZTxib29sZWFuPiBpc0xvb3BpbmdBbmltYXRpb24oKTsKKyAgICBbQ29uZGl0aW9uYWw9
TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldElz
TG9vcGluZ0FuaW1hdGlvbihib29sZWFuIGxvb3BpbmcpOwogCi0gICAgUHJvbWlzZTxkb3VibGU+
IGFuaW1hdGlvbkR1cmF0aW9uKCk7Ci0gICAgUHJvbWlzZTxkb3VibGU+IGFuaW1hdGlvbkN1cnJl
bnRUaW1lKCk7Ci0gICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNldEFuaW1hdGlvbkN1cnJlbnRUaW1l
KGRvdWJsZSBjdXJyZW50VGltZSk7CisgICAgW0NvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlRfQU5J
TUFUSU9OX0NPTlRST0xdIFByb21pc2U8ZG91YmxlPiBhbmltYXRpb25EdXJhdGlvbigpOworICAg
IFtDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MXSBQcm9taXNlPGRv
dWJsZT4gYW5pbWF0aW9uQ3VycmVudFRpbWUoKTsKKyAgICBbQ29uZGl0aW9uYWw9TU9ERUxfRUxF
TUVOVF9BTklNQVRJT05fQ09OVFJPTF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldEFuaW1hdGlvbkN1
cnJlbnRUaW1lKGRvdWJsZSBjdXJyZW50VGltZSk7CiAKLSAgICBQcm9taXNlPGJvb2xlYW4+IGhh
c0F1ZGlvKCk7Ci0gICAgUHJvbWlzZTxib29sZWFuPiBpc011dGVkKCk7Ci0gICAgUHJvbWlzZTx1
bmRlZmluZWQ+IHNldElzTXV0ZWQoYm9vbGVhbiBpc011dGVkKTsKKyAgICBbQ29uZGl0aW9uYWw9
TU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MXSBQcm9taXNlPGJvb2xlYW4+IGhhc0F1ZGlvKCk7
CisgICAgW0NvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTF0gUHJvbWlzZTxi
b29sZWFuPiBpc011dGVkKCk7CisgICAgW0NvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlRfQVVESU9f
Q09OVFJPTF0gUHJvbWlzZTx1bmRlZmluZWQ+IHNldElzTXV0ZWQoYm9vbGVhbiBpc011dGVkKTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9k
ZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBs
YXllci5oCmluZGV4IGUxYmZjMTY4NWI3YzU0MWFiNGZkYzU0YjFlZDI3ZWFkNWM5MDhhZjQuLjhk
OTI5MzVkOTUxZWExYmY2OGYxMjk1MGUzYmFiNmE4NjJlZGI5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCkBAIC01MCw4ICs1
MCwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlRG93bihjb25zdCBM
YXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxl
TW91c2VNb3ZlKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGlt
ZSkgPSAwOworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAgIHZp
cnR1YWwgdm9pZCBnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFs
PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNl
dENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wgc3VjY2Vzcyk+JiYpID0gMDsKKyNlbmRpZgorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FO
SU1BVElPTl9DT05UUk9MKQogICAgIHZpcnR1YWwgdm9pZCBpc1BsYXlpbmdBbmltYXRpb24oQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHNldEFuaW1hdGlvbklzUGxheWluZyhib29sLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaXNMb29waW5n
QW5pbWF0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4m
JikgPSAwOwpAQCAtNTksOSArNjIsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBhbmlt
YXRpb25EdXJhdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2Vjb25k
cz4mJik+JiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYW5pbWF0aW9uQ3VycmVudFRpbWUoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNlY29uZHM+JiYpPiYmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKFNlY29uZHMsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgPSAwOworI2VuZGlmCisjaWYgRU5BQkxF
KE1PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTCkKICAgICB2aXJ0dWFsIHZvaWQgaGFzQXVkaW8o
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlv
bmFsPGJvb2w+JiYpPiYmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldElzTXV0ZWQoYm9vbCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSA9IDA7CisjZW5kaWYKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9k
dW1teS9EdW1teU1vZGVsUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAppbmRleCBjZGUzZDJmOTBkN2U0MDJk
ODY1NzU4MGY4YzY4MmRlYmMzOTY4Zjg1Li4wMTUyODRmZTFkOWUyNDI4OTUwMjkwZTllYmVlZWFk
Mjk2YmE2MjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCkBAIC03MCw2ICs3MCw3
IEBAIHZvaWQgRHVtbXlNb2RlbFBsYXllcjo6aGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpCiB7CiB9CiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1F
UkFfQ09OVFJPTCkKIHZvaWQgRHVtbXlNb2RlbFBsYXllcjo6Z2V0Q2FtZXJhKENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
PiYmKT4mJikKIHsKIH0KQEAgLTc3LDcgKzc4LDkgQEAgdm9pZCBEdW1teU1vZGVsUGxheWVyOjpn
ZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkgK
IHZvaWQgRHVtbXlNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1l
bnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikKIHsKIH0K
KyNlbmRpZgogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiB2
b2lkIER1bW15TW9kZWxQbGF5ZXI6OmlzUGxheWluZ0FuaW1hdGlvbihDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpCiB7CiB9CkBAIC0xMDUsNyArMTA4LDkg
QEAgdm9pZCBEdW1teU1vZGVsUGxheWVyOjphbmltYXRpb25DdXJyZW50VGltZShDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWwKIHZvaWQgRHVtbXlNb2RlbFBsYXllcjo6c2V0QW5p
bWF0aW9uQ3VycmVudFRpbWUoU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sIHN1
Y2Nlc3MpPiYmKQogewogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJ
T19DT05UUk9MKQogdm9pZCBEdW1teU1vZGVsUGxheWVyOjpoYXNBdWRpbyhDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpCiB7CiB9CkBAIC0xMTcsNSArMTIy
LDYgQEAgdm9pZCBEdW1teU1vZGVsUGxheWVyOjppc011dGVkKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJikKIHZvaWQgRHVtbXlNb2RlbFBsYXllcjo6c2V0
SXNNdXRlZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wgc3VjY2Vzcyk+JiYpCiB7
CiB9CisjZW5kaWYKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmgKaW5kZXggMTdkYmY3OGQw
MTJiMTc4NDY1ZTc1NTQ4ODc0MDgyYzFhY2M2NWIxNy4uMTNmZDMyNzdiMjZhODIxMmQ4OGU4ZTgz
Mzg4MjQ3OTVlZTQ0OTRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5oCkBAIC00Nyw4ICs0
NywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBv
aW50JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUo
Y29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhh
bmRsZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsK
KyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1FUkFfQ09OVFJPTCkKICAgICB2b2lkIGdldENh
bWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgc2V0Q2FtZXJhKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVO
VF9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2b2lkIGlzUGxheWluZ0FuaW1hdGlvbihDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0QW5pbWF0aW9uSXNQbGF5aW5nKGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBpc0xvb3BpbmdBbmltYXRpb24o
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlk
ZTsKQEAgLTU2LDkgKzU5LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbmltYXRpb25EdXJhdGlv
bihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4mJik+JiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgYW5pbWF0aW9uQ3VycmVudFRpbWUoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPFNlY29uZHM+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNl
dEFuaW1hdGlvbkN1cnJlbnRUaW1lKFNlY29uZHMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVO
VF9BVURJT19DT05UUk9MKQogICAgIHZvaWQgaGFzQXVkaW8oQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2b2lkIGlzTXV0ZWQo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlk
ZTsKICAgICB2b2lkIHNldElzTXV0ZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
IHN1Y2Nlc3MpPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgV2Vha1B0cjxNb2RlbFBsYXll
ckNsaWVudD4gbV9jbGllbnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVy
LmgKaW5kZXggOTQxZDJmMDRkMDk1YTliYjk0YmI3OTFlZDRkMWU1YjJiMjE4N2FlOC4uYzIzOWY1
NzFiNzcyOTczNWZlODZjMTZjZTM3ZGE3NjY4NGQ2ZGUwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2Nl
bmVLaXRNb2RlbFBsYXllci5oCkBAIC02MSw4ICs2MSwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQg
aGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9u
aWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRsZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9p
bnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9D
QU1FUkFfQ09OVFJPTCkKICAgICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOwog
ICAgIHZvaWQgc2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2b2lkIGlzUGxheWluZ0FuaW1h
dGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc2V0QW5pbWF0aW9uSXNQbGF5aW5nKGJvb2wsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBpc0xvb3Bp
bmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYp
PiYmKSBvdmVycmlkZTsKQEAgLTcwLDkgKzczLDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbmlt
YXRpb25EdXJhdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2Vjb25k
cz4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgYW5pbWF0aW9uQ3VycmVudFRpbWUoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNlY29uZHM+JiYpPiYmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKFNlY29uZHMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogICAgIHZvaWQgaGFzQXVkaW8oQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2
b2lkIGlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYp
PiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldElzTXV0ZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gU2Nl
bmVLaXRNb2RlbExvYWRlckNsaWVudCBvdmVycmlkZXMuCiAgICAgdmlydHVhbCB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoU2NlbmVLaXRNb2RlbExvYWRlciYsIFJlZjxTY2VuZUtpdE1vZGVsPikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
c2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tCmluZGV4IDc2MDMw
MmNiNDhlOWM0YzFkNTU0NjFjYzRkNWY3YTQwMGFiY2Y0MGQuLjZiMTc4YzI5ODJhYTQwZDRiMTMw
ODk2NzQzZGMxNjdkNThlZDAyZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxh
eWVyLm1tCkBAIC04OCw2ICs4OCw3IEBAIHZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6aGFuZGxl
TW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpCiB7CiB9CiAKKyNpZiBF
TkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1FUkFfQ09OVFJPTCkKIHZvaWQgU2NlbmVLaXRNb2RlbFBs
YXllcjo6Z2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikKIHsKIH0KQEAgLTk1LDcgKzk2LDkgQEAgdm9pZCBT
Y2VuZUtpdE1vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPEhUTUxNb2QKIHZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKEhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNz
KT4mJikKIHsKIH0KKyNlbmRpZgogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9O
X0NPTlRST0wpCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmlzUGxheWluZ0FuaW1hdGlvbihD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpCiB7CiB9CkBA
IC0xMjMsNyArMTI2LDkgQEAgdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjphbmltYXRpb25DdXJy
ZW50VGltZShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW8KIHZvaWQgU2NlbmVLaXRN
b2RlbFBsYXllcjo6c2V0QW5pbWF0aW9uQ3VycmVudFRpbWUoU2Vjb25kcywgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKQogewogfQorI2VuZGlmCiAKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpo
YXNBdWRpbyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYp
CiB7CiB9CkBAIC0xMzUsNiArMTQwLDcgQEAgdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjppc011
dGVkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4KIHZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6c2V0SXNNdXRlZChib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGJvb2wgc3VjY2Vzcyk+JiYpCiB7CiB9CisjZW5kaWYKIAogLy8gTUFSSzogLSBTY2VuZUtp
dE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRlcy4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oCmluZGV4IGJiYjY5ZTE0MmEyOTM4ZTBlZTQz
Y2E3ZTk5M2U5YTA2OTRiYWUxODQuLmY0Mzg0ZmQ3MmI2NzM5NzZmODlmNTBjYzNiN2IzZjZlODUz
MThiYWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2NvY29hL1F1YXJ0
ekNvcmVTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9jb2NvYS9RdWFydHpD
b3JlU1BJLmgKQEAgLTU1LDcgKzU1LDcgQEAKICNpZmRlZiBfX09CSkNfXwogdHlwZWRlZiBzdHJ1
Y3QgX0NBUmVuZGVyQ29udGV4dCBDQVJlbmRlckNvbnRleHQ7CiAKLSNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIEBj
bGFzcyBDQUZlbmNlSGFuZGxlOwogI2VuZGlmCiAKQEAgLTkyLDcgKzkyLDcgQEAgdHlwZWRlZiBz
dHJ1Y3QgX0NBUmVuZGVyQ29udGV4dCBDQVJlbmRlckNvbnRleHQ7CiBAcHJvcGVydHkgQ0dDb2xv
clNwYWNlUmVmIGNvbG9yU3BhY2U7CiBAcHJvcGVydHkgKHJlYWRvbmx5KSBDQVJlbmRlckNvbnRl
eHQqIHJlbmRlckNvbnRleHQ7CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIC0oQk9PTClhZGRGZW5jZTooQ0FG
ZW5jZUhhbmRsZSAqKWhhbmRsZTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oIGIvU291cmNlL1dlYkNvcmUvUEFM
L3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA3Mzk1ZTUwZGQwZjBkMzM4ZmYz
ZWYzMjI1YjEwYWY4MDJlZTEyZmYxLi4yNDBjMWZlOTk2MDE0ZWUyMGFlMjhhNjZjMGFlNGZiMTNi
MzViNmIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVt
UHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1Q
cmV2aWV3U1BJLmgKQEAgLTMzLDcgKzMzLDcgQEAKICNpbXBvcnQgPEFzc2V0Vmlld2VyL0FTVlRo
dW1ibmFpbFZpZXcuaD4KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAjaW1wb3J0IDxBc3NldFZp
ZXdlci9BU1ZJbmxpbmVQcmV2aWV3Lmg+CiAjZW5kaWYKIApAQCAtODIsNyArODIsNyBAQCBOU19B
U1NVTUVfTk9OTlVMTF9FTkQKIAogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIAogI2ltcG9ydCA8
c2ltZC9zaW1kLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9TeXN0ZW1QcmV2aWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lz
dGVtUHJldmlld1NQSS5oCmluZGV4IDNmMDJlOGNjYjA4ZTVmYmY2ZjMxYWU5YWEyZjgyMTc5OTFh
NjczNmUuLmYyOTcyZjQxMThkMmViYTEzNThkM2FlN2Y3MjhlMWIwODgyMDYwODggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaApAQCAt
MjUsMTMgKzI1LDEzIEBACiAKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogCi0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
V19NQUMpCiAjaW1wb3J0IDxBc3NldFZpZXdlci9BU1ZJbmxpbmVQcmV2aWV3Lmg+CiAjZW5kaWYK
IAogI2Vsc2UgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKIAotI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogCiAj
aW1wb3J0IDxzaW1kL3NpbWQuaD4KIApAQCAtNzIsNiArNzIsNiBAQCB0eXBlZGVmIHZvaWQgKF5B
U1ZTZXRJc1BsYXlpbmdSZXBseUJsb2NrKSAoQk9PTCBpc1BsYXlpbmcsIE5TRXJyb3IgKiBfTnVs
bGFibGUgZQogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIAotI2VuZGlmIC8vIEVOQUJMRShBUktJ
VF9JTkxJTkVfUFJFVklFV19NQUMpCisjZW5kaWYgLy8gSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdf
TUFDKQogCiAjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL01vZGVsSWRlbnRpZmllci5oIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvTW9kZWxJZGVudGlmaWVyLmgKaW5kZXggNDQxM2FkMGFhNDIzODUzMDk4M2VlYzQ0NDYxN2Fl
YmVhZmQ0NjRiOC4uMzcwMDQ3NmFlNDJjYzBiZDUyZjY5YzNlZmU1YzRiYzk3MjMxNThlZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKKysrIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKQEAgLTI5LDE0ICsyOSwxNCBAQCBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKIAot
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1ZfSU5MSU5F
X1BSRVZJRVdfSU9TKQogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0xheWVyLmg+CiAjZW5kaWYK
IAogc3RydWN0IE1vZGVsSWRlbnRpZmllciB7Ci0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgU3RyaW5nIHV1
aWQ7Ci0jZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2VsaWYgSEFWRShB
U1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRm
b3JtTGF5ZXJJRCBsYXllcklkZW50aWZpZXI7CiAjZW5kaWYKIApAQCAtNDYsMjIgKzQ2LDIyIEBA
IHN0cnVjdCBNb2RlbElkZW50aWZpZXIgewogCiB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lk
IE1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJF
VklFV19NQUMpCiAgICAgZW5jb2RlciA8PCB1dWlkOwotI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0lPUykKKyNlbGlmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICBl
bmNvZGVyIDw8IGxheWVySWRlbnRpZmllcjsKICNlbmRpZgogfQogCiB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gTW9kZWxJZGVudGlmaWVyOjpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKIHsKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVdfTUFDKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKICAgICBzdGQ6Om9wdGlv
bmFsPFN0cmluZz4gdXVpZDsKICAgICBkZWNvZGVyID4+IHV1aWQ7CiAgICAgaWYgKCF1dWlkKQog
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OwogICAgIHJldHVybiB7IHsgV1RGTW92ZSgqdXVp
ZCkgfSB9OwotI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNlbGlmIEhB
VkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRD4gbGF5ZXJJZGVudGlmaWVyOwogICAgIGRlY29k
ZXIgPj4gbGF5ZXJJZGVudGlmaWVyOwogICAgIGlmICghbGF5ZXJJZGVudGlmaWVyKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxl
ckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29u
dHJvbGxlckNvY29hLm1tCmluZGV4IDg2OGMxZTU3MzYxNWMyMDI4MmYyNzQ3ZmU3NmIxNmM5ZTU1
NzAyYTMuLmZkMjdkMDRjMzFhMTcxNmM2ZTZkMzI1YmUxMTA2NTU3MDBkYjE3ZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJD
b2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRD
b250cm9sbGVyQ29jb2EubW0KQEAgLTMzLDExICszMywxNCBAQAogI2ltcG9ydCA8V2ViQ29yZS9M
YXlvdXRQb2ludC5oPgogI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRVbml0Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KLSNpbXBvcnQgPHNpbWQvc2ltZC5oPgogI2ltcG9ydCA8
d3RmL01haW5UaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKLSNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVW
SUVXX0NBTUVSQV9DT05UUk9MKQorI2ltcG9ydCA8c2ltZC9zaW1kLmg+CisjZW5kaWYKKworI2lm
IEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCiAj
aW1wb3J0ICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW1wb3J0ICJSZW1v
dGVMYXllclRyZWVIb3N0LmgiCkBAIC00Nyw3ICs1MCw3IEBACiAjaW1wb3J0IDxwYWwvc3BpL2lv
cy9TeXN0ZW1QcmV2aWV3U1BJLmg+CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFV19NQUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogI2ltcG9ydCA8
cGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oPgogI2VuZGlmCiAKQEAgLTU2LDcgKzU5LDcg
QEAgU09GVF9MSU5LX0NMQVNTKEFzc2V0Vmlld2VyLCBBU1ZJbmxpbmVQcmV2aWV3KTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQor
I2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIAogV0tNb2RlbFZpZXcgKiBNb2RlbEVs
ZW1lbnRDb250cm9sbGVyOjptb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllcikKIHsKQEAgLTEzMyw3ICsxMzYsNyBAQCB2b2lkIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmll
ciBtb2RlbElkZQogCiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19N
QUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfTUFDKQogCiBBU1ZJbmxpbmVQcmV2aWV3
ICogTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2Rl
bElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogewpAQCAtMjMxLDExICsyMzQsMTEgQEAgdm9p
ZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpoYW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVtZW50KGNv
bnN0IFN0cmluZyYgdXVpZCwgY28KIAogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVcpCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wpCiAKIHN0
YXRpYyBib29sIHByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KEFTVklubGluZVByZXZpZXcgKnByZXZp
ZXcpCiB7Ci0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0p
CisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQ0FNRVJBX0NPTlRST0wpCiAgICAgcmV0dXJu
IFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoZ2V0Q2FtZXJhVHJhbnNmb3Jt
OildOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CkBAIC0yNTAsNyArMjUzLDcgQEAgdm9pZCBN
b2RlbEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVu
dGlmaWVyIG1vZGVsSWRlbnQKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19DQU1FUkFfVFJBTlNGT1JNKQorI2lmIEhBVkUoQVNWX0lOTElO
RV9QUkVWSUVXX0NBTUVSQV9DT05UUk9MKQogICAgIFtwcmV2aWV3IGdldENhbWVyYVRyYW5zZm9y
bTptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChzaW1kX2Zsb2F0MyBjYW1lcmFU
cmFuc2Zvcm0sIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGVycm9yKSB7
CiAgICAgICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtU
aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkg
bXV0YWJsZSB7CkBAIC0yNzgsNyArMjgxLDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVy
OjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnQKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19D
QU1FUkFfVFJBTlNGT1JNKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0NBTUVSQV9DT05U
Uk9MKQogICAgIFtwcmV2aWV3IHNldENhbWVyYVRyYW5zZm9ybTpzaW1kX21ha2VfZmxvYXQzKGNh
bWVyYS5waXRjaCwgY2FtZXJhLnlhdywgY2FtZXJhLnNjYWxlKV07CiAgICAgY29tcGxldGlvbkhh
bmRsZXIodHJ1ZSk7CiAjZWxzZQpAQCAtMjg2LDkgKzI4OSwxMyBAQCB2b2lkIE1vZGVsRWxlbWVu
dENvbnRyb2xsZXI6OnNldENhbWVyYUZvck1vZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIgbW9k
ZWxJZGVudAogI2VuZGlmCiB9CiAKKyNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1F
UkFfQ09OVFJPTCkKKworI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9M
KQorCiBzdGF0aWMgYm9vbCBwcmV2aWV3SGFzQW5pbWF0aW9uU3VwcG9ydChBU1ZJbmxpbmVQcmV2
aWV3ICpwcmV2aWV3KQogewotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BTklNQVRJ
T05TX0NPTlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OX0NPTlRS
T0wpCiAgICAgcmV0dXJuIFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoaXNQ
bGF5aW5nKV07CiAjZWxzZQogICAgIHJldHVybiBmYWxzZTsKQEAgLTMwMyw3ICszMTAsNyBAQCB2
b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OmlzUGxheWluZ0FuaW1hdGlvbkZvck1vZGVsRWxl
bWVudChNb2RlbElkZW50aWZpZXIgbQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0FOSU1BVElPTlNfQ09OVFJPTCkKKyNpZiBIQVZFKEFT
Vl9JTkxJTkVfUFJFVklFV19BTklNQVRJT05fQ09OVFJPTCkKICAgICBjb21wbGV0aW9uSGFuZGxl
cihbcHJldmlldyBpc1BsYXlpbmddKTsKICNlbHNlCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CkBAIC0zMTgsNyArMzI1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRBbmlt
YXRpb25Jc1BsYXlpbmdGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWUKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BTklNQVRJT05T
X0NPTlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OX0NPTlRST0wp
CiAgICAgW3ByZXZpZXcgc2V0SXNQbGF5aW5nOmlzUGxheWluZyByZXBseTptYWtlQmxvY2tQdHIo
W3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildIChCT09MLCBOU0Vycm9yICplcnJvcikgbXV0YWJsZSB7CiAg
ICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFtlcnJvciwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtU
aGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkg
bXV0YWJsZSB7CiAgICAgICAgICAgICBpZiAod2Vha1RoaXMpCkBAIC0zMzgsNyArMzQ1LDcgQEAg
dm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjppc0xvb3BpbmdBbmltYXRpb25Gb3JNb2RlbEVs
ZW1lbnQoTW9kZWxJZGVudGlmaWVyIG0KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BTklNQVRJT05TX0NPTlRST0wpCisjaWYgSEFWRShB
U1ZfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9OX0NPTlRST0wpCiAgICAgY29tcGxldGlvbkhhbmRs
ZXIoW3ByZXZpZXcgaXNMb29waW5nXSk7CiAjZWxzZQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwpAQCAtMzUzLDcgKzM2MCw3IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0SXNM
b29waW5nQW5pbWF0aW9uRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllCiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfQU5JTUFUSU9O
U19DT05UUk9MKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0FOSU1BVElPTl9DT05UUk9M
KQogICAgIHByZXZpZXcuaXNMb29waW5nID0gaXNMb29waW5nOwogICAgIGNvbXBsZXRpb25IYW5k
bGVyKHRydWUpOwogI2Vsc2UKQEAgLTM2OSw3ICszNzYsNyBAQCB2b2lkIE1vZGVsRWxlbWVudENv
bnRyb2xsZXI6OmFuaW1hdGlvbkR1cmF0aW9uRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmll
ciBtbwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0FOSU1BVElPTlNfQ09OVFJPTCkKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19B
TklNQVRJT05fQ09OVFJPTCkKICAgICBjb21wbGV0aW9uSGFuZGxlcihTZWNvbmRzKFtwcmV2aWV3
IGR1cmF0aW9uXSkpOwogI2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTM4NCw3
ICszOTEsNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OmFuaW1hdGlvbkN1cnJlbnRU
aW1lRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllcgogICAgICAgICByZXR1cm47CiAgICAg
fQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0FOSU1BVElPTlNfQ09OVFJPTCkK
KyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19BTklNQVRJT05fQ09OVFJPTCkKICAgICBjb21w
bGV0aW9uSGFuZGxlcihTZWNvbmRzKFtwcmV2aWV3IGN1cnJlbnRUaW1lXSkpOwogI2Vsc2UKICAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTM5OSw3ICs0MDYsNyBAQCB2b2lkIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnNldEFuaW1hdGlvbkN1cnJlbnRUaW1lRm9yTW9kZWxFbGVtZW50KE1v
ZGVsSWRlbnRpZgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXX0FOSU1BVElPTlNfQ09OVFJPTCkKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJF
VklFV19BTklNQVRJT05fQ09OVFJPTCkKICAgICBwcmV2aWV3LmN1cnJlbnRUaW1lID0gY3VycmVu
dFRpbWUuc2Vjb25kcygpOwogICAgIGNvbXBsZXRpb25IYW5kbGVyKHRydWUpOwogI2Vsc2UKQEAg
LTQwNyw5ICs0MTQsMTMgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRBbmltYXRp
b25DdXJyZW50VGltZUZvck1vZGVsRWxlbWVudChNb2RlbElkZW50aWYKICNlbmRpZgogfQogCisj
ZW5kaWYgLy8gRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCisKKyNpZiBF
TkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQorCiBzdGF0aWMgYm9vbCBwcmV2aWV3
SGFzQXVkaW9TdXBwb3J0KEFTVklubGluZVByZXZpZXcgKnByZXZpZXcpCiB7Ci0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5F
X1BSRVZJRVdfQVVESU9fQ09OVFJPTCkKICAgICByZXR1cm4gW3ByZXZpZXcgcmVzcG9uZHNUb1Nl
bGVjdG9yOkBzZWxlY3RvcihoYXNBdWRpbyldOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CkBA
IC00MjQsNyArNDM1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpoYXNBdWRpb0Zv
ck1vZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19BVURJT19DT05UUk9M
KQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCiAgICAgY29tcGxl
dGlvbkhhbmRsZXIoW3ByZXZpZXcgaGFzQXVkaW9dKTsKICNlbHNlCiAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CkBAIC00MzksNyArNDUwLDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVy
Ojppc011dGVkRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWYKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19B
VURJT19DT05UUk9MKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0FVRElPX0NPTlRST0wp
CiAgICAgY29tcGxldGlvbkhhbmRsZXIoW3ByZXZpZXcgaXNNdXRlZF0pOwogI2Vsc2UKICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKQEAgLTQ1NCw3ICs0NjUsNyBAQCB2b2lkIE1vZGVsRWxlbWVu
dENvbnRyb2xsZXI6OnNldElzTXV0ZWRGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1v
ZGVsSWRlbgogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0FVRElPX0NPTlRST0wpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfQVVE
SU9fQ09OVFJPTCkKICAgICBwcmV2aWV3LmlzTXV0ZWQgPSBpc011dGVkOwogICAgIGNvbXBsZXRp
b25IYW5kbGVyKHRydWUpOwogI2Vsc2UKQEAgLTQ2Miw4ICs0NzMsOCBAQCB2b2lkIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnNldElzTXV0ZWRGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbgogI2VuZGlmCiB9CiAKLSNlbmRpZgorI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9F
TEVNRU5UX0FVRElPX0NPTlRST0wpCiAKIH0KIAotI2VuZGlmCisjZW5kaWYgLy8gRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TW9kZWxFbGVtZW50Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxF
bGVtZW50Q29udHJvbGxlci5oCmluZGV4IDFlOWM2OThiMjNiZGIzOGIwZDcxZjVlYzZkYTVmNDg2
MmM1NWQ4NzcuLjQ4ZDMyYzE2NWJmNDdhNmVlZTY4Y2YzZjZkNDNjMmQ5NzU1OGJkNDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKQEAg
LTM2LDcgKzM2LDcgQEAKIAogT0JKQ19DTEFTUyBBU1ZJbmxpbmVQcmV2aWV3OwogCi0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
V19JT1MpCiBPQkpDX0NMQVNTIFdLTW9kZWxWaWV3OwogI2VuZGlmCiAKQEAgLTUyLDggKzUyLDEx
IEBAIHB1YmxpYzoKICAgICBXZWJQYWdlUHJveHkmIHBhZ2UoKSB7IHJldHVybiBtX3dlYlBhZ2VQ
cm94eTsgfQogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEVOQUJMRShN
T0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAgIHZvaWQgZ2V0Q2FtZXJhRm9yTW9kZWxF
bGVtZW50KE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+
JiYpOwogICAgIHZvaWQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwg
V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJik7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09O
VFJPTCkKICAgICB2b2lkIGlzUGxheWluZ0FuaW1hdGlvbkZvck1vZGVsRWxlbWVudChNb2RlbElk
ZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIHNldEFuaW1hdGlvbklzUGxheWluZ0Zvck1v
ZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYpOwogICAgIHZvaWQgaXNMb29waW5nQW5pbWF0aW9uRm9yTW9kZWxFbGVtZW50KE1v
ZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwpAQCAtNjEsMTQgKzY0LDE3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGFuaW1hdGlvbkR1cmF0aW9uRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxTZWNvbmRzLCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yPik+JiYpOwogICAgIHZvaWQgYW5pbWF0aW9uQ3VycmVudFRpbWVGb3JNb2RlbEVsZW1l
bnQoTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFNlY29u
ZHMsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CiAgICAgdm9pZCBzZXRBbmltYXRpb25D
dXJyZW50VGltZUZvck1vZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIsIFNlY29uZHMsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOworI2VuZGlmCisjaWYgRU5BQkxFKE1PREVMX0VM
RU1FTlRfQVVESU9fQ09OVFJPTCkKICAgICB2b2lkIGhhc0F1ZGlvRm9yTW9kZWxFbGVtZW50KE1v
ZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwogICAgIHZvaWQgaXNNdXRlZEZvck1vZGVsRWxlbWVu
dChNb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwg
V2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIHNldElzTXV0ZWRGb3JNb2Rl
bEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBib29sLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wpPiYmKTsKICNlbmRpZgotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisj
ZW5kaWYgLy8gRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorI2lmIEhBVkUoQVNWX0lOTElO
RV9QUkVWSUVXX0lPUykKICAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVs
SWRlbnRpZmllcik7CiAjZW5kaWYKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFD
KQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykKICAgICB2b2lkIG1vZGVsRWxlbWVu
dERpZENyZWF0ZVByZXZpZXcoVVJMLCBTdHJpbmcsIFdlYkNvcmU6OkZsb2F0U2l6ZSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdl
YkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd25Gb3JN
b2RlbEVsZW1lbnQoY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBN
b25vdG9uaWNUaW1lKTsKICAgICB2b2lkIGhhbmRsZU1vdXNlTW92ZUZvck1vZGVsRWxlbWVudChj
b25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
OwpAQCAtODAsMTIgKzg2LDEyIEBAIHByaXZhdGU6CiAgICAgQVNWSW5saW5lUHJldmlldyAqIHBy
ZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyKTsKICNlbmRpZgogCi0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJF
VklFV19JT1MpCiAgICAgV0tNb2RlbFZpZXcgKiBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIo
TW9kZWxJZGVudGlmaWVyKTsKICNlbmRpZgogCiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQ
cm94eTsKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNW
X0lOTElORV9QUkVWSUVXX01BQykKICAgICBSZXRhaW5QdHI8QVNWSW5saW5lUHJldmlldz4gcHJl
dmlld0ZvclVVSUQoY29uc3QgU3RyaW5nJik7CiAgICAgSGFzaE1hcDxTdHJpbmcsIFJldGFpblB0
cjxBU1ZJbmxpbmVQcmV2aWV3Pj4gbV9pbmxpbmVQcmV2aWV3czsKICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVlL2lvcy9SZW1vdGVMYXll
clRyZWVIb3N0SU9TLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUmVtb3RlTGF5ZXJUcmVl
L2lvcy9SZW1vdGVMYXllclRyZWVIb3N0SU9TLm1tCmluZGV4IDM5ZDA3NGY0MzExMDJjZjQ3ZGY4
MDFhY2QyNTc5MzIwOTAyZWEwNGMuLjZmOTM4NGNmZmI5MDM0MmY1N2M3NDc0ZTQwOTkyZWRlMjVk
M2FjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1JlbW90ZUxheWVyVHJl
ZS9pb3MvUmVtb3RlTGF5ZXJUcmVlSG9zdElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9SZW1vdGVMYXllclRyZWUvaW9zL1JlbW90ZUxheWVyVHJlZUhvc3RJT1MubW0KQEAgLTM1
LDcgKzM1LDcgQEAKICNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xsVmlldy5oPgogI2ltcG9ydCA8cGFs
L3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICNpbXBvcnQgIldL
TW9kZWxWaWV3LmgiCiAjZW5kaWYKIApAQCAtOTksNyArOTksNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
UmVtb3RlTGF5ZXJUcmVlTm9kZT4gUmVtb3RlTGF5ZXJUcmVlSG9zdDo6bWFrZU5vZGUoY29uc3Qg
UmVtb3RlTAogICAgIGNhc2UgUGxhdGZvcm1DQUxheWVyOjpMYXllclR5cGVNb2RlbExheWVyOgog
I2lmIEVOQUJMRShTRVBBUkFURURfTU9ERUwpCiAgICAgICAgIHJldHVybiBtYWtlV2l0aFZpZXco
YWRvcHROUyhbW1dLU2VwYXJhdGVkTW9kZWxWaWV3IGFsbG9jXSBpbml0V2l0aE1vZGVsOipwcm9w
ZXJ0aWVzLm1vZGVsXSkpOwotI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykK
KyNlbGlmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKICAgICAgICAgcmV0dXJuIG1ha2VX
aXRoVmlldyhhZG9wdE5TKFtbV0tNb2RlbFZpZXcgYWxsb2NdIGluaXRXaXRoTW9kZWw6KnByb3Bl
cnRpZXMubW9kZWxdKSk7CiAjZWxzZQogICAgICAgICByZXR1cm4gbWFrZVdpdGhWaWV3KGFkb3B0
TlMoW1tXS0NvbXBvc2l0aW5nVmlldyBhbGxvY10gaW5pdF0pKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY2YWI4MDlkYzhjNGI5MzZmODE0N2ZiOTkyYjQw
ZTAyYTJmMmQ5YTAuLjhkNDA4YzBkZWFkNzIxOTFkMDhjZGM3ZmU2ZjViODBjMTJkZmIyYzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4MzMsNiArMTA4
MzMsNyBAQCBXZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBXZWJQYWdlUHJveHk6OmNyZWF0
ZVJlYWx0aW1lTWVkaWFTb3VyY2VGb3JTcGVlY2hSZQogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVcpCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRS
T0wpCiB2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1vZGVsSWRlbnRp
ZmllciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2Vi
Q29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgUmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQogewogICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+Z2V0Q2FtZXJhRm9y
TW9kZWxFbGVtZW50KG1vZGVsSWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwpAQCAtMTA4NDIsNyArMTA4NDMsOSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50
U2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFdlYkNvcgogewogICAg
IG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KG1vZGVs
SWRlbnRpZmllciwgY2FtZXJhLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CiB9CisjZW5k
aWYKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FOSU1BVElPTl9DT05UUk9MKQogdm9pZCBX
ZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudElzUGxheWluZ0FuaW1hdGlvbihNb2RlbElkZW50aWZp
ZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2ws
IFJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtb2RlbEVsZW1l
bnRDb250cm9sbGVyKCktPmlzUGxheWluZ0FuaW1hdGlvbkZvck1vZGVsRWxlbWVudChtb2RlbElk
ZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKQEAgLTEwODc3LDcgKzEwODgw
LDkgQEAgdm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldEFuaW1hdGlvbkN1cnJlbnRU
aW1lKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW4KIHsKICAgICBtb2RlbEVsZW1lbnRDb250cm9s
bGVyKCktPnNldEFuaW1hdGlvbkN1cnJlbnRUaW1lRm9yTW9kZWxFbGVtZW50KG1vZGVsSWRlbnRp
ZmllciwgY3VycmVudFRpbWUsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKIH0KKyNlbmRp
ZgogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQVVESU9fQ09OVFJPTCkKIHZvaWQgV2ViUGFn
ZVByb3h5Ojptb2RlbEVsZW1lbnRIYXNBdWRpbyhNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlm
aWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFJlc291cmNlRXJyb3I+
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCkt
Pmhhc0F1ZGlvRm9yTW9kZWxFbGVtZW50KG1vZGVsSWRlbnRpZmllciwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwpAQCAtMTA4OTMsMTUgKzEwODk4LDE2IEBAIHZvaWQgV2ViUGFnZVByb3h5
Ojptb2RlbEVsZW1lbnRTZXRJc011dGVkKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIs
IGJvb2wKICAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPnNldElzTXV0ZWRGb3JNb2RlbEVs
ZW1lbnQobW9kZWxJZGVudGlmaWVyLCBpc011dGVkLCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSk7CiB9CiAjZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAK
LSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElO
RV9QUkVWSUVXX0lPUykKIHZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogewogICAgIG1vZGVsRWxlbWVu
dENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4obW9kZWxJZGVudGlmaWVy
KTsKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNp
ZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiB2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxF
bGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiB1dWlk
LCBjb25zdCBGbG9hdFNpemUmIHNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8
c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBSZXNvdXJjZUVycm9yPik+JiYgY29tcGxldGlv
bkhhbmRsZXIpCiB7CiAgICAgbW9kZWxFbGVtZW50Q29udHJvbGxlcigpLT5tb2RlbEVsZW1lbnRE
aWRDcmVhdGVQcmV2aWV3KHVybCwgdXVpZCwgc2l6ZSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCA1M2JiNmQ1ZGQx
MGNiNjM1M2FhZWY5MzU4ZTAzYjA0MDAzMmY5Njc3Li4yYjg2NWJkNTE3MzBmZjMxNGI5Y2EzOGY0
ZDNiZTZhMWMxZmFmYmFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApA
QCAtNTg4LDggKzU4OCwxMSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVcpCiAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciogbW9kZWxFbGVtZW50Q29udHJvbGxl
cigpIHsgcmV0dXJuIG1fbW9kZWxFbGVtZW50Q29udHJvbGxlci5nZXQoKTsgfQorI2lmIEVOQUJM
RShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogICAgIHZvaWQgbW9kZWxFbGVtZW50R2V0
Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+
JiYpOwogICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgV2Vi
Q29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29s
KT4mJik7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJP
TCkKICAgICB2b2lkIG1vZGVsRWxlbWVudElzUGxheWluZ0FuaW1hdGlvbihNb2RlbElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIG1vZGVsRWxlbWVudFNldEFuaW1hdGlvbklzUGxheWlu
ZyhNb2RlbElkZW50aWZpZXIsIGJvb2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYp
OwogICAgIHZvaWQgbW9kZWxFbGVtZW50SXNMb29waW5nQW5pbWF0aW9uKE1vZGVsSWRlbnRpZmll
ciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yPik+JiYpOwpAQCAtNTk3LDE0ICs2MDAsMTcgQEAgcHVibGljOgogICAgIHZvaWQgbW9k
ZWxFbGVtZW50QW5pbWF0aW9uRHVyYXRpb24oTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPFNlY29uZHMsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7
CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRBbmltYXRpb25DdXJyZW50VGltZShNb2RlbElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8U2Vjb25kcywgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIG1vZGVsRWxlbWVudFNldEFuaW1hdGlvbkN1cnJl
bnRUaW1lKE1vZGVsSWRlbnRpZmllciwgU2Vjb25kcywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJik7CisjZW5kaWYKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9M
KQogICAgIHZvaWQgbW9kZWxFbGVtZW50SGFzQXVkaW8oTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPGJvb2wsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4m
Jik7CiAgICAgdm9pZCBtb2RlbEVsZW1lbnRJc011dGVkKE1vZGVsSWRlbnRpZmllciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxib29sLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+
JiYpOwogICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0SXNNdXRlZChNb2RlbElkZW50aWZpZXIsIGJv
b2wsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCi0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNlbmRpZiAvLyBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVcpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIHZvaWQgdGFr
ZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlmaWVyKTsKICNlbmRpZgotI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisjaWYgSEFWRShBU1ZfSU5MSU5FX1BSRVZJ
RVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4pPiYmKTsKICAgICB2b2lkIGhhbmRsZU1vdXNlRG93bkZvck1vZGVsRWxl
bWVudChjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpMYXlvdXRQb2ludCYsIE1vbm90b25p
Y1RpbWUpOwogICAgIHZvaWQgaGFuZGxlTW91c2VNb3ZlRm9yTW9kZWxFbGVtZW50KGNvbnN0IFN0
cmluZyYsIGNvbnN0IFdlYkNvcmU6OkxheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KaW5kZXgg
NjJhZWI1ODdmN2M4N2IxZDZjNGQyYTdiYzAzZmNiNjVmYjk4ZDA0YS4uYjczZjhhNjZlYmZiOWUz
MTcxYzczMGQyZTQyMmQ2YTAyYTRmY2EyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTg1LDE4ICs1ODUsMjAgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZVByb3h5IHsKICAgICBDaGFuZ2VVbml2ZXJzYWxBY2Nlc3Nab29tRm9jdXMo
V2ViQ29yZTo6SW50UmVjdCB2aWV3UmVjdCwgV2ViQ29yZTo6SW50UmVjdCBjYXJldFJlY3QpCiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShB
U1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogICAgIFRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKHN0
cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCiAjZW5kaWYKLSNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNWX0lOTElORV9Q
UkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCB1cmwsIFN0
cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkgLT4gKEV4cGVjdGVkPHN0ZDo6cGFp
cjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBBc3lu
YwogICAgIEhhbmRsZU1vdXNlRG93bkZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29y
ZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBhZ2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0
aW1lc3RhbXApCiAgICAgSGFuZGxlTW91c2VNb3ZlRm9yTW9kZWxFbGVtZW50KFN0cmluZyB1dWlk
LCBXZWJDb3JlOjpMYXlvdXRQb2ludCBsb2NhdGlvbkluUGFnZUNvb3JkaW5hdGVzLCBNb25vdG9u
aWNUaW1lIHRpbWVzdGFtcCkKICAgICBIYW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVtZW50KFN0cmlu
ZyB1dWlkLCBXZWJDb3JlOjpMYXlvdXRQb2ludCBsb2NhdGlvbkluUGFnZUNvb3JkaW5hdGVzLCBN
b25vdG9uaWNUaW1lIHRpbWVzdGFtcCkKICNlbmRpZgotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFVykKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1FUkFfQ09OVFJPTCkKICAgICBN
b2RlbEVsZW1lbnRHZXRDYW1lcmEoc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1vZGVs
SWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEs
IFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgQXN5bmMKICAgICBNb2RlbEVsZW1lbnRT
ZXRDYW1lcmEoc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwg
c3RydWN0IFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKSAtPiAoYm9vbCBz
dWNjZXNzKSBBc3luYworI2VuZGlmCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQU5JTUFUSU9O
X0NPTlRST0wpCiAgICAgTW9kZWxFbGVtZW50SXNQbGF5aW5nQW5pbWF0aW9uKHN0cnVjdCBXZWJL
aXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxib29sLCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCiAgICAgTW9kZWxFbGVtZW50U2V0
QW5pbWF0aW9uSXNQbGF5aW5nKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElk
ZW50aWZpZXIsIGJvb2wgaXNQbGF5aW5nKSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYwogICAgIE1v
ZGVsRWxlbWVudElzTG9vcGluZ0FuaW1hdGlvbihzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZp
ZXIgbW9kZWxJZGVudGlmaWVyKSAtPiAoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvcj4gcmVzdWx0KSBBc3luYwpAQCAtNjA0LDYgKzYwNiw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2VQcm94eSB7CiAgICAgTW9kZWxFbGVtZW50QW5pbWF0aW9uRHVyYXRpb24oc3RydWN0IFdlYktp
dDo6TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPFNlY29uZHMs
IFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgQXN5bmMKICAgICBNb2RlbEVsZW1lbnRB
bmltYXRpb25DdXJyZW50VGltZShzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJ
ZGVudGlmaWVyKSAtPiAoRXhwZWN0ZWQ8U2Vjb25kcywgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4g
cmVzdWx0KSBBc3luYwogICAgIE1vZGVsRWxlbWVudFNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKHN0
cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFNlY29uZHMgY3Vy
cmVudFRpbWUpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisjZW5kaWYKKyNpZiBFTkFCTEUoTU9E
RUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogICAgIE1vZGVsRWxlbWVudEhhc0F1ZGlvKHN0cnVj
dCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxi
b29sLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCiAgICAgTW9kZWxFbGVt
ZW50SXNNdXRlZChzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVy
KSAtPiAoRXhwZWN0ZWQ8Ym9vbCwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBBc3lu
YwogICAgIE1vZGVsRWxlbWVudFNldElzTXV0ZWQoc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllciwgYm9vbCBpc011dGVkKSAtPiAoYm9vbCBzdWNjZXNzKSBBc3lu
YwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFj
dGlvbkdlc3R1cmVSZWNvZ25pemVyLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tN
b2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaAppbmRleCA1ZDM3Y2Q3ODYzMGNmYTNl
NzI1NGFhYzBhNDdjNDNiMmM0YTIxZTQ4Li5kMGM1NzM1YmVhNGYzYjFjMmQ2NzIwOTMwOWU4YThh
MDJjNTUzZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2Rl
bEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaApAQCAtMjMsNyAr
MjMsNyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVW
SUVXX0lPUykKIAogI2ltcG9ydCAiVUlLaXRTUEkuaCIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1t
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxJbnRlcmFjdGlvbkdlc3R1cmVS
ZWNvZ25pemVyLm1tCmluZGV4IGJjYWFhNDZiN2QyZTUzODQ1Y2E5NjQ0ZmFiYTM0MmNhY2ZhZGU5
ZmEuLjQ4NzMzMDI2M2Q2OTg0ZmI0NGZlMjFhNmE3YTZhZjYyMGYwYjkxOTYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XS01vZGVsSW50ZXJhY3Rpb25HZXN0dXJlUmVj
b2duaXplci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbEludGVy
YWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNv
bmZpZy5oIgogI2ltcG9ydCAiV0tNb2RlbEludGVyYWN0aW9uR2VzdHVyZVJlY29nbml6ZXIuaCIK
IAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFWRShBU1ZfSU5M
SU5FX1BSRVZJRVdfSU9TKQogCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVWaWV3cy5oIgogI2lt
cG9ydCAiV0tNb2RlbFZpZXcuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L2lvcy9XS01vZGVsVmlldy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxW
aWV3LmgKaW5kZXggNmM0M2RmYmI4NTcyN2MzMzk0NjkxMmEyM2I2MWM4ZGZmNTc1ODBiNC4uNmZi
NGRiODU0MzFlOGIxMjZlNzk5NmIyYTkxYmMzYWQxMWZlYTVmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvaW9zL1dLTW9kZWxWaWV3LmgKQEAgLTIzLDcgKzIzLDcgQEAKICAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaWYgSEFW
RShBU1ZfSU5MSU5FX1BSRVZJRVdfSU9TKQogCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVWaWV3
cy5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZp
ZXcubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvV0tNb2RlbFZpZXcubW0KaW5kZXgg
N2U5MzcwZmEzMzY1NzYwZGEwNWVhYTI3ZTUyZWM3ZjBiZDIyY2YwMC4uNjc5MjViZTE5OTlhYzkx
ZTRjNTJkYmVhMzhkNDRiZDc0OTg5NGViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1dLTW9kZWxWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lv
cy9XS01vZGVsVmlldy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJXS01vZGVsVmlldy5oIgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAKICNpbXBvcnQgIkxvZ2dp
bmcuaCIKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZVZpZXdzLmgiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllci5oCmluZGV4IGU2ZWI5OWIzM2I0ZTk4ZTBmZWM1ZTU2ODQzMTM2MTM2ZTNhOWNkYWYu
LmU4N2QyMGFmMmRmMmY3OGIxZTFkN2RkZjQ0MjRkM2U3ODEwZTc4ZGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllci5oCkBAIC01Myw4ICs1MywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgbG9h
ZChXZWJDb3JlOjpNb2RlbCYsIFdlYkNvcmU6OkxheW91dFNpemUpIG92ZXJyaWRlOwogICAgIFBs
YXRmb3JtTGF5ZXIqIGxheWVyKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4o
KSBvdmVycmlkZTsKKyNpZiBFTkFCTEUoTU9ERUxfRUxFTUVOVF9DQU1FUkFfQ09OVFJPTCkKICAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQg
c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVF9BTklNQVRJT05fQ09OVFJPTCkKICAgICB2b2lkIGlzUGxheWluZ0FuaW1h
dGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIG92
ZXJyaWRlOwogICAgIHZvaWQgc2V0QW5pbWF0aW9uSXNQbGF5aW5nKGJvb2wsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CiAgICAgdm9pZCBpc0xvb3Bp
bmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYp
PiYmKSBvdmVycmlkZTsKQEAgLTYyLDkgKzY1LDEyIEBAIHByaXZhdGU6CiAgICAgdm9pZCBhbmlt
YXRpb25EdXJhdGlvbihDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8U2Vjb25k
cz4mJik+JiYpIG92ZXJyaWRlOwogICAgIHZvaWQgYW5pbWF0aW9uQ3VycmVudFRpbWUoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFNlY29uZHM+JiYpPiYmKSBvdmVycmlkZTsK
ICAgICB2b2lkIHNldEFuaW1hdGlvbkN1cnJlbnRUaW1lKFNlY29uZHMsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCBzdWNjZXNzKT4mJikgb3ZlcnJpZGU7CisjZW5kaWYKKyNpZiBFTkFCTEUo
TU9ERUxfRUxFTUVOVF9BVURJT19DT05UUk9MKQogICAgIHZvaWQgaGFzQXVkaW8oQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBvdmVycmlkZTsKICAgICB2
b2lkIGlzTXV0ZWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYp
PiYmKSBvdmVycmlkZTsKICAgICB2b2lkIHNldElzTXV0ZWQoYm9vbCwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sIHN1Y2Nlc3MpPiYmKSBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgV2Vha1B0
cjxXZWJQYWdlPiBtX3BhZ2U7CiAgICAgV2Vha1B0cjxXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVu
dD4gbV9jbGllbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwv
QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0KaW5kZXggOTg3OGViMzRm
OWJmZDZjZTUzYjVlNmJhNDRmZDJiZDFmNzU0MWIwNy4uMTg0OTJhMmY1ZDNlODQxMzFiMDcxOGJl
ZjQyMzIzYjllNTU4ZjhiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01v
ZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbQpAQCAtNTUs
NiArNTUsNyBAQCB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjplbnRlckZ1bGxz
Y3JlZW4oKQogewogfQogCisjaWYgRU5BQkxFKE1PREVMX0VMRU1FTlRfQ0FNRVJBX0NPTlRST0wp
CiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1l
cmE+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gbW9kZWxJZGVudGlmaWVy
ID0gdGhpcy0+bW9kZWxJZGVudGlmaWVyKCk7CkBAIC0xMDEsNyArMTAyLDkgQEAgdm9pZCBBUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEgY2EKIAogICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRTZXRDYW1lcmEoKm1vZGVsSWRlbnRpZmll
ciwgY2FtZXJhKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFuZGxlcikpOwogfQorI2VuZGlm
IC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UX0NBTUVSQV9DT05UUk9MKQogCisjaWYgRU5BQkxFKE1P
REVMX0VMRU1FTlRfQU5JTUFUSU9OX0NPTlRST0wpCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyOjppc1BsYXlpbmdBbmltYXRpb24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGF1dG8gbW9k
ZWxJZGVudGlmaWVyID0gdGhpcy0+bW9kZWxJZGVudGlmaWVyKCk7CkBAIC0yNjgsNyArMjcxLDkg
QEAgdm9pZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0QW5pbWF0aW9uQ3VycmVu
dFRpbWUoU2Vjb25kcyBjdXJyZW50VGltZSwKIAogICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRTZXRBbmltYXRpb25D
dXJyZW50VGltZSgqbW9kZWxJZGVudGlmaWVyLCBjdXJyZW50VGltZSksIFdURk1vdmUocmVtb3Rl
Q29tcGxldGlvbkhhbmRsZXIpKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVF9B
TklNQVRJT05fQ09OVFJPTCkKIAorI2lmIEVOQUJMRShNT0RFTF9FTEVNRU5UX0FVRElPX0NPTlRS
T0wpCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpoYXNBdWRpbyhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgYXV0byBtb2RlbElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIo
KTsKQEAgLTM0MSw2ICszNDYsNyBAQCB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
OjpzZXRJc011dGVkKGJvb2wgaXNNdXRlZCwgQ29tcGxldGlvbkhhbmRsZXI8dgogCiAgICAgc3Ry
b25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVs
RWxlbWVudFNldElzTXV0ZWQoKm1vZGVsSWRlbnRpZmllciwgaXNNdXRlZCksIFdURk1vdmUocmVt
b3RlQ29tcGxldGlvbkhhbmRsZXIpKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVO
VF9BVURJT19DT05UUk9MKQogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9Nb2RlbC9XZWJNb2RlbFBsYXllclByb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9Nb2RlbC9XZWJNb2RlbFBsYXllclByb3ZpZGVyLmNwcAppbmRleCA1NzZlNTFkMjVk
MDJhNGUxZDcyMGY1YTUyMWIxOWU4YjRmZmQyODJjLi5mNjA1NjI5ZjNjNDFhY2M4ZjE0MWQ4ZmUz
ODMwODZmZTUwOGYyNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9k
ZWwvV2ViTW9kZWxQbGF5ZXJQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL01vZGVsL1dlYk1vZGVsUGxheWVyUHJvdmlkZXIuY3BwCkBAIC0yOSwxMSArMjksMTEgQEAK
ICNpbmNsdWRlICJXZWJQYWdlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgog
Ci0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJ
TkVfUFJFVklFV19NQUMpCiAjaW5jbHVkZSAiQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJN
YWMuaCIKICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNp
ZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19JT1MpCiAjaW5jbHVkZSAiQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJJT1MuaCIKICNlbmRpZgogCkBAIC01NSw3ICs1NSw3IEBAIFdlYk1vZGVs
UGxheWVyUHJvdmlkZXI6On5XZWJNb2RlbFBsYXllclByb3ZpZGVyKCkgPSBkZWZhdWx0OwogCiBS
ZWZQdHI8V2ViQ29yZTo6TW9kZWxQbGF5ZXI+IFdlYk1vZGVsUGxheWVyUHJvdmlkZXI6OmNyZWF0
ZU1vZGVsUGxheWVyKFdlYkNvcmU6Ok1vZGVsUGxheWVyQ2xpZW50JiBjbGllbnQpCiB7Ci0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJF
VklFV19NQUMpCiAgICAgaWYgKG1fcGFnZS51c2VBUktpdEZvck1vZGVsKCkpCiAgICAgICAgIHJl
dHVybiBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYzo6Y3JlYXRlKG1fcGFnZSwgY2xp
ZW50KTsKICNlbmRpZgpAQCAtNjMsNyArNjMsNyBAQCBSZWZQdHI8V2ViQ29yZTo6TW9kZWxQbGF5
ZXI+IFdlYk1vZGVsUGxheWVyUHJvdmlkZXI6OmNyZWF0ZU1vZGVsUGxheWVyKFdlYkNvcmU6Ogog
ICAgIGlmIChtX3BhZ2UudXNlU2NlbmVLaXRGb3JNb2RlbCgpKQogICAgICAgICByZXR1cm4gV2Vi
Q29yZTo6U2NlbmVLaXRNb2RlbFBsYXllcjo6Y3JlYXRlKGNsaWVudCk7CiAjZW5kaWYKLSNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVW
SUVXX0lPUykKICAgICByZXR1cm4gQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6OmNy
ZWF0ZShtX3BhZ2UsIGNsaWVudCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5o
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllcklPUy5oCmluZGV4IDQwYTI1OTVmNzBlNGJlZTFmMWQ2Njg3YTQyMmRmZDdhNzMz
N2RiZDYuLjU5NmJiYjljZjhmZDcwMGM2YzAzNmI4MTIxZTllZmIxZDE1M2ViNjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9z
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAog
I3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2lm
IEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIAogI2luY2x1ZGUgIkFSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllcklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9p
b3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KaW5kZXggYTk5YTM0YjVmMTVh
ZDdlZWU1ZGIyODUzYTY5MjIxY2NhYzRhNjU0ZC4uZjliMThmNzE3ODJkOGQ3NzQwNzg4NWU1Mjlk
NmY4N2RhMWYzNzJlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVs
L2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkFSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgiCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfSU9TKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX0lPUykKIAogI2ltcG9y
dCAiV2ViUGFnZS5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJNYWMuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaAppbmRleCBiM2M4ZTQyMDhiMTJlNTE5ZDRk
MDczOTljM2M3NWMxNDExOGE0ODE0Li5jNzVhNzA5NjM0NzhiYTdhYWI3NjVlMTRiNTg5MjhmODUz
NmU4Nzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FS
S2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCkBAIC0y
NSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAKICNpbmNsdWRl
ICJBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvTW9k
ZWxQbGF5ZXIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9t
YWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1tCmlu
ZGV4IGU1MjRkOGUxYjAxN2FhOGU1ZTAzYjg5MmQ5MmI3NTg5NGM1OGYzNzQuLjZjMDg5ODVlY2Nm
M2EzY2I0OTI1MzJhYmU3ZjkyMmQ1MzY4MDc5N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYy5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oIgogCi0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBIQVZFKEFTVl9JTkxJTkVfUFJFVklF
V19NQUMpCiAKICNpbXBvcnQgIldlYlBhZ2UuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eU1lc3Nh
Z2VzLmgiCkBAIC0xNzksNyArMTc5LDcgQEAgUGxhdGZvcm1MYXllciogQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJNYWM6OmxheWVyKCkKIAogYm9vbCBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllck1hYzo6c3VwcG9ydHNNb3VzZUludGVyYWN0aW9uKCkKIHsKLSNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNWX0lOTElORV9QUkVWSUVXX01BQykK
ICAgICByZXR1cm4gdHJ1ZTsKICNlbmRpZgogICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCA5NDMwNGI3MTFmZDRmYWVhM2IyMGU3Mzlj
OTk2YTQ3YjhjNzJhZDM0Li5jMWE1NDU2MGNlNmJmMjczYjQ0MjdmZGY5ODY4ZmU2YjRmOTQ0Y2Vm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNDUsNyArMTQ1
LDcgQEAKICNpbmNsdWRlIDx3dGYvVVJMUGFyc2VyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvU3Ry
aW5nSGFzaC5oPgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyNpZiBI
QVZFKEFTVl9JTkxJTkVfUFJFVklFV19NQUMpCiAjaW5jbHVkZSAiQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJNYWMuaCIKICNlbmRpZgogCkBAIC02MDMsNyArNjAzLDcgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpzZXRXZWJzaXRlRGF0YVN0b3JlUGFyYW1ldGVycyhXZWJQcm9jZXNzRGF0YVN0b3Jl
UGFyYW1ldGVycyYmIHAKICAgICAgICAgV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6c2V0TWVk
aWFDYWNoZURpcmVjdG9yeShwYXJhbWV0ZXJzLm1lZGlhQ2FjaGVEaXJlY3RvcnkpOwogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorI2lmIEhBVkUoQVNWX0lO
TElORV9QUkVWSUVXX01BQykKICAgICBpZiAoIXBhcmFtZXRlcnMubW9kZWxFbGVtZW50Q2FjaGVE
aXJlY3RvcnkuaXNFbXB0eSgpKQogICAgICAgICBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ck1hYzo6c2V0TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkocGFyYW1ldGVycy5tb2RlbEVsZW1l
bnRDYWNoZURpcmVjdG9yeSk7CiAjZW5kaWYK
</data>
<flag name="review"
          id="470203"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>