<?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>228227</bug_id>
          
          <creation_ts>2021-07-23 02:52:19 -0700</creation_ts>
          <short_desc>[GTK][WPE] Add API to pass WebKitMemoryPressureHandler parameters to the network processes</short_desc>
          <delta_ts>2021-08-15 23:56:11 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Miguel Gomez">magomez</reporter>
          <assigned_to name="Miguel Gomez">magomez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gustavo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1779019</commentid>
    <comment_count>0</comment_count>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2021-07-23 02:52:19 -0700</bug_when>
    <thetext>Now that WebKitMemoryPressureSettings have been added to WebKitGTK and WPE in bug 222738, we need a way to pass these settings to the network processes as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779038</commentid>
    <comment_count>1</comment_count>
      <attachid>434081</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2021-07-23 05:09:10 -0700</bug_when>
    <thetext>Created attachment 434081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1779039</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2021-07-23 05:10:19 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See https://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784059</commentid>
    <comment_count>3</comment_count>
      <attachid>434081</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-08-13 01:42:34 -0700</bug_when>
    <thetext>Comment on attachment 434081
Patch

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

&gt; Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp:42
&gt; +    static const char* disableMemoryPressureMonitor = getenv(&quot;WEBKIT_DISABLE_MEMORY_PRESSURE_MONITOR&quot;);

Since this is static, you should check if we already have a value before getting it again.

&gt; Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebsiteData.cpp:823
&gt; +        WebKitMemoryPressureSettings* settings = webkit_memory_pressure_settings_new();
&gt; +        webkit_website_data_manager_set_memory_pressure_settings(settings);
&gt; +        webkit_memory_pressure_settings_free(settings);

Since the config is std::optional, I think we can allow to pass NULL and pass std::optional to the process pool</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784109</commentid>
    <comment_count>4</comment_count>
      <attachid>435483</attachid>
    <who name="Miguel Gomez">magomez</who>
    <bug_when>2021-08-13 07:59:18 -0700</bug_when>
    <thetext>Created attachment 435483
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1784427</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-15 23:56:08 -0700</bug_when>
    <thetext>Committed r281070 (240531@main): &lt;https://commits.webkit.org/240531@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 435483.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>434081</attachid>
            <date>2021-07-23 05:09:10 -0700</date>
            <delta_ts>2021-08-13 07:59:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228227-20210723140908.patch</filename>
            <type>text/plain</type>
            <size>23793</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgwMjIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDI3OTU3NmNhNmY1NGJhNGE4MzE4M2Ri
