<?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>193296</bug_id>
          
          <creation_ts>2019-01-09 13:55:27 -0800</creation_ts>
          <short_desc>Pipe cache quota request from Network Process to UIProcess</short_desc>
          <delta_ts>2019-01-16 17:17:29 -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>Service Workers</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>193323</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1493068</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-09 13:55:27 -0800</bug_when>
    <thetext>Pipe cache quota request from Network Process to UIProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493098</commentid>
    <comment_count>1</comment_count>
      <attachid>358740</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-09 14:37:52 -0800</bug_when>
    <thetext>Created attachment 358740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493154</commentid>
    <comment_count>2</comment_count>
      <attachid>358762</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-09 16:18:34 -0800</bug_when>
    <thetext>Created attachment 358762
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493159</commentid>
    <comment_count>3</comment_count>
      <attachid>358763</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-09 16:24:47 -0800</bug_when>
    <thetext>Created attachment 358763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493317</commentid>
    <comment_count>4</comment_count>
      <attachid>358800</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-10 09:04:15 -0800</bug_when>
    <thetext>Created attachment 358800
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1493370</commentid>
    <comment_count>5</comment_count>
      <attachid>358800</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-10 11:15:17 -0800</bug_when>
    <thetext>Comment on attachment 358800
Patch

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

&gt; Source/WebKit/NetworkProcess/cache/CacheStorageEngineCaches.h:97
&gt; +    void notifyCachesOfRequestSpaceEnd();

I might use notifyRequestSpaceCompleted instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494807</commentid>
    <comment_count>6</comment_count>
      <attachid>358800</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-01-15 14:11:07 -0800</bug_when>
    <thetext>Comment on attachment 358800
Patch

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

Can we test this?

&gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:1382
&gt; +    parentProcessConnection()-&gt;send(Messages::NetworkProcessProxy::RequestCacheStorageSpace(sessionID, requestIdentifier, origin, quota, currentSize, spaceRequired), 0);

This seems like a prime candidate for sendWithAsyncReply</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494811</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-15 14:17:26 -0800</bug_when>
    <thetext>(In reply to Alex Christensen from comment #6)
&gt; Comment on attachment 358800 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=358800&amp;action=review
&gt; 
&gt; Can we test this?

Not yet, https://bugs.webkit.org/attachment.cgi?id=358810&amp;action=review is adding the test along with the callback to the app.

&gt; 
&gt; &gt; Source/WebKit/NetworkProcess/NetworkProcess.cpp:1382
&gt; &gt; +    parentProcessConnection()-&gt;send(Messages::NetworkProcessProxy::RequestCacheStorageSpace(sessionID, requestIdentifier, origin, quota, currentSize, spaceRequired), 0);
&gt; 
&gt; This seems like a prime candidate for sendWithAsyncReply

I can look at that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495262</commentid>
    <comment_count>8</comment_count>
      <attachid>359318</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2019-01-16 15:10:49 -0800</bug_when>
    <thetext>Created attachment 359318
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495344</commentid>
    <comment_count>9</comment_count>
      <attachid>359318</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-16 17:16:13 -0800</bug_when>
    <thetext>Comment on attachment 359318
Patch

Clearing flags on attachment: 359318

Committed r240099: &lt;https://trac.webkit.org/changeset/240099&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495345</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-16 17:16:14 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495346</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-16 17:17:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/47335783&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358740</attachid>
            <date>2019-01-09 14:37:52 -0800</date>
            <delta_ts>2019-01-09 16:18:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193296-20190109143749.patch</filename>
            <type>text/plain</type>
            <size>27997</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5NjYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOThlNzU5YTA2Zjk5MzU3
M2M5MzJiNTBkMjhkMWQ2ZDNmNGI4MGY3ZC4uNzExMzczNjRlZjY4YjZiMGIwODQzODhkMzJjNmYy
ZjlkN2E3NTU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIGNhY2hlIHF1b3Rh
IHJlcXVlc3QgZnJvbSBOZXR3b3JrIFByb2Nlc3MgdG8gVUlQcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMyOTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVx
dWVzdElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDE5LTAxLTA3ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBDcmFzaCBpbiBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6cmVzb2x2ZVJl
Z2lzdHJhdGlvblJlYWR5UmVxdWVzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMWIyOGYxNjcyMjIzYTA2YzdmNTdh
MTJiZmM3MmIyNGJhYTAzODFhZC4uNTM2MjdlZDRlZjdlMmE1YWY1ZWI3NmU0NTQ5NDk2ZTAyODhi
ZDc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0NCBAQAorMjAxOS0wMS0wOSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgUGlwZSBjYWNoZSBxdW90YSByZXF1ZXN0
IGZyb20gTmV0d29yayBQcm9jZXNzIHRvIFVJUHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkzMjk2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBjYWNoZSBzdG9yYWdlIGhpdHMgcXVvdGEg
Zm9yIGEgZ2l2ZW4gb3JpZ2luLCBwaXBlIHRoZSByZXF1ZXN0IGJhY2sgdG8gTmV0d29ya1Byb2Nl
c3MuCisgICAgICAgIE5vIHJlY29yZCB3aWxsIGJlIHB1dCB1bnRpbCB0aGUgcXVvdGEgcmVxdWVz
dCBpcyBhbnN3ZXJlZC4KKyAgICAgICAgVGhlIHJlcXVlc3QgaXMgc2VudCBmcm9tIENhY2hlU3Rv
cmFnZTo6Q2FjaGVzIHRvIENhY2hlU3RvcmFnZTo6RW5naW5lIGFuZCB0byBOZXR3b3JrUHJvY2Vz
cy4KKyAgICAgICAgTmV0d29ya1Byb2Nlc3MgdGhlbiBzZW5kcyBpdCB0byBOZXR3b3JrUHJvY2Vz
c1Byb3h5LgorICAgICAgICBDdXJyZW50bHkgTmV0d29ya1Byb2Nlc3NQcm94eSBqdXN0IGFuc3dl
cnMgYnkga2VlcGluZyB0aGUgcXVvdGEgYXMgaXQgaXMuCisgICAgICAgIEluIHRoZSBmdXR1cmUs
IE5ldHdvcmtQcm9jZXNzUHJveHkgc2hvdWxkIG1ha2UgYSBkZWxlZ2F0ZSBjYWxsIHRvIGxldCB0
aGUgYXBwIHVzaW5nIFdlYktpdAorICAgICAgICBtYWtlIGEgZGVjaXNpb24gb24gdGhlIHF1b3Rh
LiBUaGlzIHdpbGwgYWxsb3cgcHJvbXB0aW5nIHVzZXIgdG8gYnVtcCBpdCBhcyBkb25lIGZvciBv
dGhlciBkYXRhLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3Bw
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cmVxdWVzdENhY2hlU3RvcmFnZVNw
YWNlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OmFuc3dlclRvQ2FjaGVTdG9y
YWdlU3BhY2VSZXF1ZXN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmlu
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjpmcm9tKToKKyAgICAgICAg
KFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdpbmU6OkVuZ2luZSk6CisgICAgICAgIChXZWJLaXQ6
OkNhY2hlU3RvcmFnZTo6RW5naW5lOjpyZXF1ZXN0U3BhY2UpOgorICAgICAgICAoV2ViS2l0OjpD
YWNoZVN0b3JhZ2U6OkVuZ2luZTo6YW5zd2VyVG9TcGFjZVJlcXVlc3QpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZTo6cHV0KToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVT
dG9yYWdlOjpDYWNoZTo6cmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OnJlcXVlc3RTcGFjZSk6CisgICAgICAg
IChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpub3RpZnlDYWNoZXNPZlJlcXVlc3RTcGFj
ZUVuZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmg6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjppc1JlcXVl
c3RpbmdTcGFjZSBjb25zdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6
CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OnJlcXVlc3RDYWNoZVN0b3JhZ2VT
cGFjZSk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW46CisKIDIwMTktMDEtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBhIG5ldyBTUEkgZm9yIGNvbnRyb2xsaW5nIGdldFVzZXJNZWRpYQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5z
aW9uUmVxdWVzdElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9N
Q2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGY3N2E1
ZjliNGMxMTliNDg3YTVkNGI1MTQyMWQ2OWIyNGYyZDQ0YgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJ
ZGVudGlmaWVyLmgKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaW5jbHVkZSA8d3RmL09iamVjdElkZW50aWZpZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllclR5cGUgeyB9
OwordXNpbmcgRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyID0gT2JqZWN0
SWRlbnRpZmllcjxET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXJUeXBlPjsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGY1NzE2NGIxOTI0M2QyOWM2YmU5ZmE4MWZj
NTg5MDRkYTBlYTk5ZTguLjY1YTJhZDYzNWJiNjI2MGM2YzVhOGQ5ODcwMzkyYmMxMzVjNjdiMmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTEwNjYsNiArMTA2Niw3IEBACiAJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYwMyAvKiBS
ZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMTAzQUE5MUUzOTc5MEEwMDc2OUYwMyAvKiBSZWFsdGltZUlu
Y29taW5nQXVkaW9Tb3VyY2UuaCAqLzsgfTsKIAkJNDExMDNBQUQxRTM5NzkxMDAwNzY5RjE0IC8q
IFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZUNvY29hLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEwM0FBOTFFMzk3OTBBMDA3NjlGMTQgLyogUmVh
bHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlQ29jb2EuaCAqLzsgfTsKIAkJNDExMkI1NDMxRjlGOUNB
MDAwRTY3ODc1IC8qIFNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMkI1M0YxRjlGOUM5QjAwRTY3ODc1IC8q
IFNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CisJCTQxMThEQzEzMjFFNjdFM0IwMERFMDRDNyAvKiBET01DYWNo
ZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMThEQzExMjFFNjdFMzQwMERFMDRDNyAvKiBET01D
YWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MTIzMDgxQjEzOEM0Mjk3MDBCQ0NGQ0Eg
LyogV2ViQ29yZS5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA5M0YxOUIxQTA4MjQ1RTVBMDAxRTlBQkMgLyogV2ViQ29yZS5mcmFtZXdv
cmsgKi87IH07CiAJCTQxMjMwOTEzMTM4QzQyRkYwMEJDQ0ZDQSAvKiBKYXZhU2NyaXB0Q29yZS5m
cmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGODIxNjI5OTAyOUY0RkI1MDEwMDAxMzEgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICov
OyB9OwogCQk0MTI5Qzk5NzFGNTlCOTYzMDA5RDc0MDMgLyogRmV0Y2hCb2R5U291cmNlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwMTVENjFDN0I1
NzA0MDAwOTFDNkYgLyogRmV0Y2hCb2R5U291cmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTcyMzMsNiArNzIzNCw3IEBACiAJCTQxMTg5RUY3
MUFEODIzMjgwMEI5MEEwRCAvKiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExODlFRjcxQUQ4MjMyODAwQjkzRjY0
IC8qIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk0MTE4OUVGNzFBRDgyMzI4MDBCOTU2NzIgLyogUmVhZGFibGVTdHJlYW1CWU9C
UmVxdWVzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVTdHJlYW1CWU9CUmVx
dWVzdC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMThEQzExMjFFNjdFMzQw
MERFMDRDNyAvKiBET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVl
c3RJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjA5RTkxMjE2
RDU5M0MwMEE3M0ExMiAvKiBSVENDZXJ0aWZpY2F0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gUlRDQ2VydGlmaWNhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTIw
OUU5MzIxNkQ1Qzc5MDBBNzNBMTIgLyogUlRDQ2VydGlmaWNhdGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUlRDQ2VydGlmaWNhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDEyMDlFOTQyMTZFQTY5QTAwQTczQTEyIC8qIFJUQ0NlcnRpZmljYXRlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ0NlcnRpZmljYXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3MzQzLDYgKzE3MzQ1LDcgQEAKIAkJCQk0
MTM4MEMyMzFGMzQzNjk0MDAxNTVGREEgLyogRE9NQ2FjaGUuaWRsICovLAogCQkJCTQxRkFCRDJF
MUY0RTAyNTEwMDZBNkM5NyAvKiBET01DYWNoZUVuZ2luZS5jcHAgKi8sCiAJCQkJNDFGQUJEMkIx
RjRERkU0MjAwNkE2Qzk3IC8qIERPTUNhY2hlRW5naW5lLmggKi8sCisJCQkJNDExOERDMTEyMUU2
N0UzNDAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5o
ICovLAogCQkJCTQxMzgwQzIxMUYzNDM2OEQwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuY3Bw
ICovLAogCQkJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaCAq
LywKIAkJCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmlkbCAq
LywKQEAgLTMwMTA3LDYgKzMwMTEwLDcgQEAKIAkJCQkxQTc2MkM3QTBBMDc0RjI2MDA5ODlGNUIg
LyogSlNYUGF0aFJlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRkUxRUIwRENBNUY2NDAw
NzM5MjE5IC8qIEpTWFNMVFByb2Nlc3Nvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNCNzRFRjYx
RjNFMEJGMjAwOTk2QkM3IC8qIEtlZXBhbGl2ZVJlcXVlc3RUcmFja2VyLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTE4REMxMzIxRTY3RTNCMDBERTA0QzcgLyogRE9NQ2FjaGVRdW90YUV4dGVuc2lv
blJlcXVlc3RJZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAzMUI0NDBBNDRFRkM3
MDBGOTkyRTAgLyogS2V5Ym9hcmRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENTkx
ODJEQUM4RDAwMDg3REQ3IC8qIEtleWVkQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTdB
NjNDNTFCNzQzMThGMDBFN0RDREMgLyogS2V5ZWREZWNvZGVyQ0YuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRl
eCAyMzg5MmYzY2U3Nzg2OTEwNThiYmMxYTFjM2FjOTE3YjExNzEyNzUyLi4yZDQzYTY3MDU5ODk3
MWM1N2VhYmE0MjgzOGQ2OGUxNzQzNWFkYzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
IkFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiQXR0YWNobWVudC5oIgogI2luY2x1ZGUgIkF1
dGhlbnRpY2F0aW9uTWFuYWdlci5oIgorI2luY2x1ZGUgIkNhY2hlU3RvcmFnZUVuZ2luZS5oIgog
I2luY2x1ZGUgIkNoaWxkUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5j
ZS5oIgogI2luY2x1ZGUgIkRvd25sb2FkUHJveHlNZXNzYWdlcy5oIgpAQCAtMTM2Miw2ICsxMzYz
LDE4IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmFkZFNlcnZpY2VXb3JrZXJTZXNzaW9uKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgU3RyaW5nJiBzCiB9CiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQogCit2b2lkIE5ldHdvcmtQcm9jZXNzOjpyZXF1ZXN0Q2FjaGVTdG9yYWdlU3Bh
Y2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVz
dElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYgb3JpZ2lu
LCB1aW50NjRfdCBxdW90YSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVx
dWlyZWQpCit7CisgICAgcGFyZW50UHJvY2Vzc0Nvbm5lY3Rpb24oKS0+c2VuZChNZXNzYWdlczo6
TmV0d29ya1Byb2Nlc3NQcm94eTo6UmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlKHNlc3Npb25JRCwg
cmVxdWVzdElkZW50aWZpZXIsIG9yaWdpbiwgcXVvdGEsIGN1cnJlbnRTaXplLCBzcGFjZVJlcXVp
cmVkKSwgMCk7Cit9CisKK3ZvaWQgTmV0d29ya1Byb2Nlc3M6OmFuc3dlclRvQ2FjaGVTdG9yYWdl
U3BhY2VSZXF1ZXN0KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgRE9NQ2FjaGVRdW90YUV4dGVu
c2lvblJlcXVlc3RJZGVudGlmaWVyIGlkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdR
dW90YSkKK3sKKyAgICBDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6ZnJvbShzZXNzaW9uSUQsIFtpZGVu
dGlmaWVyLCBuZXdRdW90YV0oYXV0byYgZW5naW5lKSB7CisgICAgICAgIGVuZ2luZS5hbnN3ZXJU
b1NwYWNlUmVxdWVzdChpZGVudGlmaWVyLCBuZXdRdW90YSk7CisgICAgfSk7Cit9CisKICNpZiAh
UExBVEZPUk0oQ09DT0EpCiB2b2lkIE5ldHdvcmtQcm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhj
b25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlvblBhcmFtZXRlcnMmKQogewpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IDg0YjJhY2YxM2Rk
YzU1ZWFiNTEyZGUwZmE0OTI4MzEzODI3ZDM1OGYuLjBiMTYzODAxNTI3ZGI3NTliNzU4Y2Y3ZDdj
OGVjZWZlYjViYTc1ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKQEAgLTMxLDYgKzMxLDggQEAKICNpbmNsdWRlICJOZXR3b3JrQ29udGVudFJ1
bGVMaXN0TWFuYWdlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyLmgi
CiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQ2xpZW50
T3JpZ2luLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVz
dElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GZXRjaElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL0lEQktleURhdGEuaD4KQEAgLTIwOSw2ICsyMTEsOSBAQCBwdWJsaWM6CiAgICAgTmV0d29y
a0hUVFBTVXBncmFkZUNoZWNrZXImIG5ldHdvcmtIVFRQU1VwZ3JhZGVDaGVja2VyKCkgeyByZXR1
cm4gbV9uZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlcjsgfQogI2VuZGlmCiAKKyAgICB2b2lkIHJl
cXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6RE9NQ2FjaGVR
dW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmln
aW4mLCB1aW50NjRfdCBxdW90YSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNl
UmVxdWlyZWQpOworICAgIHZvaWQgYW5zd2VyVG9DYWNoZVN0b3JhZ2VTcGFjZVJlcXVlc3QoUEFM
OjpTZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRp
ZmllciwgT3B0aW9uYWw8dWludDY0X3Q+IG5ld1F1b3RhKTsKKwogcHJpdmF0ZToKICAgICBOZXR3
b3JrUHJvY2VzcygpOwogICAgIH5OZXR3b3JrUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXgg
NjhjZGFlYzk3ZjY3YTJkNzFjNWFhZGYxMTYxNTVhYWJiYTIxN2NkYi4uZDYyZTIyMmVkOTA0YjEy
NTY5MDI5NTFjNTlhMTdmODdlODA4OGE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xMjUsNCArMTI1
LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFNldElEQlBlck9yaWdpblF1b3RhKHVpbnQ2NF90
IHF1b3RhKQogI2VuZGlmCisKKyAgICBBbnN3ZXJUb0NhY2hlU3RvcmFnZVNwYWNlUmVxdWVzdChQ
QUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25S
ZXF1ZXN0SWRlbnRpZmllciByZXF1ZXN0SWRlbnRpZmllciwgT3B0aW9uYWw8dWludDY0X3Q+IG5l
d1F1b3RhKQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCmluZGV4IDAwNDU3MjdhMWEwMWM5MjUzYzgwM2Ez
NGUyZDFlOTY0NDMxNjExZjcuLmQyYmFmOWNkODlmMDRmYmYzMmM1ODJlMDVkYzg5NmVlMDJhYjFl
ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgdm9pZCBFbmdpbmU6OmZy
b20oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBGdW5jdGlvbjx2b2lkKEVuZ2luZSYpPiYmIGNh
bGxiYWNrKQogICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQYXJh
bWV0ZXJzKHNlc3Npb25JRCwgW3Nlc3Npb25JRCwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNr
KV0oYXV0byYmIHJvb3RQYXRoLCBhdXRvIHF1b3RhKSB7CiAgICAgICAgIGF1dG8gYWRkUmVzdWx0
ID0gZ2xvYmFsRW5naW5lTWFwKCkuYWRkKHNlc3Npb25JRCwgbnVsbHB0cik7CiAgICAgICAgIGlm
IChhZGRSZXN1bHQuaXNOZXdFbnRyeSkKLSAgICAgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+
dmFsdWUgPSBhZG9wdFJlZigqbmV3IEVuZ2luZSB7IFN0cmluZyB7IHJvb3RQYXRoIH0sIHF1b3Rh
IH0pOworICAgICAgICAgICAgYWRkUmVzdWx0Lml0ZXJhdG9yLT52YWx1ZSA9IGFkb3B0UmVmKCpu
ZXcgRW5naW5lIHsgc2Vzc2lvbklELCBTdHJpbmcgeyByb290UGF0aCB9LCBxdW90YSB9KTsKICAg
ICAgICAgY2FsbGJhY2soKmFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUpOwogICAgIH0pOwogfQpA
QCAtMTk3LDggKzE5Nyw5IEBAIHZvaWQgRW5naW5lOjpjbGVhckNhY2hlc0Zvck9yaWdpbihQQUw6
OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OlNlY3VyaXR5T3JpCiAgICAgfSk7CiB9CiAK
LUVuZ2luZTo6RW5naW5lKFN0cmluZyYmIHJvb3RQYXRoLCB1aW50NjRfdCBxdW90YSkKLSAgICA6
IG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0aCkpCitFbmdpbmU6OkVuZ2luZShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIFN0cmluZyYmIHJvb3RQYXRoLCB1aW50NjRfdCBxdW90YSkKKyAgICA6
IG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKKyAgICAsIG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0
aCkpCiAgICAgLCBtX3F1b3RhKHF1b3RhKQogewogICAgIGlmICghbV9yb290UGF0aC5pc051bGwo
KSkKQEAgLTY2MCw2ICs2NjEsMTggQEAgU3RyaW5nIEVuZ2luZTo6cmVwcmVzZW50YXRpb24oKQog
ICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKK3ZvaWQgRW5naW5lOjpyZXF1ZXN0
U3BhY2UoY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRf
dCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChPcHRpb25hbDx1aW50NjRfdD4pPiYmIGNhbGxiYWNrKQoreworICAgIG1fZXh0ZW5kUXVv
dGFDYWxsYmFja3MuYWRkKCsrbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRlciwgV1RGTW92ZShjYWxs
YmFjaykpOworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5yZXF1ZXN0Q2FjaGVTdG9y
YWdlU3BhY2UobV9zZXNzaW9uSUQsIG1ha2VPYmplY3RJZGVudGlmaWVyPERPTUNhY2hlUXVvdGFF
eHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllclR5cGU+KG1fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIp
LCBvcmlnaW4sIHF1b3RhLCBjdXJyZW50U2l6ZSwgc3BhY2VSZXF1aXJlZCk7Cit9CisKK3ZvaWQg
RW5naW5lOjphbnN3ZXJUb1NwYWNlUmVxdWVzdChET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVz
dElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90
YSkKK3sKKyAgICBpZiAoYXV0byBjYWxsYmFjayA9IG1fZXh0ZW5kUXVvdGFDYWxsYmFja3MudGFr
ZShyZXF1ZXN0SWRlbnRpZmllci50b1VJbnQ2NCgpKSkKKyAgICAgICAgY2FsbGJhY2sobmV3UXVv
dGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBDYWNoZVN0b3JhZ2UKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0Nh
Y2hlU3RvcmFnZUVuZ2luZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9D
YWNoZVN0b3JhZ2VFbmdpbmUuaAppbmRleCAyMzFkN2FkNGUyNGQxM2IwMGUxNTIzNWVjYTA5MDM5
ZTJkOGY0MTM2Li41ZmJlOTA4ZGFlOTJkYTlmMmI2ZWJkYzAzZTVlNTlhZDVkNTIxZDA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVu
Z2luZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9y
YWdlRW5naW5lLmgKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVEYXRh
LmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGEuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9y
aWdpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJ
ZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC04OCw4ICs4OSwxMiBAQCBw
dWJsaWM6CiAgICAgY29uc3QgTmV0d29ya0NhY2hlOjpTYWx0JiBzYWx0KCkgY29uc3QgeyByZXR1
cm4gbV9zYWx0LnZhbHVlKCk7IH0KICAgICB1aW50NjRfdCBuZXh0Q2FjaGVJZGVudGlmaWVyKCkg
eyByZXR1cm4gKyttX25leHRDYWNoZUlkZW50aWZpZXI7IH0KIAorICAgIHVzaW5nIEV4dGVuZFF1
b3RhQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPHVpbnQ2NF90Pik+
OworICAgIHZvaWQgcmVxdWVzdFNwYWNlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIHVp
bnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJl
ZCwgRXh0ZW5kUXVvdGFDYWxsYmFjayYmKTsKKyAgICB2b2lkIGFuc3dlclRvU3BhY2VSZXF1ZXN0
KFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciwgT3B0aW9u
YWw8dWludDY0X3Q+IG5ld1F1b3RhKTsKKwogcHJpdmF0ZToKLSAgICBFbmdpbmUoU3RyaW5nJiYg
cm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKTsKKyAgICBFbmdpbmUoUEFMOjpTZXNzaW9uSUQsIFN0
cmluZyYmIHJvb3RQYXRoLCB1aW50NjRfdCBxdW90YSk7CiAKICAgICB2b2lkIG9wZW4oY29uc3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgY29uc3QgU3RyaW5nJiBjYWNoZU5hbWUsIFdlYkNvcmU6
OkRPTUNhY2hlRW5naW5lOjpDYWNoZUlkZW50aWZpZXJDYWxsYmFjayYmKTsKICAgICB2b2lkIHJl
bW92ZSh1aW50NjRfdCBjYWNoZUlkZW50aWZpZXIsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
YWNoZUlkZW50aWZpZXJDYWxsYmFjayYmKTsKQEAgLTEyNyw2ICsxMzIsNyBAQCBwcml2YXRlOgog
CiAgICAgQ2FjaGUqIGNhY2hlKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllcik7CiAKKyAgICBQQUw6
OlNlc3Npb25JRCBtX3Nlc3Npb25JRDsKICAgICBIYXNoTWFwPFdlYkNvcmU6OkNsaWVudE9yaWdp
biwgUmVmUHRyPENhY2hlcz4+IG1fY2FjaGVzOwogICAgIHVpbnQ2NF90IG1fbmV4dENhY2hlSWRl
bnRpZmllciB7IDAgfTsKICAgICBTdHJpbmcgbV9yb290UGF0aDsKQEAgLTEzNyw2ICsxNDMsNyBA
QCBwcml2YXRlOgogICAgIFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlv
bkNhbGxiYWNrPiBtX2luaXRpYWxpemF0aW9uQ2FsbGJhY2tzOwogICAgIEhhc2hNYXA8dWludDY0
X3QsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2s+IG1fcGVuZGlu
Z1dyaXRlQ2FsbGJhY2tzOwogICAgIEhhc2hNYXA8dWludDY0X3QsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgTmV0d29ya0NhY2hlOjpEYXRhJiwgaW50IGVycm9yKT4+IG1fcGVuZGluZ1Jl
YWRDYWxsYmFja3M7CisgICAgSGFzaE1hcDx1aW50NjRfdCwgRXh0ZW5kUXVvdGFDYWxsYmFjaz4g
bV9leHRlbmRRdW90YUNhbGxiYWNrczsKICAgICB1aW50NjRfdCBtX3BlbmRpbmdDYWxsYmFja3ND
b3VudGVyIHsgMCB9OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcAppbmRleCBlNDUy
ZGJhNWUzMzEzNTQ1OTJjZTkyMGNjMjg0YmE2NjIzZjBhYTVhLi5mZWQ4ODIwMTU5MmVkNmNjNzcz
NjE2MjNlM2E1NGFmOWRkMTBlY2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcApAQCAt
NDAwLDEwICs0MDAsMTUgQEAgdm9pZCBDYWNoZTo6c3RvcmVSZWNvcmRzKFZlY3RvcjxSZWNvcmQ+
JiYgcmVjb3JkcywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGMKICAgICB9CiB9CiAKLXZv
aWQgQ2FjaGU6OnB1dChWZWN0b3I8UmVjb3JkPiYmIHJlY29yZHMsIFJlY29yZElkZW50aWZpZXJz
Q2FsbGJhY2smJiBjYWxsYmFjaykKK3ZvaWQgQ2FjaGU6OnB1dChWZWN0b3I8UmVjb3JkPiYmIHJl
Y29yZHMsIFJlY29yZElkZW50aWZpZXJzQ2FsbGJhY2smJiBjYWxsYmFjaywgQ2FuUmVxdWVzdE1v
cmVTcGFjZSBjYW5SZXF1ZXN0TW9yZVNwYWNlKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IFN0
YXRlOjpPcGVuKTsKIAorICAgIGlmIChtX2NhY2hlcy5pc1JlcXVlc3RpbmdTcGFjZSgpKSB7Cisg
ICAgICAgIG1fcGVuZGluZ1B1dFJlcXVlc3RzLmFwcGVuZCh7IFdURk1vdmUocmVjb3JkcyksIFdU
Rk1vdmUoY2FsbGJhY2spIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgV2ViQ29y
ZTo6Q2FjaGVRdWVyeU9wdGlvbnMgb3B0aW9uczsKICAgICB1aW50NjRfdCBzcGFjZVJlcXVpcmVk
ID0gMDsKIApAQCAtNDIzLDYgKzQyOCwxMSBAQCB2b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJlY29y
ZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAg
ICAgIHJldHVybjsKICAgICB9CiAKKyAgICBpZiAoY2FuUmVxdWVzdE1vcmVTcGFjZSA9PSBDYW5S
ZXF1ZXN0TW9yZVNwYWNlOjpObykgeworICAgICAgICBjYWxsYmFjayhtYWtlVW5leHBlY3RlZChE
T01DYWNoZUVuZ2luZTo6RXJyb3I6OlF1b3RhRXhjZWVkZWQpKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKwogICAgIG1fY2FjaGVzLnJlcXVlc3RTcGFjZShzcGFjZVJlcXVpcmVkLCBbY2FjaGVz
ID0gbWFrZVJlZihtX2NhY2hlcyksIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIHJlY29yZHMg
PSBXVEZNb3ZlKHJlY29yZHMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShPcHRpb25h
bDxET01DYWNoZUVuZ2luZTo6RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgewogICAgICAgICBpZiAo
ZXJyb3IpIHsKICAgICAgICAgICAgIGNhbGxiYWNrKG1ha2VVbmV4cGVjdGVkKGVycm9yLnZhbHVl
KCkpKTsKQEAgLTQzMiwxMCArNDQyLDE3IEBAIHZvaWQgQ2FjaGU6OnB1dChWZWN0b3I8UmVjb3Jk
PiYmIHJlY29yZHMsIFJlY29yZElkZW50aWZpZXJzQ2FsbGJhY2smJiBjYWxsYmFjaykKICAgICAg
ICAgaWYgKCFjYWNoZSkKICAgICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBjYWNoZS0+c3Rv
cmVSZWNvcmRzKFdURk1vdmUocmVjb3JkcyksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAg
Y2FjaGUtPnB1dChXVEZNb3ZlKHJlY29yZHMpLCBXVEZNb3ZlKGNhbGxiYWNrKSwgQ2FuUmVxdWVz
dE1vcmVTcGFjZTo6Tm8pOwogICAgIH0pOwogfQogCit2b2lkIENhY2hlOjpyZXRyeVB1dHRpbmdQ
ZW5kaW5nUmVjb3JkcygpCit7CisgICAgYXV0byBwZW5kaW5nUHV0UmVxdWVzdHMgPSBXVEZNb3Zl
KG1fcGVuZGluZ1B1dFJlcXVlc3RzKTsKKyAgICBmb3IgKGF1dG8mIHJlcXVlc3QgOiBwZW5kaW5n
UHV0UmVxdWVzdHMpCisgICAgICAgIHB1dChXVEZNb3ZlKHJlcXVlc3QucmVjb3JkcyksIFdURk1v
dmUocmVxdWVzdC5jYWxsYmFjaykpOworfQorCiB2b2lkIENhY2hlOjpyZW1vdmUoV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0JiYgcmVxdWVzdCwgV2ViQ29yZTo6Q2FjaGVRdWVyeU9wdGlvbnMmJiBv
cHRpb25zLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2spCiB7CiAgICAgQVNT
RVJUKG1fc3RhdGUgPT0gU3RhdGU6Ok9wZW4pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oCmluZGV4
IGNmMWIzYjYxM2UxNTFmZDBiNjI3MDk5MmIyNmFlOTE0NTUyMTljMjkuLjIyZWE0MDc5YTM4NWM4
OGQ5MTU5YzNhN2NhMGNmNTMwZDkxNjUzM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmgKQEAg
LTY5LDcgKzY5LDggQEAgcHVibGljOgogICAgIHZvaWQgcmV0cmlldmVSZWNvcmRzKGNvbnN0IFVS
TCYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRzQ2FsbGJhY2smJik7CiAgICAgV2Vi
Q29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSW5mbyBpbmZvKCkgY29uc3QgeyByZXR1cm4geyBt
X2lkZW50aWZpZXIsIG1fbmFtZSB9OyB9CiAKLSAgICB2b2lkIHB1dChWZWN0b3I8V2ViQ29yZTo6
RE9NQ2FjaGVFbmdpbmU6OlJlY29yZD4mJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29y
ZElkZW50aWZpZXJzQ2FsbGJhY2smJik7CisgICAgZW51bSBjbGFzcyBDYW5SZXF1ZXN0TW9yZVNw
YWNlIHsgWWVzLCBObyB9OworICAgIHZvaWQgcHV0KFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVu
Z2luZTo6UmVjb3JkPiYmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkSWRlbnRpZmll
cnNDYWxsYmFjayYmLCBDYW5SZXF1ZXN0TW9yZVNwYWNlID0gQ2FuUmVxdWVzdE1vcmVTcGFjZTo6
WWVzKTsKICAgICB2b2lkIHJlbW92ZShXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiwgV2ViQ29y
ZTo6Q2FjaGVRdWVyeU9wdGlvbnMmJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElk
ZW50aWZpZXJzQ2FsbGJhY2smJik7CiAKICAgICBWZWN0b3I8TmV0d29ya0NhY2hlOjpLZXk+IGtl
eXMoKSBjb25zdDsKQEAgLTc3LDYgKzc4LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlzcG9zZSgp
OwogICAgIHZvaWQgY2xlYXJNZW1vcnlSZXByZXNlbnRhdGlvbigpOwogCisgICAgdm9pZCByZXRy
eVB1dHRpbmdQZW5kaW5nUmVjb3JkcygpOworCiAgICAgc3RhdGljIE9wdGlvbmFsPFdlYkNvcmU6
OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+IGRlY29kZShjb25zdCBOZXR3b3JrQ2FjaGU6OlN0b3Jh
Z2U6OlJlY29yZCYpOwogICAgIHN0YXRpYyBOZXR3b3JrQ2FjaGU6OlN0b3JhZ2U6OlJlY29yZCBl
bmNvZGUoY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mLCBjb25zdCBXZWJDb3JlOjpET01DYWNoZUVu
Z2luZTo6UmVjb3JkJik7CiAKQEAgLTEyMCw2ICsxMjMsMTIgQEAgcHJpdmF0ZToKICAgICBIYXNo
TWFwPFN0cmluZywgVmVjdG9yPFJlY29yZEluZm9ybWF0aW9uPj4gbV9yZWNvcmRzOwogICAgIHVp
bnQ2NF90IG1fbmV4dFJlY29yZElkZW50aWZpZXIgeyAwIH07CiAgICAgVmVjdG9yPFdlYkNvcmU6
OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2s+IG1fcGVuZGluZ09wZW5pbmdDYWxs
YmFja3M7CisKKyAgICBzdHJ1Y3QgUGVuZGluZ1B1dFJlcXVlc3QgeworICAgICAgICBWZWN0b3I8
V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZD4gcmVjb3JkczsKKyAgICAgICAgV2ViQ29y
ZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElkZW50aWZpZXJzQ2FsbGJhY2sgY2FsbGJhY2s7Cisg
ICAgfTsKKyAgICBWZWN0b3I8UGVuZGluZ1B1dFJlcXVlc3Q+IG1fcGVuZGluZ1B1dFJlcXVlc3Rz
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgQ2FjaGVTdG9yYWdlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5jcHAKaW5kZXggZmFhODhjOTYzYzM2Zjc2MjIyODdkNzhiNTdlZWIxMzQ1OWFkZTVlNS4u
OTkzYjZhYjVlN2QwZDJiNDhlMzdjOTgzMTVlZWExNzRhNjNlOGE2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGVzLmNwcApAQCAtNDgxLDkgKzQ4MSwzNiBAQCB2b2lkIENhY2hlczo6cmVhZFJl
Y29yZHNMaXN0KENhY2hlJiBjYWNoZSwgTmV0d29ya0NhY2hlOjpTdG9yYWdlOjpUcmF2ZXJzZUhh
bmRsZQogCiB2b2lkIENhY2hlczo6cmVxdWVzdFNwYWNlKHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQs
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykK
IHsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50IHF1b3RhIGluY3JlYXNlIHJlcXVlc3QuCi0gICAg
QVNTRVJUKG1fcXVvdGEgPCBtX3NpemUgKyBzcGFjZVJlcXVpcmVkKTsKLSAgICBjYWxsYmFjayhF
cnJvcjo6UXVvdGFFeGNlZWRlZCk7CisgICAgQVNTRVJUKCFtX2lzUmVxdWVzdGluZ1NwYWNlKTsK
KworICAgIGF1dG8gbWluaW11bU5ld1F1b3RhID0gbV9zaXplICsgc3BhY2VSZXF1aXJlZDsKKyAg
ICBBU1NFUlQobV9xdW90YSA8IG1pbmltdW1OZXdRdW90YSk7CisKKyAgICBpZiAoIW1fZW5naW5l
KSB7CisgICAgICAgIGNhbGxiYWNrKEVycm9yOjpRdW90YUV4Y2VlZGVkKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIG1faXNSZXF1ZXN0aW5nU3BhY2UgPSB0cnVlOworICAgIG1fZW5n
aW5lLT5yZXF1ZXN0U3BhY2UobV9vcmlnaW4sIG1fcXVvdGEsIG1fc2l6ZSwgc3BhY2VSZXF1aXJl
ZCwgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBtYWtlUmVmKCp0aGlzKSwgbWluaW11bU5ld1F1b3Rh
LCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoT3B0aW9uYWw8dWludDY0X3Q+IG5ld1F1
b3RhKSB7CisgICAgICAgIG1faXNSZXF1ZXN0aW5nU3BhY2UgPSBmYWxzZTsKKyAgICAgICAgaWYg
KCFuZXdRdW90YSB8fCAqbmV3UXVvdGEgPCBtaW5pbXVtTmV3UXVvdGEpIHsKKyAgICAgICAgICAg
IGNhbGxiYWNrKEVycm9yOjpRdW90YUV4Y2VlZGVkKTsKKyAgICAgICAgICAgIG5vdGlmeUNhY2hl
c09mUmVxdWVzdFNwYWNlRW5kKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAg
ICAgICAgbV9xdW90YSA9ICpuZXdRdW90YTsKKyAgICAgICAgY2FsbGJhY2soeyB9KTsKKyAgICAg
ICAgbm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VFbmQoKTsKKyAgICB9KTsKK30KKwordm9pZCBD
YWNoZXM6Om5vdGlmeUNhY2hlc09mUmVxdWVzdFNwYWNlRW5kKCkKK3sKKyAgICBmb3IgKGF1dG8m
IGNhY2hlIDogbV9jYWNoZXMpCisgICAgICAgIGNhY2hlLnJldHJ5UHV0dGluZ1BlbmRpbmdSZWNv
cmRzKCk7CisgICAgZm9yIChhdXRvJiBjYWNoZSA6IG1fcmVtb3ZlZENhY2hlcykKKyAgICAgICAg
Y2FjaGUucmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMoKTsKIH0KIAogdm9pZCBDYWNoZXM6Ondy
aXRlUmVjb3JkKGNvbnN0IENhY2hlJiBjYWNoZSwgY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mIHJl
Y29yZEluZm9ybWF0aW9uLCBSZWNvcmQmJiByZWNvcmQsIHVpbnQ2NF90IHByZXZpb3VzUmVjb3Jk
U2l6ZSwgQ29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNo
ZXMuaAppbmRleCBmOGU3MmJmZWU3MjkxNWYwMzIzYTYwMzUyYTQ4MmRiNDZlODUyNTQ0Li40ODk2
MjJjZWVkMTNiYzVlODNiNWI5MWJlODI0YWIwODhlYjYxNGY2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmgKQEAgLTYxLDYgKzYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVhZFJlY29yZChj
b25zdCBOZXR3b3JrQ2FjaGU6OktleSYsIFdURjo6RnVuY3Rpb248dm9pZChFeHBlY3RlZDxXZWJD
b3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6RXJy
b3I+JiYpPiYmKTsKIAogICAgIGJvb2wgaGFzRW5vdWdoU3BhY2UodWludDY0X3Qgc3BhY2VSZXF1
aXJlZCkgY29uc3QgeyByZXR1cm4gbV9xdW90YSA+PSBtX3NpemUgKyBzcGFjZVJlcXVpcmVkOyB9
CisgICAgYm9vbCBpc1JlcXVlc3RpbmdTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXF1ZXN0
aW5nU3BhY2U7IH0KICAgICB2b2lkIHJlcXVlc3RTcGFjZSh1aW50NjRfdCBzcGFjZVJlcXVpcmVk
LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOwogICAgIHZv
aWQgd3JpdGVSZWNvcmQoY29uc3QgQ2FjaGUmLCBjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYsIFdl
YkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQmJiwgdWludDY0X3QgcHJldmlvdXNSZWNvcmRT
aXplLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYpOwogCkBA
IC05Myw3ICs5NCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgbWFrZURpcnR5KCkgeyArK21fdXBk
YXRlQ291bnRlcjsgfQogICAgIGJvb2wgaXNEaXJ0eSh1aW50NjRfdCB1cGRhdGVDb3VudGVyKSBj
b25zdDsKIAorICAgIHZvaWQgbm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VFbmQoKTsKKwogICAg
IGJvb2wgbV9pc0luaXRpYWxpemVkIHsgZmFsc2UgfTsKKyAgICBib29sIG1faXNSZXF1ZXN0aW5n
U3BhY2UgeyBmYWxzZSB9OwogICAgIEVuZ2luZSogbV9lbmdpbmUgeyBudWxscHRyIH07CiAgICAg
dWludDY0X3QgbV91cGRhdGVDb3VudGVyIHsgMCB9OwogICAgIFdlYkNvcmU6OkNsaWVudE9yaWdp
biBtX29yaWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4
IGM0ODFmMzM3ZmJkYmQxNWY3MDI1MzJjNDFjNDEwNWYzOTIzM2RmYTEuLmZhMmExMTcyNzYxNmZm
ZmU1OWQ0YjBiODk0OGY4NTBjY2M2OWVjYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2Ny
aXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtp
dC9tZXNzYWdlcy5weQpAQCAtMTk3LDYgKzE5Nyw3IEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9u
c19hbmRfaGVhZGVycyhyZWNlaXZlcik6CiAgICAgbm9fZm9yd2FyZF9kZWNsYXJhdGlvbl90eXBl
cyA9IGZyb3plbnNldChbCiAgICAgICAgICdNYWNoU2VuZFJpZ2h0JywKICAgICAgICAgJ1N0cmlu
ZycsCisgICAgICAgICdXZWJDb3JlOjpET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50
aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyJywKICAgICAgICAg
J1dlYkNvcmU6OkZldGNoSWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllcicsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCA0YTc5MWYzNWMzMGZhY2U0NzRkNDU5
ZjFmMjIyMjVmODZkOTU5NWRhLi5lMjllMTQzNWIyODYzNDBkYmM2ZGNiODIwN2I4MjUzODBlYzQ0
NGI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5jcHAKQEAgLTcyOCw2ICs3MjgsMTkgQEAgdm9pZCBOZXR3b3JrUHJv
Y2Vzc1Byb3h5Ojplc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nl
c3NGb3JFeHAKIH0KICNlbmRpZgogCit2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OnJlcXVlc3RD
YWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNh
Y2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciByZXF1ZXN0SWRlbnRpZmllciwgY29u
c3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgdWludDY0X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJl
bnRTaXplLCB1aW50NjRfdCBzcGFjZVJlcXVpcmVkKQoreworICAgIGF1dG8qIHN0b3JlID0gd2Vi
c2l0ZURhdGFTdG9yZUZyb21TZXNzaW9uSUQoc2Vzc2lvbklEKTsKKworICAgIGlmICghc3RvcmUp
IHsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFuc3dlclRvQ2FjaGVT
dG9yYWdlU3BhY2VSZXF1ZXN0IHsgc2Vzc2lvbklELCByZXF1ZXN0SWRlbnRpZmllciwgeyB9IH0s
IDApOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6IEFzayBXZWJzaXRl
RGF0YVN0b3JlIGFib3V0IHVwZGF0aW5nIHRoZSBxdW90YSBmb3IgdGhpcyBvcmlnaW4uCisgICAg
c2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6OkFuc3dlclRvQ2FjaGVTdG9yYWdlU3BhY2VS
ZXF1ZXN0IHsgc2Vzc2lvbklELCByZXF1ZXN0SWRlbnRpZmllciwgcXVvdGEgfSwgMCk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApp
bmRleCA0ZmU1Y2U3YTQ1NmVkYjViNDMyYzAxOGYzNzdiMzkyNDNjZmE1NDdlLi5mZjc4YjdhNTU2
NDYyZjM5MzAyNjlkZWI2OTZmM2JhYTNhNzRlMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMTY1LDYgKzE2
NSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlv
blRvTmV0d29ya1Byb2Nlc3NGb3JFeHBsaWNpdFNlc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhJiYsIFBBTDo6U2Vzc2lvbklEKTsKICNlbmRpZgogCisgICAgdm9pZCByZXF1ZXN0Q2Fj
aGVTdG9yYWdlU3BhY2UoUEFMOjpTZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRl
bnNpb25SZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgdWlu
dDY0X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50NjRfdCBzcGFjZVJlcXVpcmVk
KTsKKwogICAgIFdlYnNpdGVEYXRhU3RvcmUqIHdlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lvbklE
KFBBTDo6U2Vzc2lvbklEKTsKIAogICAgIC8vIFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjU2NDFmOTY5MDUwODIwZDU1ZWY4N2Q4YmUw
NTg5OTFjOWM3NjNjYy4uODBhYjIxNjAxNDdlNzQwNWNjNDhhMDA5NmM1MWI3N2Q5YTA1YzlmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c1Byb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjIsNCArNjIsNiBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBFc3RhYmxpc2hX
b3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3Moc3RydWN0IFdlYkNvcmU6OlNl
Y3VyaXR5T3JpZ2luRGF0YSBvcmlnaW4pCiAgICAgRXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5l
Y3Rpb25Ub05ldHdvcmtQcm9jZXNzRm9yRXhwbGljaXRTZXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luLCBQQUw6OlNlc3Npb25JRCBleHBsaWNpdFNlc3Npb24p
CiAjZW5kaWYKKworICAgIFJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCBz
ZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmll
ciByZXF1ZXN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4s
IHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1
aXJlZCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358762</attachid>
            <date>2019-01-09 16:18:34 -0800</date>
            <delta_ts>2019-01-09 16:24:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193296-20190109161831.patch</filename>
            <type>text/plain</type>
            <size>28906</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVjNThlNjI4NGYyODY1
ODMzNjNhOTc2N2UwYzIzY2YwY2VlMzgwOS4uZjE2ZDRhMWY0MDQ4NzdiMTU5Y2QxNDM3MWQwYWZm
ZGY1ZjM2YjE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIGNhY2hlIHF1b3Rh
IHJlcXVlc3QgZnJvbSBOZXR3b3JrIFByb2Nlc3MgdG8gVUlQcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMyOTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVx
dWVzdElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDE5LTAxLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0RhdGFsaXN0XSBDcmFzaCB3aGVuIGlucHV0IHdpdGggZGF0YWxpc3Qg
aXMgZHluYW1pY2FsbHkgYWRkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxMTk3ZWY1NGQ2NWE1MDQwZGFiMDEw
YTQ4ZmJhMzQwMjllYjMzYzQuLmE4ZWQ2NmZjN2Q1NzUwMDQzNzU2YjYxMTQ1MmM0YmZmZTI5ZTFl
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTktMDEtMDkgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgY2FjaGUgcXVvdGEgcmVxdWVzdCBm
cm9tIE5ldHdvcmsgUHJvY2VzcyB0byBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY2FjaGUgc3RvcmFnZSBoaXRzIHF1b3RhIGZv
ciBhIGdpdmVuIG9yaWdpbiwgcGlwZSB0aGUgcmVxdWVzdCBiYWNrIHRvIE5ldHdvcmtQcm9jZXNz
LgorICAgICAgICBObyByZWNvcmQgd2lsbCBiZSBwdXQgdW50aWwgdGhlIHF1b3RhIHJlcXVlc3Qg
aXMgYW5zd2VyZWQuCisgICAgICAgIFRoZSByZXF1ZXN0IGlzIHNlbnQgZnJvbSBDYWNoZVN0b3Jh
Z2U6OkNhY2hlcyB0byBDYWNoZVN0b3JhZ2U6OkVuZ2luZSBhbmQgdG8gTmV0d29ya1Byb2Nlc3Mu
CisgICAgICAgIE5ldHdvcmtQcm9jZXNzIHRoZW4gc2VuZHMgaXQgdG8gTmV0d29ya1Byb2Nlc3NQ
cm94eS4KKyAgICAgICAgQ3VycmVudGx5IE5ldHdvcmtQcm9jZXNzUHJveHkganVzdCBhbnN3ZXJz
IGJ5IGtlZXBpbmcgdGhlIHF1b3RhIGFzIGl0IGlzLgorICAgICAgICBJbiB0aGUgZnV0dXJlLCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5IHNob3VsZCBtYWtlIGEgZGVsZWdhdGUgY2FsbCB0byBsZXQgdGhl
IGFwcCB1c2luZyBXZWJLaXQKKyAgICAgICAgbWFrZSBhIGRlY2lzaW9uIG9uIHRoZSBxdW90YS4g
VGhpcyB3aWxsIGFsbG93IHByb21wdGluZyB1c2VyIHRvIGJ1bXAgaXQgYXMgZG9uZSBmb3Igb3Ro
ZXIgZGF0YS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFj
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjphbnN3ZXJUb0NhY2hlU3RvcmFn
ZVNwYWNlUmVxdWVzdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6ZnJvbSk6CisgICAgICAgIChX
ZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjpFbmdpbmUpOgorICAgICAgICAoV2ViS2l0OjpD
YWNoZVN0b3JhZ2U6OkVuZ2luZTo6cmVxdWVzdFNwYWNlKToKKyAgICAgICAgKFdlYktpdDo6Q2Fj
aGVTdG9yYWdlOjpFbmdpbmU6OmFuc3dlclRvU3BhY2VSZXF1ZXN0KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGU6OnB1dCk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3Rv
cmFnZTo6Q2FjaGU6OnJldHJ5UHV0dGluZ1BlbmRpbmdSZWNvcmRzKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZXF1ZXN0U3BhY2UpOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6bm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VF
bmQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5oOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6aXNSZXF1ZXN0
aW5nU3BhY2UgY29uc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Ogor
ICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0Q2FjaGVTdG9yYWdlU3Bh
Y2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2Vz
LmluOgorCiAyMDE5LTAxLTA5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFtpT1NdIFVwZGF0ZSBzYW5kYm94IHByb2ZpbGUgdG8gdXNlIGljb25zZXJ2aWNl
cyBpbnN0ZWFkIG9mIGxzZGljb25zZXJ2aWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0RPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVz
dElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Zjc3YTVmOWI0YzExOWI0ODdhNWQ0YjUxNDIxZDY5
YjI0ZjJkNDRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRl
bnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gRE9NQ2FjaGVRdW90YUV4
dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBET01DYWNoZVF1b3RhRXh0
ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPERPTUNhY2hlUXVvdGFF
eHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllclR5cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggM2VjNjY3ODI0NTQ0MDFlZjk5ZjE0MGViOTk3YzMwNmU3MGVkY2M1MC4uZThlMWEwMjQ1
ZTdiOTcwNzAxOWYzMjgzOTNjZjJiMTFhOWRlYjhjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA2Niw2ICsxMDY2LDcgQEAK
IAkJNDExMDNBQUQxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMDNB
QTkxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oICovOyB9
OwogCQk0MTEwM0FBRDFFMzk3OTEwMDA3NjlGMTQgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMTAzQUE5MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5oICovOyB9OwogCQk0MTEyQjU0MzFGOUY5Q0EwMDBFNjc4NzUgLyogU2VydmljZVdvcmtl
clRocmVhZFByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTEyQjUzRjFGOUY5QzlCMDBFNjc4NzUgLyogU2VydmljZVdvcmtlclRocmVhZFByb3h5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDEx
OERDMTMyMUU2N0UzQjAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDExOERDMTEyMUU2N0UzNDAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0
SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxMjMwODFCMTM4QzQyOTcwMEJDQ0ZDQSAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjE5QjFBMDgy
NDVFNUEwMDFFOUFCQyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJNDEyMzA5MTMxMzhD
NDJGRjAwQkNDRkNBIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEz
MSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTQxMjlDOTk3MUY1OUI5NjMw
MDlENzQwMyAvKiBGZXRjaEJvZHlTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzAxNUQ2MUM3QjU3MDQwMDA5MUM2RiAvKiBGZXRjaEJvZHlT
b3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNzIzOCw2ICs3MjM5LDcgQEAKIAkJNDExODlFRjcxQUQ4MjMyODAwQjkwQTBEIC8qIFJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTE4OUVGNzFBRDgyMzI4MDBCOTNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5RUY3MUFEODIz
MjgwMEI5NTY3MiAvKiBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDExOERDMTEyMUU2N0UzNDAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFF
eHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyMDlFOTEyMTZENTkzQzAwQTczQTEyIC8qIFJUQ0NlcnRp
ZmljYXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENDZXJ0aWZpY2F0ZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjA5RTkzMjE2RDVDNzkwMEE3M0ExMiAvKiBS
VENDZXJ0aWZpY2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENDZXJ0
aWZpY2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTIwOUU5NDIxNkVBNjlB
MDBBNzNBMTIgLyogUlRDQ2VydGlmaWNhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUlRDQ2VydGlmaWNhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTczNTYsNiArMTczNTgsNyBAQAogCQkJCTQxMzgwQzIzMUYzNDM2OTQwMDE1NUZEQSAv
KiBET01DYWNoZS5pZGwgKi8sCiAJCQkJNDFGQUJEMkUxRjRFMDI1MTAwNkE2Qzk3IC8qIERPTUNh
Y2hlRW5naW5lLmNwcCAqLywKIAkJCQk0MUZBQkQyQjFGNERGRTQyMDA2QTZDOTcgLyogRE9NQ2Fj
aGVFbmdpbmUuaCAqLywKKwkJCQk0MTE4REMxMTIxRTY3RTM0MDBERTA0QzcgLyogRE9NQ2FjaGVR
dW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmggKi8sCiAJCQkJNDEzODBDMjExRjM0MzY4
RDAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5jcHAgKi8sCiAJCQkJNDEzODBDMjIxRjM0MzY5
MDAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5oICovLAogCQkJCTQxMzgwQzI0MUYzNDM2OTcw
MDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaWRsICovLApAQCAtMzAxMjksNiArMzAxMzIsNyBA
QAogCQkJCTFBNzYyQzdBMEEwNzRGMjYwMDk4OUY1QiAvKiBKU1hQYXRoUmVzdWx0LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0VGRTFFQjBEQ0E1RjY0MDA3MzkyMTkgLyogSlNYU0xUUHJvY2Vzc29y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0I3NEVGNjFGM0UwQkYyMDA5OTZCQzcgLyogS2VlcGFs
aXZlUmVxdWVzdFRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMThEQzEzMjFFNjdFM0Iw
MERFMDRDNyAvKiBET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTg1MDMxQjQ0MEE0NEVGQzcwMEY5OTJFMCAvKiBLZXlib2FyZEV2ZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUwMEQ1OTE4MkRBQzhEMDAwODdERDcgLyogS2V5ZWRD
b2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxN0E2M0M1MUI3NDMxOEYwMEU3RENEQyAvKiBL
ZXllZERlY29kZXJDRi5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDE2ZjlmN2QwYjE3YzMyY2RlZjg5NWYz
MDlhMDY1MThlM2NlNzM2MmYuLjk4Yzg1NTZkZTVjMTUzYmIwYTRjZWFmMDNlNDFjZjdjMjI4Yjk2
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25NYW5hZ2VyLmgiCisj
aW5jbHVkZSAiQ2FjaGVTdG9yYWdlRW5naW5lLmgiCiAjaW5jbHVkZSAiQ2hpbGRQcm9jZXNzTWVz
c2FnZXMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQ
cm94eU1lc3NhZ2VzLmgiCkBAIC0xMzc1LDYgKzEzNzYsMTggQEAgdm9pZCBOZXR3b3JrUHJvY2Vz
czo6YWRkU2VydmljZVdvcmtlclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBTdHJp
bmcmIHMKIH0KICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKK3ZvaWQgTmV0d29y
a1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9u
SUQsIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciByZXF1ZXN0SWRlbnRp
ZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRf
dCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCkKK3sKKyAgICBwYXJlbnRQcm9j
ZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpSZXF1
ZXN0Q2FjaGVTdG9yYWdlU3BhY2Uoc2Vzc2lvbklELCByZXF1ZXN0SWRlbnRpZmllciwgb3JpZ2lu
LCBxdW90YSwgY3VycmVudFNpemUsIHNwYWNlUmVxdWlyZWQpLCAwKTsKK30KKwordm9pZCBOZXR3
b3JrUHJvY2Vzczo6cmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkKFBBTDo6U2Vzc2lv
bklEIHNlc3Npb25JRCwgRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKK3sKKyAgICBDYWNoZVN0b3Jh
Z2U6OkVuZ2luZTo6ZnJvbSgqdGhpcywgc2Vzc2lvbklELCBbaWRlbnRpZmllciwgbmV3UXVvdGFd
KGF1dG8mIGVuZ2luZSkgeworICAgICAgICBlbmdpbmUuYW5zd2VyVG9TcGFjZVJlcXVlc3QoaWRl
bnRpZmllciwgbmV3UXVvdGEpOworICAgIH0pOworfQorCiAjaWYgIVBMQVRGT1JNKENPQ09BKQog
dm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MoY29uc3QgQ2hpbGRQcm9jZXNz
SW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBjZWM4OGVlNTQ0MWI4ZjVkNTU3NzQzMTU5MzJj
YmI0OWY1OTFjZmIzLi5kMTdhOTBkMzNhNjkyY2FkZGRmNmEzZTczZGJiOTdjNzJjY2JmYTRhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC0z
MSw2ICszMSw4IEBACiAjaW5jbHVkZSAiTmV0d29ya0NvbnRlbnRSdWxlTGlzdE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIgogI2luY2x1ZGUgIlNhbmRi
b3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvRmV0Y2hJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9JREJLZXlEYXRhLmg+
CkBAIC00NCw2ICs0Niw3IEBACiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5o
PgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNz
IEZvcm1EYXRhUmVmZXJlbmNlOwpAQCAtOTYsNiArOTksNyBAQCBjbGFzcyBOZXR3b3JrUHJvY2Vz
cyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQs
IHB1YgogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgICwgcHVibGljIFdlYkNvcmU6
OklEQlNlcnZlcjo6SURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIKICNlbmRpZgor
ICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtQcm9jZXNzPgogewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE5ldHdvcmtQcm9jZXNzKTsKIHB1YmxpYzoKQEAgLTIxNiwxMSArMjIw
LDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVmKCkgY29uc3Qgb3ZlcnJpZGUgeyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxOZXR3b3JrUHJvY2Vzcz46OnJlZigpOyB9CiAgICAgdm9pZCBkZXJlZigp
IGNvbnN0IG92ZXJyaWRlIHsgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29ya1Byb2Nlc3M+Ojpk
ZXJlZigpOyB9Ci0gICAgCisKICAgICBDYWNoZVN0b3JhZ2U6OkVuZ2luZSogZmluZENhY2hlRW5n
aW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAgICAgQ2FjaGVTdG9yYWdlOjpFbmdpbmUmIGVu
c3VyZUNhY2hlRW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiwgRnVuY3Rpb248UmVmPENhY2hl
U3RvcmFnZTo6RW5naW5lPigpPiYmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlRW5naW5lKGNvbnN0
IFBBTDo6U2Vzc2lvbklEJik7Ci0gICAgCisKKyAgICB2b2lkIHJlcXVlc3RDYWNoZVN0b3JhZ2VT
cGFjZShQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6RE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVl
c3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCB1aW50NjRfdCBxdW90
YSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQpOworICAgIHZv
aWQgcmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkKFBBTDo6U2Vzc2lvbklELCBXZWJD
b3JlOjpET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIsIE9wdGlvbmFsPHVp
bnQ2NF90PiBuZXdRdW90YSk7CisKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nlc3MoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
bWVzc2FnZXMuaW4KaW5kZXggOGQ4NzIyNGJmMzExZTc3ZTU1YTIxMDg3M2E0YTdhNTQzZDFlMWYw
Mi4uYzlhNDY4ODc3OWUyYzU1NGUyODBhYTk5ZGNlNzEyZmRhYWJjZmQ4NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2Vz
LmluCkBAIC0xMjUsNCArMTI1LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5
UmVjZWl2ZXIgewogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFNldElEQlBlck9y
aWdpblF1b3RhKHVpbnQ2NF90IHF1b3RhKQogI2VuZGlmCisKKyAgICBSZXF1ZXN0Q2FjaGVTdG9y
YWdlU3BhY2VDb21wbGV0ZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpET01D
YWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIE9w
dGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAppbmRleCA4MDFk
MjJlMmFkZTgyZTg1ZDliODVjMGQ1YTUyNzRiNzhhZWE4NzA5Li40OGY5Nzc1MWQ2YjJiNWQ1YTVj
MmY3MDM4MmUyZjZiMTE4ZDZkNWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBAIC04NSw3ICs4NSw3
IEBAIHZvaWQgRW5naW5lOjpmcm9tKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgUEFM
OjpTZXNzaW9uSUQgc2Vzc2lvbklELCBGdW5jCiAKICAgICBuZXR3b3JrUHJvY2Vzcy5jYWNoZVN0
b3JhZ2VQYXJhbWV0ZXJzKHNlc3Npb25JRCwgW25ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3
b3JrUHJvY2VzcyksIHNlc3Npb25JRCwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKGF1
dG8mJiByb290UGF0aCwgYXV0byBxdW90YSkgbXV0YWJsZSB7CiAgICAgICAgIGNhbGxiYWNrKG5l
dHdvcmtQcm9jZXNzLT5lbnN1cmVDYWNoZUVuZ2luZShzZXNzaW9uSUQsIFsmXSB7Ci0gICAgICAg
ICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFbmdpbmUgeyBTdHJpbmcgeyByb290UGF0aCB9LCBx
dW90YSB9KTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEVuZ2luZSB7IHNlc3Np
b25JRCwgbmV0d29ya1Byb2Nlc3MuZ2V0KCksIFN0cmluZyB7IHJvb3RQYXRoIH0sIHF1b3RhIH0p
OwogICAgICAgICB9KSk7CiAgICAgfSk7CiB9CkBAIC0xODgsOCArMTg4LDEwIEBAIHZvaWQgRW5n
aW5lOjpjbGVhckNhY2hlc0Zvck9yaWdpbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3Ms
IFBBTDo6U2Vzc2lvbklECiAgICAgfSk7CiB9CiAKLUVuZ2luZTo6RW5naW5lKFN0cmluZyYmIHJv
b3RQYXRoLCB1aW50NjRfdCBxdW90YSkKLSAgICA6IG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0
aCkpCitFbmdpbmU6OkVuZ2luZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE5ldHdvcmtQcm9j
ZXNzJiBwcm9jZXNzLCBTdHJpbmcmJiByb290UGF0aCwgdWludDY0X3QgcXVvdGEpCisgICAgOiBt
X3Nlc3Npb25JRChzZXNzaW9uSUQpCisgICAgLCBtX25ldHdvcmtQcm9jZXNzKG1ha2VXZWFrUHRy
KCZwcm9jZXNzKSkKKyAgICAsIG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0aCkpCiAgICAgLCBt
X3F1b3RhKHF1b3RhKQogewogICAgIGlmICghbV9yb290UGF0aC5pc051bGwoKSkKQEAgLTY1MSw2
ICs2NTMsMTggQEAgU3RyaW5nIEVuZ2luZTo6cmVwcmVzZW50YXRpb24oKQogICAgIHJldHVybiBi
dWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKK3ZvaWQgRW5naW5lOjpyZXF1ZXN0U3BhY2UoY29uc3Qg
Q2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6
ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25h
bDx1aW50NjRfdD4pPiYmIGNhbGxiYWNrKQoreworICAgIG1fZXh0ZW5kUXVvdGFDYWxsYmFja3Mu
YWRkKCsrbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRlciwgV1RGTW92ZShjYWxsYmFjaykpOworICAg
IE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5yZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2UobV9z
ZXNzaW9uSUQsIG1ha2VPYmplY3RJZGVudGlmaWVyPERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1
ZXN0SWRlbnRpZmllclR5cGU+KG1fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIpLCBvcmlnaW4sIHF1
b3RhLCBjdXJyZW50U2l6ZSwgc3BhY2VSZXF1aXJlZCk7Cit9CisKK3ZvaWQgRW5naW5lOjphbnN3
ZXJUb1NwYWNlUmVxdWVzdChET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIg
cmVxdWVzdElkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKK3sKKyAgICBp
ZiAoYXV0byBjYWxsYmFjayA9IG1fZXh0ZW5kUXVvdGFDYWxsYmFja3MudGFrZShyZXF1ZXN0SWRl
bnRpZmllci50b1VJbnQ2NCgpKSkKKyAgICAgICAgY2FsbGJhY2sobmV3UXVvdGEpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBDYWNoZVN0b3JhZ2UKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVu
Z2luZS5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmUuaAppbmRleCAxZWJjYjczNjE2NTcwZGY1MDczY2ZmZDViNWVkMDg1NDE0ZDhkMjE2Li45
NmEzZmMwODNjZjc1Njc0ZTlhNDUwOWI3NDA1ZmFiMGJkMTQ4MzdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgK
QEAgLTI5LDYgKzI5LDcgQEAKICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVEYXRhLmgiCiAjaW5jbHVk
ZSAiV2Vic2l0ZURhdGEuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmg+
CiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CkBAIC05MCw4ICs5MSwxMiBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgTmV0d29ya0NhY2hlOjpTYWx0JiBzYWx0KCkgY29uc3QgeyByZXR1cm4gbV9zYWx0LnZh
bHVlKCk7IH0KICAgICB1aW50NjRfdCBuZXh0Q2FjaGVJZGVudGlmaWVyKCkgeyByZXR1cm4gKytt
X25leHRDYWNoZUlkZW50aWZpZXI7IH0KIAorICAgIHVzaW5nIEV4dGVuZFF1b3RhQ2FsbGJhY2sg
PSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPHVpbnQ2NF90Pik+OworICAgIHZvaWQg
cmVxdWVzdFNwYWNlKGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIHVpbnQ2NF90IHF1b3Rh
LCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgRXh0ZW5kUXVv
dGFDYWxsYmFjayYmKTsKKyAgICB2b2lkIGFuc3dlclRvU3BhY2VSZXF1ZXN0KFdlYkNvcmU6OkRP
TUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciwgT3B0aW9uYWw8dWludDY0X3Q+
IG5ld1F1b3RhKTsKKwogcHJpdmF0ZToKLSAgICBFbmdpbmUoU3RyaW5nJiYgcm9vdFBhdGgsIHVp
bnQ2NF90IHF1b3RhKTsKKyAgICBFbmdpbmUoUEFMOjpTZXNzaW9uSUQsIE5ldHdvcmtQcm9jZXNz
JiwgU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKTsKIAogICAgIHZvaWQgb3Blbihj
b25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBjb25zdCBTdHJpbmcmIGNhY2hlTmFtZSwgV2Vi
Q29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmllckNhbGxiYWNrJiYpOwogICAgIHZv
aWQgcmVtb3ZlKHVpbnQ2NF90IGNhY2hlSWRlbnRpZmllciwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdp
bmU6OkNhY2hlSWRlbnRpZmllckNhbGxiYWNrJiYpOwpAQCAtMTI5LDYgKzEzNCw4IEBAIHByaXZh
dGU6CiAKICAgICBDYWNoZSogY2FjaGUodWludDY0X3QgY2FjaGVJZGVudGlmaWVyKTsKIAorICAg
IFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOworICAgIFdlYWtQdHI8TmV0d29ya1Byb2Nlc3M+
IG1fbmV0d29ya1Byb2Nlc3M7CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFJl
ZlB0cjxDYWNoZXM+PiBtX2NhY2hlczsKICAgICB1aW50NjRfdCBtX25leHRDYWNoZUlkZW50aWZp
ZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fcm9vdFBhdGg7CkBAIC0xMzksNiArMTQ2LDcgQEAgcHJp
dmF0ZToKICAgICBWZWN0b3I8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxs
YmFjaz4gbV9pbml0aWFsaXphdGlvbkNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBX
ZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrPiBtX3BlbmRpbmdXcml0
ZUNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IE5ldHdvcmtDYWNoZTo6RGF0YSYsIGludCBlcnJvcik+PiBtX3BlbmRpbmdSZWFkQ2Fs
bGJhY2tzOworICAgIEhhc2hNYXA8dWludDY0X3QsIEV4dGVuZFF1b3RhQ2FsbGJhY2s+IG1fZXh0
ZW5kUXVvdGFDYWxsYmFja3M7CiAgICAgdWludDY0X3QgbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRl
ciB7IDAgfTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKaW5kZXggZTQ1MmRiYTVl
MzMxMzU0NTkyY2U5MjBjYzI4NGJhNjYyM2YwYWE1YS4uZmVkODgyMDE1OTJlZDZjYzc3MzYxNjIz
ZTNhNTRhZjlkZDEwZWNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKQEAgLTQwMCwx
MCArNDAwLDE1IEBAIHZvaWQgQ2FjaGU6OnN0b3JlUmVjb3JkcyhWZWN0b3I8UmVjb3JkPiYmIHJl
Y29yZHMsIFJlY29yZElkZW50aWZpZXJzQ2FsbGJhY2smJiBjCiAgICAgfQogfQogCi12b2lkIENh
Y2hlOjpwdXQoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxi
YWNrJiYgY2FsbGJhY2spCit2b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRz
LCBSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2ssIENhblJlcXVlc3RNb3JlU3Bh
Y2UgY2FuUmVxdWVzdE1vcmVTcGFjZSkKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6
T3Blbik7CiAKKyAgICBpZiAobV9jYWNoZXMuaXNSZXF1ZXN0aW5nU3BhY2UoKSkgeworICAgICAg
ICBtX3BlbmRpbmdQdXRSZXF1ZXN0cy5hcHBlbmQoeyBXVEZNb3ZlKHJlY29yZHMpLCBXVEZNb3Zl
KGNhbGxiYWNrKSB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFdlYkNvcmU6OkNh
Y2hlUXVlcnlPcHRpb25zIG9wdGlvbnM7CiAgICAgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCA9IDA7
CiAKQEAgLTQyMyw2ICs0MjgsMTEgQEAgdm9pZCBDYWNoZTo6cHV0KFZlY3RvcjxSZWNvcmQ+JiYg
cmVjb3JkcywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNrKQogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCisgICAgaWYgKGNhblJlcXVlc3RNb3JlU3BhY2UgPT0gQ2FuUmVxdWVz
dE1vcmVTcGFjZTo6Tm8pIHsKKyAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoRE9NQ2Fj
aGVFbmdpbmU6OkVycm9yOjpRdW90YUV4Y2VlZGVkKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBtX2NhY2hlcy5yZXF1ZXN0U3BhY2Uoc3BhY2VSZXF1aXJlZCwgW2NhY2hlcyA9IG1h
a2VSZWYobV9jYWNoZXMpLCBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCByZWNvcmRzID0gV1RG
TW92ZShyZWNvcmRzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oT3B0aW9uYWw8RE9N
Q2FjaGVFbmdpbmU6OkVycm9yPiYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGVycm9y
KSB7CiAgICAgICAgICAgICBjYWxsYmFjayhtYWtlVW5leHBlY3RlZChlcnJvci52YWx1ZSgpKSk7
CkBAIC00MzIsMTAgKzQ0MiwxNyBAQCB2b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJlY29yZD4mJiBy
ZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgICAgIGlm
ICghY2FjaGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgY2FjaGUtPnN0b3JlUmVj
b3JkcyhXVEZNb3ZlKHJlY29yZHMpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIGNhY2hl
LT5wdXQoV1RGTW92ZShyZWNvcmRzKSwgV1RGTW92ZShjYWxsYmFjayksIENhblJlcXVlc3RNb3Jl
U3BhY2U6Ok5vKTsKICAgICB9KTsKIH0KIAordm9pZCBDYWNoZTo6cmV0cnlQdXR0aW5nUGVuZGlu
Z1JlY29yZHMoKQoreworICAgIGF1dG8gcGVuZGluZ1B1dFJlcXVlc3RzID0gV1RGTW92ZShtX3Bl
bmRpbmdQdXRSZXF1ZXN0cyk7CisgICAgZm9yIChhdXRvJiByZXF1ZXN0IDogcGVuZGluZ1B1dFJl
cXVlc3RzKQorICAgICAgICBwdXQoV1RGTW92ZShyZXF1ZXN0LnJlY29yZHMpLCBXVEZNb3ZlKHJl
cXVlc3QuY2FsbGJhY2spKTsKK30KKwogdm9pZCBDYWNoZTo6cmVtb3ZlKFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9u
cywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIEFTU0VSVCht
X3N0YXRlID09IFN0YXRlOjpPcGVuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuaAppbmRleCBjZjFi
M2I2MTNlMTUxZmQwYjYyNzA5OTJiMjZhZTkxNDU1MjE5YzI5Li4yMmVhNDA3OWEzODVjODhkOTE1
OWMzYTdjYTBjZjUzMGQ5MTY1MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oCkBAIC02OSw3
ICs2OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJldHJpZXZlUmVjb3Jkcyhjb25zdCBVUkwmLCBX
ZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3Jkc0NhbGxiYWNrJiYpOwogICAgIFdlYkNvcmU6
OkRPTUNhY2hlRW5naW5lOjpDYWNoZUluZm8gaW5mbygpIGNvbnN0IHsgcmV0dXJuIHsgbV9pZGVu
dGlmaWVyLCBtX25hbWUgfTsgfQogCi0gICAgdm9pZCBwdXQoVmVjdG9yPFdlYkNvcmU6OkRPTUNh
Y2hlRW5naW5lOjpSZWNvcmQ+JiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJZGVu
dGlmaWVyc0NhbGxiYWNrJiYpOworICAgIGVudW0gY2xhc3MgQ2FuUmVxdWVzdE1vcmVTcGFjZSB7
IFllcywgTm8gfTsKKyAgICB2b2lkIHB1dChWZWN0b3I8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6
OlJlY29yZD4mJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElkZW50aWZpZXJzQ2Fs
bGJhY2smJiwgQ2FuUmVxdWVzdE1vcmVTcGFjZSA9IENhblJlcXVlc3RNb3JlU3BhY2U6Olllcyk7
CiAgICAgdm9pZCByZW1vdmUoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkNh
Y2hlUXVlcnlPcHRpb25zJiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlm
aWVyc0NhbGxiYWNrJiYpOwogCiAgICAgVmVjdG9yPE5ldHdvcmtDYWNoZTo6S2V5PiBrZXlzKCkg
Y29uc3Q7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3Bvc2UoKTsKICAg
ICB2b2lkIGNsZWFyTWVtb3J5UmVwcmVzZW50YXRpb24oKTsKIAorICAgIHZvaWQgcmV0cnlQdXR0
aW5nUGVuZGluZ1JlY29yZHMoKTsKKwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpET01D
YWNoZUVuZ2luZTo6UmVjb3JkPiBkZWNvZGUoY29uc3QgTmV0d29ya0NhY2hlOjpTdG9yYWdlOjpS
ZWNvcmQmKTsKICAgICBzdGF0aWMgTmV0d29ya0NhY2hlOjpTdG9yYWdlOjpSZWNvcmQgZW5jb2Rl
KGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiwgY29uc3QgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6
OlJlY29yZCYpOwogCkBAIC0xMjAsNiArMTIzLDEyIEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxT
dHJpbmcsIFZlY3RvcjxSZWNvcmRJbmZvcm1hdGlvbj4+IG1fcmVjb3JkczsKICAgICB1aW50NjRf
dCBtX25leHRSZWNvcmRJZGVudGlmaWVyIHsgMCB9OwogICAgIFZlY3RvcjxXZWJDb3JlOjpET01D
YWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrPiBtX3BlbmRpbmdPcGVuaW5nQ2FsbGJhY2tz
OworCisgICAgc3RydWN0IFBlbmRpbmdQdXRSZXF1ZXN0IHsKKyAgICAgICAgVmVjdG9yPFdlYkNv
cmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+IHJlY29yZHM7CisgICAgICAgIFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrIGNhbGxiYWNrOworICAgIH07
CisgICAgVmVjdG9yPFBlbmRpbmdQdXRSZXF1ZXN0PiBtX3BlbmRpbmdQdXRSZXF1ZXN0czsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIENhY2hlU3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMu
Y3BwCmluZGV4IGZhYTg4Yzk2M2MzNmY3NjIyMjg3ZDc4YjU3ZWViMTM0NTlhZGU1ZTUuLjk5M2I2
YWI1ZTdkMGQyYjQ4ZTM3Yzk4MzE1ZWVhMTc0YTYzZThhNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2lu
ZUNhY2hlcy5jcHAKQEAgLTQ4MSw5ICs0ODEsMzYgQEAgdm9pZCBDYWNoZXM6OnJlYWRSZWNvcmRz
TGlzdChDYWNoZSYgY2FjaGUsIE5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6VHJhdmVyc2VIYW5kbGUK
IAogdm9pZCBDYWNoZXM6OnJlcXVlc3RTcGFjZSh1aW50NjRfdCBzcGFjZVJlcXVpcmVkLCBXZWJD
b3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7Ci0g
ICAgLy8gRklYTUU6IEltcGxlbWVudCBxdW90YSBpbmNyZWFzZSByZXF1ZXN0LgotICAgIEFTU0VS
VChtX3F1b3RhIDwgbV9zaXplICsgc3BhY2VSZXF1aXJlZCk7Ci0gICAgY2FsbGJhY2soRXJyb3I6
OlF1b3RhRXhjZWVkZWQpOworICAgIEFTU0VSVCghbV9pc1JlcXVlc3RpbmdTcGFjZSk7CisKKyAg
ICBhdXRvIG1pbmltdW1OZXdRdW90YSA9IG1fc2l6ZSArIHNwYWNlUmVxdWlyZWQ7CisgICAgQVNT
RVJUKG1fcXVvdGEgPCBtaW5pbXVtTmV3UXVvdGEpOworCisgICAgaWYgKCFtX2VuZ2luZSkgewor
ICAgICAgICBjYWxsYmFjayhFcnJvcjo6UXVvdGFFeGNlZWRlZCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBtX2lzUmVxdWVzdGluZ1NwYWNlID0gdHJ1ZTsKKyAgICBtX2VuZ2luZS0+
cmVxdWVzdFNwYWNlKG1fb3JpZ2luLCBtX3F1b3RhLCBtX3NpemUsIHNwYWNlUmVxdWlyZWQsIFt0
aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFrZVJlZigqdGhpcyksIG1pbmltdW1OZXdRdW90YSwgY2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkg
eworICAgICAgICBtX2lzUmVxdWVzdGluZ1NwYWNlID0gZmFsc2U7CisgICAgICAgIGlmICghbmV3
UXVvdGEgfHwgKm5ld1F1b3RhIDwgbWluaW11bU5ld1F1b3RhKSB7CisgICAgICAgICAgICBjYWxs
YmFjayhFcnJvcjo6UXVvdGFFeGNlZWRlZCk7CisgICAgICAgICAgICBub3RpZnlDYWNoZXNPZlJl
cXVlc3RTcGFjZUVuZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAg
IG1fcXVvdGEgPSAqbmV3UXVvdGE7CisgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgIG5v
dGlmeUNhY2hlc09mUmVxdWVzdFNwYWNlRW5kKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVz
Ojpub3RpZnlDYWNoZXNPZlJlcXVlc3RTcGFjZUVuZCgpCit7CisgICAgZm9yIChhdXRvJiBjYWNo
ZSA6IG1fY2FjaGVzKQorICAgICAgICBjYWNoZS5yZXRyeVB1dHRpbmdQZW5kaW5nUmVjb3Jkcygp
OworICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX3JlbW92ZWRDYWNoZXMpCisgICAgICAgIGNhY2hl
LnJldHJ5UHV0dGluZ1BlbmRpbmdSZWNvcmRzKCk7CiB9CiAKIHZvaWQgQ2FjaGVzOjp3cml0ZVJl
Y29yZChjb25zdCBDYWNoZSYgY2FjaGUsIGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmRJ
bmZvcm1hdGlvbiwgUmVjb3JkJiYgcmVjb3JkLCB1aW50NjRfdCBwcmV2aW91c1JlY29yZFNpemUs
IENvbXBsZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgK
aW5kZXggZjhlNzJiZmVlNzI5MTVmMDMyM2E2MDM1MmE0ODJkYjQ2ZTg1MjU0NC4uNDg5NjIyY2Vl
ZDEzYmM1ZTgzYjViOTFiZTgyNGFiMDg4ZWI2MTRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hl
cy5oCkBAIC02MSw2ICs2MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlYWRSZWNvcmQoY29uc3Qg
TmV0d29ya0NhY2hlOjpLZXkmLCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6
RE9NQ2FjaGVFbmdpbmU6OlJlY29yZCwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkVycm9yPiYm
KT4mJik7CiAKICAgICBib29sIGhhc0Vub3VnaFNwYWNlKHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQp
IGNvbnN0IHsgcmV0dXJuIG1fcXVvdGEgPj0gbV9zaXplICsgc3BhY2VSZXF1aXJlZDsgfQorICAg
IGJvb2wgaXNSZXF1ZXN0aW5nU3BhY2UoKSBjb25zdCB7IHJldHVybiBtX2lzUmVxdWVzdGluZ1Nw
YWNlOyB9CiAgICAgdm9pZCByZXF1ZXN0U3BhY2UodWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgV2Vi
Q29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKICAgICB2b2lkIHdy
aXRlUmVjb3JkKGNvbnN0IENhY2hlJiwgY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mLCBXZWJDb3Jl
OjpET01DYWNoZUVuZ2luZTo6UmVjb3JkJiYsIHVpbnQ2NF90IHByZXZpb3VzUmVjb3JkU2l6ZSwg
V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKIApAQCAtOTMs
NyArOTQsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIG1ha2VEaXJ0eSgpIHsgKyttX3VwZGF0ZUNv
dW50ZXI7IH0KICAgICBib29sIGlzRGlydHkodWludDY0X3QgdXBkYXRlQ291bnRlcikgY29uc3Q7
CiAKKyAgICB2b2lkIG5vdGlmeUNhY2hlc09mUmVxdWVzdFNwYWNlRW5kKCk7CisKICAgICBib29s
IG1faXNJbml0aWFsaXplZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUmVxdWVzdGluZ1NwYWNl
IHsgZmFsc2UgfTsKICAgICBFbmdpbmUqIG1fZW5naW5lIHsgbnVsbHB0ciB9OwogICAgIHVpbnQ2
NF90IG1fdXBkYXRlQ291bnRlciB7IDAgfTsKICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gbV9v
cmlnaW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2Vz
LnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBjNDgx
ZjMzN2ZiZGJkMTVmNzAyNTMyYzQxYzQxMDVmMzkyMzNkZmExLi5mYTJhMTE3Mjc2MTZmZmZlNTlk
NGIwYjg5NDhmODUwY2NjNjllY2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVz
c2FnZXMucHkKQEAgLTE5Nyw2ICsxOTcsNyBAQCBkZWYgZm9yd2FyZF9kZWNsYXJhdGlvbnNfYW5k
X2hlYWRlcnMocmVjZWl2ZXIpOgogICAgIG5vX2ZvcndhcmRfZGVjbGFyYXRpb25fdHlwZXMgPSBm
cm96ZW5zZXQoWwogICAgICAgICAnTWFjaFNlbmRSaWdodCcsCiAgICAgICAgICdTdHJpbmcnLAor
ICAgICAgICAnV2ViQ29yZTo6RE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVy
JywKICAgICAgICAgJ1dlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJD
b3JlOjpGZXRjaElkZW50aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlcklk
ZW50aWZpZXInLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsv
TmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggNGE3OTFmMzVjMzBmYWNlNDc0ZDQ1OWYxZjIy
MjI1Zjg2ZDk1OTVkYS4uMTQ3ZGI1NTJkOGQ3NjNhNmI2MjBiNjM2Yjg1NTcwYzlmYzcxNGExYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCkBAIC03MjgsNiArNzI4LDE5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQ
cm94eTo6ZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzRm9y
RXhwCiB9CiAjZW5kaWYKIAordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0Q2FjaGVT
dG9yYWdlU3BhY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpET01DYWNoZVF1
b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OkNsaWVudE9yaWdpbiYsIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6
ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCkKK3sKKyAgICBhdXRvKiBzdG9yZSA9IHdlYnNpdGVE
YXRhU3RvcmVGcm9tU2Vzc2lvbklEKHNlc3Npb25JRCk7CisKKyAgICBpZiAoIXN0b3JlKSB7Cisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQcm9jZXNzOjpSZXF1ZXN0Q2FjaGVTdG9yYWdl
U3BhY2VDb21wbGV0ZWQgeyBzZXNzaW9uSUQsIHJlcXVlc3RJZGVudGlmaWVyLCB7IH0gfSwgMCk7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAvLyBGSVhNRTogQXNrIFdlYnNpdGVEYXRh
U3RvcmUgYWJvdXQgdXBkYXRpbmcgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4KKyAgICBzZW5k
KE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzczo6UmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxl
dGVkIHsgc2Vzc2lvbklELCByZXF1ZXN0SWRlbnRpZmllciwgcXVvdGEgfSwgMCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAppbmRl
eCA0ZmU1Y2U3YTQ1NmVkYjViNDMyYzAxOGYzNzdiMzkyNDNjZmE1NDdlLi5mZjc4YjdhNTU2NDYy
ZjM5MzAyNjlkZWI2OTZmM2JhYTNhNzRlMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMTY1LDYgKzE2NSw4
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRv
TmV0d29ya1Byb2Nlc3NGb3JFeHBsaWNpdFNlc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiYsIFBBTDo6U2Vzc2lvbklEKTsKICNlbmRpZgogCisgICAgdm9pZCByZXF1ZXN0Q2FjaGVT
dG9yYWdlU3BhY2UoUEFMOjpTZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNp
b25SZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgdWludDY0
X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50NjRfdCBzcGFjZVJlcXVpcmVkKTsK
KwogICAgIFdlYnNpdGVEYXRhU3RvcmUqIHdlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lvbklEKFBB
TDo6U2Vzc2lvbklEKTsKIAogICAgIC8vIFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzUHJveHkubWVzc2FnZXMuaW4KaW5kZXggYjU2NDFmOTY5MDUwODIwZDU1ZWY4N2Q4YmUwNTg5
OTFjOWM3NjNjYy4uODBhYjIxNjAxNDdlNzQwNWNjNDhhMDA5NmM1MWI3N2Q5YTA1YzlmOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgpAQCAtNjIsNCArNjIsNiBAQCBtZXNzYWdlcyAt
PiBOZXR3b3JrUHJvY2Vzc1Byb3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBFc3RhYmxpc2hXb3Jr
ZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3Moc3RydWN0IFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSBvcmlnaW4pCiAgICAgRXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rp
b25Ub05ldHdvcmtQcm9jZXNzRm9yRXhwbGljaXRTZXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEgb3JpZ2luLCBQQUw6OlNlc3Npb25JRCBleHBsaWNpdFNlc3Npb24pCiAj
ZW5kaWYKKworICAgIFJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciBy
ZXF1ZXN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHVp
bnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJl
ZCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358763</attachid>
            <date>2019-01-09 16:24:47 -0800</date>
            <delta_ts>2019-01-10 09:04:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193296-20190109162444.patch</filename>
            <type>text/plain</type>
            <size>28945</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVjNThlNjI4NGYyODY1
ODMzNjNhOTc2N2UwYzIzY2YwY2VlMzgwOS4uZjE2ZDRhMWY0MDQ4NzdiMTU5Y2QxNDM3MWQwYWZm
ZGY1ZjM2YjE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIGNhY2hlIHF1b3Rh
IHJlcXVlc3QgZnJvbSBOZXR3b3JrIFByb2Nlc3MgdG8gVUlQcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMyOTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVx
dWVzdElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDE5LTAxLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0RhdGFsaXN0XSBDcmFzaCB3aGVuIGlucHV0IHdpdGggZGF0YWxpc3Qg
aXMgZHluYW1pY2FsbHkgYWRkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxMTk3ZWY1NGQ2NWE1MDQwZGFiMDEw
YTQ4ZmJhMzQwMjllYjMzYzQuLmE4ZWQ2NmZjN2Q1NzUwMDQzNzU2YjYxMTQ1MmM0YmZmZTI5ZTFl
OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTktMDEtMDkgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgY2FjaGUgcXVvdGEgcmVxdWVzdCBm
cm9tIE5ldHdvcmsgUHJvY2VzcyB0byBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY2FjaGUgc3RvcmFnZSBoaXRzIHF1b3RhIGZv
ciBhIGdpdmVuIG9yaWdpbiwgcGlwZSB0aGUgcmVxdWVzdCBiYWNrIHRvIE5ldHdvcmtQcm9jZXNz
LgorICAgICAgICBObyByZWNvcmQgd2lsbCBiZSBwdXQgdW50aWwgdGhlIHF1b3RhIHJlcXVlc3Qg
aXMgYW5zd2VyZWQuCisgICAgICAgIFRoZSByZXF1ZXN0IGlzIHNlbnQgZnJvbSBDYWNoZVN0b3Jh
Z2U6OkNhY2hlcyB0byBDYWNoZVN0b3JhZ2U6OkVuZ2luZSBhbmQgdG8gTmV0d29ya1Byb2Nlc3Mu
CisgICAgICAgIE5ldHdvcmtQcm9jZXNzIHRoZW4gc2VuZHMgaXQgdG8gTmV0d29ya1Byb2Nlc3NQ
cm94eS4KKyAgICAgICAgQ3VycmVudGx5IE5ldHdvcmtQcm9jZXNzUHJveHkganVzdCBhbnN3ZXJz
IGJ5IGtlZXBpbmcgdGhlIHF1b3RhIGFzIGl0IGlzLgorICAgICAgICBJbiB0aGUgZnV0dXJlLCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5IHNob3VsZCBtYWtlIGEgZGVsZWdhdGUgY2FsbCB0byBsZXQgdGhl
IGFwcCB1c2luZyBXZWJLaXQKKyAgICAgICAgbWFrZSBhIGRlY2lzaW9uIG9uIHRoZSBxdW90YS4g
VGhpcyB3aWxsIGFsbG93IHByb21wdGluZyB1c2VyIHRvIGJ1bXAgaXQgYXMgZG9uZSBmb3Igb3Ro
ZXIgZGF0YS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFj
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjphbnN3ZXJUb0NhY2hlU3RvcmFn
ZVNwYWNlUmVxdWVzdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbjoK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6ZnJvbSk6CisgICAgICAgIChX
ZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjpFbmdpbmUpOgorICAgICAgICAoV2ViS2l0OjpD
YWNoZVN0b3JhZ2U6OkVuZ2luZTo6cmVxdWVzdFNwYWNlKToKKyAgICAgICAgKFdlYktpdDo6Q2Fj
aGVTdG9yYWdlOjpFbmdpbmU6OmFuc3dlclRvU3BhY2VSZXF1ZXN0KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHA6CisgICAgICAgIChXZWJL
aXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGU6OnB1dCk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3Rv
cmFnZTo6Q2FjaGU6OnJldHJ5UHV0dGluZ1BlbmRpbmdSZWNvcmRzKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZXF1ZXN0U3BhY2UpOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6bm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VF
bmQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlcy5oOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6aXNSZXF1ZXN0
aW5nU3BhY2UgY29uc3QpOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Ogor
ICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0Q2FjaGVTdG9yYWdlU3Bh
Y2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2Vz
LmluOgorCiAyMDE5LTAxLTA5ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFtpT1NdIFVwZGF0ZSBzYW5kYm94IHByb2ZpbGUgdG8gdXNlIGljb25zZXJ2aWNl
cyBpbnN0ZWFkIG9mIGxzZGljb25zZXJ2aWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2NhY2hlL0RPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVz
dElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Zjc3YTVmOWI0YzExOWI0ODdhNWQ0YjUxNDIxZDY5
YjI0ZjJkNDRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNo
ZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx3dGYvT2JqZWN0SWRl
bnRpZmllci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gRE9NQ2FjaGVRdW90YUV4
dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyVHlwZSB7IH07Cit1c2luZyBET01DYWNoZVF1b3RhRXh0
ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgPSBPYmplY3RJZGVudGlmaWVyPERPTUNhY2hlUXVvdGFF
eHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllclR5cGU+OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggM2VjNjY3ODI0NTQ0MDFlZjk5ZjE0MGViOTk3YzMwNmU3MGVkY2M1MC4uMDdjMTI2NWZl
MDFlNDAzNmI4ZmFlNmU2YTVhMTdkMmRhYjZkNGQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTA2Niw2ICsxMDY2LDcgQEAK
IAkJNDExMDNBQUQxRTM5NzkxMDAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExMDNB
QTkxRTM5NzkwQTAwNzY5RjAzIC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oICovOyB9
OwogCQk0MTEwM0FBRDFFMzk3OTEwMDA3NjlGMTQgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlQ29jb2EuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMTAzQUE5MUUzOTc5MEEwMDc2OUYxNCAvKiBSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2VD
b2NvYS5oICovOyB9OwogCQk0MTEyQjU0MzFGOUY5Q0EwMDBFNjc4NzUgLyogU2VydmljZVdvcmtl
clRocmVhZFByb3h5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTEyQjUzRjFGOUY5QzlCMDBFNjc4NzUgLyogU2VydmljZVdvcmtlclRocmVhZFByb3h5
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNDEx
OERDMTMyMUU2N0UzQjAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRl
bnRpZmllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDExOERDMTEyMUU2N0UzNDAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0
SWRlbnRpZmllci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTQxMjMwODFCMTM4QzQyOTcwMEJDQ0ZDQSAvKiBXZWJDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzRjE5QjFBMDgy
NDVFNUEwMDFFOUFCQyAvKiBXZWJDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJNDEyMzA5MTMxMzhD
NDJGRjAwQkNDRkNBIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY4MjE2Mjk5MDI5RjRGQjUwMTAwMDEz
MSAvKiBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcmsgKi87IH07CiAJCTQxMjlDOTk3MUY1OUI5NjMw
MDlENzQwMyAvKiBGZXRjaEJvZHlTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzAxNUQ2MUM3QjU3MDQwMDA5MUM2RiAvKiBGZXRjaEJvZHlT
b3VyY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpA
QCAtNzIzOCw2ICs3MjM5LDcgQEAKIAkJNDExODlFRjcxQUQ4MjMyODAwQjkwQTBEIC8qIFJlYWRh
YmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJl
YWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0MTE4OUVGNzFBRDgyMzI4MDBCOTNGNjQgLyogUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUmVhZGFibGVCeXRlU3RyZWFtQ29u
dHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMTg5RUY3MUFEODIz
MjgwMEI5NTY3MiAvKiBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDExOERDMTEyMUU2N0UzNDAwREUwNEM3IC8qIERPTUNhY2hlUXVvdGFF
eHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyMDlFOTEyMTZENTkzQzAwQTczQTEyIC8qIFJUQ0NlcnRp
ZmljYXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENDZXJ0aWZpY2F0ZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjA5RTkzMjE2RDVDNzkwMEE3M0ExMiAvKiBS
VENDZXJ0aWZpY2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENDZXJ0
aWZpY2F0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTIwOUU5NDIxNkVBNjlB
MDBBNzNBMTIgLyogUlRDQ2VydGlmaWNhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUlRDQ2VydGlmaWNhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTczNTYsNiArMTczNTgsNyBAQAogCQkJCTQxMzgwQzIzMUYzNDM2OTQwMDE1NUZEQSAv
KiBET01DYWNoZS5pZGwgKi8sCiAJCQkJNDFGQUJEMkUxRjRFMDI1MTAwNkE2Qzk3IC8qIERPTUNh
Y2hlRW5naW5lLmNwcCAqLywKIAkJCQk0MUZBQkQyQjFGNERGRTQyMDA2QTZDOTcgLyogRE9NQ2Fj
aGVFbmdpbmUuaCAqLywKKwkJCQk0MTE4REMxMTIxRTY3RTM0MDBERTA0QzcgLyogRE9NQ2FjaGVR
dW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmggKi8sCiAJCQkJNDEzODBDMjExRjM0MzY4
RDAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5jcHAgKi8sCiAJCQkJNDEzODBDMjIxRjM0MzY5
MDAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5oICovLAogCQkJCTQxMzgwQzI0MUYzNDM2OTcw
MDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaWRsICovLApAQCAtMjg1ODQsNiArMjg1ODcsNyBA
QAogCQkJCTFBOEY2QkMzMERCNTVDREMwMDFEQjc5NCAvKiBET01BcHBsaWNhdGlvbkNhY2hlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk0MTM4MEMyNzFGMzQzNkFDMDAxNTVGREEgLyogRE9NQ2FjaGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxRkFCRDJEMUY0REZFNEEwMDZBNkM5NyAvKiBET01DYWNo
ZUVuZ2luZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExOERDMTMyMUU2N0UzQjAwREUwNEM3IC8q
IERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNDEzODBDMjkxRjM0MzZBQzAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEJEQTNGRkUyMTUxQjZGNTAwRkQ2NjA0IC8qIERPTUNTU0N1c3RvbVBy
b3BlcnR5RGVzY3JpcHRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkM5QTBGNzUxNjQwOTRDRjAw
M0Q2QjhEIC8qIERPTUNTU05hbWVzcGFjZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDE2ZjlmN2QwYjE3
YzMyY2RlZjg5NWYzMDlhMDY1MThlM2NlNzM2MmYuLjk4Yzg1NTZkZTVjMTUzYmIwYTRjZWFmMDNl
NDFjZjdjMjI4Yjk2YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiQXJndW1lbnRDb2Rl
cnMuaCIKICNpbmNsdWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiQXV0aGVudGljYXRpb25N
YW5hZ2VyLmgiCisjaW5jbHVkZSAiQ2FjaGVTdG9yYWdlRW5naW5lLmgiCiAjaW5jbHVkZSAiQ2hp
bGRQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVk
ZSAiRG93bmxvYWRQcm94eU1lc3NhZ2VzLmgiCkBAIC0xMzc1LDYgKzEzNzYsMTggQEAgdm9pZCBO
ZXR3b3JrUHJvY2Vzczo6YWRkU2VydmljZVdvcmtlclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vz
c2lvbklELCBTdHJpbmcmIHMKIH0KICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAK
K3ZvaWQgTmV0d29ya1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Np
b25JRCBzZXNzaW9uSUQsIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciBy
ZXF1ZXN0SWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1
b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCkKK3sKKyAg
ICBwYXJlbnRQcm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vz
c1Byb3h5OjpSZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2Uoc2Vzc2lvbklELCByZXF1ZXN0SWRlbnRp
Zmllciwgb3JpZ2luLCBxdW90YSwgY3VycmVudFNpemUsIHNwYWNlUmVxdWlyZWQpLCAwKTsKK30K
Kwordm9pZCBOZXR3b3JrUHJvY2Vzczo6cmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVk
KFBBTDo6U2Vzc2lvbklEIHNlc3Npb25JRCwgRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKK3sKKyAg
ICBDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6ZnJvbSgqdGhpcywgc2Vzc2lvbklELCBbaWRlbnRpZmll
ciwgbmV3UXVvdGFdKGF1dG8mIGVuZ2luZSkgeworICAgICAgICBlbmdpbmUuYW5zd2VyVG9TcGFj
ZVJlcXVlc3QoaWRlbnRpZmllciwgbmV3UXVvdGEpOworICAgIH0pOworfQorCiAjaWYgIVBMQVRG
T1JNKENPQ09BKQogdm9pZCBOZXR3b3JrUHJvY2Vzczo6aW5pdGlhbGl6ZVByb2Nlc3MoY29uc3Qg
Q2hpbGRQcm9jZXNzSW5pdGlhbGl6YXRpb25QYXJhbWV0ZXJzJikKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBjZWM4OGVlNTQ0MWI4ZjVk
NTU3NzQzMTU5MzJjYmI0OWY1OTFjZmIzLi5kMTdhOTBkMzNhNjkyY2FkZGRmNmEzZTczZGJiOTdj
NzJjY2JmYTRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJv
Y2Vzcy5oCkBAIC0zMSw2ICszMSw4IEBACiAjaW5jbHVkZSAiTmV0d29ya0NvbnRlbnRSdWxlTGlz
dE1hbmFnZXIuaCIKICNpbmNsdWRlICJOZXR3b3JrSFRUUFNVcGdyYWRlQ2hlY2tlci5oIgogI2lu
Y2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9yaWdp
bi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVu
dGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvRmV0Y2hJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9J
REJLZXlEYXRhLmg+CkBAIC00NCw2ICs0Niw3IEBACiAjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNz
dXJlSGFuZGxlci5oPgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ryb3llZC5oPgogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2Ug
SVBDIHsKIGNsYXNzIEZvcm1EYXRhUmVmZXJlbmNlOwpAQCAtOTYsNiArOTksNyBAQCBjbGFzcyBO
ZXR3b3JrUHJvY2VzcyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5h
Z2VyOjpDbGllbnQsIHB1YgogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgICwgcHVi
bGljIFdlYkNvcmU6OklEQlNlcnZlcjo6SURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRs
ZXIKICNlbmRpZgorICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtQcm9jZXNzPgog
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKE5ldHdvcmtQcm9jZXNzKTsKIHB1YmxpYzoKQEAg
LTIxNiwxMSArMjIwLDE0IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVmKCkgY29uc3Qgb3ZlcnJp
ZGUgeyBUaHJlYWRTYWZlUmVmQ291bnRlZDxOZXR3b3JrUHJvY2Vzcz46OnJlZigpOyB9CiAgICAg
dm9pZCBkZXJlZigpIGNvbnN0IG92ZXJyaWRlIHsgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29y
a1Byb2Nlc3M+OjpkZXJlZigpOyB9Ci0gICAgCisKICAgICBDYWNoZVN0b3JhZ2U6OkVuZ2luZSog
ZmluZENhY2hlRW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAgICAgQ2FjaGVTdG9yYWdl
OjpFbmdpbmUmIGVuc3VyZUNhY2hlRW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiwgRnVuY3Rp
b248UmVmPENhY2hlU3RvcmFnZTo6RW5naW5lPigpPiYmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hl
RW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7Ci0gICAgCisKKyAgICB2b2lkIHJlcXVlc3RD
YWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCwgV2ViQ29yZTo6RE9NQ2FjaGVRdW90YUV4
dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCB1
aW50NjRfdCBxdW90YSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVxdWly
ZWQpOworICAgIHZvaWQgcmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkKFBBTDo6U2Vz
c2lvbklELCBXZWJDb3JlOjpET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIs
IE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSk7CisKIHByaXZhdGU6CiAgICAgTmV0d29ya1By
b2Nlc3MoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggOGQ4NzIyNGJmMzExZTc3ZTU1YTIxMDg3M2E0
YTdhNTQzZDFlMWYwMi4uYzlhNDY4ODc3OWUyYzU1NGUyODBhYTk5ZGNlNzEyZmRhYWJjZmQ4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLm1lc3NhZ2VzLmluCkBAIC0xMjUsNCArMTI1LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1By
b2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAg
IFNldElEQlBlck9yaWdpblF1b3RhKHVpbnQ2NF90IHF1b3RhKQogI2VuZGlmCisKKyAgICBSZXF1
ZXN0Q2FjaGVTdG9yYWdlU3BhY2VDb21wbGV0ZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBX
ZWJDb3JlOjpET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElk
ZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNw
cAppbmRleCA4MDFkMjJlMmFkZTgyZTg1ZDliODVjMGQ1YTUyNzRiNzhhZWE4NzA5Li41Njc0M2U3
MTg4MjE0MTVkODYwNGQ1Y2Y3ZjQzNzRlN2ZkN2FlNTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBA
IC04NSw3ICs4NSw3IEBAIHZvaWQgRW5naW5lOjpmcm9tKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3Jr
UHJvY2VzcywgUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBGdW5jCiAKICAgICBuZXR3b3JrUHJv
Y2Vzcy5jYWNoZVN0b3JhZ2VQYXJhbWV0ZXJzKHNlc3Npb25JRCwgW25ldHdvcmtQcm9jZXNzID0g
bWFrZVJlZihuZXR3b3JrUHJvY2VzcyksIHNlc3Npb25JRCwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0gKGF1dG8mJiByb290UGF0aCwgYXV0byBxdW90YSkgbXV0YWJsZSB7CiAgICAgICAg
IGNhbGxiYWNrKG5ldHdvcmtQcm9jZXNzLT5lbnN1cmVDYWNoZUVuZ2luZShzZXNzaW9uSUQsIFsm
XSB7Ci0gICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFbmdpbmUgeyBTdHJpbmcgeyBy
b290UGF0aCB9LCBxdW90YSB9KTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEVu
Z2luZSB7IHNlc3Npb25JRCwgbmV0d29ya1Byb2Nlc3MuZ2V0KCksIFN0cmluZyB7IHJvb3RQYXRo
IH0sIHF1b3RhIH0pOwogICAgICAgICB9KSk7CiAgICAgfSk7CiB9CkBAIC0xODgsOCArMTg4LDEw
IEBAIHZvaWQgRW5naW5lOjpjbGVhckNhY2hlc0Zvck9yaWdpbihOZXR3b3JrUHJvY2VzcyYgbmV0
d29ya1Byb2Nlc3MsIFBBTDo6U2Vzc2lvbklECiAgICAgfSk7CiB9CiAKLUVuZ2luZTo6RW5naW5l
KFN0cmluZyYmIHJvb3RQYXRoLCB1aW50NjRfdCBxdW90YSkKLSAgICA6IG1fcm9vdFBhdGgoV1RG
TW92ZShyb290UGF0aCkpCitFbmdpbmU6OkVuZ2luZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQs
IE5ldHdvcmtQcm9jZXNzJiBwcm9jZXNzLCBTdHJpbmcmJiByb290UGF0aCwgdWludDY0X3QgcXVv
dGEpCisgICAgOiBtX3Nlc3Npb25JRChzZXNzaW9uSUQpCisgICAgLCBtX25ldHdvcmtQcm9jZXNz
KG1ha2VXZWFrUHRyKCZwcm9jZXNzKSkKKyAgICAsIG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0
aCkpCiAgICAgLCBtX3F1b3RhKHF1b3RhKQogewogICAgIGlmICghbV9yb290UGF0aC5pc051bGwo
KSkKQEAgLTY1MSw2ICs2NTMsMTggQEAgU3RyaW5nIEVuZ2luZTo6cmVwcmVzZW50YXRpb24oKQog
ICAgIHJldHVybiBidWlsZGVyLnRvU3RyaW5nKCk7CiB9CiAKK3ZvaWQgRW5naW5lOjpyZXF1ZXN0
U3BhY2UoY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3Rh
LCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChPcHRpb25hbDx1aW50NjRfdD4pPiYmIGNhbGxiYWNrKQoreworICAgIG1f
ZXh0ZW5kUXVvdGFDYWxsYmFja3MuYWRkKCsrbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRlciwgV1RG
TW92ZShjYWxsYmFjaykpOworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5yZXF1ZXN0
Q2FjaGVTdG9yYWdlU3BhY2UobV9zZXNzaW9uSUQsIG1ha2VPYmplY3RJZGVudGlmaWVyPFdlYkNv
cmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllclR5cGU+KG1fcGVuZGlu
Z0NhbGxiYWNrc0NvdW50ZXIpLCBvcmlnaW4sIHF1b3RhLCBjdXJyZW50U2l6ZSwgc3BhY2VSZXF1
aXJlZCk7Cit9CisKK3ZvaWQgRW5naW5lOjphbnN3ZXJUb1NwYWNlUmVxdWVzdChXZWJDb3JlOjpE
T01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIs
IE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKK3sKKyAgICBpZiAoYXV0byBjYWxsYmFjayA9
IG1fZXh0ZW5kUXVvdGFDYWxsYmFja3MudGFrZShyZXF1ZXN0SWRlbnRpZmllci50b1VJbnQ2NCgp
KSkKKyAgICAgICAgY2FsbGJhY2sobmV3UXVvdGEpOworfQorCiB9IC8vIG5hbWVzcGFjZSBDYWNo
ZVN0b3JhZ2UKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaAppbmRleCAxZWJj
YjczNjE2NTcwZGY1MDczY2ZmZDViNWVkMDg1NDE0ZDhkMjE2Li45NmEzZmMwODNjZjc1Njc0ZTlh
NDUwOWI3NDA1ZmFiMGJkMTQ4MzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgKQEAgLTI5LDYgKzI5LDcgQEAK
ICNpbmNsdWRlICJOZXR3b3JrQ2FjaGVEYXRhLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGEuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL0NsaWVudE9yaWdpbi5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRE9N
Q2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL0hh
c2hNYXAuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFr
UHRyLmg+CkBAIC05MCw4ICs5MSwxMiBAQCBwdWJsaWM6CiAgICAgY29uc3QgTmV0d29ya0NhY2hl
OjpTYWx0JiBzYWx0KCkgY29uc3QgeyByZXR1cm4gbV9zYWx0LnZhbHVlKCk7IH0KICAgICB1aW50
NjRfdCBuZXh0Q2FjaGVJZGVudGlmaWVyKCkgeyByZXR1cm4gKyttX25leHRDYWNoZUlkZW50aWZp
ZXI7IH0KIAorICAgIHVzaW5nIEV4dGVuZFF1b3RhQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKE9wdGlvbmFsPHVpbnQ2NF90Pik+OworICAgIHZvaWQgcmVxdWVzdFNwYWNlKGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50
U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgRXh0ZW5kUXVvdGFDYWxsYmFjayYmKTsKKyAg
ICB2b2lkIGFuc3dlclRvU3BhY2VSZXF1ZXN0KFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNp
b25SZXF1ZXN0SWRlbnRpZmllciwgT3B0aW9uYWw8dWludDY0X3Q+IG5ld1F1b3RhKTsKKwogcHJp
dmF0ZToKLSAgICBFbmdpbmUoU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKTsKKyAg
ICBFbmdpbmUoUEFMOjpTZXNzaW9uSUQsIE5ldHdvcmtQcm9jZXNzJiwgU3RyaW5nJiYgcm9vdFBh
dGgsIHVpbnQ2NF90IHF1b3RhKTsKIAogICAgIHZvaWQgb3Blbihjb25zdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4mLCBjb25zdCBTdHJpbmcmIGNhY2hlTmFtZSwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdp
bmU6OkNhY2hlSWRlbnRpZmllckNhbGxiYWNrJiYpOwogICAgIHZvaWQgcmVtb3ZlKHVpbnQ2NF90
IGNhY2hlSWRlbnRpZmllciwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmll
ckNhbGxiYWNrJiYpOwpAQCAtMTI5LDYgKzEzNCw4IEBAIHByaXZhdGU6CiAKICAgICBDYWNoZSog
Y2FjaGUodWludDY0X3QgY2FjaGVJZGVudGlmaWVyKTsKIAorICAgIFBBTDo6U2Vzc2lvbklEIG1f
c2Vzc2lvbklEOworICAgIFdlYWtQdHI8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1Byb2Nlc3M7
CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFJlZlB0cjxDYWNoZXM+PiBtX2Nh
Y2hlczsKICAgICB1aW50NjRfdCBtX25leHRDYWNoZUlkZW50aWZpZXIgeyAwIH07CiAgICAgU3Ry
aW5nIG1fcm9vdFBhdGg7CkBAIC0xMzksNiArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8
V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjaz4gbV9pbml0aWFsaXph
dGlvbkNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpET01DYWNoZUVu
Z2luZTo6Q29tcGxldGlvbkNhbGxiYWNrPiBtX3BlbmRpbmdXcml0ZUNhbGxiYWNrczsKICAgICBI
YXNoTWFwPHVpbnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IE5ldHdvcmtDYWNo
ZTo6RGF0YSYsIGludCBlcnJvcik+PiBtX3BlbmRpbmdSZWFkQ2FsbGJhY2tzOworICAgIEhhc2hN
YXA8dWludDY0X3QsIEV4dGVuZFF1b3RhQ2FsbGJhY2s+IG1fZXh0ZW5kUXVvdGFDYWxsYmFja3M7
CiAgICAgdWludDY0X3QgbV9wZW5kaW5nQ2FsbGJhY2tzQ291bnRlciB7IDAgfTsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGUuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNo
ZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKaW5kZXggZTQ1MmRiYTVlMzMxMzU0NTkyY2U5MjBjYzI4
NGJhNjYyM2YwYWE1YS4uZmVkODgyMDE1OTJlZDZjYzc3MzYxNjIzZTNhNTRhZjlkZDEwZWNmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3Jh
Z2VFbmdpbmVDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHAKQEAgLTQwMCwxMCArNDAwLDE1IEBAIHZvaWQg
Q2FjaGU6OnN0b3JlUmVjb3JkcyhWZWN0b3I8UmVjb3JkPiYmIHJlY29yZHMsIFJlY29yZElkZW50
aWZpZXJzQ2FsbGJhY2smJiBjCiAgICAgfQogfQogCi12b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJl
Y29yZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2spCit2
b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVy
c0NhbGxiYWNrJiYgY2FsbGJhY2ssIENhblJlcXVlc3RNb3JlU3BhY2UgY2FuUmVxdWVzdE1vcmVT
cGFjZSkKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6T3Blbik7CiAKKyAgICBpZiAo
bV9jYWNoZXMuaXNSZXF1ZXN0aW5nU3BhY2UoKSkgeworICAgICAgICBtX3BlbmRpbmdQdXRSZXF1
ZXN0cy5hcHBlbmQoeyBXVEZNb3ZlKHJlY29yZHMpLCBXVEZNb3ZlKGNhbGxiYWNrKSB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zIG9w
dGlvbnM7CiAgICAgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCA9IDA7CiAKQEAgLTQyMyw2ICs0Mjgs
MTEgQEAgdm9pZCBDYWNoZTo6cHV0KFZlY3RvcjxSZWNvcmQ+JiYgcmVjb3JkcywgUmVjb3JkSWRl
bnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNrKQogICAgICAgICByZXR1cm47CiAgICAgfQogCisg
ICAgaWYgKGNhblJlcXVlc3RNb3JlU3BhY2UgPT0gQ2FuUmVxdWVzdE1vcmVTcGFjZTo6Tm8pIHsK
KyAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoRE9NQ2FjaGVFbmdpbmU6OkVycm9yOjpR
dW90YUV4Y2VlZGVkKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBtX2NhY2hlcy5y
ZXF1ZXN0U3BhY2Uoc3BhY2VSZXF1aXJlZCwgW2NhY2hlcyA9IG1ha2VSZWYobV9jYWNoZXMpLCBp
ZGVudGlmaWVyID0gbV9pZGVudGlmaWVyLCByZWNvcmRzID0gV1RGTW92ZShyZWNvcmRzKSwgY2Fs
bGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oT3B0aW9uYWw8RE9NQ2FjaGVFbmdpbmU6OkVycm9y
PiYmIGVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGVycm9yKSB7CiAgICAgICAgICAgICBj
YWxsYmFjayhtYWtlVW5leHBlY3RlZChlcnJvci52YWx1ZSgpKSk7CkBAIC00MzIsMTAgKzQ0Miwx
NyBAQCB2b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVu
dGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgICAgIGlmICghY2FjaGUpCiAgICAgICAg
ICAgICByZXR1cm47CiAKLSAgICAgICAgY2FjaGUtPnN0b3JlUmVjb3JkcyhXVEZNb3ZlKHJlY29y
ZHMpLCBXVEZNb3ZlKGNhbGxiYWNrKSk7CisgICAgICAgIGNhY2hlLT5wdXQoV1RGTW92ZShyZWNv
cmRzKSwgV1RGTW92ZShjYWxsYmFjayksIENhblJlcXVlc3RNb3JlU3BhY2U6Ok5vKTsKICAgICB9
KTsKIH0KIAordm9pZCBDYWNoZTo6cmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMoKQoreworICAg
IGF1dG8gcGVuZGluZ1B1dFJlcXVlc3RzID0gV1RGTW92ZShtX3BlbmRpbmdQdXRSZXF1ZXN0cyk7
CisgICAgZm9yIChhdXRvJiByZXF1ZXN0IDogcGVuZGluZ1B1dFJlcXVlc3RzKQorICAgICAgICBw
dXQoV1RGTW92ZShyZXF1ZXN0LnJlY29yZHMpLCBXVEZNb3ZlKHJlcXVlc3QuY2FsbGJhY2spKTsK
K30KKwogdm9pZCBDYWNoZTo6cmVtb3ZlKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVl
c3QsIFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zJiYgb3B0aW9ucywgUmVjb3JkSWRlbnRpZmll
cnNDYWxsYmFjayYmIGNhbGxiYWNrKQogewogICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpP
cGVuKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGUuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuaAppbmRleCBjZjFiM2I2MTNlMTUxZmQwYjYyNzA5
OTJiMjZhZTkxNDU1MjE5YzI5Li4yMmVhNDA3OWEzODVjODhkOTE1OWMzYTdjYTBjZjUzMGQ5MTY1
MzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNhY2hlLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oCkBAIC02OSw3ICs2OSw4IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJldHJpZXZlUmVjb3Jkcyhjb25zdCBVUkwmLCBXZWJDb3JlOjpET01DYWNoZUVu
Z2luZTo6UmVjb3Jkc0NhbGxiYWNrJiYpOwogICAgIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
YWNoZUluZm8gaW5mbygpIGNvbnN0IHsgcmV0dXJuIHsgbV9pZGVudGlmaWVyLCBtX25hbWUgfTsg
fQogCi0gICAgdm9pZCBwdXQoVmVjdG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+
JiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYp
OworICAgIGVudW0gY2xhc3MgQ2FuUmVxdWVzdE1vcmVTcGFjZSB7IFllcywgTm8gfTsKKyAgICB2
b2lkIHB1dChWZWN0b3I8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZD4mJiwgV2ViQ29y
ZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZElkZW50aWZpZXJzQ2FsbGJhY2smJiwgQ2FuUmVxdWVz
dE1vcmVTcGFjZSA9IENhblJlcXVlc3RNb3JlU3BhY2U6Olllcyk7CiAgICAgdm9pZCByZW1vdmUo
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYsIFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zJiYs
IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYpOwog
CiAgICAgVmVjdG9yPE5ldHdvcmtDYWNoZTo6S2V5PiBrZXlzKCkgY29uc3Q7CkBAIC03Nyw2ICs3
OCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3Bvc2UoKTsKICAgICB2b2lkIGNsZWFyTWVtb3J5
UmVwcmVzZW50YXRpb24oKTsKIAorICAgIHZvaWQgcmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMo
KTsKKwogICAgIHN0YXRpYyBPcHRpb25hbDxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3Jk
PiBkZWNvZGUoY29uc3QgTmV0d29ya0NhY2hlOjpTdG9yYWdlOjpSZWNvcmQmKTsKICAgICBzdGF0
aWMgTmV0d29ya0NhY2hlOjpTdG9yYWdlOjpSZWNvcmQgZW5jb2RlKGNvbnN0IFJlY29yZEluZm9y
bWF0aW9uJiwgY29uc3QgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZCYpOwogCkBAIC0x
MjAsNiArMTIzLDEyIEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxSZWNv
cmRJbmZvcm1hdGlvbj4+IG1fcmVjb3JkczsKICAgICB1aW50NjRfdCBtX25leHRSZWNvcmRJZGVu
dGlmaWVyIHsgMCB9OwogICAgIFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxl
dGlvbkNhbGxiYWNrPiBtX3BlbmRpbmdPcGVuaW5nQ2FsbGJhY2tzOworCisgICAgc3RydWN0IFBl
bmRpbmdQdXRSZXF1ZXN0IHsKKyAgICAgICAgVmVjdG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5l
OjpSZWNvcmQ+IHJlY29yZHM7CisgICAgICAgIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNv
cmRJZGVudGlmaWVyc0NhbGxiYWNrIGNhbGxiYWNrOworICAgIH07CisgICAgVmVjdG9yPFBlbmRp
bmdQdXRSZXF1ZXN0PiBtX3BlbmRpbmdQdXRSZXF1ZXN0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IENhY2hlU3RvcmFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCmluZGV4IGZhYTg4Yzk2
M2MzNmY3NjIyMjg3ZDc4YjU3ZWViMTM0NTlhZGU1ZTUuLjk5M2I2YWI1ZTdkMGQyYjQ4ZTM3Yzk4
MzE1ZWVhMTc0YTYzZThhNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKQEAgLTQ4
MSw5ICs0ODEsMzYgQEAgdm9pZCBDYWNoZXM6OnJlYWRSZWNvcmRzTGlzdChDYWNoZSYgY2FjaGUs
IE5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6VHJhdmVyc2VIYW5kbGUKIAogdm9pZCBDYWNoZXM6OnJl
cXVlc3RTcGFjZSh1aW50NjRfdCBzcGFjZVJlcXVpcmVkLCBXZWJDb3JlOjpET01DYWNoZUVuZ2lu
ZTo6Q29tcGxldGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCiB7Ci0gICAgLy8gRklYTUU6IEltcGxl
bWVudCBxdW90YSBpbmNyZWFzZSByZXF1ZXN0LgotICAgIEFTU0VSVChtX3F1b3RhIDwgbV9zaXpl
ICsgc3BhY2VSZXF1aXJlZCk7Ci0gICAgY2FsbGJhY2soRXJyb3I6OlF1b3RhRXhjZWVkZWQpOwor
ICAgIEFTU0VSVCghbV9pc1JlcXVlc3RpbmdTcGFjZSk7CisKKyAgICBhdXRvIG1pbmltdW1OZXdR
dW90YSA9IG1fc2l6ZSArIHNwYWNlUmVxdWlyZWQ7CisgICAgQVNTRVJUKG1fcXVvdGEgPCBtaW5p
bXVtTmV3UXVvdGEpOworCisgICAgaWYgKCFtX2VuZ2luZSkgeworICAgICAgICBjYWxsYmFjayhF
cnJvcjo6UXVvdGFFeGNlZWRlZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2lz
UmVxdWVzdGluZ1NwYWNlID0gdHJ1ZTsKKyAgICBtX2VuZ2luZS0+cmVxdWVzdFNwYWNlKG1fb3Jp
Z2luLCBtX3F1b3RhLCBtX3NpemUsIHNwYWNlUmVxdWlyZWQsIFt0aGlzLCBwcm90ZWN0ZWRUaGlz
ID0gbWFrZVJlZigqdGhpcyksIG1pbmltdW1OZXdRdW90YSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0gKE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkgeworICAgICAgICBtX2lzUmVx
dWVzdGluZ1NwYWNlID0gZmFsc2U7CisgICAgICAgIGlmICghbmV3UXVvdGEgfHwgKm5ld1F1b3Rh
IDwgbWluaW11bU5ld1F1b3RhKSB7CisgICAgICAgICAgICBjYWxsYmFjayhFcnJvcjo6UXVvdGFF
eGNlZWRlZCk7CisgICAgICAgICAgICBub3RpZnlDYWNoZXNPZlJlcXVlc3RTcGFjZUVuZCgpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1fcXVvdGEgPSAqbmV3UXVv
dGE7CisgICAgICAgIGNhbGxiYWNrKHsgfSk7CisgICAgICAgIG5vdGlmeUNhY2hlc09mUmVxdWVz
dFNwYWNlRW5kKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgQ2FjaGVzOjpub3RpZnlDYWNoZXNPZlJl
cXVlc3RTcGFjZUVuZCgpCit7CisgICAgZm9yIChhdXRvJiBjYWNoZSA6IG1fY2FjaGVzKQorICAg
ICAgICBjYWNoZS5yZXRyeVB1dHRpbmdQZW5kaW5nUmVjb3JkcygpOworICAgIGZvciAoYXV0byYg
Y2FjaGUgOiBtX3JlbW92ZWRDYWNoZXMpCisgICAgICAgIGNhY2hlLnJldHJ5UHV0dGluZ1BlbmRp
bmdSZWNvcmRzKCk7CiB9CiAKIHZvaWQgQ2FjaGVzOjp3cml0ZVJlY29yZChjb25zdCBDYWNoZSYg
Y2FjaGUsIGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiByZWNvcmRJbmZvcm1hdGlvbiwgUmVjb3Jk
JiYgcmVjb3JkLCB1aW50NjRfdCBwcmV2aW91c1JlY29yZFNpemUsIENvbXBsZXRpb25DYWxsYmFj
ayYmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKaW5kZXggZjhlNzJiZmVlNzI5
MTVmMDMyM2E2MDM1MmE0ODJkYjQ2ZTg1MjU0NC4uNDg5NjIyY2VlZDEzYmM1ZTgzYjViOTFiZTgy
NGFiMDg4ZWI2MTRmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCkBAIC02MSw2ICs2MSw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlYWRSZWNvcmQoY29uc3QgTmV0d29ya0NhY2hlOjpLZXkm
LCBXVEY6OkZ1bmN0aW9uPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJl
Y29yZCwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkVycm9yPiYmKT4mJik7CiAKICAgICBib29s
IGhhc0Vub3VnaFNwYWNlKHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQpIGNvbnN0IHsgcmV0dXJuIG1f
cXVvdGEgPj0gbV9zaXplICsgc3BhY2VSZXF1aXJlZDsgfQorICAgIGJvb2wgaXNSZXF1ZXN0aW5n
U3BhY2UoKSBjb25zdCB7IHJldHVybiBtX2lzUmVxdWVzdGluZ1NwYWNlOyB9CiAgICAgdm9pZCBy
ZXF1ZXN0U3BhY2UodWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdp
bmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKICAgICB2b2lkIHdyaXRlUmVjb3JkKGNvbnN0IENh
Y2hlJiwgY29uc3QgUmVjb3JkSW5mb3JtYXRpb24mLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6
UmVjb3JkJiYsIHVpbnQ2NF90IHByZXZpb3VzUmVjb3JkU2l6ZSwgV2ViQ29yZTo6RE9NQ2FjaGVF
bmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjayYmKTsKIApAQCAtOTMsNyArOTQsMTAgQEAgcHJpdmF0
ZToKICAgICB2b2lkIG1ha2VEaXJ0eSgpIHsgKyttX3VwZGF0ZUNvdW50ZXI7IH0KICAgICBib29s
IGlzRGlydHkodWludDY0X3QgdXBkYXRlQ291bnRlcikgY29uc3Q7CiAKKyAgICB2b2lkIG5vdGlm
eUNhY2hlc09mUmVxdWVzdFNwYWNlRW5kKCk7CisKICAgICBib29sIG1faXNJbml0aWFsaXplZCB7
IGZhbHNlIH07CisgICAgYm9vbCBtX2lzUmVxdWVzdGluZ1NwYWNlIHsgZmFsc2UgfTsKICAgICBF
bmdpbmUqIG1fZW5naW5lIHsgbnVsbHB0ciB9OwogICAgIHVpbnQ2NF90IG1fdXBkYXRlQ291bnRl
ciB7IDAgfTsKICAgICBXZWJDb3JlOjpDbGllbnRPcmlnaW4gbV9vcmlnaW47CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCBjNDgxZjMzN2ZiZGJkMTVmNzAyNTMy
YzQxYzQxMDVmMzkyMzNkZmExLi5mYTJhMTE3Mjc2MTZmZmZlNTlkNGIwYjg5NDhmODUwY2NjNjll
Y2MwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5
CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKQEAgLTE5Nyw2
ICsxOTcsNyBAQCBkZWYgZm9yd2FyZF9kZWNsYXJhdGlvbnNfYW5kX2hlYWRlcnMocmVjZWl2ZXIp
OgogICAgIG5vX2ZvcndhcmRfZGVjbGFyYXRpb25fdHlwZXMgPSBmcm96ZW5zZXQoWwogICAgICAg
ICAnTWFjaFNlbmRSaWdodCcsCiAgICAgICAgICdTdHJpbmcnLAorICAgICAgICAnV2ViQ29yZTo6
RE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYkNv
cmU6OkRvY3VtZW50SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpGZXRjaElkZW50aWZp
ZXInLAogICAgICAgICAnV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXInLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94
eS5jcHAKaW5kZXggNGE3OTFmMzVjMzBmYWNlNDc0ZDQ1OWYxZjIyMjI1Zjg2ZDk1OTVkYS4uMTQ3
ZGI1NTJkOGQ3NjNhNmI2MjBiNjM2Yjg1NTcwYzlmYzcxNGExYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBA
IC03MjgsNiArNzI4LDE5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZXN0YWJsaXNoV29y
a2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzRm9yRXhwCiB9CiAjZW5kaWYKIAor
dm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2UoUEFMOjpT
ZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVz
dElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biYsIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VS
ZXF1aXJlZCkKK3sKKyAgICBhdXRvKiBzdG9yZSA9IHdlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lv
bklEKHNlc3Npb25JRCk7CisKKyAgICBpZiAoIXN0b3JlKSB7CisgICAgICAgIHNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtQcm9jZXNzOjpSZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2VDb21wbGV0ZWQgeyBz
ZXNzaW9uSUQsIHJlcXVlc3RJZGVudGlmaWVyLCB7IH0gfSwgMCk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICAvLyBGSVhNRTogQXNrIFdlYnNpdGVEYXRhU3RvcmUgYWJvdXQgdXBkYXRp
bmcgdGhlIHF1b3RhIGZvciB0aGlzIG9yaWdpbi4KKyAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
UHJvY2Vzczo6UmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkIHsgc2Vzc2lvbklELCBy
ZXF1ZXN0SWRlbnRpZmllciwgcXVvdGEgfSwgMCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCiAjdW5kZWYgTUVTU0FHRV9DSEVDSwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuaAppbmRleCA0ZmU1Y2U3YTQ1NmVkYjVi
NDMyYzAxOGYzNzdiMzkyNDNjZmE1NDdlLi5mZjc4YjdhNTU2NDYyZjM5MzAyNjlkZWI2OTZmM2Jh
YTNhNzRlMDgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkuaApAQCAtMTY1LDYgKzE2NSw4IEBAIHByaXZhdGU6CiAgICAg
dm9pZCBlc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3NGb3JF
eHBsaWNpdFNlc3Npb24oV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYsIFBBTDo6U2Vzc2lv
bklEKTsKICNlbmRpZgogCisgICAgdm9pZCByZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2UoUEFMOjpT
ZXNzaW9uSUQsIFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmll
ciwgY29uc3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiwgdWludDY0X3QgcXVvdGEsIHVpbnQ2NF90
IGN1cnJlbnRTaXplLCB1aW50NjRfdCBzcGFjZVJlcXVpcmVkKTsKKwogICAgIFdlYnNpdGVEYXRh
U3RvcmUqIHdlYnNpdGVEYXRhU3RvcmVGcm9tU2Vzc2lvbklEKFBBTDo6U2Vzc2lvbklEKTsKIAog
ICAgIC8vIFByb2Nlc3NMYXVuY2hlcjo6Q2xpZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMu
aW4KaW5kZXggYjU2NDFmOTY5MDUwODIwZDU1ZWY4N2Q4YmUwNTg5OTFjOWM3NjNjYy4uODBhYjIx
NjAxNDdlNzQwNWNjNDhhMDA5NmM1MWI3N2Q5YTA1YzlmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5t
ZXNzYWdlcy5pbgpAQCAtNjIsNCArNjIsNiBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrUHJvY2Vzc1By
b3h5IExlZ2FjeVJlY2VpdmVyIHsKICAgICBFc3RhYmxpc2hXb3JrZXJDb250ZXh0Q29ubmVjdGlv
blRvTmV0d29ya1Byb2Nlc3Moc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSBvcmln
aW4pCiAgICAgRXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNz
Rm9yRXhwbGljaXRTZXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgb3Jp
Z2luLCBQQUw6OlNlc3Npb25JRCBleHBsaWNpdFNlc3Npb24pCiAjZW5kaWYKKworICAgIFJlcXVl
c3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIFdlYkNvcmU6OkRP
TUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciByZXF1ZXN0SWRlbnRpZmllciwg
c3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50
NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358800</attachid>
            <date>2019-01-10 09:04:15 -0800</date>
            <delta_ts>2019-01-16 15:10:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193296-20190110090414.patch</filename>
            <type>text/plain</type>
            <size>29507</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5Nzg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjVjNThlNjI4NGYyODY1
ODMzNjNhOTc2N2UwYzIzY2YwY2VlMzgwOS4uZjE2ZDRhMWY0MDQ4NzdiMTU5Y2QxNDM3MWQwYWZm
ZGY1ZjM2YjE4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE5LTAxLTA5ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBQaXBlIGNhY2hlIHF1b3Rh
IHJlcXVlc3QgZnJvbSBOZXR3b3JrIFByb2Nlc3MgdG8gVUlQcm9jZXNzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTMyOTYKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRl
c3RzLgorCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9ET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVx
dWVzdElkZW50aWZpZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qOgorCiAyMDE5LTAxLTA5ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgW0RhdGFsaXN0XSBDcmFzaCB3aGVuIGlucHV0IHdpdGggZGF0YWxpc3Qg
aXMgZHluYW1pY2FsbHkgYWRkZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGUxMTk3ZWY1NGQ2NWE1MDQwZGFiMDEw
YTQ4ZmJhMzQwMjllYjMzYzQuLjU2MWY4NTQzNjIxZWVlMDk3YmI5ZjNmZTNiNGEwNzI0MmQ4ZDlj
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTktMDEtMDkgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgY2FjaGUgcXVvdGEgcmVxdWVzdCBm
cm9tIE5ldHdvcmsgUHJvY2VzcyB0byBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzI5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY2FjaGUgc3RvcmFnZSBoaXRzIHF1b3RhIGZv
ciBhIGdpdmVuIG9yaWdpbiwgcGlwZSB0aGUgcmVxdWVzdCBiYWNrIHRvIE5ldHdvcmtQcm9jZXNz
LgorICAgICAgICBObyByZWNvcmQgd2lsbCBiZSBwdXQgdW50aWwgdGhlIHF1b3RhIHJlcXVlc3Qg
aXMgYW5zd2VyZWQuCisgICAgICAgIFRoZSByZXF1ZXN0IGlzIHNlbnQgZnJvbSBDYWNoZVN0b3Jh
Z2U6OkNhY2hlcyB0byBDYWNoZVN0b3JhZ2U6OkVuZ2luZSBhbmQgdG8gTmV0d29ya1Byb2Nlc3Mu
CisgICAgICAgIE5ldHdvcmtQcm9jZXNzIHRoZW4gc2VuZHMgaXQgdG8gTmV0d29ya1Byb2Nlc3NQ
cm94eS4KKyAgICAgICAgQ3VycmVudGx5IE5ldHdvcmtQcm9jZXNzUHJveHkganVzdCBhbnN3ZXJz
IGJ5IGtlZXBpbmcgdGhlIHF1b3RhIGFzIGl0IGlzLgorICAgICAgICBJbiB0aGUgZnV0dXJlLCBO
ZXR3b3JrUHJvY2Vzc1Byb3h5IHNob3VsZCBtYWtlIGEgZGVsZWdhdGUgY2FsbCB0byBsZXQgdGhl
IGFwcCB1c2luZyBXZWJLaXQKKyAgICAgICAgbWFrZSBhIGRlY2lzaW9uIG9uIHRoZSBxdW90YS4g
VGhpcyB3aWxsIGFsbG93IHByb21wdGluZyB1c2VyIHRvIGJ1bXAgaXQgYXMgZG9uZSBmb3Igb3Ro
ZXIgZGF0YS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFj
ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpyZXF1ZXN0Q2FjaGVTdG9yYWdl
U3BhY2VDb21wbGV0ZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW46
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpFbmdpbmU6OmZyb20pOgorICAgICAgICAo
V2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6RW5naW5lKToKKyAgICAgICAgKFdlYktpdDo6
Q2FjaGVTdG9yYWdlOjpFbmdpbmU6OnJlcXVlc3RTcGFjZSk6CisgICAgICAgIChXZWJLaXQ6OkNh
Y2hlU3RvcmFnZTo6RW5naW5lOjpyZXF1ZXN0U3BhY2VDb21wbGV0ZWQpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZTo6cHV0KToKKyAgICAgICAgKFdlYktpdDo6Q2FjaGVT
dG9yYWdlOjpDYWNoZTo6cmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMpOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6Q2FjaGVTdG9yYWdlOjpDYWNoZXM6OnJlcXVlc3RTcGFjZSk6CisgICAgICAg
IChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpub3RpZnlDYWNoZXNPZlJlcXVlc3RTcGFj
ZUVuZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGVzLmg6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjppc1JlcXVl
c3RpbmdTcGFjZSBjb25zdCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHk6
CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUHJveHk6OnJlcXVlc3RDYWNoZVN0b3JhZ2VT
cGFjZSk6CisgICAgICAgICogVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5o
OgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2Fn
ZXMuaW46CisKIDIwMTktMDEtMDkgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+
CiAKICAgICAgICAgW2lPU10gVXBkYXRlIHNhbmRib3ggcHJvZmlsZSB0byB1c2UgaWNvbnNlcnZp
Y2VzIGluc3RlYWQgb2YgbHNkaWNvbnNlcnZpY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1
ZXN0SWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjRmNzdhNWY5YjRjMTE5YjQ4N2E1ZDRiNTE0MjFk
NjliMjRmMmQ0NGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL0RPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oCkBAIC0wLDAgKzEs
MzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPHd0Zi9PYmplY3RJ
ZGVudGlmaWVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBET01DYWNoZVF1b3Rh
RXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXJUeXBlIHsgfTsKK3VzaW5nIERPTUNhY2hlUXVvdGFF
eHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciA9IE9iamVjdElkZW50aWZpZXI8RE9NQ2FjaGVRdW90
YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyVHlwZT47CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCAzZWM2Njc4MjQ1NDQwMWVmOTlmMTQwZWI5OTdjMzA2ZTcwZWRjYzUwLi4wN2MxMjY1
ZmUwMWU0MDM2YjhmYWU2ZTZhNWExN2QyZGFiNmQ0ZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDY2LDYgKzEwNjYsNyBA
QAogCQk0MTEwM0FBRDFFMzk3OTEwMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291
cmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTEw
M0FBOTFFMzk3OTBBMDA3NjlGMDMgLyogUmVhbHRpbWVJbmNvbWluZ0F1ZGlvU291cmNlLmggKi87
IH07CiAJCTQxMTAzQUFEMUUzOTc5MTAwMDc2OUYxNCAvKiBSZWFsdGltZUluY29taW5nQXVkaW9T
b3VyY2VDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDExMDNBQTkxRTM5NzkwQTAwNzY5RjE0IC8qIFJlYWx0aW1lSW5jb21pbmdBdWRpb1NvdXJj
ZUNvY29hLmggKi87IH07CiAJCTQxMTJCNTQzMUY5RjlDQTAwMEU2Nzg3NSAvKiBTZXJ2aWNlV29y
a2VyVGhyZWFkUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxMTJCNTNGMUY5RjlDOUIwMEU2Nzg3NSAvKiBTZXJ2aWNlV29ya2VyVGhyZWFkUHJv
eHkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQk0
MTE4REMxMzIxRTY3RTNCMDBERTA0QzcgLyogRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJ
ZGVudGlmaWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTE4REMxMTIxRTY3RTM0MDBERTA0QzcgLyogRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVl
c3RJZGVudGlmaWVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJNDEyMzA4MUIxMzhDNDI5NzAwQkNDRkNBIC8qIFdlYkNvcmUuZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTNGMTlCMUEw
ODI0NUU1QTAwMUU5QUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovOyB9OwogCQk0MTIzMDkxMzEz
OEM0MkZGMDBCQ0NGQ0EgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjgyMTYyOTkwMjlGNEZCNTAxMDAw
MTMxIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLzsgfTsKIAkJNDEyOUM5OTcxRjU5Qjk2
MzAwOUQ3NDAzIC8qIEZldGNoQm9keVNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDE1RDYxQzdCNTcwNDAwMDkxQzZGIC8qIEZldGNoQm9k
eVNvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CkBAIC03MjM4LDYgKzcyMzksNyBAQAogCQk0MTE4OUVGNzFBRDgyMzI4MDBCOTBBMEQgLyogUmVh
ZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTQxMTg5RUY3MUFEODIzMjgwMEI5M0Y2NCAvKiBSZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSZWFkYWJsZUJ5dGVTdHJlYW1D
b250cm9sbGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDExODlFRjcxQUQ4
MjMyODAwQjk1NjcyIC8qIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTE4REMxMTIxRTY3RTM0MDBERTA0QzcgLyogRE9NQ2FjaGVRdW90
YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTIwOUU5MTIxNkQ1OTNDMDBBNzNBMTIgLyogUlRDQ2Vy
dGlmaWNhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFJUQ0NlcnRpZmljYXRlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyMDlFOTMyMTZENUM3OTAwQTczQTEyIC8q
IFJUQ0NlcnRpZmljYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ0Nl
cnRpZmljYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMjA5RTk0MjE2RUE2
OUEwMEE3M0ExMiAvKiBSVENDZXJ0aWZpY2F0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBSVENDZXJ0aWZpY2F0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNzM1Niw2ICsxNzM1OCw3IEBACiAJCQkJNDEzODBDMjMxRjM0MzY5NDAwMTU1RkRB
IC8qIERPTUNhY2hlLmlkbCAqLywKIAkJCQk0MUZBQkQyRTFGNEUwMjUxMDA2QTZDOTcgLyogRE9N
Q2FjaGVFbmdpbmUuY3BwICovLAogCQkJCTQxRkFCRDJCMUY0REZFNDIwMDZBNkM5NyAvKiBET01D
YWNoZUVuZ2luZS5oICovLAorCQkJCTQxMThEQzExMjFFNjdFMzQwMERFMDRDNyAvKiBET01DYWNo
ZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaCAqLywKIAkJCQk0MTM4MEMyMTFGMzQz
NjhEMDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmNwcCAqLywKIAkJCQk0MTM4MEMyMjFGMzQz
NjkwMDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmggKi8sCiAJCQkJNDEzODBDMjQxRjM0MzY5
NzAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5pZGwgKi8sCkBAIC0yODU4NCw2ICsyODU4Nyw3
IEBACiAJCQkJMUE4RjZCQzMwREI1NUNEQzAwMURCNzk0IC8qIERPTUFwcGxpY2F0aW9uQ2FjaGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTQxMzgwQzI3MUYzNDM2QUMwMDE1NUZEQSAvKiBET01DYWNo
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDFGQUJEMkQxRjRERkU0QTAwNkE2Qzk3IC8qIERPTUNh
Y2hlRW5naW5lLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTE4REMxMzIxRTY3RTNCMDBERTA0Qzcg
LyogRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk0MTM4MEMyOTFGMzQzNkFDMDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmggaW4g
SGVhZGVycyAqLywKIAkJCQk0QkRBM0ZGRTIxNTFCNkY1MDBGRDY2MDQgLyogRE9NQ1NTQ3VzdG9t
UHJvcGVydHlEZXNjcmlwdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlGQzlBMEY3NTE2NDA5NENG
MDAzRDZCOEQgLyogRE9NQ1NTTmFtZXNwYWNlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKaW5kZXggMTZmOWY3ZDBi
MTdjMzJjZGVmODk1ZjMwOWEwNjUxOGUzY2U3MzYyZi4uYjA3NmJkMDcyN2E2OTI5ZmFjN2RmOGVk
NjIyZGU4MDE1MWE1N2RmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJBcmd1bWVudENv
ZGVycy5oIgogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRlICJBdXRoZW50aWNhdGlv
bk1hbmFnZXIuaCIKKyNpbmNsdWRlICJDYWNoZVN0b3JhZ2VFbmdpbmUuaCIKICNpbmNsdWRlICJD
aGlsZFByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNs
dWRlICJEb3dubG9hZFByb3h5TWVzc2FnZXMuaCIKQEAgLTYyLDYgKzYzLDcgQEAKICNpbmNsdWRl
ICJXZWJzaXRlRGF0YVN0b3JlLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFTdG9yZVBhcmFtZXRl
cnMuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YVR5cGUuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Ns
aWVudE9yaWdpbi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRE5TLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9EZXByZWNhdGVkR2xvYmFsU2V0dGluZ3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RpYWdub3N0
aWNMb2dnaW5nQ2xpZW50Lmg+CkBAIC0xMzc1LDYgKzEzNzcsMTggQEAgdm9pZCBOZXR3b3JrUHJv
Y2Vzczo6YWRkU2VydmljZVdvcmtlclNlc3Npb24oUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBT
dHJpbmcmIHMKIH0KICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKK3ZvaWQgTmV0
d29ya1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNlc3Npb25JRCBzZXNz
aW9uSUQsIERPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllciByZXF1ZXN0SWRl
bnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50
NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCkKK3sKKyAgICBwYXJlbnRQ
cm9jZXNzQ29ubmVjdGlvbigpLT5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpS
ZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2Uoc2Vzc2lvbklELCByZXF1ZXN0SWRlbnRpZmllciwgb3Jp
Z2luLCBxdW90YSwgY3VycmVudFNpemUsIHNwYWNlUmVxdWlyZWQpLCAwKTsKK30KKwordm9pZCBO
ZXR3b3JrUHJvY2Vzczo6cmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkKFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgRE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVy
IGlkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdRdW90YSkKK3sKKyAgICBDYWNoZVN0
b3JhZ2U6OkVuZ2luZTo6ZnJvbSgqdGhpcywgc2Vzc2lvbklELCBbaWRlbnRpZmllciwgbmV3UXVv
dGFdKGF1dG8mIGVuZ2luZSkgeworICAgICAgICBlbmdpbmUucmVxdWVzdFNwYWNlQ29tcGxldGVk
KGlkZW50aWZpZXIsIG5ld1F1b3RhKTsKKyAgICB9KTsKK30KKwogI2lmICFQTEFURk9STShDT0NP
QSkKIHZvaWQgTmV0d29ya1Byb2Nlc3M6OmluaXRpYWxpemVQcm9jZXNzKGNvbnN0IENoaWxkUHJv
Y2Vzc0luaXRpYWxpemF0aW9uUGFyYW1ldGVycyYpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggY2VjODhlZTU0NDFiOGY1ZDU1Nzc0MzE1
OTMyY2JiNDlmNTkxY2ZiMy4uOTU0NThmN2QxMjNkNzcxZjY2ZmYxYzUwZjBhZjkyNmJmY2Q2NWUy
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApA
QCAtMzEsNiArMzEsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtDb250ZW50UnVsZUxpc3RNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSAiTmV0d29ya0hUVFBTVXBncmFkZUNoZWNrZXIuaCIKICNpbmNsdWRlICJT
YW5kYm94RXh0ZW5zaW9uLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9ET01DYWNoZVF1b3RhRXh0ZW5z
aW9uUmVxdWVzdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0RpYWdub3N0aWNMb2dn
aW5nQ2xpZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GZXRjaElkZW50aWZpZXIuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0lEQktleURhdGEuaD4KQEAgLTQ0LDYgKzQ1LDcgQEAKICNpbmNsdWRlIDx3
dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+
CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgRm9ybURhdGFSZWZlcmVuY2U7CkBAIC02MSw2ICs2
Myw3IEBAIGNsYXNzIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjsKIGNsYXNzIFJlc291cmNlRXJyb3I7
CiBjbGFzcyBTV1NlcnZlcjsKIGVudW0gY2xhc3MgU3RvcmVkQ3JlZGVudGlhbHNQb2xpY3kgOiBi
b29sOworc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0
czsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU291cE5ldHdvcmtQcm94eVNl
dHRpbmdzOwpAQCAtOTYsNiArOTksNyBAQCBjbGFzcyBOZXR3b3JrUHJvY2VzcyA6IHB1YmxpYyBD
aGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQsIHB1YgogI2lmIEVO
QUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgICwgcHVibGljIFdlYkNvcmU6OklEQlNlcnZlcjo6
SURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIKICNlbmRpZgorICAgICwgcHVibGlj
IENhbk1ha2VXZWFrUHRyPE5ldHdvcmtQcm9jZXNzPgogewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKE5ldHdvcmtQcm9jZXNzKTsKIHB1YmxpYzoKQEAgLTIxNiwxMSArMjIwLDE0IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgcmVmKCkgY29uc3Qgb3ZlcnJpZGUgeyBUaHJlYWRTYWZlUmVmQ291bnRl
ZDxOZXR3b3JrUHJvY2Vzcz46OnJlZigpOyB9CiAgICAgdm9pZCBkZXJlZigpIGNvbnN0IG92ZXJy
aWRlIHsgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29ya1Byb2Nlc3M+OjpkZXJlZigpOyB9Ci0g
ICAgCisKICAgICBDYWNoZVN0b3JhZ2U6OkVuZ2luZSogZmluZENhY2hlRW5naW5lKGNvbnN0IFBB
TDo6U2Vzc2lvbklEJik7CiAgICAgQ2FjaGVTdG9yYWdlOjpFbmdpbmUmIGVuc3VyZUNhY2hlRW5n
aW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiwgRnVuY3Rpb248UmVmPENhY2hlU3RvcmFnZTo6RW5n
aW5lPigpPiYmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlRW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lv
bklEJik7Ci0gICAgCisKKyAgICB2b2lkIHJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZShQQUw6OlNl
c3Npb25JRCwgV2ViQ29yZTo6RE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVy
LCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCB1aW50NjRfdCBxdW90YSwgdWludDY0X3Qg
Y3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQpOworICAgIHZvaWQgcmVxdWVzdENh
Y2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkKFBBTDo6U2Vzc2lvbklELCBXZWJDb3JlOjpET01DYWNo
ZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2NF90PiBuZXdR
dW90YSk7CisKIHByaXZhdGU6CiAgICAgTmV0d29ya1Byb2Nlc3MoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4K
aW5kZXggOGQ4NzIyNGJmMzExZTc3ZTU1YTIxMDg3M2E0YTdhNTQzZDFlMWYwMi4uYzlhNDY4ODc3
OWUyYzU1NGUyODBhYTk5ZGNlNzEyZmRhYWJjZmQ4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC0xMjUs
NCArMTI1LDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3MgTGVnYWN5UmVjZWl2ZXIgewog
I2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFNldElEQlBlck9yaWdpblF1b3RhKHVp
bnQ2NF90IHF1b3RhKQogI2VuZGlmCisKKyAgICBSZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2VDb21w
bGV0ZWQoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpET01DYWNoZVF1b3RhRXh0
ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIE9wdGlvbmFsPHVpbnQ2
NF90PiBuZXdRdW90YSkKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcAppbmRleCA4MDFkMjJlMmFkZTgyZTg1
ZDliODVjMGQ1YTUyNzRiNzhhZWE4NzA5Li4zNDEyMmJiNjE0MjBhNWU0NDdiMzU3MTJmYmRmN2M0
MGZjN2RmYjRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCkBAIC04NSw3ICs4NSw3IEBAIHZvaWQgRW5n
aW5lOjpmcm9tKE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBGdW5jCiAKICAgICBuZXR3b3JrUHJvY2Vzcy5jYWNoZVN0b3JhZ2VQYXJhbWV0
ZXJzKHNlc3Npb25JRCwgW25ldHdvcmtQcm9jZXNzID0gbWFrZVJlZihuZXR3b3JrUHJvY2Vzcyks
IHNlc3Npb25JRCwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0gKGF1dG8mJiByb290UGF0
aCwgYXV0byBxdW90YSkgbXV0YWJsZSB7CiAgICAgICAgIGNhbGxiYWNrKG5ldHdvcmtQcm9jZXNz
LT5lbnN1cmVDYWNoZUVuZ2luZShzZXNzaW9uSUQsIFsmXSB7Ci0gICAgICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBFbmdpbmUgeyBTdHJpbmcgeyByb290UGF0aCB9LCBxdW90YSB9KTsKKyAg
ICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEVuZ2luZSB7IHNlc3Npb25JRCwgbmV0d29y
a1Byb2Nlc3MuZ2V0KCksIFN0cmluZyB7IHJvb3RQYXRoIH0sIHF1b3RhIH0pOwogICAgICAgICB9
KSk7CiAgICAgfSk7CiB9CkBAIC0xODgsOCArMTg4LDEwIEBAIHZvaWQgRW5naW5lOjpjbGVhckNh
Y2hlc0Zvck9yaWdpbihOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIFBBTDo6U2Vzc2lv
bklECiAgICAgfSk7CiB9CiAKLUVuZ2luZTo6RW5naW5lKFN0cmluZyYmIHJvb3RQYXRoLCB1aW50
NjRfdCBxdW90YSkKLSAgICA6IG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0aCkpCitFbmdpbmU6
OkVuZ2luZShQQUw6OlNlc3Npb25JRCBzZXNzaW9uSUQsIE5ldHdvcmtQcm9jZXNzJiBwcm9jZXNz
LCBTdHJpbmcmJiByb290UGF0aCwgdWludDY0X3QgcXVvdGEpCisgICAgOiBtX3Nlc3Npb25JRChz
ZXNzaW9uSUQpCisgICAgLCBtX25ldHdvcmtQcm9jZXNzKG1ha2VXZWFrUHRyKCZwcm9jZXNzKSkK
KyAgICAsIG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0aCkpCiAgICAgLCBtX3F1b3RhKHF1b3Rh
KQogewogICAgIGlmICghbV9yb290UGF0aC5pc051bGwoKSkKQEAgLTY1MSw2ICs2NTMsMjIgQEAg
U3RyaW5nIEVuZ2luZTo6cmVwcmVzZW50YXRpb24oKQogICAgIHJldHVybiBidWlsZGVyLnRvU3Ry
aW5nKCk7CiB9CiAKK3ZvaWQgRW5naW5lOjpyZXF1ZXN0U3BhY2UoY29uc3QgV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwg
dWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDx1
aW50NjRfdD4pPiYmIGNhbGxiYWNrKQoreworICAgIGlmICghbV9uZXR3b3JrUHJvY2Vzcykgewor
ICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIG1fcmVx
dWVzdFNwYWNlQ2FsbGJhY2tzLmFkZCgrK21fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIsIFdURk1v
dmUoY2FsbGJhY2spKTsKKyAgICBtX25ldHdvcmtQcm9jZXNzLT5yZXF1ZXN0Q2FjaGVTdG9yYWdl
U3BhY2UobV9zZXNzaW9uSUQsIG1ha2VPYmplY3RJZGVudGlmaWVyPFdlYkNvcmU6OkRPTUNhY2hl
UXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllclR5cGU+KG1fcGVuZGluZ0NhbGxiYWNrc0Nv
dW50ZXIpLCBvcmlnaW4sIHF1b3RhLCBjdXJyZW50U2l6ZSwgc3BhY2VSZXF1aXJlZCk7Cit9CisK
K3ZvaWQgRW5naW5lOjpyZXF1ZXN0U3BhY2VDb21wbGV0ZWQoV2ViQ29yZTo6RE9NQ2FjaGVRdW90
YUV4dGVuc2lvblJlcXVlc3RJZGVudGlmaWVyIHJlcXVlc3RJZGVudGlmaWVyLCBPcHRpb25hbDx1
aW50NjRfdD4gbmV3UXVvdGEpCit7CisgICAgaWYgKGF1dG8gY2FsbGJhY2sgPSBtX3JlcXVlc3RT
cGFjZUNhbGxiYWNrcy50YWtlKHJlcXVlc3RJZGVudGlmaWVyLnRvVUludDY0KCkpKQorICAgICAg
ICBjYWxsYmFjayhuZXdRdW90YSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIENhY2hlU3RvcmFnZQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCmluZGV4IDFlYmNiNzM2MTY1NzBk
ZjUwNzNjZmZkNWI1ZWQwODU0MTRkOGQyMTYuLmIxYmVhODFhMWZmOTFkZGM5MmZhNTg4ODZjYTM1
ZjBmNjg3MzA3NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
Ik5ldHdvcmtDYWNoZURhdGEuaCIKICNpbmNsdWRlICJXZWJzaXRlRGF0YS5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQ2xpZW50T3JpZ2luLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9ET01DYWNoZVF1b3Rh
RXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgog
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KQEAg
LTkwLDggKzkxLDEyIEBAIHB1YmxpYzoKICAgICBjb25zdCBOZXR3b3JrQ2FjaGU6OlNhbHQmIHNh
bHQoKSBjb25zdCB7IHJldHVybiBtX3NhbHQudmFsdWUoKTsgfQogICAgIHVpbnQ2NF90IG5leHRD
YWNoZUlkZW50aWZpZXIoKSB7IHJldHVybiArK21fbmV4dENhY2hlSWRlbnRpZmllcjsgfQogCisg
ICAgdXNpbmcgRXh0ZW5kUXVvdGFDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0
aW9uYWw8dWludDY0X3Q+KT47CisgICAgdm9pZCByZXF1ZXN0U3BhY2UoY29uc3QgV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiwgdWludDY0X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50
NjRfdCBzcGFjZVJlcXVpcmVkLCBFeHRlbmRRdW90YUNhbGxiYWNrJiYpOworICAgIHZvaWQgcmVx
dWVzdFNwYWNlQ29tcGxldGVkKFdlYkNvcmU6OkRPTUNhY2hlUXVvdGFFeHRlbnNpb25SZXF1ZXN0
SWRlbnRpZmllciwgT3B0aW9uYWw8dWludDY0X3Q+IG5ld1F1b3RhKTsKKwogcHJpdmF0ZToKLSAg
ICBFbmdpbmUoU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKTsKKyAgICBFbmdpbmUo
UEFMOjpTZXNzaW9uSUQsIE5ldHdvcmtQcm9jZXNzJiwgU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2
NF90IHF1b3RhKTsKIAogICAgIHZvaWQgb3Blbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCBjb25zdCBTdHJpbmcmIGNhY2hlTmFtZSwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hl
SWRlbnRpZmllckNhbGxiYWNrJiYpOwogICAgIHZvaWQgcmVtb3ZlKHVpbnQ2NF90IGNhY2hlSWRl
bnRpZmllciwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmllckNhbGxiYWNr
JiYpOwpAQCAtMTI5LDYgKzEzNCw4IEBAIHByaXZhdGU6CiAKICAgICBDYWNoZSogY2FjaGUodWlu
dDY0X3QgY2FjaGVJZGVudGlmaWVyKTsKIAorICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklE
OworICAgIFdlYWtQdHI8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1Byb2Nlc3M7CiAgICAgSGFz
aE1hcDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFJlZlB0cjxDYWNoZXM+PiBtX2NhY2hlczsKICAg
ICB1aW50NjRfdCBtX25leHRDYWNoZUlkZW50aWZpZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fcm9v
dFBhdGg7CkBAIC0xMzksNiArMTQ2LDcgQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8V2ViQ29yZTo6
RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxsYmFjaz4gbV9pbml0aWFsaXphdGlvbkNhbGxi
YWNrczsKICAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29t
cGxldGlvbkNhbGxiYWNrPiBtX3BlbmRpbmdXcml0ZUNhbGxiYWNrczsKICAgICBIYXNoTWFwPHVp
bnQ2NF90LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IE5ldHdvcmtDYWNoZTo6RGF0YSYs
IGludCBlcnJvcik+PiBtX3BlbmRpbmdSZWFkQ2FsbGJhY2tzOworICAgIEhhc2hNYXA8dWludDY0
X3QsIEV4dGVuZFF1b3RhQ2FsbGJhY2s+IG1fcmVxdWVzdFNwYWNlQ2FsbGJhY2tzOwogICAgIHVp
bnQ2NF90IG1fcGVuZGluZ0NhbGxiYWNrc0NvdW50ZXIgeyAwIH07CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNh
Y2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGUuY3BwCmluZGV4IGU0NTJkYmE1ZTMzMTM1NDU5MmNlOTIwY2MyODRiYTY2MjNm
MGFhNWEuLmZlZDg4MjAxNTkyZWQ2Y2M3NzM2MTYyM2UzYTU0YWY5ZGQxMGVjZjUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVT
dG9yYWdlRW5naW5lQ2FjaGUuY3BwCkBAIC00MDAsMTAgKzQwMCwxNSBAQCB2b2lkIENhY2hlOjpz
dG9yZVJlY29yZHMoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRzLCBSZWNvcmRJZGVudGlmaWVyc0Nh
bGxiYWNrJiYgYwogICAgIH0KIH0KIAotdm9pZCBDYWNoZTo6cHV0KFZlY3RvcjxSZWNvcmQ+JiYg
cmVjb3JkcywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNrKQordm9pZCBDYWNo
ZTo6cHV0KFZlY3RvcjxSZWNvcmQ+JiYgcmVjb3JkcywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFj
ayYmIGNhbGxiYWNrLCBDYW5SZXF1ZXN0TW9yZVNwYWNlIGNhblJlcXVlc3RNb3JlU3BhY2UpCiB7
CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gU3RhdGU6Ok9wZW4pOwogCisgICAgaWYgKG1fY2FjaGVz
LmlzUmVxdWVzdGluZ1NwYWNlKCkpIHsKKyAgICAgICAgbV9wZW5kaW5nUHV0UmVxdWVzdHMuYXBw
ZW5kKHsgV1RGTW92ZShyZWNvcmRzKSwgV1RGTW92ZShjYWxsYmFjaykgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICBXZWJDb3JlOjpDYWNoZVF1ZXJ5T3B0aW9ucyBvcHRpb25zOwog
ICAgIHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQgPSAwOwogCkBAIC00MjMsNiArNDI4LDExIEBAIHZv
aWQgQ2FjaGU6OnB1dChWZWN0b3I8UmVjb3JkPiYmIHJlY29yZHMsIFJlY29yZElkZW50aWZpZXJz
Q2FsbGJhY2smJiBjYWxsYmFjaykKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAgIGlmIChj
YW5SZXF1ZXN0TW9yZVNwYWNlID09IENhblJlcXVlc3RNb3JlU3BhY2U6Ok5vKSB7CisgICAgICAg
IGNhbGxiYWNrKG1ha2VVbmV4cGVjdGVkKERPTUNhY2hlRW5naW5lOjpFcnJvcjo6UXVvdGFFeGNl
ZWRlZCkpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgbV9jYWNoZXMucmVxdWVzdFNw
YWNlKHNwYWNlUmVxdWlyZWQsIFtjYWNoZXMgPSBtYWtlUmVmKG1fY2FjaGVzKSwgaWRlbnRpZmll
ciA9IG1faWRlbnRpZmllciwgcmVjb3JkcyA9IFdURk1vdmUocmVjb3JkcyksIGNhbGxiYWNrID0g
V1RGTW92ZShjYWxsYmFjayldKE9wdGlvbmFsPERPTUNhY2hlRW5naW5lOjpFcnJvcj4mJiBlcnJv
cikgbXV0YWJsZSB7CiAgICAgICAgIGlmIChlcnJvcikgewogICAgICAgICAgICAgY2FsbGJhY2so
bWFrZVVuZXhwZWN0ZWQoZXJyb3IudmFsdWUoKSkpOwpAQCAtNDMyLDEwICs0NDIsMTcgQEAgdm9p
ZCBDYWNoZTo6cHV0KFZlY3RvcjxSZWNvcmQ+JiYgcmVjb3JkcywgUmVjb3JkSWRlbnRpZmllcnND
YWxsYmFjayYmIGNhbGxiYWNrKQogICAgICAgICBpZiAoIWNhY2hlKQogICAgICAgICAgICAgcmV0
dXJuOwogCi0gICAgICAgIGNhY2hlLT5zdG9yZVJlY29yZHMoV1RGTW92ZShyZWNvcmRzKSwgV1RG
TW92ZShjYWxsYmFjaykpOworICAgICAgICBjYWNoZS0+cHV0KFdURk1vdmUocmVjb3JkcyksIFdU
Rk1vdmUoY2FsbGJhY2spLCBDYW5SZXF1ZXN0TW9yZVNwYWNlOjpObyk7CiAgICAgfSk7CiB9CiAK
K3ZvaWQgQ2FjaGU6OnJldHJ5UHV0dGluZ1BlbmRpbmdSZWNvcmRzKCkKK3sKKyAgICBhdXRvIHBl
bmRpbmdQdXRSZXF1ZXN0cyA9IFdURk1vdmUobV9wZW5kaW5nUHV0UmVxdWVzdHMpOworICAgIGZv
ciAoYXV0byYgcmVxdWVzdCA6IHBlbmRpbmdQdXRSZXF1ZXN0cykKKyAgICAgICAgcHV0KFdURk1v
dmUocmVxdWVzdC5yZWNvcmRzKSwgV1RGTW92ZShyZXF1ZXN0LmNhbGxiYWNrKSk7Cit9CisKIHZv
aWQgQ2FjaGU6OnJlbW92ZShXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiByZXF1ZXN0LCBXZWJD
b3JlOjpDYWNoZVF1ZXJ5T3B0aW9ucyYmIG9wdGlvbnMsIFJlY29yZElkZW50aWZpZXJzQ2FsbGJh
Y2smJiBjYWxsYmFjaykKIHsKICAgICBBU1NFUlQobV9zdGF0ZSA9PSBTdGF0ZTo6T3Blbik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFn
ZUVuZ2luZUNhY2hlLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNhY2hlLmgKaW5kZXggY2YxYjNiNjEzZTE1MWZkMGI2MjcwOTkyYjI2YWU5
MTQ1NTIxOWMyOS4uMjJlYTQwNzlhMzg1Yzg4ZDkxNTljM2E3Y2EwY2Y1MzBkOTE2NTMzYyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VF
bmdpbmVDYWNoZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGUuaApAQCAtNjksNyArNjksOCBAQCBwdWJsaWM6CiAgICAgdm9p
ZCByZXRyaWV2ZVJlY29yZHMoY29uc3QgVVJMJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJl
Y29yZHNDYWxsYmFjayYmKTsKICAgICBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q2FjaGVJbmZv
IGluZm8oKSBjb25zdCB7IHJldHVybiB7IG1faWRlbnRpZmllciwgbV9uYW1lIH07IH0KIAotICAg
IHZvaWQgcHV0KFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkPiYmLCBXZWJD
b3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmKTsKKyAgICBl
bnVtIGNsYXNzIENhblJlcXVlc3RNb3JlU3BhY2UgeyBZZXMsIE5vIH07CisgICAgdm9pZCBwdXQo
VmVjdG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+JiYsIFdlYkNvcmU6OkRPTUNh
Y2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYsIENhblJlcXVlc3RNb3JlU3Bh
Y2UgPSBDYW5SZXF1ZXN0TW9yZVNwYWNlOjpZZXMpOwogICAgIHZvaWQgcmVtb3ZlKFdlYkNvcmU6
OlJlc291cmNlUmVxdWVzdCYmLCBXZWJDb3JlOjpDYWNoZVF1ZXJ5T3B0aW9ucyYmLCBXZWJDb3Jl
OjpET01DYWNoZUVuZ2luZTo6UmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmKTsKIAogICAgIFZl
Y3RvcjxOZXR3b3JrQ2FjaGU6OktleT4ga2V5cygpIGNvbnN0OwpAQCAtNzcsNiArNzgsOCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBkaXNwb3NlKCk7CiAgICAgdm9pZCBjbGVhck1lbW9yeVJlcHJlc2Vu
dGF0aW9uKCk7CiAKKyAgICB2b2lkIHJldHJ5UHV0dGluZ1BlbmRpbmdSZWNvcmRzKCk7CisKICAg
ICBzdGF0aWMgT3B0aW9uYWw8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZD4gZGVjb2Rl
KGNvbnN0IE5ldHdvcmtDYWNoZTo6U3RvcmFnZTo6UmVjb3JkJik7CiAgICAgc3RhdGljIE5ldHdv
cmtDYWNoZTo6U3RvcmFnZTo6UmVjb3JkIGVuY29kZShjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYs
IGNvbnN0IFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQmKTsKIApAQCAtMTIwLDYgKzEy
MywxMiBAQCBwcml2YXRlOgogICAgIEhhc2hNYXA8U3RyaW5nLCBWZWN0b3I8UmVjb3JkSW5mb3Jt
YXRpb24+PiBtX3JlY29yZHM7CiAgICAgdWludDY0X3QgbV9uZXh0UmVjb3JkSWRlbnRpZmllciB7
IDAgfTsKICAgICBWZWN0b3I8V2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBsZXRpb25DYWxs
YmFjaz4gbV9wZW5kaW5nT3BlbmluZ0NhbGxiYWNrczsKKworICAgIHN0cnVjdCBQZW5kaW5nUHV0
UmVxdWVzdCB7CisgICAgICAgIFZlY3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3Jk
PiByZWNvcmRzOworICAgICAgICBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkSWRlbnRp
ZmllcnNDYWxsYmFjayBjYWxsYmFjazsKKyAgICB9OworICAgIFZlY3RvcjxQZW5kaW5nUHV0UmVx
dWVzdD4gbV9wZW5kaW5nUHV0UmVxdWVzdHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBDYWNoZVN0
b3JhZ2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
Y2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmNwcAppbmRleCBmYWE4OGM5NjNjMzZmNzYy
MjI4N2Q3OGI1N2VlYjEzNDU5YWRlNWU1Li45OTNiNmFiNWU3ZDBkMmI0OGUzN2M5ODMxNWVlYTE3
NGE2M2U4YTYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCkBAIC00ODEsOSArNDgx
LDM2IEBAIHZvaWQgQ2FjaGVzOjpyZWFkUmVjb3Jkc0xpc3QoQ2FjaGUmIGNhY2hlLCBOZXR3b3Jr
Q2FjaGU6OlN0b3JhZ2U6OlRyYXZlcnNlSGFuZGxlCiAKIHZvaWQgQ2FjaGVzOjpyZXF1ZXN0U3Bh
Y2UodWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNvbXBs
ZXRpb25DYWxsYmFjayYmIGNhbGxiYWNrKQogewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgcXVv
dGEgaW5jcmVhc2UgcmVxdWVzdC4KLSAgICBBU1NFUlQobV9xdW90YSA8IG1fc2l6ZSArIHNwYWNl
UmVxdWlyZWQpOwotICAgIGNhbGxiYWNrKEVycm9yOjpRdW90YUV4Y2VlZGVkKTsKKyAgICBBU1NF
UlQoIW1faXNSZXF1ZXN0aW5nU3BhY2UpOworCisgICAgYXV0byBtaW5pbXVtTmV3UXVvdGEgPSBt
X3NpemUgKyBzcGFjZVJlcXVpcmVkOworICAgIEFTU0VSVChtX3F1b3RhIDwgbWluaW11bU5ld1F1
b3RhKTsKKworICAgIGlmICghbV9lbmdpbmUpIHsKKyAgICAgICAgY2FsbGJhY2soRXJyb3I6OlF1
b3RhRXhjZWVkZWQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9pc1JlcXVlc3Rp
bmdTcGFjZSA9IHRydWU7CisgICAgbV9lbmdpbmUtPnJlcXVlc3RTcGFjZShtX29yaWdpbiwgbV9x
dW90YSwgbV9zaXplLCBzcGFjZVJlcXVpcmVkLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IG1ha2VS
ZWYoKnRoaXMpLCBtaW5pbXVtTmV3UXVvdGEsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayld
IChPcHRpb25hbDx1aW50NjRfdD4gbmV3UXVvdGEpIHsKKyAgICAgICAgbV9pc1JlcXVlc3RpbmdT
cGFjZSA9IGZhbHNlOworICAgICAgICBpZiAoIW5ld1F1b3RhIHx8ICpuZXdRdW90YSA8IG1pbmlt
dW1OZXdRdW90YSkgeworICAgICAgICAgICAgY2FsbGJhY2soRXJyb3I6OlF1b3RhRXhjZWVkZWQp
OworICAgICAgICAgICAgbm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VFbmQoKTsKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3F1b3RhID0gKm5ld1F1b3RhOworICAg
ICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICBub3RpZnlDYWNoZXNPZlJlcXVlc3RTcGFjZUVu
ZCgpOworICAgIH0pOworfQorCit2b2lkIENhY2hlczo6bm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3Bh
Y2VFbmQoKQoreworICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2NhY2hlcykKKyAgICAgICAgY2Fj
aGUucmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMoKTsKKyAgICBmb3IgKGF1dG8mIGNhY2hlIDog
bV9yZW1vdmVkQ2FjaGVzKQorICAgICAgICBjYWNoZS5yZXRyeVB1dHRpbmdQZW5kaW5nUmVjb3Jk
cygpOwogfQogCiB2b2lkIENhY2hlczo6d3JpdGVSZWNvcmQoY29uc3QgQ2FjaGUmIGNhY2hlLCBj
b25zdCBSZWNvcmRJbmZvcm1hdGlvbiYgcmVjb3JkSW5mb3JtYXRpb24sIFJlY29yZCYmIHJlY29y
ZCwgdWludDY0X3QgcHJldmlvdXNSZWNvcmRTaXplLCBDb21wbGV0aW9uQ2FsbGJhY2smJiBjYWxs
YmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCmluZGV4IGY4ZTcyYmZlZTcyOTE1ZjAzMjNh
NjAzNTJhNDgyZGI0NmU4NTI1NDQuLjQ4OTYyMmNlZWQxM2JjNWU4M2I1YjkxYmU4MjRhYjA4OGVi
NjE0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaApAQCAtNjEsNiArNjEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZWFkUmVjb3JkKGNvbnN0IE5ldHdvcmtDYWNoZTo6S2V5JiwgV1RGOjpG
dW5jdGlvbjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQsIFdl
YkNvcmU6OkRPTUNhY2hlRW5naW5lOjpFcnJvcj4mJik+JiYpOwogCiAgICAgYm9vbCBoYXNFbm91
Z2hTcGFjZSh1aW50NjRfdCBzcGFjZVJlcXVpcmVkKSBjb25zdCB7IHJldHVybiBtX3F1b3RhID49
IG1fc2l6ZSArIHNwYWNlUmVxdWlyZWQ7IH0KKyAgICBib29sIGlzUmVxdWVzdGluZ1NwYWNlKCkg
Y29uc3QgeyByZXR1cm4gbV9pc1JlcXVlc3RpbmdTcGFjZTsgfQogICAgIHZvaWQgcmVxdWVzdFNw
YWNlKHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDb21w
bGV0aW9uQ2FsbGJhY2smJik7CiAgICAgdm9pZCB3cml0ZVJlY29yZChjb25zdCBDYWNoZSYsIGNv
bnN0IFJlY29yZEluZm9ybWF0aW9uJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZCYm
LCB1aW50NjRfdCBwcmV2aW91c1JlY29yZFNpemUsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpD
b21wbGV0aW9uQ2FsbGJhY2smJik7CiAKQEAgLTkzLDcgKzk0LDEwIEBAIHByaXZhdGU6CiAgICAg
dm9pZCBtYWtlRGlydHkoKSB7ICsrbV91cGRhdGVDb3VudGVyOyB9CiAgICAgYm9vbCBpc0RpcnR5
KHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0OwogCisgICAgdm9pZCBub3RpZnlDYWNoZXNP
ZlJlcXVlc3RTcGFjZUVuZCgpOworCiAgICAgYm9vbCBtX2lzSW5pdGlhbGl6ZWQgeyBmYWxzZSB9
OworICAgIGJvb2wgbV9pc1JlcXVlc3RpbmdTcGFjZSB7IGZhbHNlIH07CiAgICAgRW5naW5lKiBt
X2VuZ2luZSB7IG51bGxwdHIgfTsKICAgICB1aW50NjRfdCBtX3VwZGF0ZUNvdW50ZXIgeyAwIH07
CiAgICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG1fb3JpZ2luOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggYzQ4MWYzMzdmYmRiZDE1ZjcwMjUzMmM0MWM0MTA1
ZjM5MjMzZGZhMS4uZmEyYTExNzI3NjE2ZmZmZTU5ZDRiMGI4OTQ4Zjg1MGNjYzY5ZWNjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0xOTcsNiArMTk3LDcg
QEAgZGVmIGZvcndhcmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKHJlY2VpdmVyKToKICAgICBu
b19mb3J3YXJkX2RlY2xhcmF0aW9uX3R5cGVzID0gZnJvemVuc2V0KFsKICAgICAgICAgJ01hY2hT
ZW5kUmlnaHQnLAogICAgICAgICAnU3RyaW5nJywKKyAgICAgICAgJ1dlYkNvcmU6OkRPTUNhY2hl
UXVvdGFFeHRlbnNpb25SZXF1ZXN0SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpEb2N1
bWVudElkZW50aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyJywKICAg
ICAgICAgJ1dlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyJywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IDRhNzkxZjM1YzMwZmFjZTQ3NGQ0NTlmMWYyMjIyNWY4NmQ5NTk1ZGEuLjE0N2RiNTUyZDhk
NzYzYTZiNjIwYjYzNmI4NTU3MGM5ZmM3MTRhMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtNzI4LDYg
KzcyOCwxOSBAQCB2b2lkIE5ldHdvcmtQcm9jZXNzUHJveHk6OmVzdGFibGlzaFdvcmtlckNvbnRl
eHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzc0ZvckV4cAogfQogI2VuZGlmCiAKK3ZvaWQgTmV0
d29ya1Byb2Nlc3NQcm94eTo6cmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlKFBBTDo6U2Vzc2lvbklE
IHNlc3Npb25JRCwgV2ViQ29yZTo6RE9NQ2FjaGVRdW90YUV4dGVuc2lvblJlcXVlc3RJZGVudGlm
aWVyIHJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCB1aW50
NjRfdCBxdW90YSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQp
Cit7CisgICAgYXV0byogc3RvcmUgPSB3ZWJzaXRlRGF0YVN0b3JlRnJvbVNlc3Npb25JRChzZXNz
aW9uSUQpOworCisgICAgaWYgKCFzdG9yZSkgeworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpOZXR3
b3JrUHJvY2Vzczo6UmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlQ29tcGxldGVkIHsgc2Vzc2lvbklE
LCByZXF1ZXN0SWRlbnRpZmllciwgeyB9IH0sIDApOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgLy8gRklYTUU6IEFzayBXZWJzaXRlRGF0YVN0b3JlIGFib3V0IHVwZGF0aW5nIHRoZSBx
dW90YSBmb3IgdGhpcyBvcmlnaW4uCisgICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Byb2Nlc3M6
OlJlcXVlc3RDYWNoZVN0b3JhZ2VTcGFjZUNvbXBsZXRlZCB7IHNlc3Npb25JRCwgcmVxdWVzdElk
ZW50aWZpZXIsIHF1b3RhIH0sIDApOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3Vu
ZGVmIE1FU1NBR0VfQ0hFQ0sKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0
d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5kZXggNGZlNWNlN2E0NTZlZGI1YjQzMmMwMThm
Mzc3YjM5MjQzY2ZhNTQ3ZS4uZmY3OGI3YTU1NjQ2MmYzOTMwMjY5ZGViNjk2ZjNiYWEzYTc0ZTA4
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5LmgKQEAgLTE2NSw2ICsxNjUsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgZXN0
YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzRm9yRXhwbGljaXRT
ZXNzaW9uKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmLCBQQUw6OlNlc3Npb25JRCk7CiAj
ZW5kaWYKIAorICAgIHZvaWQgcmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlKFBBTDo6U2Vzc2lvbklE
LCBXZWJDb3JlOjpET01DYWNoZVF1b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50
U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCk7CisKICAgICBXZWJzaXRlRGF0YVN0b3JlKiB3
ZWJzaXRlRGF0YVN0b3JlRnJvbVNlc3Npb25JRChQQUw6OlNlc3Npb25JRCk7CiAKICAgICAvLyBQ
cm9jZXNzTGF1bmNoZXI6OkNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4
IGI1NjQxZjk2OTA1MDgyMGQ1NWVmODdkOGJlMDU4OTkxYzljNzYzY2MuLjgwYWIyMTYwMTQ3ZTc0
MDVjYzQ4YTAwOTZjNTFiNzdkOWEwNWM5ZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMu
aW4KQEAgLTYyLDQgKzYyLDYgQEAgbWVzc2FnZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94eSBMZWdh
Y3lSZWNlaXZlciB7CiAgICAgRXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdv
cmtQcm9jZXNzKHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luKQogICAg
IEVzdGFibGlzaFdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2Vzc0ZvckV4cGxp
Y2l0U2Vzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbiwgUEFM
OjpTZXNzaW9uSUQgZXhwbGljaXRTZXNzaW9uKQogI2VuZGlmCisKKyAgICBSZXF1ZXN0Q2FjaGVT
dG9yYWdlU3BhY2UoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBXZWJDb3JlOjpET01DYWNoZVF1
b3RhRXh0ZW5zaW9uUmVxdWVzdElkZW50aWZpZXIgcmVxdWVzdElkZW50aWZpZXIsIHN0cnVjdCBX
ZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCB1aW50NjRfdCBxdW90YSwgdWludDY0X3QgY3Vy
cmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359318</attachid>
            <date>2019-01-16 15:10:49 -0800</date>
            <delta_ts>2019-01-16 17:16:13 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-193296-20190116151048.patch</filename>
            <type>text/plain</type>
            <size>18506</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQwMDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGVmOWE0ODdiMGRlZjZiNzgz
ZTQ5MmNkMmJjN2UzYmJkMThiNTIxZDYuLjdlNWZjYjMzYWFjNmRiYzVhM2FhZGExYmNmNjA2ZjFj
MDQ2NTdjOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDIgQEAKKzIwMTktMDEtMTYgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFBpcGUgY2FjaGUgcXVvdGEgcmVx
dWVzdCBmcm9tIE5ldHdvcmsgUHJvY2VzcyB0byBVSVByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MzI5NgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdoZW4gY2FjaGUgc3RvcmFnZSBoaXRzIHF1
b3RhIGZvciBhIGdpdmVuIG9yaWdpbiwgcGlwZSB0aGUgcmVxdWVzdCBiYWNrIHRvIE5ldHdvcmtQ
cm9jZXNzLgorICAgICAgICBObyByZWNvcmQgd2lsbCBiZSBwdXQgdW50aWwgdGhlIHF1b3RhIHJl
cXVlc3QgaXMgYW5zd2VyZWQuCisgICAgICAgIFRoZSByZXF1ZXN0IGlzIHNlbnQgZnJvbSBDYWNo
ZVN0b3JhZ2U6OkNhY2hlcyB0byBDYWNoZVN0b3JhZ2U6OkVuZ2luZSBhbmQgdG8gTmV0d29ya1By
b2Nlc3MuCisgICAgICAgIE5ldHdvcmtQcm9jZXNzIHRoZW4gc2VuZHMgaXQgdG8gTmV0d29ya1By
b2Nlc3NQcm94eS4KKyAgICAgICAgQ3VycmVudGx5IE5ldHdvcmtQcm9jZXNzUHJveHkganVzdCBh
bnN3ZXJzIGJ5IGtlZXBpbmcgdGhlIHF1b3RhIGFzIGl0IGlzLgorICAgICAgICBJbiB0aGUgZnV0
dXJlLCBOZXR3b3JrUHJvY2Vzc1Byb3h5IHNob3VsZCBtYWtlIGEgZGVsZWdhdGUgY2FsbCB0byBs
ZXQgdGhlIGFwcCB1c2luZyBXZWJLaXQKKyAgICAgICAgbWFrZSBhIGRlY2lzaW9uIG9uIHRoZSBx
dW90YS4gVGhpcyB3aWxsIGFsbG93IHByb21wdGluZyB1c2VyIHRvIGJ1bXAgaXQgYXMgZG9uZSBm
b3Igb3RoZXIgZGF0YS4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnJlcXVlc3RDYWNoZVN0b3Jh
Z2VTcGFjZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkVuZ2luZTo6fkVuZ2luZSk6CisgICAgICAgIChX
ZWJLaXQ6OkNhY2hlU3RvcmFnZTo6RW5naW5lOjpmcm9tKToKKyAgICAgICAgKFdlYktpdDo6Q2Fj
aGVTdG9yYWdlOjpFbmdpbmU6OkVuZ2luZSk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFn
ZTo6RW5naW5lOjpyZXF1ZXN0U3BhY2UpOgorICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6
OkVuZ2luZTo6cmVxdWVzdFNwYWNlQ29tcGxldGVkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9j
YWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNhY2hl
U3RvcmFnZTo6Q2FjaGU6OnB1dCk6CisgICAgICAgIChXZWJLaXQ6OkNhY2hlU3RvcmFnZTo6Q2Fj
aGU6OnJldHJ5UHV0dGluZ1BlbmRpbmdSZWNvcmRzKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZS5oOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHA6CisgICAgICAgIChXZWJLaXQ6
OkNhY2hlU3RvcmFnZTo6Q2FjaGVzOjpyZXF1ZXN0U3BhY2UpOgorICAgICAgICAoV2ViS2l0OjpD
YWNoZVN0b3JhZ2U6OkNhY2hlczo6bm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VFbmQpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oOgor
ICAgICAgICAoV2ViS2l0OjpDYWNoZVN0b3JhZ2U6OkNhY2hlczo6aXNSZXF1ZXN0aW5nU3BhY2Ug
Y29uc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0Q2FjaGVT
dG9yYWdlU3BhY2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5
Lm1lc3NhZ2VzLmluOgorCiAyMDE5LTAxLTE2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBBZGQgYSBuZXcgU1BJIGZvciBjb250cm9sbGluZyBnZXRVc2VyTWVk
aWEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAK
aW5kZXggZWUyNWU5OWYwMzM5NjliZmZkOTQzOTE1OWZkZDFmODQyNDkxNDY2OC4uMTkwMGVmZTA1
NDA4NTVkYzUyOTIyNTIyNmUxNzFhZGRmMWQwZDY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTE0MTMsNiArMTQxMywxMSBAQCB2
b2lkIE5ldHdvcmtQcm9jZXNzOjphZGRTZXJ2aWNlV29ya2VyU2Vzc2lvbihQQUw6OlNlc3Npb25J
RCBzZXNzaW9uSUQsIFN0cmluZyYgcwogfQogI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKIAordm9pZCBOZXR3b3JrUHJvY2Vzczo6cmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlKFBBTDo6
U2Vzc2lvbklEIHNlc3Npb25JRCwgY29uc3QgQ2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90
IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDx1aW50NjRfdD4pPiYmIGNhbGxiYWNrKQorewor
ICAgIHBhcmVudFByb2Nlc3NDb25uZWN0aW9uKCktPnNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdl
czo6TmV0d29ya1Byb2Nlc3NQcm94eTo6UmVxdWVzdENhY2hlU3RvcmFnZVNwYWNlIHsgc2Vzc2lv
bklELCBvcmlnaW4sIHF1b3RhLCBjdXJyZW50U2l6ZSwgc3BhY2VSZXF1aXJlZCB9LCBXVEZNb3Zl
KGNhbGxiYWNrKSwgMCk7Cit9CisKICNpZiAhUExBVEZPUk0oQ09DT0EpCiB2b2lkIE5ldHdvcmtQ
cm9jZXNzOjppbml0aWFsaXplUHJvY2Vzcyhjb25zdCBDaGlsZFByb2Nlc3NJbml0aWFsaXphdGlv
blBhcmFtZXRlcnMmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5oCmluZGV4IGE4YTUxMjRiYjVlZGQ4ODY3NmZiNDkxMDIyZjI3ZWNlYzBjNjdmNmEu
LmFlYzNlYTQwZGFjYjE2MDQ5NTUwZTc3MWJkODAwYjY5ZmE1ODYxZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTQ0LDYgKzQ0LDcgQEAK
ICNpbmNsdWRlIDx3dGYvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CiAjaW5jbHVkZSA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgorI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBJUEMgewogY2xhc3MgRm9ybURhdGFSZWZlcmVuY2U7
CkBAIC02MSw2ICs2Miw3IEBAIGNsYXNzIE5ldHdvcmtTdG9yYWdlU2Vzc2lvbjsKIGNsYXNzIFJl
c291cmNlRXJyb3I7CiBjbGFzcyBTV1NlcnZlcjsKIGVudW0gY2xhc3MgU3RvcmVkQ3JlZGVudGlh
bHNQb2xpY3kgOiBib29sOworc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBNZXNzYWdlV2l0
aE1lc3NhZ2VQb3J0czsKIHN0cnVjdCBTZWN1cml0eU9yaWdpbkRhdGE7CiBzdHJ1Y3QgU291cE5l
dHdvcmtQcm94eVNldHRpbmdzOwpAQCAtOTYsNiArOTgsNyBAQCBjbGFzcyBOZXR3b3JrUHJvY2Vz
cyA6IHB1YmxpYyBDaGlsZFByb2Nlc3MsIHByaXZhdGUgRG93bmxvYWRNYW5hZ2VyOjpDbGllbnQs
IHB1YgogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgICwgcHVibGljIFdlYkNvcmU6
OklEQlNlcnZlcjo6SURCQmFja2luZ1N0b3JlVGVtcG9yYXJ5RmlsZUhhbmRsZXIKICNlbmRpZgor
ICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPE5ldHdvcmtQcm9jZXNzPgogewogICAgIFdURl9N
QUtFX05PTkNPUFlBQkxFKE5ldHdvcmtQcm9jZXNzKTsKIHB1YmxpYzoKQEAgLTIyMiwxMSArMjI1
LDEyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVmKCkgY29uc3Qgb3ZlcnJpZGUgeyBUaHJlYWRT
YWZlUmVmQ291bnRlZDxOZXR3b3JrUHJvY2Vzcz46OnJlZigpOyB9CiAgICAgdm9pZCBkZXJlZigp
IGNvbnN0IG92ZXJyaWRlIHsgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29ya1Byb2Nlc3M+Ojpk
ZXJlZigpOyB9Ci0gICAgCisKICAgICBDYWNoZVN0b3JhZ2U6OkVuZ2luZSogZmluZENhY2hlRW5n
aW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJik7CiAgICAgQ2FjaGVTdG9yYWdlOjpFbmdpbmUmIGVu
c3VyZUNhY2hlRW5naW5lKGNvbnN0IFBBTDo6U2Vzc2lvbklEJiwgRnVuY3Rpb248UmVmPENhY2hl
U3RvcmFnZTo6RW5naW5lPigpPiYmKTsKICAgICB2b2lkIHJlbW92ZUNhY2hlRW5naW5lKGNvbnN0
IFBBTDo6U2Vzc2lvbklEJik7Ci0gICAgCisgICAgdm9pZCByZXF1ZXN0Q2FjaGVTdG9yYWdlU3Bh
Y2UoUEFMOjpTZXNzaW9uSUQsIGNvbnN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiYsIHVpbnQ2NF90
IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChPcHRpb25hbDx1aW50NjRfdD4pPiYmKTsKKwogcHJpdmF0ZToK
ICAgICBOZXR3b3JrUHJvY2VzcygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5jcHAKaW5kZXggODg4MjY5MGE2
ZjNlNDkyMjRlYjU3NGNjOGI5NjIzOTcwZjE5Yjg4Ny4uZjE3ZmQ5ZjkyYmU1ZDJhNTA1NDVjMDc5
OWUzN2Q5YWUwY2YzZWZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmNwcApAQCAtODIsNyArODIsNyBAQCB2
b2lkIEVuZ2luZTo6ZnJvbShOZXR3b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MsIFBBTDo6U2Vz
c2lvbklEIHNlc3Npb25JRCwgRnVuYwogCiAgICAgbmV0d29ya1Byb2Nlc3MuY2FjaGVTdG9yYWdl
UGFyYW1ldGVycyhzZXNzaW9uSUQsIFtuZXR3b3JrUHJvY2VzcyA9IG1ha2VSZWYobmV0d29ya1By
b2Nlc3MpLCBzZXNzaW9uSUQsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChhdXRvJiYg
cm9vdFBhdGgsIGF1dG8gcXVvdGEpIG11dGFibGUgewogICAgICAgICBjYWxsYmFjayhuZXR3b3Jr
UHJvY2Vzcy0+ZW5zdXJlQ2FjaGVFbmdpbmUoc2Vzc2lvbklELCBbJl0gewotICAgICAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgRW5naW5lIHsgU3RyaW5nIHsgcm9vdFBhdGggfSwgcXVvdGEg
fSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBFbmdpbmUgeyBzZXNzaW9uSUQs
IG5ldHdvcmtQcm9jZXNzLmdldCgpLCBTdHJpbmcgeyByb290UGF0aCB9LCBxdW90YSB9KTsKICAg
ICAgICAgfSkpOwogICAgIH0pOwogfQpAQCAtMTg1LDggKzE4NSwxMCBAQCB2b2lkIEVuZ2luZTo6
Y2xlYXJDYWNoZXNGb3JPcmlnaW4oTmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBQQUw6
OlNlc3Npb25JRAogICAgIH0pOwogfQogCi1FbmdpbmU6OkVuZ2luZShTdHJpbmcmJiByb290UGF0
aCwgdWludDY0X3QgcXVvdGEpCi0gICAgOiBtX3Jvb3RQYXRoKFdURk1vdmUocm9vdFBhdGgpKQor
RW5naW5lOjpFbmdpbmUoUEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBOZXR3b3JrUHJvY2VzcyYg
cHJvY2VzcywgU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKQorICAgIDogbV9zZXNz
aW9uSUQoc2Vzc2lvbklEKQorICAgICwgbV9uZXR3b3JrUHJvY2VzcyhtYWtlV2Vha1B0cihwcm9j
ZXNzKSkKKyAgICAsIG1fcm9vdFBhdGgoV1RGTW92ZShyb290UGF0aCkpCiAgICAgLCBtX3F1b3Rh
KHF1b3RhKQogewogICAgIGlmICghbV9yb290UGF0aC5pc051bGwoKSkKQEAgLTY0OCw2ICs2NTAs
MTUgQEAgU3RyaW5nIEVuZ2luZTo6cmVwcmVzZW50YXRpb24oKQogICAgIHJldHVybiBidWlsZGVy
LnRvU3RyaW5nKCk7CiB9CiAKK3ZvaWQgRW5naW5lOjpyZXF1ZXN0U3BhY2UoY29uc3QgV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiBvcmlnaW4sIHVpbnQ2NF90IHF1b3RhLCB1aW50NjRfdCBjdXJyZW50
U2l6ZSwgdWludDY0X3Qgc3BhY2VSZXF1aXJlZCwgUmVxdWVzdFNwYWNlQ2FsbGJhY2smJiBjYWxs
YmFjaykKK3sKKyAgICBpZiAoIW1fbmV0d29ya1Byb2Nlc3MpIHsKKyAgICAgICAgY2FsbGJhY2so
eyB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX25ldHdvcmtQcm9jZXNzLT5yZXF1
ZXN0Q2FjaGVTdG9yYWdlU3BhY2UobV9zZXNzaW9uSUQsIG9yaWdpbiwgcXVvdGEsIGN1cnJlbnRT
aXplLCBzcGFjZVJlcXVpcmVkLCBXVEZNb3ZlKGNhbGxiYWNrKSk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIENhY2hlU3RvcmFnZQogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmggYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZS5oCmlu
ZGV4IDFlYmNiNzM2MTY1NzBkZjUwNzNjZmZkNWI1ZWQwODU0MTRkOGQyMTYuLmE4MTM5NDljZmEx
OWYxODkxYmY3YTY3ODU3ODA2YjE5MTlhZGMwMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmUuaApAQCAtOTAsOCAr
OTAsMTEgQEAgcHVibGljOgogICAgIGNvbnN0IE5ldHdvcmtDYWNoZTo6U2FsdCYgc2FsdCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2FsdC52YWx1ZSgpOyB9CiAgICAgdWludDY0X3QgbmV4dENhY2hlSWRl
bnRpZmllcigpIHsgcmV0dXJuICsrbV9uZXh0Q2FjaGVJZGVudGlmaWVyOyB9CiAKKyAgICB1c2lu
ZyBSZXF1ZXN0U3BhY2VDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8
dWludDY0X3Q+KT47CisgICAgdm9pZCByZXF1ZXN0U3BhY2UoY29uc3QgV2ViQ29yZTo6Q2xpZW50
T3JpZ2luJiwgdWludDY0X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50NjRfdCBz
cGFjZVJlcXVpcmVkLCBSZXF1ZXN0U3BhY2VDYWxsYmFjayYmKTsKKwogcHJpdmF0ZToKLSAgICBF
bmdpbmUoU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90IHF1b3RhKTsKKyAgICBFbmdpbmUoUEFM
OjpTZXNzaW9uSUQsIE5ldHdvcmtQcm9jZXNzJiwgU3RyaW5nJiYgcm9vdFBhdGgsIHVpbnQ2NF90
IHF1b3RhKTsKIAogICAgIHZvaWQgb3Blbihjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mLCBj
b25zdCBTdHJpbmcmIGNhY2hlTmFtZSwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRl
bnRpZmllckNhbGxiYWNrJiYpOwogICAgIHZvaWQgcmVtb3ZlKHVpbnQ2NF90IGNhY2hlSWRlbnRp
ZmllciwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OkNhY2hlSWRlbnRpZmllckNhbGxiYWNrJiYp
OwpAQCAtMTI5LDYgKzEzMiw4IEBAIHByaXZhdGU6CiAKICAgICBDYWNoZSogY2FjaGUodWludDY0
X3QgY2FjaGVJZGVudGlmaWVyKTsKIAorICAgIFBBTDo6U2Vzc2lvbklEIG1fc2Vzc2lvbklEOwor
ICAgIFdlYWtQdHI8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1Byb2Nlc3M7CiAgICAgSGFzaE1h
cDxXZWJDb3JlOjpDbGllbnRPcmlnaW4sIFJlZlB0cjxDYWNoZXM+PiBtX2NhY2hlczsKICAgICB1
aW50NjRfdCBtX25leHRDYWNoZUlkZW50aWZpZXIgeyAwIH07CiAgICAgU3RyaW5nIG1fcm9vdFBh
dGg7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hl
U3RvcmFnZUVuZ2luZUNhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2Fj
aGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwCmluZGV4IGU0NTJkYmE1ZTMzMTM1NDU5MmNl
OTIwY2MyODRiYTY2MjNmMGFhNWEuLjVlMWU5NGExNjBlYjliYjYzZDAxNzRkYjk3OTZlODczYjc2
MmZiYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2Fj
aGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUuY3BwCkBAIC00MDAsMTAgKzQwMCwxNSBA
QCB2b2lkIENhY2hlOjpzdG9yZVJlY29yZHMoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRzLCBSZWNv
cmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgYwogICAgIH0KIH0KIAotdm9pZCBDYWNoZTo6cHV0KFZl
Y3RvcjxSZWNvcmQ+JiYgcmVjb3JkcywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNhbGxi
YWNrKQordm9pZCBDYWNoZTo6cHV0KFZlY3RvcjxSZWNvcmQ+JiYgcmVjb3JkcywgUmVjb3JkSWRl
bnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNrLCBDYW5SZXF1ZXN0TW9yZVNwYWNlIGNhblJlcXVl
c3RNb3JlU3BhY2UpCiB7CiAgICAgQVNTRVJUKG1fc3RhdGUgPT0gU3RhdGU6Ok9wZW4pOwogCisg
ICAgaWYgKG1fY2FjaGVzLmlzUmVxdWVzdGluZ1NwYWNlKCkpIHsKKyAgICAgICAgbV9wZW5kaW5n
UHV0UmVxdWVzdHMuYXBwZW5kKHsgV1RGTW92ZShyZWNvcmRzKSwgV1RGTW92ZShjYWxsYmFjaykg
fSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBXZWJDb3JlOjpDYWNoZVF1ZXJ5T3B0
aW9ucyBvcHRpb25zOwogICAgIHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQgPSAwOwogCkBAIC00MjMs
MTkgKzQyOCwzMyBAQCB2b2lkIENhY2hlOjpwdXQoVmVjdG9yPFJlY29yZD4mJiByZWNvcmRzLCBS
ZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYgY2FsbGJhY2spCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKKyAgICBpZiAoY2FuUmVxdWVzdE1vcmVTcGFjZSA9PSBDYW5SZXF1ZXN0TW9yZVNwYWNl
OjpObykgeworICAgICAgICBjYWxsYmFjayhtYWtlVW5leHBlY3RlZChET01DYWNoZUVuZ2luZTo6
RXJyb3I6OlF1b3RhRXhjZWVkZWQpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1f
Y2FjaGVzLnJlcXVlc3RTcGFjZShzcGFjZVJlcXVpcmVkLCBbY2FjaGVzID0gbWFrZVJlZihtX2Nh
Y2hlcyksIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIHJlY29yZHMgPSBXVEZNb3ZlKHJlY29y
ZHMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXShPcHRpb25hbDxET01DYWNoZUVuZ2lu
ZTo6RXJyb3I+JiYgZXJyb3IpIG11dGFibGUgewogICAgICAgICBpZiAoZXJyb3IpIHsKICAgICAg
ICAgICAgIGNhbGxiYWNrKG1ha2VVbmV4cGVjdGVkKGVycm9yLnZhbHVlKCkpKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICBhdXRvKiBjYWNoZSA9IGNhY2hlcy0+Zmlu
ZChpZGVudGlmaWVyKTsKLSAgICAgICAgaWYgKCFjYWNoZSkKKyAgICAgICAgaWYgKCFjYWNoZSkg
eworICAgICAgICAgICAgY2FsbGJhY2sobWFrZVVuZXhwZWN0ZWQoRE9NQ2FjaGVFbmdpbmU6OkVy
cm9yOjpJbnRlcm5hbCkpOwogICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICAg
ICAgY2FjaGUtPnN0b3JlUmVjb3JkcyhXVEZNb3ZlKHJlY29yZHMpLCBXVEZNb3ZlKGNhbGxiYWNr
KSk7CisgICAgICAgIGNhY2hlLT5wdXQoV1RGTW92ZShyZWNvcmRzKSwgV1RGTW92ZShjYWxsYmFj
ayksIENhblJlcXVlc3RNb3JlU3BhY2U6Ok5vKTsKICAgICB9KTsKIH0KIAordm9pZCBDYWNoZTo6
cmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMoKQoreworICAgIGF1dG8gcGVuZGluZ1B1dFJlcXVl
c3RzID0gV1RGTW92ZShtX3BlbmRpbmdQdXRSZXF1ZXN0cyk7CisgICAgZm9yIChhdXRvJiByZXF1
ZXN0IDogcGVuZGluZ1B1dFJlcXVlc3RzKQorICAgICAgICBwdXQoV1RGTW92ZShyZXF1ZXN0LnJl
Y29yZHMpLCBXVEZNb3ZlKHJlcXVlc3QuY2FsbGJhY2spKTsKK30KKwogdm9pZCBDYWNoZTo6cmVt
b3ZlKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIHJlcXVlc3QsIFdlYkNvcmU6OkNhY2hlUXVl
cnlPcHRpb25zJiYgb3B0aW9ucywgUmVjb3JkSWRlbnRpZmllcnNDYWxsYmFjayYmIGNhbGxiYWNr
KQogewogICAgIEFTU0VSVChtX3N0YXRlID09IFN0YXRlOjpPcGVuKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGUu
aCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5l
Q2FjaGUuaAppbmRleCBjZjFiM2I2MTNlMTUxZmQwYjYyNzA5OTJiMjZhZTkxNDU1MjE5YzI5Li5h
ZTg0MzZmOTUyOTE0ZTNhMzU2MjAzNDVjN2JjNmM1M2U0NzQ3ZmFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdp
bmVDYWNoZS5oCkBAIC02OSw3ICs2OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHJldHJpZXZlUmVj
b3Jkcyhjb25zdCBVUkwmLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3Jkc0NhbGxiYWNr
JiYpOwogICAgIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpDYWNoZUluZm8gaW5mbygpIGNvbnN0
IHsgcmV0dXJuIHsgbV9pZGVudGlmaWVyLCBtX25hbWUgfTsgfQogCi0gICAgdm9pZCBwdXQoVmVj
dG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+JiYsIFdlYkNvcmU6OkRPTUNhY2hl
RW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYpOworICAgIGVudW0gY2xhc3MgQ2Fu
UmVxdWVzdE1vcmVTcGFjZSB7IE5vLCBZZXMgfTsKKyAgICB2b2lkIHB1dChWZWN0b3I8V2ViQ29y
ZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZD4mJiwgV2ViQ29yZTo6RE9NQ2FjaGVFbmdpbmU6OlJl
Y29yZElkZW50aWZpZXJzQ2FsbGJhY2smJiwgQ2FuUmVxdWVzdE1vcmVTcGFjZSA9IENhblJlcXVl
c3RNb3JlU3BhY2U6Olllcyk7CiAgICAgdm9pZCByZW1vdmUoV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiYsIFdlYkNvcmU6OkNhY2hlUXVlcnlPcHRpb25zJiYsIFdlYkNvcmU6OkRPTUNhY2hlRW5n
aW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNrJiYpOwogCiAgICAgVmVjdG9yPE5ldHdvcmtD
YWNoZTo6S2V5PiBrZXlzKCkgY29uc3Q7CkBAIC03Nyw2ICs3OCw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGRpc3Bvc2UoKTsKICAgICB2b2lkIGNsZWFyTWVtb3J5UmVwcmVzZW50YXRpb24oKTsKIAor
ICAgIHZvaWQgcmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMoKTsKKwogICAgIHN0YXRpYyBPcHRp
b25hbDxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6UmVjb3JkPiBkZWNvZGUoY29uc3QgTmV0d29y
a0NhY2hlOjpTdG9yYWdlOjpSZWNvcmQmKTsKICAgICBzdGF0aWMgTmV0d29ya0NhY2hlOjpTdG9y
YWdlOjpSZWNvcmQgZW5jb2RlKGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiwgY29uc3QgV2ViQ29y
ZTo6RE9NQ2FjaGVFbmdpbmU6OlJlY29yZCYpOwogCkBAIC0xMjAsNiArMTIzLDEyIEBAIHByaXZh
dGU6CiAgICAgSGFzaE1hcDxTdHJpbmcsIFZlY3RvcjxSZWNvcmRJbmZvcm1hdGlvbj4+IG1fcmVj
b3JkczsKICAgICB1aW50NjRfdCBtX25leHRSZWNvcmRJZGVudGlmaWVyIHsgMCB9OwogICAgIFZl
Y3RvcjxXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNrPiBtX3BlbmRp
bmdPcGVuaW5nQ2FsbGJhY2tzOworCisgICAgc3RydWN0IFBlbmRpbmdQdXRSZXF1ZXN0IHsKKyAg
ICAgICAgVmVjdG9yPFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmQ+IHJlY29yZHM7Cisg
ICAgICAgIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpSZWNvcmRJZGVudGlmaWVyc0NhbGxiYWNr
IGNhbGxiYWNrOworICAgIH07CisgICAgVmVjdG9yPFBlbmRpbmdQdXRSZXF1ZXN0PiBtX3BlbmRp
bmdQdXRSZXF1ZXN0czsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIENhY2hlU3RvcmFnZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdp
bmVDYWNoZXMuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0
b3JhZ2VFbmdpbmVDYWNoZXMuY3BwCmluZGV4IGZhYTg4Yzk2M2MzNmY3NjIyMjg3ZDc4YjU3ZWVi
MTM0NTlhZGU1ZTUuLjE5MTM0NzBjZGQyMjBjZTNiZTk3NWRmOTkwMGVmMzUwZDA3MTc2M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdl
RW5naW5lQ2FjaGVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hl
L0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5jcHAKQEAgLTQ4MSw5ICs0ODEsMzUgQEAgdm9pZCBD
YWNoZXM6OnJlYWRSZWNvcmRzTGlzdChDYWNoZSYgY2FjaGUsIE5ldHdvcmtDYWNoZTo6U3RvcmFn
ZTo6VHJhdmVyc2VIYW5kbGUKIAogdm9pZCBDYWNoZXM6OnJlcXVlc3RTcGFjZSh1aW50NjRfdCBz
cGFjZVJlcXVpcmVkLCBXZWJDb3JlOjpET01DYWNoZUVuZ2luZTo6Q29tcGxldGlvbkNhbGxiYWNr
JiYgY2FsbGJhY2spCiB7Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudCBxdW90YSBpbmNyZWFzZSBy
ZXF1ZXN0LgorICAgIEFTU0VSVCghbV9pc1JlcXVlc3RpbmdTcGFjZSk7CisKICAgICBBU1NFUlQo
bV9xdW90YSA8IG1fc2l6ZSArIHNwYWNlUmVxdWlyZWQpOwotICAgIGNhbGxiYWNrKEVycm9yOjpR
dW90YUV4Y2VlZGVkKTsKKworICAgIGlmICghbV9lbmdpbmUpIHsKKyAgICAgICAgY2FsbGJhY2so
RXJyb3I6OlF1b3RhRXhjZWVkZWQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9p
c1JlcXVlc3RpbmdTcGFjZSA9IHRydWU7CisgICAgbV9lbmdpbmUtPnJlcXVlc3RTcGFjZShtX29y
aWdpbiwgbV9xdW90YSwgbV9zaXplLCBzcGFjZVJlcXVpcmVkLCBbdGhpcywgcHJvdGVjdGVkVGhp
cyA9IG1ha2VSZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoT3B0aW9u
YWw8dWludDY0X3Q+IG5ld1F1b3RhKSB7CisgICAgICAgIG1faXNSZXF1ZXN0aW5nU3BhY2UgPSBm
YWxzZTsKKyAgICAgICAgaWYgKCFuZXdRdW90YSkgeworICAgICAgICAgICAgY2FsbGJhY2soRXJy
b3I6OlF1b3RhRXhjZWVkZWQpOworICAgICAgICAgICAgbm90aWZ5Q2FjaGVzT2ZSZXF1ZXN0U3Bh
Y2VFbmQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3F1b3Rh
ID0gKm5ld1F1b3RhOworICAgICAgICBjYWxsYmFjayh7IH0pOworICAgICAgICBub3RpZnlDYWNo
ZXNPZlJlcXVlc3RTcGFjZUVuZCgpOworICAgIH0pOworfQorCit2b2lkIENhY2hlczo6bm90aWZ5
Q2FjaGVzT2ZSZXF1ZXN0U3BhY2VFbmQoKQoreworICAgIGZvciAoYXV0byYgY2FjaGUgOiBtX2Nh
Y2hlcykKKyAgICAgICAgY2FjaGUucmV0cnlQdXR0aW5nUGVuZGluZ1JlY29yZHMoKTsKKyAgICBm
b3IgKGF1dG8mIGNhY2hlIDogbV9yZW1vdmVkQ2FjaGVzKQorICAgICAgICBjYWNoZS5yZXRyeVB1
dHRpbmdQZW5kaW5nUmVjb3JkcygpOwogfQogCiB2b2lkIENhY2hlczo6d3JpdGVSZWNvcmQoY29u
c3QgQ2FjaGUmIGNhY2hlLCBjb25zdCBSZWNvcmRJbmZvcm1hdGlvbiYgcmVjb3JkSW5mb3JtYXRp
b24sIFJlY29yZCYmIHJlY29yZCwgdWludDY0X3QgcHJldmlvdXNSZWNvcmRTaXplLCBDb21wbGV0
aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL2NhY2hlL0NhY2hlU3RvcmFnZUVuZ2luZUNhY2hlcy5oCmluZGV4IGY4
ZTcyYmZlZTcyOTE1ZjAzMjNhNjAzNTJhNDgyZGI0NmU4NTI1NDQuLjQ4OTYyMmNlZWQxM2JjNWU4
M2I1YjkxYmU4MjRhYjA4OGViNjE0ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvY2FjaGUvQ2FjaGVTdG9yYWdlRW5naW5lQ2FjaGVzLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9DYWNoZVN0b3JhZ2VFbmdpbmVDYWNoZXMuaApAQCAt
NjEsNiArNjEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWFkUmVjb3JkKGNvbnN0IE5ldHdvcmtD
YWNoZTo6S2V5JiwgV1RGOjpGdW5jdGlvbjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkRPTUNhY2hl
RW5naW5lOjpSZWNvcmQsIFdlYkNvcmU6OkRPTUNhY2hlRW5naW5lOjpFcnJvcj4mJik+JiYpOwog
CiAgICAgYm9vbCBoYXNFbm91Z2hTcGFjZSh1aW50NjRfdCBzcGFjZVJlcXVpcmVkKSBjb25zdCB7
IHJldHVybiBtX3F1b3RhID49IG1fc2l6ZSArIHNwYWNlUmVxdWlyZWQ7IH0KKyAgICBib29sIGlz
UmVxdWVzdGluZ1NwYWNlKCkgY29uc3QgeyByZXR1cm4gbV9pc1JlcXVlc3RpbmdTcGFjZTsgfQog
ICAgIHZvaWQgcmVxdWVzdFNwYWNlKHVpbnQ2NF90IHNwYWNlUmVxdWlyZWQsIFdlYkNvcmU6OkRP
TUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJik7CiAgICAgdm9pZCB3cml0ZVJlY29y
ZChjb25zdCBDYWNoZSYsIGNvbnN0IFJlY29yZEluZm9ybWF0aW9uJiwgV2ViQ29yZTo6RE9NQ2Fj
aGVFbmdpbmU6OlJlY29yZCYmLCB1aW50NjRfdCBwcmV2aW91c1JlY29yZFNpemUsIFdlYkNvcmU6
OkRPTUNhY2hlRW5naW5lOjpDb21wbGV0aW9uQ2FsbGJhY2smJik7CiAKQEAgLTkzLDcgKzk0LDEw
IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtYWtlRGlydHkoKSB7ICsrbV91cGRhdGVDb3VudGVyOyB9
CiAgICAgYm9vbCBpc0RpcnR5KHVpbnQ2NF90IHVwZGF0ZUNvdW50ZXIpIGNvbnN0OwogCisgICAg
dm9pZCBub3RpZnlDYWNoZXNPZlJlcXVlc3RTcGFjZUVuZCgpOworCiAgICAgYm9vbCBtX2lzSW5p
dGlhbGl6ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9pc1JlcXVlc3RpbmdTcGFjZSB7IGZhbHNl
IH07CiAgICAgRW5naW5lKiBtX2VuZ2luZSB7IG51bGxwdHIgfTsKICAgICB1aW50NjRfdCBtX3Vw
ZGF0ZUNvdW50ZXIgeyAwIH07CiAgICAgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG1fb3JpZ2luOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NQcm94eS5jcHAKaW5kZXggZDRkMzIwNDlmMzk2NmZlZDg0YzQ1NTAxYjIzYTVmMTQxMzM3MzBi
My4uNjAwYzBiYzM5YWVjMzkyNjlhOGRmZWQ5ZjVhZWNlOTBlMzQyMjRiOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHku
Y3BwCkBAIC03MzQsNiArNzM0LDE5IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3NQcm94eTo6ZXN0YWJs
aXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzRm9yRXhwCiB9CiAjZW5k
aWYKIAordm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5OjpyZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2Uo
UEFMOjpTZXNzaW9uSUQgc2Vzc2lvbklELCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4mIG9y
aWdpbiwgdWludDY0X3QgcXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50NjRfdCBzcGFj
ZVJlcXVpcmVkLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKE9wdGlvbmFsPHVpbnQ2NF90PiBxdW90
YSk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogc3RvcmUgPSB3ZWJzaXRlRGF0
YVN0b3JlRnJvbVNlc3Npb25JRChzZXNzaW9uSUQpOworCisgICAgaWYgKCFzdG9yZSkgeworICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgLy8gRklYTUU6IEFzayBXZWJzaXRlRGF0YVN0b3JlIGFib3V0IHVwZGF0aW5nIHRoZSBxdW90
YSBmb3IgdGhpcyBvcmlnaW4uCisgICAgY29tcGxldGlvbkhhbmRsZXIocXVvdGEpOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIE1FU1NBR0VfQ0hFQ0sKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5oIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKaW5k
ZXggZTM0OGE4NWI5NTRkZTI4ZmE1MTFjMzhmMTJkYTUwNmM4ODgxOTc4Ni4uYmZhOGI4YzU3YTBi
ZjE2Y2ZlMDRiMzczODg0NTNiZTBlZDk3OGNkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmgKQEAgLTE2Niw2ICsxNjYs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgZXN0YWJsaXNoV29ya2VyQ29udGV4dENvbm5lY3Rpb25U
b05ldHdvcmtQcm9jZXNzRm9yRXhwbGljaXRTZXNzaW9uKFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2lu
RGF0YSYmLCBQQUw6OlNlc3Npb25JRCk7CiAjZW5kaWYKIAorICAgIHZvaWQgcmVxdWVzdENhY2hl
U3RvcmFnZVNwYWNlKFBBTDo6U2Vzc2lvbklELCBjb25zdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4m
LCB1aW50NjRfdCBxdW90YSwgdWludDY0X3QgY3VycmVudFNpemUsIHVpbnQ2NF90IHNwYWNlUmVx
dWlyZWQsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoT3B0aW9uYWw8dWludDY0X3Q+IHF1b3RhKT4m
Jik7CisKICAgICBXZWJzaXRlRGF0YVN0b3JlKiB3ZWJzaXRlRGF0YVN0b3JlRnJvbVNlc3Npb25J
RChQQUw6OlNlc3Npb25JRCk7CiAKICAgICAvLyBQcm9jZXNzTGF1bmNoZXI6OkNsaWVudApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3Jr
UHJvY2Vzc1Byb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDJhYWUzZWI0YTg3MmFmYjUwNzEzN2EzMTNj
Zjc4Y2FhNjhhYzFjMzAuLjk1OTI2N2NjNGZiYzI4MTVlZWMwNmQ3YWQ1YjcyMTZkZGI0Y2U4Mzcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4KQEAgLTYzLDQgKzYzLDYgQEAgbWVzc2Fn
ZXMgLT4gTmV0d29ya1Byb2Nlc3NQcm94eSBMZWdhY3lSZWNlaXZlciB7CiAgICAgRXN0YWJsaXNo
V29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQcm9jZXNzKHN0cnVjdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEgb3JpZ2luKQogICAgIEVzdGFibGlzaFdvcmtlckNvbnRleHRDb25u
ZWN0aW9uVG9OZXR3b3JrUHJvY2Vzc0ZvckV4cGxpY2l0U2Vzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhIG9yaWdpbiwgUEFMOjpTZXNzaW9uSUQgZXhwbGljaXRTZXNzaW9u
KQogI2VuZGlmCisKKyAgICBSZXF1ZXN0Q2FjaGVTdG9yYWdlU3BhY2UoUEFMOjpTZXNzaW9uSUQg
c2Vzc2lvbklELCBzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgdWludDY0X3Qg
cXVvdGEsIHVpbnQ2NF90IGN1cnJlbnRTaXplLCB1aW50NjRfdCBzcGFjZVJlcXVpcmVkKSAtPiAo
T3B0aW9uYWw8dWludDY0X3Q+IG5ld1F1b3RhKSBBc3luYwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>