YmE5NDA3NmUxYWMwNzM5NjAuLjEyOTM1MDEwYzA1MjE4ODk2MjQ3OGE1NjQyZTEwZjA4NDNmYWNk
N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDctMjMgIE1pZ3VlbCBHb21leiAgPG1hZ29t
ZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEFkZCBBUEkgdG8gcGFzcyBXZWJL
aXRNZW1vcnlQcmVzc3VyZUhhbmRsZXIgcGFyYW1ldGVycyB0byB0aGUgbmV0d29yayBwcm9jZXNz
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODIy
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVk
IGEgbmV3IG1ldGhvZCB0byBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgdG8gc2V0IHRoZSBjb25maWd1
cmF0aW9uIGJ5IGNvcHlpbmcgdGhlIHBhcmFtZXRlcgorICAgICAgICBpbnN0ZWFkIG9mIG1vdmlu
ZyBpdC4KKworICAgICAgICAqIHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaDoKKyAgICAgICAg
KFdURjo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzZXRDb25maWd1cmF0aW9uKToKKwogMjAyMS0w
Ny0yMiAgQnJlbnQgRnVsZ2hhbSAgPGJmdWxnaGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdS
RVNTSU9OIChyMjc4ODc3KSBbQ29jb2FdIFdlYkF1dGhuIHN0b3BwZWQgd29ya2luZyBmb3Igbm9u
LVNhZmFyaSBicm93c2VycyAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggOWMzNDYyN2IzZjgyOWNkNWFjMzUxOWU5MGJm
NWVhYzk4MGU0ZTdhNS4uOGZjNjQyN2ZiNzE1ZmEyNmIxNTQ2OWYyMTkxZmIzNmFkYTFlNWQ4OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAorMjAyMS0wNy0yMyAgTWlndWVsIEdvbWV6ICA8bWFn
b21lekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW1dQRV0gQWRkIEFQSSB0byBwYXNzIFdl
YktpdE1lbW9yeVByZXNzdXJlSGFuZGxlciBwYXJhbWV0ZXJzIHRvIHRoZSBuZXR3b3JrIHByb2Nl
c3NlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI4
MjI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
ZWQgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9tZW1vcnlfcHJlc3N1cmVfc2V0dGlu
Z3MoKSBBUEkgZnVuY3Rpb24gdG8gcGFzcyBhCisgICAgICAgIFdlYktpdE1lbW9yeVByZXNzdXJl
U2V0dGluZ3MgaW5zdGFuY2UgYXMgdGhlIHNldHRpbmdzIHRvIHVzZSBieSBhbGwgdGhlIG5ldHdv
cmsgcHJvY2Vzc2VzLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6OmRlY29kZSk6CisgICAgICAgICogTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9zb3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHA6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQcm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyk6CisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3MuY3Bw
OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIu
Y3BwOgorICAgICAgICAod2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9tZW1vcnlfcHJl
c3N1cmVfc2V0dGluZ3MpOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNp
dGVEYXRhTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0
Mmd0ay00LjAtc2VjdGlvbnMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dlYktp
dFdlYnNpdGVEYXRhTWFuYWdlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mv
d3BlLTEuMC1zZWN0aW9ucy50eHQ6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6
OmRpZEV4Y2VlZE1lbW9yeUxpbWl0KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3BwOgor
ICAgICAgICAoV2ViS2l0OjptZW1vcnlQcmVzc3VyZU1vbml0b3JEaXNhYmxlZCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vz
cyk6CisKIDIwMjEtMDctMjIgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAg
ICAgICAgIFtMaXZlIFRleHRdIFtpT1NdIEFuYWx5c2lzIHNob3VsZCBhbHNvIHNlYXJjaCBmb3Ig
YW55IEFwcCBDbGlwIGNvZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9NZW1vcnlQcmVz
c3VyZUhhbmRsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oCmlu
ZGV4IDA5MzA2ZTMzNGEzYmMzOWU5ZTczYmI0MDhlNDAwMTI2MmYxYmVkOTIuLjY0NmQwOTJhYmY2
MTE3ZWQwYzBiNDg4ZDZmMWUwOTQxODNiOGQ4Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNz
dXJlSGFuZGxlci5oCkBAIC0xOTksNiArMTk5LDcgQEAgcHVibGljOgogICAgICAgICBTZWNvbmRz
IHBvbGxJbnRlcnZhbDsKICAgICB9OwogICAgIHZvaWQgc2V0Q29uZmlndXJhdGlvbihDb25maWd1
cmF0aW9uJiYgY29uZmlndXJhdGlvbikgeyBtX2NvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKGNvbmZp
Z3VyYXRpb24pOyB9CisgICAgdm9pZCBzZXRDb25maWd1cmF0aW9uKGNvbnN0IENvbmZpZ3VyYXRp
b24mIGNvbmZpZ3VyYXRpb24pIHsgbV9jb25maWd1cmF0aW9uID0gY29uZmlndXJhdGlvbjsgfQog
CiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIHZvaWQgcmVsZWFzZU1lbW9yeShDcml0aWNhbCwgU3lu
Y2hyb25vdXMgPSBTeW5jaHJvbm91czo6Tm8pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwCmluZGV4IDNkNGQ3MGYzY2YxN2JlY2U0ZDdhNGI1NWZiMmNlM2UxNzA5ZTZlZTIuLjhm
ZTgxYjRjMWY2OTI2ZGEyNWZkYzRiYTMwZTU0YWIzZWMyNDQ1OGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCkBAIC02Miw2ICs2Miw3IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnM6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0CiAj
aWYgVVNFKFNPVVApCiAgICAgZW5jb2RlciA8PCBjb29raWVBY2NlcHRQb2xpY3k7CiAgICAgZW5j
b2RlciA8PCBsYW5ndWFnZXM7CisgICAgZW5jb2RlciA8PCBtZW1vcnlQcmVzc3VyZUhhbmRsZXJD
b25maWd1cmF0aW9uOwogI2VuZGlmCiAKICAgICBlbmNvZGVyIDw8IHVybFNjaGVtZXNSZWdpc3Rl
cmVkQXNTZWN1cmU7CkBAIC0xMjQsNiArMTI1LDEyIEBAIGJvb2wgTmV0d29ya1Byb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnM6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIE5ldHdvcmtQcm9j
CiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5s
YW5ndWFnZXMpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0
ZDo6b3B0aW9uYWw8TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpDb25maWd1cmF0aW9uPj4gbWVtb3J5
UHJlc3N1cmVIYW5kbGVyQ29uZmlndXJhdGlvbjsKKyAgICBkZWNvZGVyID4+IG1lbW9yeVByZXNz
dXJlSGFuZGxlckNvbmZpZ3VyYXRpb247CisgICAgaWYgKCFtZW1vcnlQcmVzc3VyZUhhbmRsZXJD
b25maWd1cmF0aW9uKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0Lm1lbW9yeVBy
ZXNzdXJlSGFuZGxlckNvbmZpZ3VyYXRpb24gPSBXVEZNb3ZlKCptZW1vcnlQcmVzc3VyZUhhbmRs
ZXJDb25maWd1cmF0aW9uKTsKICNlbmRpZgogCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQudXJsU2NoZW1lc1JlZ2lzdGVyZWRBc1NlY3VyZSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0
ZXJzLmgKaW5kZXggMjZkYWJjOWNjNzI1MDU2ZjNhZDkxMmUzZmRkMjU0NWUyYWI2OTQyOS4uZDhk
OWNmZDY2ZDVhYWQ0ZThmZWFkZDlhZjMxODI4MDUwMTM2NzFjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlv
blBhcmFtZXRlcnMuaApAQCAtMzQsNiArMzQsNyBAQAogCiAjaWYgVVNFKFNPVVApCiAjaW5jbHVk
ZSA8V2ViQ29yZS9IVFRQQ29va2llQWNjZXB0UG9saWN5Lmg+CisjaW5jbHVkZSA8d3RmL01lbW9y
eVByZXNzdXJlSGFuZGxlci5oPgogI2VuZGlmCiAKIG5hbWVzcGFjZSBJUEMgewpAQCAtNzcsNiAr
NzgsNyBAQCBzdHJ1Y3QgTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMgewogI2lmIFVT
RShTT1VQKQogICAgIFdlYkNvcmU6OkhUVFBDb29raWVBY2NlcHRQb2xpY3kgY29va2llQWNjZXB0
UG9saWN5IHsgV2ViQ29yZTo6SFRUUENvb2tpZUFjY2VwdFBvbGljeTo6QWx3YXlzQWNjZXB0IH07
CiAgICAgVmVjdG9yPFN0cmluZz4gbGFuZ3VhZ2VzOworICAgIHN0ZDo6b3B0aW9uYWw8TWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjpDb25maWd1cmF0aW9uPiBtZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25m
aWd1cmF0aW9uOwogI2VuZGlmCiAKICAgICBWZWN0b3I8U3RyaW5nPiB1cmxTY2hlbWVzUmVnaXN0
ZXJlZEFzU2VjdXJlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9z
b3VwL05ldHdvcmtQcm9jZXNzU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3NvdXAvTmV0d29ya1Byb2Nlc3NTb3VwLmNwcAppbmRleCBmN2Y1NjgzMWQxZDc3YTJiNzE2ZDYw
N2UzNDBiNjk4NzdlN2E3OWUzLi5iNTM2MWRmNzEyMmNkYmYxZmFiNjcwYTBmZDBlODA1ZDk2YmI3
ZTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0d29y
a1Byb2Nlc3NTb3VwLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAv
TmV0d29ya1Byb2Nlc3NTb3VwLmNwcApAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiTmV0
d29ya0NhY2hlLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMu
aCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJO
ZXR3b3JrU2Vzc2lvblNvdXAuaCIKICNpbmNsdWRlICJXZWJDb29raWVNYW5hZ2VyLmgiCiAjaW5j
bHVkZSAiV2ViS2l0Q2FjaGVkUmVzb2x2ZXIuaCIKQEAgLTEzMiw2ICsxMzMsMjAgQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MoY29uc3QgTmV0
d29ya1Byb2Nlc3NDcmVhdGkKIAogICAgIGlmICghcGFyYW1ldGVycy5sYW5ndWFnZXMuaXNFbXB0
eSgpKQogICAgICAgICB1c2VyUHJlZmVycmVkTGFuZ3VhZ2VzQ2hhbmdlZChwYXJhbWV0ZXJzLmxh
bmd1YWdlcyk7CisKKyNpZiBFTkFCTEUoUEVSSU9ESUNfTUVNT1JZX01PTklUT1IpCisgICAgLy8g
VGhlIHBlcmlvZGljIG1lbW9yeSBtb25pdG9yIGlzIGRpc2FibGVkIGJ5IGRlZmF1bHQgaW4gdGhl
IG5ldHdvcmsgcHJvY2Vzcy4gRW5hYmxlCisgICAgLy8gaXQgb25seSBpZiBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIgaXMgbm90IHN1cHByZXNzZWQgYW5kIHRoZXJlIGlzIGEgY3VzdG9tIGNvbmZpZ3Vy
YXRpb24KKyAgICAvLyBmb3IgaXQuCisgICAgaWYgKCFwYXJhbWV0ZXJzLnNob3VsZFN1cHByZXNz
TWVtb3J5UHJlc3N1cmVIYW5kbGVyICYmIHBhcmFtZXRlcnMubWVtb3J5UHJlc3N1cmVIYW5kbGVy
Q29uZmlndXJhdGlvbikgeworICAgICAgICBhdXRvJiBtZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSBN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpOworICAgICAgICBtZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIuc2V0Q29uZmlndXJhdGlvbigqcGFyYW1ldGVycy5tZW1vcnlQcmVzc3VyZUhhbmRs
ZXJDb25maWd1cmF0aW9uKTsKKyAgICAgICAgbWVtb3J5UHJlc3N1cmVIYW5kbGVyLnNldFNob3Vs
ZFVzZVBlcmlvZGljTWVtb3J5TW9uaXRvcih0cnVlKTsKKyAgICAgICAgbWVtb3J5UHJlc3N1cmVI
YW5kbGVyLnNldE1lbW9yeUtpbGxDYWxsYmFjayhbdGhpc10gKCkgeworICAgICAgICAgICAgcGFy
ZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3NQcm94
eTo6RGlkRXhjZWVkTWVtb3J5TGltaXQoKSwgMCk7CisgICAgICAgIH0pOworICAgIH0KKyNlbmRp
ZgogfQogCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjpzZXRJZ25vcmVUTFNFcnJvcnMoUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBib29sIGlnbm9yZVRMU0Vycm9ycykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9nbGliL1dlYktpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3Mu
Y3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0TWVtb3J5UHJlc3N1
cmVTZXR0aW5ncy5jcHAKaW5kZXggMDY0ODI1Y2I3YTJhOGY4ZGE5MjdiODVhYmViZmQzNzQ4NDdi
ODFmNS4uYzI2YzVhOTU4YzBlM2NkYmZmYTFiZmE2MzhkYmYxN2FhMmZkYTcwNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0TWVtb3J5UHJlc3N1cmVT
ZXR0aW5ncy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0
TWVtb3J5UHJlc3N1cmVTZXR0aW5ncy5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICAqIFNFQ1RJT046
IFdlYktpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3MKICAqIEBTaG9ydF9kZXNjcmlwdGlvbjogQSBi
b3hlZCB0eXBlIHJlcHJlc2VudGluZyB0aGUgc2V0dGluZ3MgZm9yIHRoZSBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIKICAqIEBUaXRsZTogV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncwotICogQFNl
ZV9hbHNvOiAjV2ViS2l0V2ViQ29udGV4dC4KKyAqIEBTZWVfYWxzbzogI1dlYktpdFdlYkNvbnRl
eHQsICNXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIKICAqCiAgKiAjV2ViS2l0TWVtb3J5UHJlc3N1
cmVTZXR0aW5ncyBpcyBhIGJveGVkIHR5cGUgdGhhdCBjYW4gYmUgdXNlZCB0byBwcm92aWRlIHNv
bWUgY3VzdG9tIHNldHRpbmdzCiAgKiB0byBjb250cm9sIGhvdyB0aGUgbWVtb3J5IHByZXNzdXJl
IHNpdHVhdGlvbnMgYXJlIGhhbmRsZWQgYnkgdGhlIGRpZmZlcmVudCBwcm9jZXNzZXMuCkBAIC00
Miw2ICs0MiwxMCBAQAogICoKICAqIEEgI1dlYktpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3MgY2Fu
IGJlIHBhc3NlZCB0byBhICNXZWJLaXRXZWJDb250ZXh0IGNvbnN0cnVjdG9yLCBhbmQgdGhlIHNl
dHRpbmdzIHdpbGwKICAqIGJlIGFwcGxpZWQgdG8gYWxsIHRoZSB3ZWIgcHJvY2Vzc2VzIGNyZWF0
ZWQgYnkgdGhhdCBjb250ZXh0LgorICogCisgKiBBICNXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRp
bmdzIGNhbiBiZSBwYXNzZWQgdG8gd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9tZW1v
cnlfcHJlc3N1cmVfc2V0dGluZ3MoKSwKKyAqIGFuZCB0aGUgc2V0dGluZ3Mgd2lsbCBiZSBhcHBs
aWVkIHRvIGFsbCB0aGUgbmV0d29yayBwcm9jZXNzZXMgY3JlYXRlZCBhZnRlciB0aGF0IGNhbGwg
YnkgYW55IGluc3RhbmNlIG9mCisgKiAjV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLgogICoKICAq
IFNpbmNlOiAyLjM0CiAgKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCmluZGV4IGEzMzlhYzA5
YjRhYTFlODdjM2Y4YTVkZGUzOWU2ZjI3NGNkMmZkY2IuLmRlZWEzOTM5Y2RiODY5ZWJlODYxYzBi
NzdmMzc4MDRmZTY0ZDkxNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcApAQCAtMjIsMTAg
KzIyLDEzIEBACiAKICNpbmNsdWRlICJXZWJLaXRDb29raWVNYW5hZ2VyUHJpdmF0ZS5oIgogI2lu
Y2x1ZGUgIldlYktpdEluaXRpYWxpemUuaCIKKyNpbmNsdWRlICJXZWJLaXRNZW1vcnlQcmVzc3Vy
ZVNldHRpbmdzLmgiCisjaW5jbHVkZSAiV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5nc1ByaXZh
dGUuaCIKICNpbmNsdWRlICJXZWJLaXROZXR3b3JrUHJveHlTZXR0aW5nc1ByaXZhdGUuaCIKICNp
bmNsdWRlICJXZWJLaXRQcml2YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2Vic2l0ZURhdGFNYW5h
Z2VyUHJpdmF0ZS5oIgogI2luY2x1ZGUgIldlYktpdFdlYnNpdGVEYXRhUHJpdmF0ZS5oIgorI2lu
Y2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFGZXRjaE9wdGlv
bi5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhU3RvcmUuaCIKICNpbmNsdWRlIDxnbGliL2dpMThu
LWxpYi5oPgpAQCAtMTE5MCw2ICsxMTkzLDI2IEBAIHN0cnVjdCBfV2ViS2l0SVRQRmlyc3RQYXJ0
eSB7CiAgICAgaW50IHJlZmVyZW5jZUNvdW50IHsgMSB9OwogfTsKIAorLyoqCisgKiB3ZWJraXRf
d2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5nczoKKyAqIEBz
ZXR0aW5nczogYSBXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzLgorICoKKyAqIFNldHMgQHNl
dHRpbmdzIGFzIHRoZSAjV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncyB0byBiZSB1c2VkIGJ5
IGFsbCB0aGUgbmV0d29yaworICogcHJvY2Vzc2VzIGNyZWF0ZWQgYnkgYW55IGluc3RhbmNlIG9m
ICNXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIgYWZ0ZXIgdGhpcyBmdW5jdGlvbgorICogaXMgY2Fs
bGVkLgorICoKKyAqIEJlIHN1cmUgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBjcmVhdGlu
ZyBhbnkgI1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlciwgYXMgbmV0d29yaworICogcHJvY2Vzc2Vz
IG9mIGV4aXN0aW5nIGluc3RhbmNlcyBhcmUgbm90IGd1YXJhbnRlZWQgdG8gcmVjZWl2ZSB0aGUg
cGFzc2VkIHNldHRpbmdzLgorICoKKyAqIFNpbmNlOiAyLjM0CisgKi8KK3ZvaWQgd2Via2l0X3dl
YnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3MoV2ViS2l0TWVt
b3J5UHJlc3N1cmVTZXR0aW5ncyogc2V0dGluZ3MpCit7CisgICAgZ19yZXR1cm5faWZfZmFpbChz
ZXR0aW5ncyk7CisKKyAgICBXZWJQcm9jZXNzUG9vbDo6c2V0TmV0d29ya1Byb2Nlc3NNZW1vcnlQ
cmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9uKHdlYmtpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3NH
ZXRNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9uKHNldHRpbmdzKSk7Cit9CisKIEdf
REVGSU5FX0JPWEVEX1RZUEUoV2ViS2l0SVRQRmlyc3RQYXJ0eSwgd2Via2l0X2l0cF9maXJzdF9w
YXJ0eSwgd2Via2l0X2l0cF9maXJzdF9wYXJ0eV9yZWYsIHdlYmtpdF9pdHBfZmlyc3RfcGFydHlf
dW5yZWYpCiAKIHN0YXRpYyBXZWJLaXRJVFBGaXJzdFBhcnR5KiB3ZWJraXRJVFBGaXJzdFBhcnR5
Q3JlYXRlKFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQYXJ0eURhdGFGb3JT
cGVjaWZpY0ZpcnN0UGFydHkmJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKaW5kZXggNTY3Y2Qw
ZTk4YmRiM2M1ZDQwZGM5OGVkMmNkMTFiZGM2N2Q2NTY2Zi4uM2YxMTI4NjMzMzAwZmRhMTI1NWI3
NWJmYzhhOTBhZGMzZmZmYTE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw3
IEBACiAjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0Q29va2ll
TWFuYWdlci5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RGVmaW5lcy5oPgorI2luY2x1ZGUg
PHdlYmtpdDIvV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncy5oPgogI2luY2x1ZGUgPHdlYmtp
dDIvV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MuaD4KICNpbmNsdWRlIDx3ZWJraXQyL1dlYktp
dFdlYnNpdGVEYXRhLmg+CiAKQEAgLTE4Myw2ICsxODQsOSBAQCB3ZWJraXRfd2Vic2l0ZV9kYXRh
X21hbmFnZXJfY2xlYXJfZmluaXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChXZWJL
aXRXZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0ICAgICAgICAgICAgICpyZXN1bHQsCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAqKmVycm9yKTsKIAorV0VCS0lU
X0FQSSB2b2lkCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X21lbW9yeV9wcmVzc3Vy
ZV9zZXR0aW5ncyAgICAgICAgICAgICAgIChXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzICpz
ZXR0aW5ncyk7CisKIAogI2RlZmluZSBXRUJLSVRfVFlQRV9JVFBfRklSU1RfUEFSVFkgICAod2Vi
a2l0X2l0cF9maXJzdF9wYXJ0eV9nZXRfdHlwZSgpKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMudHh0IGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNlY3Rp
b25zLnR4dAppbmRleCA2NWViNWQ4YWE1NThiZTUwNWE5NDI4NDE2MzI1ZTdmNTEwY2IxN2I4Li4x
YmFiYjkzOWZjZWMxNmY5NDkzNGFmMzg4ZTQxNmU5MDNiZTFlZTg3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2VjdGlvbnMu
dHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9jcy93ZWJraXQyZ3Rr
LTQuMC1zZWN0aW9ucy50eHQKQEAgLTE1MTYsNiArMTUxNiw3IEBAIHdlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9yZW1vdmUKIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9yZW1vdmVfZmlu
aXNoCiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xlYXIKIHdlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9jbGVhcl9maW5pc2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRf
bWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzCiAKIDxTVUJTRUNUSU9OIElUUCBTdW1tYXJ5PgogV2Vi
S2l0SVRQRmlyc3RQYXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKaW5kZXggMDNkMzE4NjI3Njc3YTJj
NDBiZjRmYWZjMGFmOWNjNWZkYmI0YjZmNC4uNzdlYzhkYjA4OTQwNzViMmJjM2FhMTYxMjAzNDA0
Zjg3ZTRhN2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9X
ZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvd3BlL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5j
bHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXRDb29raWVNYW5hZ2VyLmg+CiAj
aW5jbHVkZSA8d3BlL1dlYktpdERlZmluZXMuaD4KKyNpbmNsdWRlIDx3cGUvV2ViS2l0TWVtb3J5
UHJlc3N1cmVTZXR0aW5ncy5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXROZXR3b3JrUHJveHlTZXR0
aW5ncy5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXRXZWJzaXRlRGF0YS5oPgogCkBAIC0xODMsNiAr
MTg0LDkgQEAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsZWFyX2ZpbmlzaCAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2UKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdBc3luY1Jl
c3VsdCAgICAgICAgICAgICAqcmVzdWx0LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vycm9yICAgICAgICAg
ICAgICAgICAgKiplcnJvcik7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0X3dlYnNpdGVfZGF0
YV9tYW5hZ2VyX3NldF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3MgICAgICAgICAgICAgICAoV2Vi
S2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncyAqc2V0dGluZ3MpOworCiAKICNkZWZpbmUgV0VCS0lU
X1RZUEVfSVRQX0ZJUlNUX1BBUlRZICAgKHdlYmtpdF9pdHBfZmlyc3RfcGFydHlfZ2V0X3R5cGUo
KSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dw
ZS0xLjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9kb2Nz
L3dwZS0xLjAtc2VjdGlvbnMudHh0CmluZGV4IDEzY2ZiMDRmM2M0N2I2NWIzMTdlOTg3NzIxNDBi
OGE1YTQ4MTZjNTAuLmI4YjA4ZDJmOTFmMjU2NGNlZjdkYTBiOGVjZWRjOGExMTJkNWJlOTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9jcy93cGUtMS4wLXNl
Y3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL2RvY3Mvd3Bl
LTEuMC1zZWN0aW9ucy50eHQKQEAgLTE0NTAsNiArMTQ1MCw3IEBAIHdlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9yZW1vdmUKIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9yZW1vdmVfZmlu
aXNoCiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xlYXIKIHdlYmtpdF93ZWJzaXRlX2Rh
dGFfbWFuYWdlcl9jbGVhcl9maW5pc2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRf
bWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzCiAKIDxTVUJTRUNUSU9OIElUUCBTdW1tYXJ5PgogV2Vi
S2l0SVRQRmlyc3RQYXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggNWZmNWE1MTgxZGE5OWUxZjY0Y2Qw
MWI2MGNjYTA2OWJjYzQ0Y2ZlOC4uZmIwNmM5NzA1YjlhMjZiYjczNDY5ZGJmNDQzNmJlYmY0OWJh
MDNjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xNTgzLDYgKzE1ODMsMTYgQEAgdm9pZCBOZXR3b3Jr
UHJvY2Vzc1Byb3h5OjpjbGVhckJ1bmRsZUlkZW50aWZpZXIoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZCgpPiYmIGNvbXAKICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6Ok5ldHdvcmtQcm9j
ZXNzOjpDbGVhckJ1bmRsZUlkZW50aWZpZXIoKSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OwogfQogCisjaWYgVVNFKFNPVVApCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmRpZEV4Y2Vl
ZE1lbW9yeUxpbWl0KCkKK3sKKyAgICBBdXhpbGlhcnlQcm9jZXNzUHJveHk6OnRlcm1pbmF0ZSgp
OworICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gdGhpcy0+Y29ubmVjdGlvbigpKQorICAgICAg
ICBjb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7CisgICAgbmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5h
dGUoVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkTWVtb3J5TGltaXQpOworfQorI2VuZGlmCisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApp
bmRleCBiNjA5ZjM1ZjZiNTliYzNlZmYwNDE0MjA0YjYzMzZkMzBjYTE0NjUxLi42MmM4MTI5YjQ1
NWZlYWNkNTBmOTUyMjkzZjI3ZDdhM2FmNDQzNmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMjM2LDcgKzIz
Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyU2NoZW1lRm9yTGVnYWN5Q3VzdG9tUHJv
dG9jb2woY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2NoZW1lRm9yTGVnYWN5
Q3VzdG9tUHJvdG9jb2woY29uc3QgU3RyaW5nJik7CiAKLSAgICBlbnVtIGNsYXNzIFRlcm1pbmF0
aW9uUmVhc29uIHsgUmVxdWVzdGVkQnlDbGllbnQsIENyYXNoIH07CisgICAgZW51bSBjbGFzcyBU
ZXJtaW5hdGlvblJlYXNvbiB7IFJlcXVlc3RlZEJ5Q2xpZW50LCBDcmFzaCwgRXhjZWVkZWRNZW1v
cnlMaW1pdCB9OwogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5hdGUoVGVybWluYXRp
b25SZWFzb24pOwogICAgIAogICAgIHZvaWQgcmVzZXRRdW90YShQQUw6OlNlc3Npb25JRCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKQEAgLTMzMCw2ICszMzAsMTAgQEAgcHJpdmF0ZToK
IAogICAgIHZvaWQgcHJvY2Vzc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFBBTDo6U2Vzc2lvbklE
LCBSZWY8QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eT4mJik7CiAKKyNpZiBVU0UoU09VUCkK
KyAgICB2b2lkIGRpZEV4Y2VlZE1lbW9yeUxpbWl0KCk7CisjZW5kaWYKKwogICAgIHN0ZDo6dW5p
cXVlX3B0cjxEb3dubG9hZFByb3h5TWFwPiBtX2Rvd25sb2FkUHJveHlNYXA7CiAKICAgICBVbmlx
dWVSZWY8QVBJOjpDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ+IG1fY3VzdG9tUHJvdG9jb2xN
YW5hZ2VyQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDA1MWUxYTRj
MzRkZjU5ODhiZjM2YmIxNjNjM2EwNWJlZWVmYTIxNDQuLmEwMzgwNDNmOTRlNmQ0MWU5MDU4OGU1
NDNiZDcwMjlmNDBmZDQ3OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTcy
LDQgKzcyLDggQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZl
ciB7CiAgICAgUmVzb3VyY2VMb2FkRGlkUmVjZWl2ZUNoYWxsZW5nZShXZWJLaXQ6OldlYlBhZ2VQ
cm94eUlkZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJLaXQ6OlJlc291cmNlTG9h
ZEluZm8gcmVzb3VyY2VMb2FkSW5mbywgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2Ug
Y2hhbGxlbmdlKQogICAgIFJlc291cmNlTG9hZERpZFJlY2VpdmVSZXNwb25zZShXZWJLaXQ6Oldl
YlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJLaXQ6OlJlc291
cmNlTG9hZEluZm8gcmVzb3VyY2VMb2FkSW5mbywgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSkKICAgICBSZXNvdXJjZUxvYWREaWRDb21wbGV0ZVdpdGhFcnJvcihXZWJLaXQ6Oldl
YlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJLaXQ6OlJlc291
cmNlTG9hZEluZm8gcmVzb3VyY2VMb2FkSW5mbywgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSBy
ZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKKworI2lmIFVTRShTT1VQKQor
ICAgIERpZEV4Y2VlZE1lbW9yeUxpbWl0KCkKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggNmI0ODY3ODVhYjkwOGY3MzEwYzJiODRhYmQwYmZk
ZDdkNGNjNWFhOC4uYmY1Y2Y4NWZiMDY3OGM5ZGIzYmZkYjE1YjZmOGZiODJhOGY1Mzc1OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0yODAsNiArMjgwLDcg
QEAgcHVibGljOgogCiAjaWYgVVNFKFNPVVApCiAgICAgdm9pZCBzZXRJbml0aWFsSFRUUENvb2tp
ZUFjY2VwdFBvbGljeShXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5IHBvbGljeSkgeyBt
X2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5ID0gcG9saWN5OyB9CisgICAgc3RhdGljIHZv
aWQgc2V0TmV0d29ya1Byb2Nlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9uKGNv
bnN0IE1lbW9yeVByZXNzdXJlSGFuZGxlcjo6Q29uZmlndXJhdGlvbiYgY29uZmlndXJhdGlvbikg
eyBzX25ldHdvcmtQcm9jZXNzTWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29uZmlndXJhdGlvbiA9IGNv
bmZpZ3VyYXRpb247IH0KICNlbmRpZgogICAgIHZvaWQgc2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5
KGJvb2wpOwogICAgIApAQCAtNjY0LDYgKzY2NSw3IEBAIHByaXZhdGU6CiAKICNpZiBVU0UoU09V
UCkKICAgICBXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5IG1faW5pdGlhbEhUVFBDb29r
aWVBY2NlcHRQb2xpY3kgeyBXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNp
dmVseUZyb21NYWluRG9jdW1lbnREb21haW4gfTsKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OkNvbmZpZ3VyYXRpb24+IHNfbmV0d29ya1Byb2Nlc3NNZW1v
cnlQcmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9uOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShN
QUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQ
b29sU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29s
U291cC5jcHAKaW5kZXggMDViZDJmNmM0YjA5NzQ1MWIxMWM4MGMwZjcyMjU5NzU3NTdjYmJhNC4u
MDQ2ZDhhYjBlYThkZjRlMjE0NWM2NGJiZGJiYjllNTQxNDYwM2JlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3Mvc291cC9XZWJQcm9jZXNzUG9vbFNvdXAuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1Bvb2xTb3VwLmNwcApAQCAtMzUs
OSArMzUsMjEgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK3N0ZDo6b3B0aW9uYWw8TWVtb3J5
UHJlc3N1cmVIYW5kbGVyOjpDb25maWd1cmF0aW9uPiBXZWJQcm9jZXNzUG9vbDo6c19uZXR3b3Jr
UHJvY2Vzc01lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZpZ3VyYXRpb247CisKK3N0YXRpYyBib29s
IG1lbW9yeVByZXNzdXJlTW9uaXRvckRpc2FibGVkKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgY2hh
ciogZGlzYWJsZU1lbW9yeVByZXNzdXJlTW9uaXRvciA9IGdldGVudigiV0VCS0lUX0RJU0FCTEVf
TUVNT1JZX1BSRVNTVVJFX01PTklUT1IiKTsKKyAgICByZXR1cm4gZGlzYWJsZU1lbW9yeVByZXNz
dXJlTW9uaXRvciAmJiAhc3RyY21wKGRpc2FibGVNZW1vcnlQcmVzc3VyZU1vbml0b3IsICIxIik7
Cit9CisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBsYXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9j
ZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAg
IHBhcmFtZXRlcnMubGFuZ3VhZ2VzID0gdXNlclByZWZlcnJlZExhbmd1YWdlcygpOworICAgIHBh
cmFtZXRlcnMubWVtb3J5UHJlc3N1cmVIYW5kbGVyQ29uZmlndXJhdGlvbiA9IHNfbmV0d29ya1By
b2Nlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9uOworCisgICAgaWYgKG1lbW9y
eVByZXNzdXJlTW9uaXRvckRpc2FibGVkKCkpCisgICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkU3Vw
cHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSB0cnVlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRl
eCA4YmEzODcwYzlkMzgxNTUyZTUzNmM3N2E5MTBkM2MzMWY5NGQxZGNkLi4wNjM4NjZiYWJhNGU5
YTJhYzAwM2ZlNDdhOGE1NGFjMWE2M2FmNGQ5IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cK
KysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDctMjMgIE1pZ3Vl
bCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEFkZCBB
UEkgdG8gcGFzcyBXZWJLaXRNZW1vcnlQcmVzc3VyZUhhbmRsZXIgcGFyYW1ldGVycyB0byB0aGUg
bmV0d29yayBwcm9jZXNzZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyODIyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZGVkIGFuIEFQSSB0ZXN0IGZvciB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFn
ZXJfc2V0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5ncygpLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJzaXRlRGF0YS5jcHA6CisgICAgICAgIChNZW1v
cnlQcmVzc3VyZVRlc3Q6OnNldHVwKToKKyAgICAgICAgKE1lbW9yeVByZXNzdXJlVGVzdDo6dGVh
cmRvd24pOgorICAgICAgICAoTWVtb3J5UHJlc3N1cmVUZXN0Ojpsb2FkRmFpbGVkQ2FsbGJhY2sp
OgorICAgICAgICAoTWVtb3J5UHJlc3N1cmVUZXN0Ojp3YWl0VW50aWxMb2FkRmFpbGVkKToKKyAg
ICAgICAgKHRlc3RNZW1vcnlQcmVzc3VyZVNldHRpbmdzKToKKyAgICAgICAgKGJlZm9yZUFsbCk6
CisKIDIwMjEtMDctMjIgIFRydWl0dCBTYXZlbGwgIDx0c2F2ZWxsQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNaWdyYXRlIE1vbnRlcmV5IGV4cGVjdGF0aW9ucyB0byBPcGVuU291cmNlIGFuZCBidW1w
IHZlcnNpb24gbnVtYmVycwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRHTGliL1Rlc3RXZWJzaXRlRGF0YS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdEdMaWIvVGVzdFdlYnNpdGVEYXRhLmNwcAppbmRleCBlM2FlN2MyMWU2ZGUwOTAyZjZj
ODVmYmZkMTQ3YWFlNjQ5MWIwOTAyLi41NjhiMWNiZTBjNWFiZjBiZjcwZTgyNjZlZmI2NDY3MTVk
NmI2OTc3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdEdMaWIv
VGVzdFdlYnNpdGVEYXRhLmNwcAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dEdMaWIvVGVzdFdlYnNpdGVEYXRhLmNwcApAQCAtODAwLDYgKzgwMCw1NiBAQCBnX2Fzc2VydF9u
b25udWxsKGRhdGEpOwogICAgIGdfYXNzZXJ0X251bGwoZGF0YUxpc3QpOwogfQogCitjbGFzcyBN
ZW1vcnlQcmVzc3VyZVRlc3QgOiBwdWJsaWMgV2ViVmlld1Rlc3QgeworcHVibGljOgorICAgIE1B
S0VfR0xJQl9URVNUX0ZJWFRVUkVfV0lUSF9TRVRVUF9URUFSRE9XTihNZW1vcnlQcmVzc3VyZVRl
c3QsIHNldHVwLCB0ZWFyZG93bik7CisKKyAgICBzdGF0aWMgdm9pZCBzZXR1cCgpCisgICAgewor
ICAgICAgICBXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzKiBzZXR0aW5ncyA9IHdlYmtpdF9t
ZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3NfbmV3KCk7CisgICAgICAgIHdlYmtpdF9tZW1vcnlfcHJl
c3N1cmVfc2V0dGluZ3Nfc2V0X21lbW9yeV9saW1pdChzZXR0aW5ncywgMSk7CisgICAgICAgIHdl
YmtpdF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3Nfc2V0X3BvbGxfaW50ZXJ2YWwoc2V0dGluZ3Ms
IDAuMDAxKTsKKyAgICAgICAgd2Via2l0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5nc19zZXRfa2ls
bF90aHJlc2hvbGQoc2V0dGluZ3MsIDEpOworICAgICAgICB3ZWJraXRfbWVtb3J5X3ByZXNzdXJl
X3NldHRpbmdzX3NldF9zdHJpY3RfdGhyZXNob2xkKHNldHRpbmdzLCAwLjc1KTsKKyAgICAgICAg
d2Via2l0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5nc19zZXRfY29uc2VydmF0aXZlX3RocmVzaG9s
ZChzZXR0aW5ncywgMC41KTsKKyAgICAgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3Nl
dF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3Moc2V0dGluZ3MpOworICAgICAgICB3ZWJraXRfbWVt
b3J5X3ByZXNzdXJlX3NldHRpbmdzX2ZyZWUoc2V0dGluZ3MpOworICAgIH0KKworICAgIHN0YXRp
YyB2b2lkIHRlYXJkb3duKCkKKyAgICB7CisgICAgICAgIFdlYktpdE1lbW9yeVByZXNzdXJlU2V0
dGluZ3MqIHNldHRpbmdzID0gd2Via2l0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5nc19uZXcoKTsK
KyAgICAgICAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9tZW1vcnlfcHJlc3N1cmVf
c2V0dGluZ3Moc2V0dGluZ3MpOworICAgICAgICB3ZWJraXRfbWVtb3J5X3ByZXNzdXJlX3NldHRp
bmdzX2ZyZWUoc2V0dGluZ3MpOworICAgIH0KKworICAgIHN0YXRpYyBnYm9vbGVhbiBsb2FkRmFp
bGVkQ2FsbGJhY2soV2ViS2l0V2ViVmlldyogd2ViVmlldywgV2ViS2l0TG9hZEV2ZW50IGxvYWRF
dmVudCwgY29uc3QgY2hhciogZmFpbGluZ1VSSSwgR0Vycm9yKiBlcnJvciwgTWVtb3J5UHJlc3N1
cmVUZXN0KiB0ZXN0KQorICAgIHsKKyAgICAgICAgZ19zaWduYWxfaGFuZGxlcnNfZGlzY29ubmVj
dF9ieV9mdW5jKHdlYlZpZXcsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KGxvYWRGYWlsZWRDYWxs
YmFjayksIHRlc3QpOworICAgICAgICBnX21haW5fbG9vcF9xdWl0KHRlc3QtPm1fbWFpbkxvb3Ap
OworCisgICAgICAgIHJldHVybiBUUlVFOworICAgIH0KKworICAgIHZvaWQgd2FpdFVudGlsTG9h
ZEZhaWxlZCgpCisgICAgeworICAgICAgICBnX3NpZ25hbF9jb25uZWN0KG1fd2ViVmlldywgImxv
YWQtZmFpbGVkIiwgR19DQUxMQkFDSyhNZW1vcnlQcmVzc3VyZVRlc3Q6OmxvYWRGYWlsZWRDYWxs
YmFjayksIHRoaXMpOworICAgICAgICBnX21haW5fbG9vcF9ydW4obV9tYWluTG9vcCk7CisgICAg
fQorfTsKKworc3RhdGljIHZvaWQgdGVzdE1lbW9yeVByZXNzdXJlU2V0dGluZ3MoTWVtb3J5UHJl
c3N1cmVUZXN0KiB0ZXN0LCBnY29uc3Rwb2ludGVyKQoreworICAgIC8vIFdlIGhhdmUgc2V0IGEg
bWVtb3J5IGxpbWl0IG9mIDFNQiB3aXRoIGEga2lsbCB0aHJlc2hvbGQgb2YgMSBhbmQgYSBwb2xs
IGludGVydmFsIG9mIDAuMDAxLgorICAgIC8vIFRoZSBuZXR3b3JrIHByb2Nlc3Mgd2lsbCB1c2Ug
YXJvdW5kIDJNQiB0byBsb2FkIHRoZSB0ZXN0LiBUaGUgTWVtb3J5UHJlc3N1cmVIYW5kbGVyIHdp
bGwKKyAgICAvLyBraWxsIHRoZSBwcm9jZXNzIGFzIHNvb24gYXMgaXQgZGV0ZWN0cyB0aGF0IGl0
J3MgdXNpbmcgbW9yZSB0aGFuIDFNQiwgc28gdGhlIG5ldHdvcmsgcHJvY2VzcworICAgIC8vIHdv
bid0IGJlIGFibGUgdG8gY29tcGxldGUgdGhlIHJlc291cmNlIGxvYWQuIFRoaXMgY2F1c2VzIGFu
IGludGVybmFsIGVycm9yIGFuZCB0aGUgbG9hZC1mYWlsZWQKKyAgICAvLyBzaWduYWwgaXMgZW1p
dHRlZC4KKyAgICBHVW5pcXVlUHRyPGNoYXI+IGZpbGVVUkwoZ19zdHJkdXBfcHJpbnRmKCJmaWxl
Oi8vJXMvc2ltcGxlLmh0bWwiLCBUZXN0OjpnZXRSZXNvdXJjZXNEaXIoVGVzdDo6V2ViS2l0MlJl
c291cmNlcykuZGF0YSgpKSk7CisgICAgdGVzdC0+bG9hZFVSSShmaWxlVVJMLmdldCgpKTsKKyAg
ICB0ZXN0LT53YWl0VW50aWxMb2FkRmFpbGVkKCk7Cit9CisKIHZvaWQgYmVmb3JlQWxsKCkKIHsK
ICAgICBrU2VydmVyID0gbmV3IFdlYktpdFRlc3RTZXJ2ZXIoKTsKQEAgLTgyMyw2ICs4NzMsNyBA
QCB2b2lkIGJlZm9yZUFsbCgpCiAgICAgV2Vic2l0ZURhdGFUZXN0OjphZGQoIldlYktpdFdlYnNp
dGVEYXRhIiwgIml0cCIsIHRlc3RXZWJzaXRlRGF0YUlUUCk7CiAgICAgV2Vic2l0ZURhdGFUZXN0
OjphZGQoIldlYktpdFdlYnNpdGVEYXRhIiwgInNlcnZpY2Utd29ya2VyLXJlZ2lzdHJhdGlvbnMi
LCB0ZXN0V2Vic2l0ZURhdGFTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9ucyk7CiAgICAgV2Vic2l0
ZURhdGFUZXN0OjphZGQoIldlYktpdFdlYnNpdGVEYXRhIiwgImRvbS1jYWNoZSIsIHRlc3RXZWJz
aXRlRGF0YURPTUNhY2hlKTsKKyAgICBNZW1vcnlQcmVzc3VyZVRlc3Q6OmFkZCgiV2ViS2l0V2Vi
c2l0ZURhdGEiLCAibWVtb3J5LXByZXNzdXJlIiwgdGVzdE1lbW9yeVByZXNzdXJlU2V0dGluZ3Mp
OwogfQogCiB2b2lkIGFmdGVyQWxsKCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>435483</attachid>
            <date>2021-08-13 07:59:18 -0700</date>
            <delta_ts>2021-08-15 23:56:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-228227-20210813165915.patch</filename>
            <type>text/plain</type>
            <size>24049</size>
            <attacher name="Miguel Gomez">magomez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxMDEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdhMTZmNTE2YTUzMTUzODFkOTM4MGM1
ZGMyMWZhNGM2NmJiZDA1MmIuLjY4MTg1ZGJmZDJkOTI3MzkzZmIwNGQ2ZTc2YmFjMjYyZWNiZTlh
YzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDgtMTMgIE1pZ3VlbCBHb21leiAgPG1hZ29t
ZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVtXUEVdIEFkZCBBUEkgdG8gcGFzcyBXZWJL
aXRNZW1vcnlQcmVzc3VyZUhhbmRsZXIgcGFyYW1ldGVycyB0byB0aGUgbmV0d29yayBwcm9jZXNz
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODIy
NworCisgICAgICAgIFJldmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAg
IEFkZGVkIGEgbmV3IG1ldGhvZCB0byBNZW1vcnlQcmVzc3VyZUhhbmRsZXIgdG8gc2V0IHRoZSBj
b25maWd1cmF0aW9uIGJ5IGNvcHlpbmcgdGhlIHBhcmFtZXRlcgorICAgICAgICBpbnN0ZWFkIG9m
IG1vdmluZyBpdC4KKworICAgICAgICAqIHd0Zi9NZW1vcnlQcmVzc3VyZUhhbmRsZXIuaDoKKyAg
ICAgICAgKFdURjo6TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpzZXRDb25maWd1cmF0aW9uKToKKwog
MjAyMS0wOC0xMSAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBpbml0aWFsIHN1cHBvcnQgZm9yIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgKENPRVAp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCmluZGV4IDBiNzUyZDE5YTQ5N2ZlNTJkMTlhYzY1ZjE3ZWNlMWViNGY5ZGNjYzIuLmQy
ZGM1NzQyNDQ1NDgzNWViM2Q3MjhjNWQ3MjNmMzFhYTQzZTAxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMzUgQEAKKzIwMjEtMDgtMTMgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtXUEVdIEFkZCBBUEkgdG8gcGFzcyBXZWJLaXRNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIgcGFyYW1ldGVycyB0byB0aGUgbmV0d29yayBwcm9jZXNzZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODIyNworCisgICAgICAgIFJl
dmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgIEFkZGVkIHdlYmtpdF93
ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzKCkgQVBJIGZ1
bmN0aW9uIHRvIHBhc3MgYQorICAgICAgICBXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzIGlu
c3RhbmNlIGFzIHRoZSBzZXR0aW5ncyB0byB1c2UgYnkgYWxsIHRoZSBuZXR3b3JrIHByb2Nlc3Nl
cy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFt
ZXRlcnM6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzOjpkZWNvZGUpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
c291cC9OZXR3b3JrUHJvY2Vzc1NvdXAuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJv
Y2Vzczo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9BUEkvZ2xpYi9XZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzLmNwcDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9zZXRfbWVtb3J5X3ByZXNzdXJlX3NldHRp
bmdzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFn
ZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJndGstNC4wLXNl
Y3Rpb25zLnR4dDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJzaXRlRGF0
YU1hbmFnZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9kb2NzL3dwZS0xLjAtc2Vj
dGlvbnMudHh0OgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpkaWRFeGNlZWRN
ZW1vcnlMaW1pdCk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW46CisgICAgICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmg6CisgICAg
ICAgICogVUlQcm9jZXNzL3NvdXAvV2ViUHJvY2Vzc1Bvb2xTb3VwLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6bWVtb3J5UHJlc3N1cmVNb25pdG9yRGlzYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQcm9jZXNzUG9vbDo6cGxhdGZvcm1Jbml0aWFsaXplTmV0d29ya1Byb2Nlc3MpOgorCiAyMDIx
LTA4LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBPdmVy
bHkgdmVyYm9zZSBjYXRjaGFibGUgZmV0Y2ggZXJyb3IgbWVzc2FnZXMgbGVhZCB0byBjcm9zcy1v
cmlnaW4gbGVha3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL01lbW9yeVByZXNzdXJlSGFu
ZGxlci5oIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmgKaW5kZXggZWFl
ZDc5MjVjMTNiY2E4NWZjNzdjM2U3NGI3YjgxNWNjODM0NWQwOC4uMGY1YjYyNjMwMGQ4ZTllZThm
MGQ3ODU0OTQ1MTc5OGVlMmQ5MGFmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvTWVtb3J5
UHJlc3N1cmVIYW5kbGVyLmgKKysrIGIvU291cmNlL1dURi93dGYvTWVtb3J5UHJlc3N1cmVIYW5k
bGVyLmgKQEAgLTE5OSw2ICsxOTksNyBAQCBwdWJsaWM6CiAgICAgICAgIFNlY29uZHMgcG9sbElu
dGVydmFsOwogICAgIH07CiAgICAgdm9pZCBzZXRDb25maWd1cmF0aW9uKENvbmZpZ3VyYXRpb24m
JiBjb25maWd1cmF0aW9uKSB7IG1fY29uZmlndXJhdGlvbiA9IFdURk1vdmUoY29uZmlndXJhdGlv
bik7IH0KKyAgICB2b2lkIHNldENvbmZpZ3VyYXRpb24oY29uc3QgQ29uZmlndXJhdGlvbiYgY29u
ZmlndXJhdGlvbikgeyBtX2NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uOyB9CiAKICAgICBX
VEZfRVhQT1JUX1BSSVZBVEUgdm9pZCByZWxlYXNlTWVtb3J5KENyaXRpY2FsLCBTeW5jaHJvbm91
cyA9IFN5bmNocm9ub3VzOjpObyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAK
aW5kZXggM2Q0ZDcwZjNjZjE3YmVjZTRkN2E0YjU1ZmIyY2UzZTE3MDllNmVlMi4uOGZlODFiNGMx
ZjY5MjZkYTI1ZmRjNGJhMzBlNTRhYjNlYzI0NDU4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycy5jcHAKQEAgLTYyLDYgKzYyLDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9u
UGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKICNpZiBVU0Uo
U09VUCkKICAgICBlbmNvZGVyIDw8IGNvb2tpZUFjY2VwdFBvbGljeTsKICAgICBlbmNvZGVyIDw8
IGxhbmd1YWdlczsKKyAgICBlbmNvZGVyIDw8IG1lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZpZ3Vy
YXRpb247CiAjZW5kaWYKIAogICAgIGVuY29kZXIgPDwgdXJsU2NoZW1lc1JlZ2lzdGVyZWRBc1Nl
Y3VyZTsKQEAgLTEyNCw2ICsxMjUsMTIgQEAgYm9vbCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVyczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgTmV0d29ya1Byb2MKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lmxhbmd1YWdl
cykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRp
b25hbDxNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OkNvbmZpZ3VyYXRpb24+PiBtZW1vcnlQcmVzc3Vy
ZUhhbmRsZXJDb25maWd1cmF0aW9uOworICAgIGRlY29kZXIgPj4gbWVtb3J5UHJlc3N1cmVIYW5k
bGVyQ29uZmlndXJhdGlvbjsKKyAgICBpZiAoIW1lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZpZ3Vy
YXRpb24pCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQubWVtb3J5UHJlc3N1cmVI
YW5kbGVyQ29uZmlndXJhdGlvbiA9IFdURk1vdmUoKm1lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZp
Z3VyYXRpb24pOwogI2VuZGlmCiAKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC51cmxT
Y2hlbWVzUmVnaXN0ZXJlZEFzU2VjdXJlKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaApp
bmRleCAyNmRhYmM5Y2M3MjUwNTZmM2FkOTEyZTNmZGQyNTQ1ZTJhYjY5NDI5Li5kOGQ5Y2ZkNjZk
NWFhZDRlOGZlYWRkOWFmMzE4MjgwNTAxMzY3MWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5oCkBAIC0zNCw2ICszNCw3IEBACiAKICNpZiBVU0UoU09VUCkKICNpbmNsdWRlIDxXZWJD
b3JlL0hUVFBDb29raWVBY2NlcHRQb2xpY3kuaD4KKyNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1
cmVIYW5kbGVyLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIElQQyB7CkBAIC03Nyw2ICs3OCw3IEBA
IHN0cnVjdCBOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyB7CiAjaWYgVVNFKFNPVVAp
CiAgICAgV2ViQ29yZTo6SFRUUENvb2tpZUFjY2VwdFBvbGljeSBjb29raWVBY2NlcHRQb2xpY3kg
eyBXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5OjpBbHdheXNBY2NlcHQgfTsKICAgICBW
ZWN0b3I8U3RyaW5nPiBsYW5ndWFnZXM7CisgICAgc3RkOjpvcHRpb25hbDxNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI6OkNvbmZpZ3VyYXRpb24+IG1lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZpZ3VyYXRp
b247CiAjZW5kaWYKIAogICAgIFZlY3RvcjxTdHJpbmc+IHVybFNjaGVtZXNSZWdpc3RlcmVkQXNT
ZWN1cmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3NvdXAvTmV0
d29ya1Byb2Nlc3NTb3VwLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9O
ZXR3b3JrUHJvY2Vzc1NvdXAuY3BwCmluZGV4IDhmOWY4ZGU4ZjRlMGRmZDI4Mjc3OWU0NjgyMzI2
MDhhMDcxNDJmNTEuLjc5NTdkYmQxYmU4ZDA4ZDE1ZThjZTVlMTE3YTRkZmU5NmYzMWQ1MzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3JrUHJvY2Vz
c1NvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvc291cC9OZXR3b3Jr
UHJvY2Vzc1NvdXAuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJOZXR3b3JrQ2Fj
aGUuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIgorI2lu
Y2x1ZGUgIk5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtT
ZXNzaW9uU291cC5oIgogI2luY2x1ZGUgIldlYkNvb2tpZU1hbmFnZXIuaCIKICNpbmNsdWRlICJX
ZWJLaXRDYWNoZWRSZXNvbHZlci5oIgpAQCAtMTMyLDYgKzEzMywyMCBAQCB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjpwbGF0Zm9ybUluaXRpYWxpemVOZXR3b3JrUHJvY2Vzcyhjb25zdCBOZXR3b3JrUHJv
Y2Vzc0NyZWF0aQogCiAgICAgaWYgKCFwYXJhbWV0ZXJzLmxhbmd1YWdlcy5pc0VtcHR5KCkpCiAg
ICAgICAgIHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNDaGFuZ2VkKHBhcmFtZXRlcnMubGFuZ3VhZ2Vz
KTsKKworI2lmIEVOQUJMRShQRVJJT0RJQ19NRU1PUllfTU9OSVRPUikKKyAgICAvLyBUaGUgcGVy
aW9kaWMgbWVtb3J5IG1vbml0b3IgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBpbiB0aGUgbmV0d29y
ayBwcm9jZXNzLiBFbmFibGUKKyAgICAvLyBpdCBvbmx5IGlmIE1lbW9yeVByZXNzdXJlSGFuZGxl
ciBpcyBub3Qgc3VwcHJlc3NlZCBhbmQgdGhlcmUgaXMgYSBjdXN0b20gY29uZmlndXJhdGlvbgor
ICAgIC8vIGZvciBpdC4KKyAgICBpZiAoIXBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQ
cmVzc3VyZUhhbmRsZXIgJiYgcGFyYW1ldGVycy5tZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25maWd1
cmF0aW9uKSB7CisgICAgICAgIGF1dG8mIG1lbW9yeVByZXNzdXJlSGFuZGxlciA9IE1lbW9yeVBy
ZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCk7CisgICAgICAgIG1lbW9yeVByZXNzdXJlSGFuZGxl
ci5zZXRDb25maWd1cmF0aW9uKCpwYXJhbWV0ZXJzLm1lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZp
Z3VyYXRpb24pOworICAgICAgICBtZW1vcnlQcmVzc3VyZUhhbmRsZXIuc2V0U2hvdWxkVXNlUGVy
aW9kaWNNZW1vcnlNb25pdG9yKHRydWUpOworICAgICAgICBtZW1vcnlQcmVzc3VyZUhhbmRsZXIu
c2V0TWVtb3J5S2lsbENhbGxiYWNrKFt0aGlzXSAoKSB7CisgICAgICAgICAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpEaWRF
eGNlZWRNZW1vcnlMaW1pdCgpLCAwKTsKKyAgICAgICAgfSk7CisgICAgfQorI2VuZGlmCiB9CiAK
IHZvaWQgTmV0d29ya1Byb2Nlc3M6OnNldElnbm9yZVRMU0Vycm9ycyhQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIGJvb2wgaWdub3JlVExTRXJyb3JzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2dsaWIvV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncy5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRp
bmdzLmNwcAppbmRleCAwNjQ4MjVjYjdhMmE4ZjhkYTkyN2I4NWFiZWJmZDM3NDg0N2I4MWY1Li5j
MjZjNWE5NThjMGUzY2RiZmZhMWJmYTYzOGRiZjE3YWEyZmRhNzA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRNZW1vcnlQ
cmVzc3VyZVNldHRpbmdzLmNwcApAQCAtMjYsNyArMjYsNyBAQAogICogU0VDVElPTjogV2ViS2l0
TWVtb3J5UHJlc3N1cmVTZXR0aW5ncwogICogQFNob3J0X2Rlc2NyaXB0aW9uOiBBIGJveGVkIHR5
cGUgcmVwcmVzZW50aW5nIHRoZSBzZXR0aW5ncyBmb3IgdGhlIE1lbW9yeVByZXNzdXJlSGFuZGxl
cgogICogQFRpdGxlOiBXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzCi0gKiBAU2VlX2Fsc286
ICNXZWJLaXRXZWJDb250ZXh0LgorICogQFNlZV9hbHNvOiAjV2ViS2l0V2ViQ29udGV4dCwgI1dl
YktpdFdlYnNpdGVEYXRhTWFuYWdlcgogICoKICAqICNXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRp
bmdzIGlzIGEgYm94ZWQgdHlwZSB0aGF0IGNhbiBiZSB1c2VkIHRvIHByb3ZpZGUgc29tZSBjdXN0
b20gc2V0dGluZ3MKICAqIHRvIGNvbnRyb2wgaG93IHRoZSBtZW1vcnkgcHJlc3N1cmUgc2l0dWF0
aW9ucyBhcmUgaGFuZGxlZCBieSB0aGUgZGlmZmVyZW50IHByb2Nlc3Nlcy4KQEAgLTQyLDYgKzQy
LDEwIEBACiAgKgogICogQSAjV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncyBjYW4gYmUgcGFz
c2VkIHRvIGEgI1dlYktpdFdlYkNvbnRleHQgY29uc3RydWN0b3IsIGFuZCB0aGUgc2V0dGluZ3Mg
d2lsbAogICogYmUgYXBwbGllZCB0byBhbGwgdGhlIHdlYiBwcm9jZXNzZXMgY3JlYXRlZCBieSB0
aGF0IGNvbnRleHQuCisgKiAKKyAqIEEgI1dlYktpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3MgY2Fu
IGJlIHBhc3NlZCB0byB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X21lbW9yeV9wcmVz
c3VyZV9zZXR0aW5ncygpLAorICogYW5kIHRoZSBzZXR0aW5ncyB3aWxsIGJlIGFwcGxpZWQgdG8g
YWxsIHRoZSBuZXR3b3JrIHByb2Nlc3NlcyBjcmVhdGVkIGFmdGVyIHRoYXQgY2FsbCBieSBhbnkg
aW5zdGFuY2Ugb2YKKyAqICNXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuCiAgKgogICogU2luY2U6
IDIuMzQKICAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9nbGliL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5jcHAKaW5kZXggYTMzOWFjMDliNGFhMWU4
N2MzZjhhNWRkZTM5ZTZmMjc0Y2QyZmRjYi4uNDhlMWVkZTRiYjFkNTczZTI5NDI2NDE5Nzk5YjAy
YzRkYWZjMGQzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2dsaWIv
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvZ2xpYi9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuY3BwCkBAIC0yMiwxMCArMjIsMTMg
QEAKIAogI2luY2x1ZGUgIldlYktpdENvb2tpZU1hbmFnZXJQcml2YXRlLmgiCiAjaW5jbHVkZSAi
V2ViS2l0SW5pdGlhbGl6ZS5oIgorI2luY2x1ZGUgIldlYktpdE1lbW9yeVByZXNzdXJlU2V0dGlu
Z3MuaCIKKyNpbmNsdWRlICJXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzUHJpdmF0ZS5oIgog
I2luY2x1ZGUgIldlYktpdE5ldHdvcmtQcm94eVNldHRpbmdzUHJpdmF0ZS5oIgogI2luY2x1ZGUg
IldlYktpdFByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXJQcml2
YXRlLmgiCiAjaW5jbHVkZSAiV2ViS2l0V2Vic2l0ZURhdGFQcml2YXRlLmgiCisjaW5jbHVkZSAi
V2ViUHJvY2Vzc1Bvb2wuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YUZldGNoT3B0aW9uLmgiCiAj
aW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZS5oIgogI2luY2x1ZGUgPGdsaWIvZ2kxOG4tbGliLmg+
CkBAIC0xMTkwLDYgKzExOTMsMzAgQEAgc3RydWN0IF9XZWJLaXRJVFBGaXJzdFBhcnR5IHsKICAg
ICBpbnQgcmVmZXJlbmNlQ291bnQgeyAxIH07CiB9OwogCisvKioKKyAqIHdlYmtpdF93ZWJzaXRl
X2RhdGFfbWFuYWdlcl9zZXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzOgorICogQHNldHRpbmdz
OiBhIFdlYktpdE1lbW9yeVByZXNzdXJlU2V0dGluZ3MuCisgKgorICogU2V0cyBAc2V0dGluZ3Mg
YXMgdGhlICNXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRpbmdzIHRvIGJlIHVzZWQgYnkgYWxsIHRo
ZSBuZXR3b3JrCisgKiBwcm9jZXNzZXMgY3JlYXRlZCBieSBhbnkgaW5zdGFuY2Ugb2YgI1dlYktp
dFdlYnNpdGVEYXRhTWFuYWdlciBhZnRlciB0aGlzIGZ1bmN0aW9uCisgKiBpcyBjYWxsZWQuCisg
KgorICogQmUgc3VyZSB0byBjYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIGNyZWF0aW5nIGFueSAj
V2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLCBhcyBuZXR3b3JrCisgKiBwcm9jZXNzZXMgb2YgZXhp
c3RpbmcgaW5zdGFuY2VzIGFyZSBub3QgZ3VhcmFudGVlZCB0byByZWNlaXZlIHRoZSBwYXNzZWQg
c2V0dGluZ3MuCisgKgorICogVGhlIHBlcmlvZGljIGNoZWNrIGZvciB1c2VkIG1lbW9yeSBpcyBk
aXNhYmxlZCBieSBkZWZhdWx0IG9uIG5ldHdvcmsgcHJvY2Vzc2VzLiBUaGlzIHdpbGwKKyAqIGJl
IGVuYWJsZWQgb25seSBpZiBjdXN0b20gc2V0dGluZ3MgaGF2ZSBiZWVuIHNldCB1c2luZyB0aGlz
IGZ1bmN0aW9uLiBBZnRlciB0aGF0LCBpbiBvcmRlcgorICogdG8gcmVtb3ZlIHRoZSBjdXN0b20g
c2V0dGluZ3MgYW5kIGRpc2FibGUgdGhlIHBlcmlvZGljIGNoZWNrLCB0aGlzIGZ1bmN0aW9uIG11
c3QgYmUgY2FsbGVkCisgKiBwYXNzaW5nICVOVUxMIGFzIHRoZSB2YWx1ZSBvZiBAc2V0dGluZ3Mu
CisgKgorICogU2luY2U6IDIuMzQKKyAqLwordm9pZCB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFn
ZXJfc2V0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5ncyhXZWJLaXRNZW1vcnlQcmVzc3VyZVNldHRp
bmdzKiBzZXR0aW5ncykKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPE1lbW9yeVByZXNzdXJlSGFuZGxl
cjo6Q29uZmlndXJhdGlvbj4gY29uZmlnID0gc2V0dGluZ3MgPyBzdGQ6Om1ha2Vfb3B0aW9uYWwo
d2Via2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5nc0dldE1lbW9yeVByZXNzdXJlSGFuZGxlckNvbmZp
Z3VyYXRpb24oc2V0dGluZ3MpKSA6IHN0ZDo6bnVsbG9wdDsKKyAgICBXZWJQcm9jZXNzUG9vbDo6
c2V0TmV0d29ya1Byb2Nlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9uKGNvbmZp
Zyk7Cit9CisKIEdfREVGSU5FX0JPWEVEX1RZUEUoV2ViS2l0SVRQRmlyc3RQYXJ0eSwgd2Via2l0
X2l0cF9maXJzdF9wYXJ0eSwgd2Via2l0X2l0cF9maXJzdF9wYXJ0eV9yZWYsIHdlYmtpdF9pdHBf
Zmlyc3RfcGFydHlfdW5yZWYpCiAKIHN0YXRpYyBXZWJLaXRJVFBGaXJzdFBhcnR5KiB3ZWJraXRJ
VFBGaXJzdFBhcnR5Q3JlYXRlKFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZTo6VGhpcmRQ
YXJ0eURhdGFGb3JTcGVjaWZpY0ZpcnN0UGFydHkmJiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgK
aW5kZXggNTY3Y2QwZTk4YmRiM2M1ZDQwZGM5OGVkMmNkMTFiZGM2N2Q2NTY2Zi4uM2YxMTI4NjMz
MzAwZmRhMTI1NWI3NWJmYzhhOTBhZGMzZmZmYTE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCkBA
IC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHdlYmtpdDIv
V2ViS2l0Q29va2llTWFuYWdlci5oPgogI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0RGVmaW5lcy5o
PgorI2luY2x1ZGUgPHdlYmtpdDIvV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncy5oPgogI2lu
Y2x1ZGUgPHdlYmtpdDIvV2ViS2l0TmV0d29ya1Byb3h5U2V0dGluZ3MuaD4KICNpbmNsdWRlIDx3
ZWJraXQyL1dlYktpdFdlYnNpdGVEYXRhLmg+CiAKQEAgLTE4Myw2ICsxODQsOSBAQCB3ZWJraXRf
d2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xlYXJfZmluaXNoICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIChXZWJLaXRXZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0ICAgICAgICAgICAg
ICpyZXN1bHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBHRXJyb3IgICAgICAgICAgICAgICAgICAqKmVycm9y
KTsKIAorV0VCS0lUX0FQSSB2b2lkCit3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X21l
bW9yeV9wcmVzc3VyZV9zZXR0aW5ncyAgICAgICAgICAgICAgIChXZWJLaXRNZW1vcnlQcmVzc3Vy
ZVNldHRpbmdzICpzZXR0aW5ncyk7CisKIAogI2RlZmluZSBXRUJLSVRfVFlQRV9JVFBfRklSU1Rf
UEFSVFkgICAod2Via2l0X2l0cF9maXJzdF9wYXJ0eV9nZXRfdHlwZSgpKQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00LjAtc2Vj
dGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2d0ay9kb2NzL3dlYmtpdDJn
dGstNC4wLXNlY3Rpb25zLnR4dAppbmRleCA2NWViNWQ4YWE1NThiZTUwNWE5NDI4NDE2MzI1ZTdm
NTEwY2IxN2I4Li4xYmFiYjkzOWZjZWMxNmY5NDkzNGFmMzg4ZTQxNmU5MDNiZTFlZTg3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ3RrL2RvY3Mvd2Via2l0Mmd0ay00
LjAtc2VjdGlvbnMudHh0CisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9ndGsvZG9j
cy93ZWJraXQyZ3RrLTQuMC1zZWN0aW9ucy50eHQKQEAgLTE1MTYsNiArMTUxNiw3IEBAIHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9yZW1vdmUKIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdl
cl9yZW1vdmVfZmluaXNoCiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xlYXIKIHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGVhcl9maW5pc2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9zZXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzCiAKIDxTVUJTRUNUSU9OIElUUCBT
dW1tYXJ5PgogV2ViS2l0SVRQRmlyc3RQYXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL3dwZS9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaCBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS93cGUvV2ViS2l0V2Vic2l0ZURhdGFNYW5hZ2VyLmgKaW5kZXggMDNk
MzE4NjI3Njc3YTJjNDBiZjRmYWZjMGFmOWNjNWZkYmI0YjZmNC4uNzdlYzhkYjA4OTQwNzViMmJj
M2FhMTYxMjAzNDA0Zjg3ZTRhN2JkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL3dwZS9XZWJLaXRXZWJzaXRlRGF0YU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvd3BlL1dlYktpdFdlYnNpdGVEYXRhTWFuYWdlci5oCkBAIC0yNyw2ICsy
Nyw3IEBACiAjaW5jbHVkZSA8Z2lvL2dpby5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXRDb29raWVN
YW5hZ2VyLmg+CiAjaW5jbHVkZSA8d3BlL1dlYktpdERlZmluZXMuaD4KKyNpbmNsdWRlIDx3cGUv
V2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncy5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXROZXR3
b3JrUHJveHlTZXR0aW5ncy5oPgogI2luY2x1ZGUgPHdwZS9XZWJLaXRXZWJzaXRlRGF0YS5oPgog
CkBAIC0xODMsNiArMTg0LDkgQEAgd2Via2l0X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX2NsZWFyX2Zp
bmlzaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoV2ViS2l0V2UKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIEdBc3luY1Jlc3VsdCAgICAgICAgICAgICAqcmVzdWx0LAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0Vy
cm9yICAgICAgICAgICAgICAgICAgKiplcnJvcik7CiAKK1dFQktJVF9BUEkgdm9pZAord2Via2l0
X3dlYnNpdGVfZGF0YV9tYW5hZ2VyX3NldF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3MgICAgICAg
ICAgICAgICAoV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncyAqc2V0dGluZ3MpOworCiAKICNk
ZWZpbmUgV0VCS0lUX1RZUEVfSVRQX0ZJUlNUX1BBUlRZICAgKHdlYmtpdF9pdHBfZmlyc3RfcGFy
dHlfZ2V0X3R5cGUoKSkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL3dwZS9kb2NzL3dwZS0xLjAtc2VjdGlvbnMudHh0CmluZGV4IDEzY2ZiMDRmM2M0N2I2NWIz
MTdlOTg3NzIxNDBiOGE1YTQ4MTZjNTAuLmI4YjA4ZDJmOTFmMjU2NGNlZjdkYTBiOGVjZWRjOGEx
MTJkNWJlOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvZG9j
cy93cGUtMS4wLXNlY3Rpb25zLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
d3BlL2RvY3Mvd3BlLTEuMC1zZWN0aW9ucy50eHQKQEAgLTE0NTAsNiArMTQ1MCw3IEBAIHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9yZW1vdmUKIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdl
cl9yZW1vdmVfZmluaXNoCiB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfY2xlYXIKIHdlYmtp
dF93ZWJzaXRlX2RhdGFfbWFuYWdlcl9jbGVhcl9maW5pc2gKK3dlYmtpdF93ZWJzaXRlX2RhdGFf
bWFuYWdlcl9zZXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzCiAKIDxTVUJTRUNUSU9OIElUUCBT
dW1tYXJ5PgogV2ViS2l0SVRQRmlyc3RQYXJ0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggMzcxYmJkYTBl
NmI0NjZjMGU2NjI2ZTVkNTA2ZmFjYzdiMjdlZmQ0Yy4uZjk5OWIwODE2NWUzNDU3ZmFlNGZmOGEx
MTRlMGJkOWQ2ZTQwYzkyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0xNTgxLDYgKzE1ODEsMTYgQEAg
dm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpjbGVhckJ1bmRsZUlkZW50aWZpZXIoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmIGNvbXAKICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6
Ok5ldHdvcmtQcm9jZXNzOjpDbGVhckJ1bmRsZUlkZW50aWZpZXIoKSwgV1RGTW92ZShjb21wbGV0
aW9uSGFuZGxlcikpOwogfQogCisjaWYgVVNFKFNPVVApCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJv
eHk6OmRpZEV4Y2VlZE1lbW9yeUxpbWl0KCkKK3sKKyAgICBBdXhpbGlhcnlQcm9jZXNzUHJveHk6
OnRlcm1pbmF0ZSgpOworICAgIGlmIChhdXRvKiBjb25uZWN0aW9uID0gdGhpcy0+Y29ubmVjdGlv
bigpKQorICAgICAgICBjb25uZWN0aW9uLT5pbnZhbGlkYXRlKCk7CisgICAgbmV0d29ya1Byb2Nl
c3NEaWRUZXJtaW5hdGUoVGVybWluYXRpb25SZWFzb246OkV4Y2VlZGVkTWVtb3J5TGltaXQpOwor
fQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVD
SwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkuaAppbmRleCBiNjA5ZjM1ZjZiNTliYzNlZmYwNDE0MjA0YjYzMzZkMzBjYTE0NjUx
Li42MmM4MTI5YjQ1NWZlYWNkNTBmOTUyMjkzZjI3ZDdhM2FmNDQzNmQ3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApA
QCAtMjM2LDcgKzIzNiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlZ2lzdGVyU2NoZW1lRm9yTGVn
YWN5Q3VzdG9tUHJvdG9jb2woY29uc3QgU3RyaW5nJik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2No
ZW1lRm9yTGVnYWN5Q3VzdG9tUHJvdG9jb2woY29uc3QgU3RyaW5nJik7CiAKLSAgICBlbnVtIGNs
YXNzIFRlcm1pbmF0aW9uUmVhc29uIHsgUmVxdWVzdGVkQnlDbGllbnQsIENyYXNoIH07CisgICAg
ZW51bSBjbGFzcyBUZXJtaW5hdGlvblJlYXNvbiB7IFJlcXVlc3RlZEJ5Q2xpZW50LCBDcmFzaCwg
RXhjZWVkZWRNZW1vcnlMaW1pdCB9OwogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NEaWRUZXJtaW5h
dGUoVGVybWluYXRpb25SZWFzb24pOwogICAgIAogICAgIHZvaWQgcmVzZXRRdW90YShQQUw6OlNl
c3Npb25JRCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKQEAgLTMzMCw2ICszMzAsMTAg
QEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJvY2Vzc0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFBB
TDo6U2Vzc2lvbklELCBSZWY8QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eT4mJik7CiAKKyNp
ZiBVU0UoU09VUCkKKyAgICB2b2lkIGRpZEV4Y2VlZE1lbW9yeUxpbWl0KCk7CisjZW5kaWYKKwog
ICAgIHN0ZDo6dW5pcXVlX3B0cjxEb3dubG9hZFByb3h5TWFwPiBtX2Rvd25sb2FkUHJveHlNYXA7
CiAKICAgICBVbmlxdWVSZWY8QVBJOjpDdXN0b21Qcm90b2NvbE1hbmFnZXJDbGllbnQ+IG1fY3Vz
dG9tUHJvdG9jb2xNYW5hZ2VyQ2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmlu
ZGV4IDA1MWUxYTRjMzRkZjU5ODhiZjM2YmIxNjNjM2EwNWJlZWVmYTIxNDQuLmEwMzgwNDNmOTRl
NmQ0MWU5MDU4OGU1NDNiZDcwMjlmNDBmZDQ3OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW4KQEAgLTcyLDQgKzcyLDggQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94eSBM
ZWdhY3lSZWNlaXZlciB7CiAgICAgUmVzb3VyY2VMb2FkRGlkUmVjZWl2ZUNoYWxsZW5nZShXZWJL
aXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJLaXQ6
OlJlc291cmNlTG9hZEluZm8gcmVzb3VyY2VMb2FkSW5mbywgV2ViQ29yZTo6QXV0aGVudGljYXRp
b25DaGFsbGVuZ2UgY2hhbGxlbmdlKQogICAgIFJlc291cmNlTG9hZERpZFJlY2VpdmVSZXNwb25z
ZShXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIHN0cnVjdCBX
ZWJLaXQ6OlJlc291cmNlTG9hZEluZm8gcmVzb3VyY2VMb2FkSW5mbywgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSByZXNwb25zZSkKICAgICBSZXNvdXJjZUxvYWREaWRDb21wbGV0ZVdpdGhFcnJv
cihXZWJLaXQ6OldlYlBhZ2VQcm94eUlkZW50aWZpZXIgcGFnZUlkZW50aWZpZXIsIHN0cnVjdCBX
ZWJLaXQ6OlJlc291cmNlTG9hZEluZm8gcmVzb3VyY2VMb2FkSW5mbywgV2ViQ29yZTo6UmVzb3Vy
Y2VSZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKKworI2lm
IFVTRShTT1VQKQorICAgIERpZEV4Y2VlZE1lbW9yeUxpbWl0KCkKKyNlbmRpZgogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaCBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKaW5kZXggNmI0ODY3ODVhYjkwOGY3MzEw
YzJiODRhYmQwYmZkZDdkNGNjNWFhOC4uMDUzNTlhN2RkNDExMDU4MTE4N2QwZjA5N2U1YWZkNjI3
MzU1Y2E4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCkBAIC0y
ODAsNiArMjgwLDcgQEAgcHVibGljOgogCiAjaWYgVVNFKFNPVVApCiAgICAgdm9pZCBzZXRJbml0
aWFsSFRUUENvb2tpZUFjY2VwdFBvbGljeShXZWJDb3JlOjpIVFRQQ29va2llQWNjZXB0UG9saWN5
IHBvbGljeSkgeyBtX2luaXRpYWxIVFRQQ29va2llQWNjZXB0UG9saWN5ID0gcG9saWN5OyB9Cisg
ICAgc3RhdGljIHZvaWQgc2V0TmV0d29ya1Byb2Nlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25m
aWd1cmF0aW9uKGNvbnN0IHN0ZDo6b3B0aW9uYWw8TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpDb25m
aWd1cmF0aW9uPiYgY29uZmlndXJhdGlvbikgeyBzX25ldHdvcmtQcm9jZXNzTWVtb3J5UHJlc3N1
cmVIYW5kbGVyQ29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb247IH0KICNlbmRpZgogICAgIHZv
aWQgc2V0RW5oYW5jZWRBY2Nlc3NpYmlsaXR5KGJvb2wpOwogICAgIApAQCAtNjY0LDYgKzY2NSw3
IEBAIHByaXZhdGU6CiAKICNpZiBVU0UoU09VUCkKICAgICBXZWJDb3JlOjpIVFRQQ29va2llQWNj
ZXB0UG9saWN5IG1faW5pdGlhbEhUVFBDb29raWVBY2NlcHRQb2xpY3kgeyBXZWJDb3JlOjpIVFRQ
Q29va2llQWNjZXB0UG9saWN5OjpFeGNsdXNpdmVseUZyb21NYWluRG9jdW1lbnREb21haW4gfTsK
KyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OkNvbmZpZ3Vy
YXRpb24+IHNfbmV0d29ya1Byb2Nlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25maWd1cmF0aW9u
OwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29sU291cC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9zb3VwL1dlYlByb2Nlc3NQb29sU291cC5jcHAKaW5kZXggMDViZDJmNmM0YjA5NzQ1
MWIxMWM4MGMwZjcyMjU5NzU3NTdjYmJhNC4uMDQ2ZDhhYjBlYThkZjRlMjE0NWM2NGJiZGJiYjll
NTQxNDYwM2JlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mvc291cC9XZWJQ
cm9jZXNzUG9vbFNvdXAuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL3NvdXAvV2Vi
UHJvY2Vzc1Bvb2xTb3VwLmNwcApAQCAtMzUsOSArMzUsMjEgQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKK3N0ZDo6b3B0aW9uYWw8TWVtb3J5UHJlc3N1cmVIYW5kbGVyOjpDb25maWd1cmF0aW9u
PiBXZWJQcm9jZXNzUG9vbDo6c19uZXR3b3JrUHJvY2Vzc01lbW9yeVByZXNzdXJlSGFuZGxlckNv
bmZpZ3VyYXRpb247CisKK3N0YXRpYyBib29sIG1lbW9yeVByZXNzdXJlTW9uaXRvckRpc2FibGVk
KCkKK3sKKyAgICBzdGF0aWMgY29uc3QgY2hhciogZGlzYWJsZU1lbW9yeVByZXNzdXJlTW9uaXRv
ciA9IGdldGVudigiV0VCS0lUX0RJU0FCTEVfTUVNT1JZX1BSRVNTVVJFX01PTklUT1IiKTsKKyAg
ICByZXR1cm4gZGlzYWJsZU1lbW9yeVByZXNzdXJlTW9uaXRvciAmJiAhc3RyY21wKGRpc2FibGVN
ZW1vcnlQcmVzc3VyZU1vbml0b3IsICIxIik7Cit9CisKIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OnBs
YXRmb3JtSW5pdGlhbGl6ZU5ldHdvcmtQcm9jZXNzKE5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzJiBwYXJhbWV0ZXJzKQogewogICAgIHBhcmFtZXRlcnMubGFuZ3VhZ2VzID0gdXNlclBy
ZWZlcnJlZExhbmd1YWdlcygpOworICAgIHBhcmFtZXRlcnMubWVtb3J5UHJlc3N1cmVIYW5kbGVy
Q29uZmlndXJhdGlvbiA9IHNfbmV0d29ya1Byb2Nlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXJDb25m
aWd1cmF0aW9uOworCisgICAgaWYgKG1lbW9yeVByZXNzdXJlTW9uaXRvckRpc2FibGVkKCkpCisg
ICAgICAgIHBhcmFtZXRlcnMuc2hvdWxkU3VwcHJlc3NNZW1vcnlQcmVzc3VyZUhhbmRsZXIgPSB0
cnVlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlN2E4MDFjODdkYzUzMzZlODJkNzY3NDBkOTI1
ODhmZjVhNDhlMDJmLi4xOTI2ZmI3ZTU5MTQxMWMyNjQzMzdmYWVkZTlkN2EzYjhjNmIwODNkIDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjAgQEAKKzIwMjEtMDgtMTMgIE1pZ3VlbCBHb21leiAgPG1hZ29tZXpAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtXUEVdIEFkZCBBUEkgdG8gcGFzcyBXZWJLaXRNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXIgcGFyYW1ldGVycyB0byB0aGUgbmV0d29yayBwcm9jZXNzZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyODIyNworCisgICAgICAgIFJl
dmlld2VkIGJ5IENhcmxvcyBHYXJjaWEgQ2FtcG9zLgorCisgICAgICAgIEFkZGVkIGFuIEFQSSB0
ZXN0IGZvciB3ZWJraXRfd2Vic2l0ZV9kYXRhX21hbmFnZXJfc2V0X21lbW9yeV9wcmVzc3VyZV9z
ZXR0aW5ncygpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRHTGliL1Rl
c3RXZWJzaXRlRGF0YS5jcHA6CisgICAgICAgIChNZW1vcnlQcmVzc3VyZVRlc3Q6OnNldHVwKToK
KyAgICAgICAgKE1lbW9yeVByZXNzdXJlVGVzdDo6dGVhcmRvd24pOgorICAgICAgICAoTWVtb3J5
UHJlc3N1cmVUZXN0Ojpsb2FkRmFpbGVkQ2FsbGJhY2spOgorICAgICAgICAoTWVtb3J5UHJlc3N1
cmVUZXN0Ojp3YWl0VW50aWxMb2FkRmFpbGVkKToKKyAgICAgICAgKHRlc3RNZW1vcnlQcmVzc3Vy
ZVNldHRpbmdzKToKKyAgICAgICAgKGJlZm9yZUFsbCk6CisKIDIwMjEtMDgtMTMgIE1hcnRpbiBS
b2JpbnNvbiAgPG1yb2JpbnNvbkB3ZWJraXQub3JnPgogCiAgICAgICAgIEdldCBsaW50LXRlc3Qt
ZXhwZWN0YXRpb25zIHBhc3NpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvV2ViS2l0R0xpYi9UZXN0V2Vic2l0ZURhdGEuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXRHTGliL1Rlc3RXZWJzaXRlRGF0YS5jcHAKaW5kZXggZTNhZTdjMjFlNmRlMDkw
MmY2Yzg1ZmJmZDE0N2FhZTY0OTFiMDkwMi4uYjk5Yzc1NzdjMjJmZmYzNGI4Mzk0NzVjNDY5ZGE0
OGIzMmFmNzg5OCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXRH
TGliL1Rlc3RXZWJzaXRlRGF0YS5jcHAKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXRHTGliL1Rlc3RXZWJzaXRlRGF0YS5jcHAKQEAgLTgwMCw2ICs4MDAsNTQgQEAgZ19hc3Nl
cnRfbm9ubnVsbChkYXRhKTsKICAgICBnX2Fzc2VydF9udWxsKGRhdGFMaXN0KTsKIH0KIAorY2xh
c3MgTWVtb3J5UHJlc3N1cmVUZXN0IDogcHVibGljIFdlYlZpZXdUZXN0IHsKK3B1YmxpYzoKKyAg
ICBNQUtFX0dMSUJfVEVTVF9GSVhUVVJFX1dJVEhfU0VUVVBfVEVBUkRPV04oTWVtb3J5UHJlc3N1
cmVUZXN0LCBzZXR1cCwgdGVhcmRvd24pOworCisgICAgc3RhdGljIHZvaWQgc2V0dXAoKQorICAg
IHsKKyAgICAgICAgV2ViS2l0TWVtb3J5UHJlc3N1cmVTZXR0aW5ncyogc2V0dGluZ3MgPSB3ZWJr
aXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzX25ldygpOworICAgICAgICB3ZWJraXRfbWVtb3J5
X3ByZXNzdXJlX3NldHRpbmdzX3NldF9tZW1vcnlfbGltaXQoc2V0dGluZ3MsIDEpOworICAgICAg
ICB3ZWJraXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzX3NldF9wb2xsX2ludGVydmFsKHNldHRp
bmdzLCAwLjAwMSk7CisgICAgICAgIHdlYmtpdF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3Nfc2V0
X2tpbGxfdGhyZXNob2xkKHNldHRpbmdzLCAxKTsKKyAgICAgICAgd2Via2l0X21lbW9yeV9wcmVz
c3VyZV9zZXR0aW5nc19zZXRfc3RyaWN0X3RocmVzaG9sZChzZXR0aW5ncywgMC43NSk7CisgICAg
ICAgIHdlYmtpdF9tZW1vcnlfcHJlc3N1cmVfc2V0dGluZ3Nfc2V0X2NvbnNlcnZhdGl2ZV90aHJl
c2hvbGQoc2V0dGluZ3MsIDAuNSk7CisgICAgICAgIHdlYmtpdF93ZWJzaXRlX2RhdGFfbWFuYWdl
cl9zZXRfbWVtb3J5X3ByZXNzdXJlX3NldHRpbmdzKHNldHRpbmdzKTsKKyAgICAgICAgd2Via2l0
X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5nc19mcmVlKHNldHRpbmdzKTsKKyAgICB9CisKKyAgICBz
dGF0aWMgdm9pZCB0ZWFyZG93bigpCisgICAgeworICAgICAgICB3ZWJraXRfd2Vic2l0ZV9kYXRh
X21hbmFnZXJfc2V0X21lbW9yeV9wcmVzc3VyZV9zZXR0aW5ncyhudWxscHRyKTsKKyAgICB9CisK
KyAgICBzdGF0aWMgZ2Jvb2xlYW4gbG9hZEZhaWxlZENhbGxiYWNrKFdlYktpdFdlYlZpZXcqIHdl
YlZpZXcsIFdlYktpdExvYWRFdmVudCBsb2FkRXZlbnQsIGNvbnN0IGNoYXIqIGZhaWxpbmdVUkks
IEdFcnJvciogZXJyb3IsIE1lbW9yeVByZXNzdXJlVGVzdCogdGVzdCkKKyAgICB7CisgICAgICAg
IGdfc2lnbmFsX2hhbmRsZXJzX2Rpc2Nvbm5lY3RfYnlfZnVuYyh3ZWJWaWV3LCByZWludGVycHJl
dF9jYXN0PHZvaWQqPihsb2FkRmFpbGVkQ2FsbGJhY2spLCB0ZXN0KTsKKyAgICAgICAgZ19tYWlu
X2xvb3BfcXVpdCh0ZXN0LT5tX21haW5Mb29wKTsKKworICAgICAgICByZXR1cm4gVFJVRTsKKyAg
ICB9CisKKyAgICB2b2lkIHdhaXRVbnRpbExvYWRGYWlsZWQoKQorICAgIHsKKyAgICAgICAgZ19z
aWduYWxfY29ubmVjdChtX3dlYlZpZXcsICJsb2FkLWZhaWxlZCIsIEdfQ0FMTEJBQ0soTWVtb3J5
UHJlc3N1cmVUZXN0Ojpsb2FkRmFpbGVkQ2FsbGJhY2spLCB0aGlzKTsKKyAgICAgICAgZ19tYWlu
X2xvb3BfcnVuKG1fbWFpbkxvb3ApOworICAgIH0KK307CisKK3N0YXRpYyB2b2lkIHRlc3RNZW1v
cnlQcmVzc3VyZVNldHRpbmdzKE1lbW9yeVByZXNzdXJlVGVzdCogdGVzdCwgZ2NvbnN0cG9pbnRl
cikKK3sKKyAgICAvLyBXZSBoYXZlIHNldCBhIG1lbW9yeSBsaW1pdCBvZiAxTUIgd2l0aCBhIGtp
bGwgdGhyZXNob2xkIG9mIDEgYW5kIGEgcG9sbCBpbnRlcnZhbCBvZiAwLjAwMS4KKyAgICAvLyBU
aGUgbmV0d29yayBwcm9jZXNzIHdpbGwgdXNlIGFyb3VuZCAyTUIgdG8gbG9hZCB0aGUgdGVzdC4g
VGhlIE1lbW9yeVByZXNzdXJlSGFuZGxlciB3aWxsCisgICAgLy8ga2lsbCB0aGUgcHJvY2VzcyBh
cyBzb29uIGFzIGl0IGRldGVjdHMgdGhhdCBpdCdzIHVzaW5nIG1vcmUgdGhhbiAxTUIsIHNvIHRo
ZSBuZXR3b3JrIHByb2Nlc3MKKyAgICAvLyB3b24ndCBiZSBhYmxlIHRvIGNvbXBsZXRlIHRoZSBy
ZXNvdXJjZSBsb2FkLiBUaGlzIGNhdXNlcyBhbiBpbnRlcm5hbCBlcnJvciBhbmQgdGhlIGxvYWQt
ZmFpbGVkCisgICAgLy8gc2lnbmFsIGlzIGVtaXR0ZWQuCisgICAgR1VuaXF1ZVB0cjxjaGFyPiBm
aWxlVVJMKGdfc3RyZHVwX3ByaW50ZigiZmlsZTovLyVzL3NpbXBsZS5odG1sIiwgVGVzdDo6Z2V0
UmVzb3VyY2VzRGlyKFRlc3Q6OldlYktpdDJSZXNvdXJjZXMpLmRhdGEoKSkpOworICAgIHRlc3Qt
PmxvYWRVUkkoZmlsZVVSTC5nZXQoKSk7CisgICAgdGVzdC0+d2FpdFVudGlsTG9hZEZhaWxlZCgp
OworfQorCiB2b2lkIGJlZm9yZUFsbCgpCiB7CiAgICAga1NlcnZlciA9IG5ldyBXZWJLaXRUZXN0
U2VydmVyKCk7CkBAIC04MjMsNiArODcxLDcgQEAgdm9pZCBiZWZvcmVBbGwoKQogICAgIFdlYnNp
dGVEYXRhVGVzdDo6YWRkKCJXZWJLaXRXZWJzaXRlRGF0YSIsICJpdHAiLCB0ZXN0V2Vic2l0ZURh
dGFJVFApOwogICAgIFdlYnNpdGVEYXRhVGVzdDo6YWRkKCJXZWJLaXRXZWJzaXRlRGF0YSIsICJz
ZXJ2aWNlLXdvcmtlci1yZWdpc3RyYXRpb25zIiwgdGVzdFdlYnNpdGVEYXRhU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbnMpOwogICAgIFdlYnNpdGVEYXRhVGVzdDo6YWRkKCJXZWJLaXRXZWJzaXRl
RGF0YSIsICJkb20tY2FjaGUiLCB0ZXN0V2Vic2l0ZURhdGFET01DYWNoZSk7CisgICAgTWVtb3J5
UHJlc3N1cmVUZXN0OjphZGQoIldlYktpdFdlYnNpdGVEYXRhIiwgIm1lbW9yeS1wcmVzc3VyZSIs
IHRlc3RNZW1vcnlQcmVzc3VyZVNldHRpbmdzKTsKIH0KIAogdm9pZCBhZnRlckFsbCgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>