<?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>223679</bug_id>
          
          <creation_ts>2021-03-24 00:54:27 -0700</creation_ts>
          <short_desc>Switch from PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION to filtering interfaces in Network process</short_desc>
          <delta_ts>2021-03-25 09:33:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit Local 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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1743211</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-24 00:54:27 -0700</bug_when>
    <thetext>Switch from PORTALLOCATOR_DISABLE_ADAPTER_ENUMERATION to filtering interfaces in Network process</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743216</commentid>
    <comment_count>1</comment_count>
      <attachid>424104</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-24 01:10:53 -0700</bug_when>
    <thetext>Created attachment 424104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743217</commentid>
    <comment_count>2</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-24 01:11:21 -0700</bug_when>
    <thetext>&lt;rdar://70775358&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743297</commentid>
    <comment_count>3</comment_count>
      <attachid>424104</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-03-24 07:08:15 -0700</bug_when>
    <thetext>Comment on attachment 424104
Patch

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

r=me once the bots are happy

&gt; Source/WebKit/ChangeLog:8
&gt; +        When starting to monitoring, pass whether to enumerate all interfaces from WebProcess to NetworkProcess as a boolean.

s/to monitoring/to monitor/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743762</commentid>
    <comment_count>4</comment_count>
      <attachid>424242</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-25 07:17:26 -0700</bug_when>
    <thetext>Created attachment 424242
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743778</commentid>
    <comment_count>5</comment_count>
      <attachid>424246</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-25 08:26:45 -0700</bug_when>
    <thetext>Created attachment 424246
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743779</commentid>
    <comment_count>6</comment_count>
      <attachid>424247</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-03-25 08:27:34 -0700</bug_when>
    <thetext>Created attachment 424247
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1743798</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-25 09:33:11 -0700</bug_when>
    <thetext>Committed r275037: &lt;https://commits.webkit.org/r275037&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 424247.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424104</attachid>
            <date>2021-03-24 01:10:53 -0700</date>
            <delta_ts>2021-03-25 07:17:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223679-20210324091051.patch</filename>
            <type>text/plain</type>
            <size>18895</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0NDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCBhNzgxOTEyOGVlZmEwNTc0ZTk5OWNmMWY3ZTRkZWU5ZmYzMTk5NWQxLi44MmQz
Y2Y4ZTQyZDdlNDVjYzdmYjdjNDM4YmY3ZjhmOGEzNmJiM2RmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0yNCAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIGZyb20gUE9SVEFMTE9D
QVRPUl9ESVNBQkxFX0FEQVBURVJfRU5VTUVSQVRJT04gdG8gZmlsdGVyaW5nIGludGVyZmFjZXMg
aW4gTmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwOgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwOgorICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwOgorCiAyMDIxLTAzLTEwICBKZXIgTm9ibGUgIDxqZXIu
bm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIENSQVNIIGluIE1lcmdlVVZSb3dfQVZYMgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGZlODMxM2U5ODgyMzBmN2UxMjVhNDg1N2ZlMWQ4ZDY3MDhiNzE4Y2MuLjU4ZGEy
YWFmOGEyMDYxNDQ1OTQzYzNhODNjNDczZjc5NTI3ODYyOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNyBAQAorMjAyMS0wMy0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgU3dpdGNoIGZyb20gUE9SVEFMTE9DQVRPUl9ESVNBQkxFX0FEQVBURVJfRU5VTUVS
QVRJT04gdG8gZmlsdGVyaW5nIGludGVyZmFjZXMgaW4gTmV0d29yayBwcm9jZXNzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2NzkKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb3ZlcmVkIGJ5IHdlYnJ0
Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sLgorCisgICAgICAgICogcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6Cisg
ICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
Lmg6CisgICAgICAgIFVzZSBzZXRfYWxsb3dfdGNwX2xpc3RlbiBpbnN0ZWFkIG9mIFBPUlRBTExP
Q0FUT1JfRElTQUJMRV9BREFQVEVSX0VOVU1FUkFUSU9OLgorCiAyMDIxLTAzLTIyICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBObyBhdWRpbyBvdXRwdXQgd2hl
biB1bnBsdWdnZWQgd2lyZWQgaGVhZHNldCBkdXJpbmcgYSBjYWxsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDc3ODMw
NzFlMzRlYzUzNDU3MWFlNDFjYzM2NDY0ZTdlY2EzMmJkYWEuLjkwMTIwZDc5MjZkZjU1NmViZmUx
MDQxNjBiMzU5NzNmYmRlYTBmODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDMt
MjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFN3aXRjaCBm
cm9tIFBPUlRBTExPQ0FUT1JfRElTQUJMRV9BREFQVEVSX0VOVU1FUkFUSU9OIHRvIGZpbHRlcmlu
ZyBpbnRlcmZhY2VzIGluIE5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBzdGFydGluZyB0byBtb25pdG9yaW5nLCBwYXNz
IHdoZXRoZXIgdG8gZW51bWVyYXRlIGFsbCBpbnRlcmZhY2VzIGZyb20gV2ViUHJvY2VzcyB0byBO
ZXR3b3JrUHJvY2VzcyBhcyBhIGJvb2xlYW4uCisgICAgICAgIEluIE5ldHdvcmtQcm9jZXNzLCBk
byBuZXR3b3JrIGludGVyZmFjZSBlbnVtZXJhdGlvbiBhcyB1c3VhbCwgYnV0IHVzZSB0aGUgYm9v
bGVhbiB0byBkZWNpZGUgd2hldGhlciB0byBzZW5kIHRoZSBmdWxsIGxpc3Qgb3IgdGhlIGxpc3Qg
dGhhdCBpcyByZWxhdGVkIHRvIHRoZSBkZWZhdWx0IElQIGFkZHJlc3NlcyB0byBXZWJQcm9jZXNz
LgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya01hbmFnZXJXcmFwcGVyOjphZGRMaXN0ZW5lcik6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtNYW5hZ2VyV3JhcHBlcjo6b25OZXR3b3Jrc0NoYW5n
ZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDTW9uaXRvcjo6c3RhcnRVcGRhdGluZ0lm
TmVlZGVkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ01vbml0b3I6Om9uTmV0d29ya3ND
aGFuZ2VkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0
b3IuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3Iu
bWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyOjpjcmVh
dGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJSVENNb25pdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDTW9uaXRvcjo6c2V0RW51
bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSVENNb25pdG9yOjpTdGFydFVwZGF0aW5nKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlJUQ01vbml0b3IuaDoKKwogMjAyMS0wMy0yMiAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgTm8gYXVkaW8gb3V0cHV0IHdoZW4gdW5wbHVn
Z2VkIHdpcmVkIGhlYWRzZXQgZHVyaW5nIGEgY2FsbApkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwIGIvU291cmNl
L1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCmlu
ZGV4IGY1OTM3OTYwYWRjOGQxNzUxNzliMWNkYWY3ZTI0YzBjMmUxMWU0ZTYuLjdjMTk4ZjI0MWI3
NDQ3ZjNjN2IyYzg5NzU1ZTc0OGJhNmFlNGUxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cAorKysgYi9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAK
QEAgLTMxNywzICszMTcsNCBAQCBfX1pONndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2Uy
OVNldE9mZmVyZWRSdHBIZWFkZXJFeHRlbnNpb25zRU4zcnRjOUFycmF5VgogX19aTjZ3ZWJydGMy
M1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlNFN0b3BFdgogX19aTks2d2VicnRjMjNSdHBUcmFuc2Nl
aXZlckludGVyZmFjZTIzSGVhZGVyRXh0ZW5zaW9uc1RvT2ZmZXJFdgogX19aTks2d2VicnRjMjNS
dHBUcmFuc2NlaXZlckludGVyZmFjZThzdG9wcGluZ0V2CitfX1pOSzNydGM5SVBBZGRyZXNzZXFF
UktTMF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0
aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9D
b25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAppbmRleCBmNTkzNzk2MGFkYzhkMTc1
MTc5YjFjZGFmN2UyNGMwYzJlMTFlNGU2Li43YzE5OGYyNDFiNzQ0N2YzYzdiMmM4OTc1NWU3NDhi
YTZhZTRlMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmln
dXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGli
d2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwCkBAIC0zMTcsMyArMzE3
LDQgQEAgX19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlMjlTZXRPZmZlcmVkUnRw
SGVhZGVyRXh0ZW5zaW9uc0VOM3J0YzlBcnJheVYKIF9fWk42d2VicnRjMjNSdHBUcmFuc2NlaXZl
ckludGVyZmFjZTRTdG9wRXYKIF9fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2Uy
M0hlYWRlckV4dGVuc2lvbnNUb09mZmVyRXYKIF9fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJ
bnRlcmZhY2U4c3RvcHBpbmdFdgorX19aTkszcnRjOUlQQWRkcmVzc2VxRVJLUzBfCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRj
Lm1hYy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGli
d2VicnRjLm1hYy5leHAKaW5kZXggZjU5Mzc5NjBhZGM4ZDE3NTE3OWIxY2RhZjdlMjRjMGMyZTEx
ZTRlNi4uN2MxOThmMjQxYjc0NDdmM2M3YjJjODk3NTVlNzQ4YmE2YWU0ZTFkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5t
YWMuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9s
aWJ3ZWJydGMubWFjLmV4cApAQCAtMzE3LDMgKzMxNyw0IEBAIF9fWk42d2VicnRjMjNSdHBUcmFu
c2NlaXZlckludGVyZmFjZTI5U2V0T2ZmZXJlZFJ0cEhlYWRlckV4dGVuc2lvbnNFTjNydGM5QXJy
YXlWCiBfX1pONndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2U0U3RvcEV2CiBfX1pOSzZ3
ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlMjNIZWFkZXJFeHRlbnNpb25zVG9PZmZlckV2
CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlOHN0b3BwaW5nRXYKK19fWk5L
M3J0YzlJUEFkZHJlc3NlcUVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5j
cHAKaW5kZXggMTRmN2UzMThiYzIyZGRjMzFlNDFmZjNkYzQ3YjJlNjllNjA4NTNiYy4uODIxODI1
NTRiZjNiNjZkZDVmMGU5MmI0MjkzNWRkZjE4YjY1YWEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXIuY3BwCkBAIC0zNDksOCArMzQ5LDggQEAgcnRjOjpzY29wZWRfcmVmcHRy
PHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVh
dGVQZWUKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Y3JpY2tldDo6QmFzaWNQb3J0QWxsb2NhdG9yPiBw
b3J0QWxsb2NhdG9yOwogICAgIGZhY3RvcnlBbmRUaHJlYWRzLnNpZ25hbGluZ1RocmVhZC0+SW52
b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFsmXSgpIHsKICAgICAgICAgYXV0byBiYXNpY1BvcnRB
bGxvY2F0b3IgPSBtYWtlVW5pcXVlV2l0aG91dEZhc3RNYWxsb2NDaGVjazxjcmlja2V0OjpCYXNp
Y1BvcnRBbGxvY2F0b3I+KCZuZXR3b3JrTWFuYWdlciwgJnBhY2tldFNvY2tldEZhY3RvcnkpOwot
ICAgICAgICBpZiAoIW1fZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcykKLSAg
ICAgICAgICAgIGJhc2ljUG9ydEFsbG9jYXRvci0+c2V0X2ZsYWdzKGJhc2ljUG9ydEFsbG9jYXRv
ci0+ZmxhZ3MoKSB8IGNyaWNrZXQ6OlBPUlRBTExPQ0FUT1JfRElTQUJMRV9BREFQVEVSX0VOVU1F
UkFUSU9OKTsKKworICAgICAgICBiYXNpY1BvcnRBbGxvY2F0b3ItPnNldF9hbGxvd190Y3BfbGlz
dGVuKGZhbHNlKTsKICAgICAgICAgcG9ydEFsbG9jYXRvciA9IFdURk1vdmUoYmFzaWNQb3J0QWxs
b2NhdG9yKTsKICAgICB9KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAppbmRl
eCAwZDBkNTU4MDc2ZDcyYjYyODRjOGYyMDFiMjNhZDQ3MjUzNGE1NzI3Li5jZWY1NjMyNzBhNDJj
ZjdiYmI0ODE5YjVhMmVkY2M0NDQ3MTM1MDI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuaApAQCAtMTA5LDYgKzEwOSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlzYWJsZUVu
dW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKTsKICAgICB2b2lkIGVuYWJsZUVudW1lcmF0
aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKTsKKyAgICBib29sIGlzRW51bWVyYXRpbmdBbGxOZXR3
b3JrSW50ZXJmYWNlc0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2VuYWJsZUVudW1lcmF0aW5n
QWxsTmV0d29ya0ludGVyZmFjZXM7IH0KIAogICAgIHZvaWQgc2V0SDI2NVN1cHBvcnQoYm9vbCB2
YWx1ZSkgeyBtX3N1cHBvcnRzSDI2NSA9IHZhbHVlOyB9CiAgICAgdm9pZCBzZXRWUDlTdXBwb3J0
KGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMCwgYm9vbCBzdXBwb3J0c1ZQOVByb2ZpbGUyKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENN
b25pdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtS
VENNb25pdG9yLmNwcAppbmRleCBhOTg1ZjVkMmU4NjY3MTZjZDc2OWFiMGQyODQ3ODNiMTViNWNk
MzliLi45N2NjODJlOTEyYmI4NWE2OWE5Y2UzZGRkNTc0MTVlMTdjN2M3N2Q3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01v
bml0b3IuY3BwCkBAIC01NSw2ICs1NSw3IEBAIHByaXZhdGU6CiAKICAgICBib29sIG1fZGlkUmVj
ZWl2ZVJlc3VsdHMgeyBmYWxzZSB9OwogICAgIFZlY3RvcjxSVENOZXR3b3JrPiBtX25ldHdvcmtM
aXN0OworICAgIFZlY3RvcjxSVENOZXR3b3JrPiBtX2ZpbHRlcmVkTmV0d29ya0xpc3Q7CiAgICAg
UlRDTmV0d29yazo6SVBBZGRyZXNzIG1faXB2NDsKICAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3Mg
bV9pcHY2OwogfTsKQEAgLTcxLDcgKzcyLDcgQEAgdm9pZCBOZXR3b3JrTWFuYWdlcldyYXBwZXI6
OmFkZExpc3RlbmVyKE5ldHdvcmtSVENNb25pdG9yJiBtb25pdG9yKQogICAgIG1fb2JzZXJ2ZXJz
LmFkZChtb25pdG9yKTsKICAgICBpZiAoIXNob3VsZFN0YXJ0KSB7CiAgICAgICAgIGlmIChtX2Rp
ZFJlY2VpdmVSZXN1bHRzKQotICAgICAgICAgICAgbW9uaXRvci5vbk5ldHdvcmtzQ2hhbmdlZCht
X25ldHdvcmtMaXN0LCBtX2lwdjQsIG1faXB2Nik7CisgICAgICAgICAgICBtb25pdG9yLm9uTmV0
d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xpc3QsIG1fZmlsdGVyZWROZXR3b3JrTGlzdCwgbV9pcHY0
LCBtX2lwdjYpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCkBAIC0xMDcsMjMgKzEwOCwzMiBA
QCB2b2lkIE5ldHdvcmtNYW5hZ2VyV3JhcHBlcjo6b25OZXR3b3Jrc0NoYW5nZWQoKQogICAgIFJF
TEVBU0VfTE9HKFdlYlJUQywgIk5ldHdvcmtNYW5hZ2VyV3JhcHBlcjo6b25OZXR3b3Jrc0NoYW5n
ZWQiKTsKIAogICAgIHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcjo6TmV0d29ya0xpc3QgbmV0d29y
a3M7Ci0gICAgbV9tYW5hZ2VyLT5HZXROZXR3b3JrcygmbmV0d29ya3MpOwotICAgIGF1dG8gbmV0
d29ya0xpc3QgPSBXVEY6Om1hcChuZXR3b3JrcywgW10oYXV0byYgbmV0d29yaykgeyByZXR1cm4g
UlRDTmV0d29yayB7ICpuZXR3b3JrIH07IH0pOwogCiAgICAgUlRDTmV0d29yazo6SVBBZGRyZXNz
IGlwdjQ7CiAgICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0TG9jYWxBZGRyZXNzKEFGX0lORVQsICZp
cHY0LnZhbHVlKTsKICAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgaXB2NjsKICAgICBtX21hbmFn
ZXItPkdldERlZmF1bHRMb2NhbEFkZHJlc3MoQUZfSU5FVDYsICZpcHY2LnZhbHVlKTsKIAotICAg
IGNhbGxPbk1haW5SdW5Mb29wKFt0aGlzLCBuZXR3b3JrTGlzdCA9IFdURk1vdmUobmV0d29ya0xp
c3QpLCBpcHY0ID0gV1RGTW92ZShpcHY0KSwgaXB2NiA9IFdURk1vdmUoaXB2NildKCkgbXV0YWJs
ZSB7CisgICAgbV9tYW5hZ2VyLT5HZXROZXR3b3JrcygmbmV0d29ya3MpOworCisgICAgYXV0byBu
ZXR3b3JrTGlzdCA9IFdURjo6bWFwKG5ldHdvcmtzLCBbXShhdXRvJiBuZXR3b3JrKSB7IHJldHVy
biBSVENOZXR3b3JrIHsgKm5ldHdvcmsgfTsgfSk7CisgICAgVmVjdG9yPFJUQ05ldHdvcms+IGZp
bHRlcmVkTmV0d29ya0xpc3Q7CisgICAgZm9yIChhdXRvJiBuZXR3b3JrIDogbmV0d29ya3MpIHsK
KyAgICAgICAgY29uc3QgYXV0byYgaXBzID0gbmV0d29yay0+R2V0SVBzKCk7CisgICAgICAgIGlm
IChXVEY6OmFueU9mKGlwcywgWyZdKGNvbnN0IGF1dG8mIGlwKSB7IHJldHVybiBpcHY0LnZhbHVl
ID09IGlwIHx8IGlwdjYudmFsdWUgPT0gaXA7IH0pKQorICAgICAgICAgICAgZmlsdGVyZWROZXR3
b3JrTGlzdC5hcHBlbmQoUlRDTmV0d29yayB7ICpuZXR3b3JrIH0pOworICAgIH0KKworICAgIGNh
bGxPbk1haW5SdW5Mb29wKFt0aGlzLCBuZXR3b3JrTGlzdCA9IFdURk1vdmUobmV0d29ya0xpc3Qp
LCBmaWx0ZXJlZE5ldHdvcmtMaXN0ID0gV1RGTW92ZShmaWx0ZXJlZE5ldHdvcmtMaXN0KSwgaXB2
NCA9IFdURk1vdmUoaXB2NCksIGlwdjYgPSBXVEZNb3ZlKGlwdjYpXSgpIG11dGFibGUgewogICAg
ICAgICBtX2RpZFJlY2VpdmVSZXN1bHRzID0gdHJ1ZTsKIAogICAgICAgICBtX25ldHdvcmtMaXN0
ID0gV1RGTW92ZShuZXR3b3JrTGlzdCk7CisgICAgICAgIG1fZmlsdGVyZWROZXR3b3JrTGlzdCA9
IFdURk1vdmUoZmlsdGVyZWROZXR3b3JrTGlzdCk7CiAgICAgICAgIG1faXB2NCA9IFdURk1vdmUo
aXB2NCk7CiAgICAgICAgIG1faXB2NiA9IFdURk1vdmUoaXB2Nik7CiAKICAgICAgICAgbV9vYnNl
cnZlcnMuZm9yRWFjaChbdGhpc10oYXV0byYgb2JzZXJ2ZXIpIHsKLSAgICAgICAgICAgIG9ic2Vy
dmVyLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xpc3QsIG1faXB2NCwgbV9pcHY2KTsKKyAg
ICAgICAgICAgIG9ic2VydmVyLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xpc3QsIG1fZmls
dGVyZWROZXR3b3JrTGlzdCwgbV9pcHY0LCBtX2lwdjYpOwogICAgICAgICB9KTsKICAgICB9KTsK
IH0KQEAgLTEzMyw5ICsxNDMsMTAgQEAgTmV0d29ya1JUQ01vbml0b3I6On5OZXR3b3JrUlRDTW9u
aXRvcigpCiAgICAgQVNTRVJUKCFtX21hbmFnZXIpOwogfQogCi12b2lkIE5ldHdvcmtSVENNb25p
dG9yOjpzdGFydFVwZGF0aW5nSWZOZWVkZWQoKQordm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3Rh
cnRVcGRhdGluZ0lmTmVlZGVkKGJvb2wgZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJm
YWNlcykKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJzdGFydFVwZGF0aW5nSWZOZWVk
ZWQgJWQiLCBtX2lzU3RhcnRlZCk7CisgICAgbV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJ
bnRlcmZhY2VzID0gZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlczsKICAgICBu
ZXR3b3JrTWFuYWdlcigpLmFkZExpc3RlbmVyKCp0aGlzKTsKIH0KIApAQCAtMTQ1LDEwICsxNTYs
MTAgQEAgdm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3RvcFVwZGF0aW5nKCkKICAgICBuZXR3b3Jr
TWFuYWdlcigpLnJlbW92ZUxpc3RlbmVyKCp0aGlzKTsKIH0KIAotdm9pZCBOZXR3b3JrUlRDTW9u
aXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3Jr
TGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBpcHY0LCBjb25zdCBSVENOZXR3b3Jr
OjpJUEFkZHJlc3MmIGlwdjYpCit2b2lkIE5ldHdvcmtSVENNb25pdG9yOjpvbk5ldHdvcmtzQ2hh
bmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtMaXN0LCBjb25zdCBWZWN0b3I8
UlRDTmV0d29yaz4mIGZpbHRlcmVkTmV0d29ya0xpc3QsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRk
cmVzcyYgaXB2NCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBpcHY2KQogewogICAgIFJF
TEVBU0VfTE9HX0lGX0FMTE9XRUQoIm9uTmV0d29ya3NDaGFuZ2VkIHNlbnQiKTsKLSAgICBtX3J0
Y1Byb3ZpZGVyLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENNb25pdG9yOjpOZXR3
b3Jrc0NoYW5nZWQobmV0d29ya0xpc3QsIGlwdjQsIGlwdjYpLCAwKTsKKyAgICBtX3J0Y1Byb3Zp
ZGVyLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpXZWJSVENNb25pdG9yOjpOZXR3b3Jrc0No
YW5nZWQobV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzID8gbmV0d29ya0xp
c3QgOiBmaWx0ZXJlZE5ldHdvcmtMaXN0LCBpcHY0LCBpcHY2KSwgMCk7CiB9CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENNb25pdG9yLmgKaW5kZXggZjE4NGU2OGE5NDYzMTc4NTY5MDgzNmRh
ZGNjOTUyNTE1NjQ5ZTRkZi4uNzZlNjZkMjU5NWQ3ZjllMTA3NGY2M2NmMjI5NzYwNDg5YzJhYmM5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1JUQ01vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDTW9uaXRvci5oCkBAIC01MiwxNCArNTIsMTUgQEAgcHVibGljOgogICAgIGJvb2wg
aXNTdGFydGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1N0YXJ0ZWQ7IH0KICAgICBOZXR3b3JrUlRD
UHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKCkgeyByZXR1cm4gbV9ydGNQcm92aWRlcjsgfQogCi0gICAg
dm9pZCBvbk5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mLCBjb25zdCBS
VENOZXR3b3JrOjpJUEFkZHJlc3MmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmKTsKKyAg
ICB2b2lkIG9uTmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0
IFZlY3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYsIGNvbnN0
IFJUQ05ldHdvcms6OklQQWRkcmVzcyYpOwogCiBwcml2YXRlOgotICAgIHZvaWQgc3RhcnRVcGRh
dGluZ0lmTmVlZGVkKCk7CisgICAgdm9pZCBzdGFydFVwZGF0aW5nSWZOZWVkZWQoYm9vbCk7CiAK
ICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRjUHJvdmlkZXI7CiAgICAgc3RkOjp1bmlxdWVf
cHRyPHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcj4gbV9tYW5hZ2VyOwogICAgIGJvb2wgbV9pc1N0
YXJ0ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJ
bnRlcmZhY2VzIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0
b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgppbmRleCA0NzJlNTFmMTViYzZiYTMyYzc2YzBhMjAx
ZDc2ZjVmMWM1MjY5NWM0Li4zYzFkMTY1MzI0ODM4ZjI2N2UwMmM3MDBjODk0YjRhOWNjZjlmZjNi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDTW9uaXRvci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMsNyBAQAog
I2lmIFVTRShMSUJXRUJSVEMpCiAKIG1lc3NhZ2VzIC0+IE5ldHdvcmtSVENNb25pdG9yIE5vdFJl
ZkNvdW50ZWQgewotICAgIHZvaWQgU3RhcnRVcGRhdGluZ0lmTmVlZGVkKCkKKyAgICB2b2lkIFN0
YXJ0VXBkYXRpbmdJZk5lZWRlZChib29sIGVudW1lcmF0ZUFsbEludGVyZmFjZXMpCiAgICAgdm9p
ZCBTdG9wVXBkYXRpbmcoKQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAppbmRleCA3NTQw
YWZhMTRjNzMxZmZmZGUwM2E5ZmI3Nzc2ZDUxM2I2ODk2YTM5Li5jMjdiZjdlNTRjODBmYjU3NzYz
ZGIzYTRiOTY0MGY0OWQ0NmFjOTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTY0
LDcgKzY0LDkgQEAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRl
cmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWUKICAgICB9CiAjZW5kaWYKIAotICAg
IHJldHVybiBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24o
b2JzZXJ2ZXIsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5tb25p
dG9yKCksICpzb2NrZXRGYWN0b3J5LCBXVEZNb3ZlKGNvbmZpZ3VyYXRpb24pLCBtYWtlVW5pcXVl
PEFzeW5jUmVzb2x2ZXJGYWN0b3J5PigpKTsKKyAgICBhdXRvJiBuZXR3b3JrTW9uaXRvciA9IFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5tb25pdG9yKCk7CisgICAg
bmV0d29ya01vbml0b3Iuc2V0RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQo
aXNFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZCgpKTsKKyAgICByZXR1cm4g
V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVy
LCBuZXR3b3JrTW9uaXRvciwgKnNvY2tldEZhY3RvcnksIFdURk1vdmUoY29uZmlndXJhdGlvbiks
IG1ha2VVbmlxdWU8QXN5bmNSZXNvbHZlckZhY3Rvcnk+KCkpOwogfQogCiB2b2lkIExpYldlYlJU
Q1Byb3ZpZGVyOjpkaXNhYmxlTm9uTG9jYWxob3N0Q29ubmVjdGlvbnMoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3Iu
Y3BwCmluZGV4IDI0MzM2ZjA2ODkwNTU4MmFmMGQwZWEwNTI2MTYzMTE3Mjk0YTVhZWMuLjAzYzY1
ZjA2NzlhNDI4N2FhMGNmMzBhMzI4NGJiYTI0OTQyMDNlMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAK
QEAgLTQ4LDYgKzQ4LDExIEBAIHZvaWQgV2ViUlRDTW9uaXRvcjo6c2VuZE9uTWFpblRocmVhZChG
dW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYmIGNhbGxiYWNrCiAgICAgfSk7CiB9CiAK
K3ZvaWQgV2ViUlRDTW9uaXRvcjo6c2V0RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0Vu
YWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3Jr
SW50ZXJmYWNlcyA9IGVuYWJsZWQ7Cit9CisKIHZvaWQgV2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRh
dGluZygpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgiU3RhcnRVcGRhdGluZyIpOwpA
QCAtNTksNyArNjQsNyBAQCB2b2lkIFdlYlJUQ01vbml0b3I6OlN0YXJ0VXBkYXRpbmcoKQogCiAg
ICAgc2VuZE9uTWFpblRocmVhZChbdGhpc10oYXV0byYgY29ubmVjdGlvbikgewogICAgICAgICBS
RUxFQVNFX0xPR19JRl9BTExPV0VEKCJTdGFydFVwZGF0aW5nIC0gQXNraW5nIG5ldHdvcmsgcHJv
Y2VzcyB0byBzdGFydCB1cGRhdGluZyIpOwotICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpTdGFydFVwZGF0aW5nSWZOZWVkZWQoKSwgMCk7CisgICAg
ICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ01vbml0b3I6OlN0YXJ0VXBk
YXRpbmdJZk5lZWRlZChtX2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMpLCAw
KTsKICAgICB9KTsKICAgICArK21fY2xpZW50Q291bnQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuaAppbmRleCBm
ODE0NzYzZjhiNmU4Mjg2ZjE3NjFiOGZmM2IzZjlmNDM1NjI2NDU5Li5mNmI5NzM5ZmFkZGMzODJj
ZDQyMmU1YmFhOGVhMjg1NmU1ZjRmYjBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmgKQEAgLTQ2LDYgKzQ2LDcg
QEAgcHVibGljOgogCiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vzc0NyYXNoZWQoKTsKICAgICB2b2lk
IGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworICAg
IHZvaWQgc2V0RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoYm9vbCk7CiAK
IHByaXZhdGU6CiAgICAgdm9pZCBuZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdv
cms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRD
TmV0d29yazo6SVBBZGRyZXNzJik7CkBAIC01OCw2ICs1OSw3IEBAIHByaXZhdGU6CiAKICAgICB1
bnNpZ25lZCBtX2NsaWVudENvdW50IHsgMCB9OwogICAgIGJvb2wgbV9yZWNlaXZlZE5ldHdvcmtM
aXN0IHsgZmFsc2UgfTsKKyAgICBib29sIG1fZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50
ZXJmYWNlcyB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwvZmlsdGVyLWljZS1j
YW5kaWRhdGUtZXhwZWN0ZWQudHh0CmluZGV4IGRiODZmMGZkMjJiYWRlNWI4YWFmNjBlMzRhNGVk
NjUzYTUyNjYzMWQuLmM0ZDQ5ODk2NjMzNmI3MTdlNzA2MDJlM2E2MjJmOTY2ZWQ4MDc0NTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRp
ZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL2RhdGFjaGFubmVsL2Zp
bHRlci1pY2UtY2FuZGlkYXRlLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDYgQEAKIAogUEFTUyBH
YXRoZXJpbmcgSUNFIGNhbmRpZGF0ZXMgZnJvbSBhIGRhdGEgY2hhbm5lbCBwZWVyIGNvbm5lY3Rp
b24gd2l0aCBJQ0UgY2FuZGlkYXRlIGZpbHRlcmluZyBvbgogUEFTUyBHYXRoZXJpbmcgSUNFIGNh
bmRpZGF0ZXMgZnJvbSBhIGRhdGEgY2hhbm5lbCBwZWVyIGNvbm5lY3Rpb24gd2l0aCBJQ0UgY2Fu
ZGlkYXRlIGZpbHRlcmluZyBvZmYKK1BBU1MgVmVyaWZ5IFRDUCBjYW5kaWRhdGVzIHdpdGggZmls
dGVyaW5nCitQQVNTIFZlcmlmeSBUQ1AgY2FuZGlkYXRlcyB3aXRob3V0IGZpbHRlcmluZwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwvZmlsdGVyLWljZS1jYW5k
aWRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNh
bmRpZGF0ZS5odG1sCmluZGV4IDBlMGM0ZTExYTg4ODllMzNjMjUxMWM1NDNmYjhmZjViZGQzNTYz
ZDcuLmNjYzQ2OWExNzdlMDA5MmI2NzU3YjViYzRkMTc3NTNhYjFmYjk1M2IgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1s
CisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0
ZS5odG1sCkBAIC03MSw2ICs3MSw2MCBAQCBwcm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICAg
ICAgcGMuY3JlYXRlT2ZmZXIoKS50aGVuKChvZmZlcikgPT4geyBwYy5zZXRMb2NhbERlc2NyaXB0
aW9uKG9mZmVyKTsgfSk7CiAgICAgfSk7CiB9LCAiR2F0aGVyaW5nIElDRSBjYW5kaWRhdGVzIGZy
b20gYSBkYXRhIGNoYW5uZWwgcGVlciBjb25uZWN0aW9uIHdpdGggSUNFIGNhbmRpZGF0ZSBmaWx0
ZXJpbmcgb2ZmIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0SUNFQ2FuZGlkYXRlRmlsdGVy
aW5nKHRydWUpOworCisgICAgY29uc3QgcGMgPSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKTsKKwor
ICAgIGxldCByZXNvbHZlOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHJl
c29sdmUgPSByKTsKKworICAgIHBjLmNyZWF0ZURhdGFDaGFubmVsKCdzZW5kRGF0YUNoYW5uZWwn
KTsKKyAgICBwYy5vbmljZWNhbmRpZGF0ZSA9IChldmVudCkgPT4geworICAgICAgICBpZiAoZXZl
bnQuY2FuZGlkYXRlKSB7CisgICAgICAgICAgICBpZiAoZXZlbnQuY2FuZGlkYXRlLnByb3RvY29s
ICE9PSAidGNwIikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKGV2ZW50LmNhbmRpZGF0ZS5wb3J0LCA5KTsKKyAgICAgICAgICAgIGFzc2VydF90cnVl
KGV2ZW50LmNhbmRpZGF0ZS5hZGRyZXNzLmluZGV4T2YoIi5sb2NhbCIpICE9PSAtMSk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVzb2x2ZSgpOworICAgIH0KKyAg
ICBwYy5jcmVhdGVPZmZlcigpLnRoZW4oKG9mZmVyKSA9PiB7IHBjLnNldExvY2FsRGVzY3JpcHRp
b24ob2ZmZXIpOyB9KTsKKworICAgIGF3YWl0IHByb21pc2U7CisKKyAgICBwYy5vbmljZWNhbmRp
ZGF0ZSA9IG51bGw7Cit9LCAiVmVyaWZ5IFRDUCBjYW5kaWRhdGVzIHdpdGggZmlsdGVyaW5nIik7
CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGlmICh3aW5kb3cuaW50ZXJu
YWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKGZhbHNlKTsK
KworICAgIGNvbnN0IHBjID0gbmV3IFJUQ1BlZXJDb25uZWN0aW9uKCk7CisKKyAgICBsZXQgcmVz
b2x2ZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFByb21pc2UociA9PiByZXNvbHZlID0gcik7
CisKKyAgICBwYy5jcmVhdGVEYXRhQ2hhbm5lbCgnc2VuZERhdGFDaGFubmVsJyk7CisgICAgcGMu
b25pY2VjYW5kaWRhdGUgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgaWYgKGV2ZW50LmNhbmRpZGF0
ZSkgeworICAgICAgICAgICAgaWYgKGV2ZW50LmNhbmRpZGF0ZS5wcm90b2NvbCAhPT0gInRjcCIp
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5jYW5kaWRhdGUucG9ydCwgOSk7CisgICAgICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5jYW5k
aWRhdGUuYWRkcmVzcy5pbmRleE9mKCIubG9jYWwiKSA9PT0gLTEpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisgICAgICAgIHJlc29sdmUoKTsKKyAgICB9CisgICAgcGMuY3JlYXRl
T2ZmZXIoKS50aGVuKChvZmZlcikgPT4geyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKTsg
fSk7CisKKyAgICBhd2FpdCBwcm9taXNlOworCisgICAgcGMub25pY2VjYW5kaWRhdGUgPSBudWxs
OworfSwgIlZlcmlmeSBUQ1AgY2FuZGlkYXRlcyB3aXRob3V0IGZpbHRlcmluZyIpOwogICAgIDwv
c2NyaXB0PgogICA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424242</attachid>
            <date>2021-03-25 07:17:26 -0700</date>
            <delta_ts>2021-03-25 08:26:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223679-20210325151725.patch</filename>
            <type>text/plain</type>
            <size>18982</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5NWM4N2U3ZDYwNDFjNDIxODI0MWU1MTAxNDY3MTA3YmZkZmNjMjE4Li5mNjcz
NTAyN2UxMmZkYTIzNzc0YzEyNTNkZmI2MmUyMzM4MjIxMzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0yNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIGZyb20gUE9SVEFMTE9D
QVRPUl9ESVNBQkxFX0FEQVBURVJfRU5VTUVSQVRJT04gdG8gZmlsdGVyaW5nIGludGVyZmFjZXMg
aW4gTmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwOgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwOgorICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwOgorCiAyMDIxLTAzLTI1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGlnbiBSZW1vdGVWaWRlb0RlY29kZXIgZGVz
dHJ1Y3Rpb24gc3RyYXRlZ3kgd2l0aCBSZW1vdGVWaWRlb0VuY29kZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4
YjI0NDhhODJmNDgzYjJiYWI0MzM4MjY4MDgyMmIxY2VmMmQ0OGUwLi4zZWY5ODg1OTdmZjMwM2Qy
MDFhZTc3N2QxYmNjMTYzNjdmNmU1ZDUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjEtMDMtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFN3
aXRjaCBmcm9tIFBPUlRBTExPQ0FUT1JfRElTQUJMRV9BREFQVEVSX0VOVU1FUkFUSU9OIHRvIGZp
bHRlcmluZyBpbnRlcmZhY2VzIGluIE5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjc5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ292ZXJlZCBieSB3ZWJydGMvZGF0YWNoYW5u
ZWwvZmlsdGVyLWljZS1jYW5kaWRhdGUuaHRtbC4KKworICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpMaWJXZWJSVENQcm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24pOgorICAgICAgICAqIHBs
YXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOgorICAgICAg
ICBVc2Ugc2V0X2FsbG93X3RjcF9saXN0ZW4gaW5zdGVhZCBvZiBQT1JUQUxMT0NBVE9SX0RJU0FC
TEVfQURBUFRFUl9FTlVNRVJBVElPTi4KKwogMjAyMS0wMy0yNSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wcm92ZSBSZWFsdGltZUluY29taW5nVmlkZW9T
b3VyY2VDb2NvYTo6T25GcmFtZSBsb2dnaW5nIHRvIGluY2x1ZGUgcm90YXRpb24gYW5kIHNpemUg
aW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWY2ODFkODkzYjIwMTk1NzQwZWQ2ODM0NTc0MTExY2Iw
MWRmYTk5Yi4uNGVlOTJlYTA0MDE4MjY3OGQ1YTdhZDg0ODE2YzkzYzU4OWFlZjE1MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAyMS0wMy0yNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIGZyb20gUE9SVEFMTE9DQVRPUl9ESVNBQkxFX0FE
QVBURVJfRU5VTUVSQVRJT04gdG8gZmlsdGVyaW5nIGludGVyZmFjZXMgaW4gTmV0d29yayBwcm9j
ZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM2
NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXaGVu
IHN0YXJ0aW5nIHRvIG1vbml0b3IsIHBhc3Mgd2hldGhlciB0byBlbnVtZXJhdGUgYWxsIGludGVy
ZmFjZXMgZnJvbSBXZWJQcm9jZXNzIHRvIE5ldHdvcmtQcm9jZXNzIGFzIGEgYm9vbGVhbi4KKyAg
ICAgICAgSW4gTmV0d29ya1Byb2Nlc3MsIGRvIG5ldHdvcmsgaW50ZXJmYWNlIGVudW1lcmF0aW9u
IGFzIHVzdWFsLCBidXQgdXNlIHRoZSBib29sZWFuIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHNlbmQg
dGhlIGZ1bGwgbGlzdCBvciB0aGUgbGlzdCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlIGRlZmF1bHQg
SVAgYWRkcmVzc2VzIHRvIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTWFu
YWdlcldyYXBwZXI6OmFkZExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya01hbmFn
ZXJXcmFwcGVyOjpvbk5ldHdvcmtzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtS
VENNb25pdG9yOjpzdGFydFVwZGF0aW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3
b3JrUlRDTW9uaXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSVENNb25pdG9yOjpzZXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5h
YmxlZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0b3I6OlN0YXJ0VXBkYXRpbmcpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oOgorCiAy
MDIxLTAzLTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBV
c2Ugd2VicnRjIEdQVSBQcm9jZXNzIGZlYXR1cmUgZmxhZyBmb3IgYXVkaW8gY2FwdHVyZSBvbiBN
YWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRp
b25zL2xpYndlYnJ0Yy5pT1MuZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZp
Z3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwCmluZGV4IGY1OTM3OTYwYWRjOGQxNzUxNzliMWNk
YWY3ZTI0YzBjMmUxMWU0ZTYuLjdjMTk4ZjI0MWI3NDQ3ZjNjN2IyYzg5NzU1ZTc0OGJhNmFlNGUx
ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9u
cy9saWJ3ZWJydGMuaU9TLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29u
ZmlndXJhdGlvbnMvbGlid2VicnRjLmlPUy5leHAKQEAgLTMxNywzICszMTcsNCBAQCBfX1pONndl
YnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UyOVNldE9mZmVyZWRSdHBIZWFkZXJFeHRlbnNp
b25zRU4zcnRjOUFycmF5VgogX19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlNFN0
b3BFdgogX19aTks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTIzSGVhZGVyRXh0ZW5z
aW9uc1RvT2ZmZXJFdgogX19aTks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZThzdG9w
cGluZ0V2CitfX1pOSzNydGM5SVBBZGRyZXNzZXFFUktTMF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBi
L1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9T
c2ltLmV4cAppbmRleCBmNTkzNzk2MGFkYzhkMTc1MTc5YjFjZGFmN2UyNGMwYzJlMTFlNGU2Li43
YzE5OGYyNDFiNzQ0N2YzYzdiMmM4OTc1NWU3NDhiYTZhZTRlMWQ3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5l
eHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndl
YnJ0Yy5pT1NzaW0uZXhwCkBAIC0zMTcsMyArMzE3LDQgQEAgX19aTjZ3ZWJydGMyM1J0cFRyYW5z
Y2VpdmVySW50ZXJmYWNlMjlTZXRPZmZlcmVkUnRwSGVhZGVyRXh0ZW5zaW9uc0VOM3J0YzlBcnJh
eVYKIF9fWk42d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTRTdG9wRXYKIF9fWk5LNndl
YnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UyM0hlYWRlckV4dGVuc2lvbnNUb09mZmVyRXYK
IF9fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2U4c3RvcHBpbmdFdgorX19aTksz
cnRjOUlQQWRkcmVzc2VxRVJLUzBfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKaW5kZXggZjU5Mzc5
NjBhZGM4ZDE3NTE3OWIxY2RhZjdlMjRjMGMyZTExZTRlNi4uN2MxOThmMjQxYjc0NDdmM2M3YjJj
ODk3NTVlNzQ4YmE2YWU0ZTFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2Vi
cnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApAQCAtMzE3LDMg
KzMxNyw0IEBAIF9fWk42d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTI5U2V0T2ZmZXJl
ZFJ0cEhlYWRlckV4dGVuc2lvbnNFTjNydGM5QXJyYXlWCiBfX1pONndlYnJ0YzIzUnRwVHJhbnNj
ZWl2ZXJJbnRlcmZhY2U0U3RvcEV2CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJm
YWNlMjNIZWFkZXJFeHRlbnNpb25zVG9PZmZlckV2CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2Vp
dmVySW50ZXJmYWNlOHN0b3BwaW5nRXYKK19fWk5LM3J0YzlJUEFkZHJlc3NlcUVSS1MwXwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKaW5kZXggMTRmN2UzMThiYzIyZGRjMzFl
NDFmZjNkYzQ3YjJlNjllNjA4NTNiYy4uODIxODI1NTRiZjNiNjZkZDVmMGU5MmI0MjkzNWRkZjE4
YjY1YWEzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCkBAIC0zNDks
OCArMzQ5LDggQEAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRl
cmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWUKICAgICBzdGQ6OnVuaXF1ZV9wdHI8
Y3JpY2tldDo6QmFzaWNQb3J0QWxsb2NhdG9yPiBwb3J0QWxsb2NhdG9yOwogICAgIGZhY3RvcnlB
bmRUaHJlYWRzLnNpZ25hbGluZ1RocmVhZC0+SW52b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFsm
XSgpIHsKICAgICAgICAgYXV0byBiYXNpY1BvcnRBbGxvY2F0b3IgPSBtYWtlVW5pcXVlV2l0aG91
dEZhc3RNYWxsb2NDaGVjazxjcmlja2V0OjpCYXNpY1BvcnRBbGxvY2F0b3I+KCZuZXR3b3JrTWFu
YWdlciwgJnBhY2tldFNvY2tldEZhY3RvcnkpOwotICAgICAgICBpZiAoIW1fZW5hYmxlRW51bWVy
YXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcykKLSAgICAgICAgICAgIGJhc2ljUG9ydEFsbG9jYXRv
ci0+c2V0X2ZsYWdzKGJhc2ljUG9ydEFsbG9jYXRvci0+ZmxhZ3MoKSB8IGNyaWNrZXQ6OlBPUlRB
TExPQ0FUT1JfRElTQUJMRV9BREFQVEVSX0VOVU1FUkFUSU9OKTsKKworICAgICAgICBiYXNpY1Bv
cnRBbGxvY2F0b3ItPnNldF9hbGxvd190Y3BfbGlzdGVuKGZhbHNlKTsKICAgICAgICAgcG9ydEFs
bG9jYXRvciA9IFdURk1vdmUoYmFzaWNQb3J0QWxsb2NhdG9yKTsKICAgICB9KTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAppbmRleCAwZDBkNTU4MDc2ZDcyYjYyODRjOGYyMDFi
MjNhZDQ3MjUzNGE1NzI3Li5jZWY1NjMyNzBhNDJjZjdiYmI0ODE5YjVhMmVkY2M0NDQ3MTM1MDI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMTA5LDYgKzEwOSw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgZGlzYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFj
ZXMoKTsKICAgICB2b2lkIGVuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKTsK
KyAgICBib29sIGlzRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoKSBjb25z
dCB7IHJldHVybiBtX2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXM7IH0KIAog
ICAgIHZvaWQgc2V0SDI2NVN1cHBvcnQoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzSDI2NSA9IHZh
bHVlOyB9CiAgICAgdm9pZCBzZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMCwg
Ym9vbCBzdXBwb3J0c1ZQOVByb2ZpbGUyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcAppbmRleCBhOTg1ZjVk
MmU4NjY3MTZjZDc2OWFiMGQyODQ3ODNiMTViNWNkMzliLi45N2NjODJlOTEyYmI4NWE2OWE5Y2Uz
ZGRkNTc0MTVlMTdjN2M3N2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCkBAIC01NSw2ICs1NSw3IEBA
IHByaXZhdGU6CiAKICAgICBib29sIG1fZGlkUmVjZWl2ZVJlc3VsdHMgeyBmYWxzZSB9OwogICAg
IFZlY3RvcjxSVENOZXR3b3JrPiBtX25ldHdvcmtMaXN0OworICAgIFZlY3RvcjxSVENOZXR3b3Jr
PiBtX2ZpbHRlcmVkTmV0d29ya0xpc3Q7CiAgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIG1faXB2
NDsKICAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgbV9pcHY2OwogfTsKQEAgLTcxLDcgKzcyLDcg
QEAgdm9pZCBOZXR3b3JrTWFuYWdlcldyYXBwZXI6OmFkZExpc3RlbmVyKE5ldHdvcmtSVENNb25p
dG9yJiBtb25pdG9yKQogICAgIG1fb2JzZXJ2ZXJzLmFkZChtb25pdG9yKTsKICAgICBpZiAoIXNo
b3VsZFN0YXJ0KSB7CiAgICAgICAgIGlmIChtX2RpZFJlY2VpdmVSZXN1bHRzKQotICAgICAgICAg
ICAgbW9uaXRvci5vbk5ldHdvcmtzQ2hhbmdlZChtX25ldHdvcmtMaXN0LCBtX2lwdjQsIG1faXB2
Nik7CisgICAgICAgICAgICBtb25pdG9yLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xpc3Qs
IG1fZmlsdGVyZWROZXR3b3JrTGlzdCwgbV9pcHY0LCBtX2lwdjYpOwogICAgICAgICByZXR1cm47
CiAgICAgfQogCkBAIC0xMDcsMjMgKzEwOCwzMiBAQCB2b2lkIE5ldHdvcmtNYW5hZ2VyV3JhcHBl
cjo6b25OZXR3b3Jrc0NoYW5nZWQoKQogICAgIFJFTEVBU0VfTE9HKFdlYlJUQywgIk5ldHdvcmtN
YW5hZ2VyV3JhcHBlcjo6b25OZXR3b3Jrc0NoYW5nZWQiKTsKIAogICAgIHJ0Yzo6QmFzaWNOZXR3
b3JrTWFuYWdlcjo6TmV0d29ya0xpc3QgbmV0d29ya3M7Ci0gICAgbV9tYW5hZ2VyLT5HZXROZXR3
b3JrcygmbmV0d29ya3MpOwotICAgIGF1dG8gbmV0d29ya0xpc3QgPSBXVEY6Om1hcChuZXR3b3Jr
cywgW10oYXV0byYgbmV0d29yaykgeyByZXR1cm4gUlRDTmV0d29yayB7ICpuZXR3b3JrIH07IH0p
OwogCiAgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjQ7CiAgICAgbV9tYW5hZ2VyLT5HZXRE
ZWZhdWx0TG9jYWxBZGRyZXNzKEFGX0lORVQsICZpcHY0LnZhbHVlKTsKICAgICBSVENOZXR3b3Jr
OjpJUEFkZHJlc3MgaXB2NjsKICAgICBtX21hbmFnZXItPkdldERlZmF1bHRMb2NhbEFkZHJlc3Mo
QUZfSU5FVDYsICZpcHY2LnZhbHVlKTsKIAotICAgIGNhbGxPbk1haW5SdW5Mb29wKFt0aGlzLCBu
ZXR3b3JrTGlzdCA9IFdURk1vdmUobmV0d29ya0xpc3QpLCBpcHY0ID0gV1RGTW92ZShpcHY0KSwg
aXB2NiA9IFdURk1vdmUoaXB2NildKCkgbXV0YWJsZSB7CisgICAgbV9tYW5hZ2VyLT5HZXROZXR3
b3JrcygmbmV0d29ya3MpOworCisgICAgYXV0byBuZXR3b3JrTGlzdCA9IFdURjo6bWFwKG5ldHdv
cmtzLCBbXShhdXRvJiBuZXR3b3JrKSB7IHJldHVybiBSVENOZXR3b3JrIHsgKm5ldHdvcmsgfTsg
fSk7CisgICAgVmVjdG9yPFJUQ05ldHdvcms+IGZpbHRlcmVkTmV0d29ya0xpc3Q7CisgICAgZm9y
IChhdXRvJiBuZXR3b3JrIDogbmV0d29ya3MpIHsKKyAgICAgICAgY29uc3QgYXV0byYgaXBzID0g
bmV0d29yay0+R2V0SVBzKCk7CisgICAgICAgIGlmIChXVEY6OmFueU9mKGlwcywgWyZdKGNvbnN0
IGF1dG8mIGlwKSB7IHJldHVybiBpcHY0LnZhbHVlID09IGlwIHx8IGlwdjYudmFsdWUgPT0gaXA7
IH0pKQorICAgICAgICAgICAgZmlsdGVyZWROZXR3b3JrTGlzdC5hcHBlbmQoUlRDTmV0d29yayB7
ICpuZXR3b3JrIH0pOworICAgIH0KKworICAgIGNhbGxPbk1haW5SdW5Mb29wKFt0aGlzLCBuZXR3
b3JrTGlzdCA9IFdURk1vdmUobmV0d29ya0xpc3QpLCBmaWx0ZXJlZE5ldHdvcmtMaXN0ID0gV1RG
TW92ZShmaWx0ZXJlZE5ldHdvcmtMaXN0KSwgaXB2NCA9IFdURk1vdmUoaXB2NCksIGlwdjYgPSBX
VEZNb3ZlKGlwdjYpXSgpIG11dGFibGUgewogICAgICAgICBtX2RpZFJlY2VpdmVSZXN1bHRzID0g
dHJ1ZTsKIAogICAgICAgICBtX25ldHdvcmtMaXN0ID0gV1RGTW92ZShuZXR3b3JrTGlzdCk7Cisg
ICAgICAgIG1fZmlsdGVyZWROZXR3b3JrTGlzdCA9IFdURk1vdmUoZmlsdGVyZWROZXR3b3JrTGlz
dCk7CiAgICAgICAgIG1faXB2NCA9IFdURk1vdmUoaXB2NCk7CiAgICAgICAgIG1faXB2NiA9IFdU
Rk1vdmUoaXB2Nik7CiAKICAgICAgICAgbV9vYnNlcnZlcnMuZm9yRWFjaChbdGhpc10oYXV0byYg
b2JzZXJ2ZXIpIHsKLSAgICAgICAgICAgIG9ic2VydmVyLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0
d29ya0xpc3QsIG1faXB2NCwgbV9pcHY2KTsKKyAgICAgICAgICAgIG9ic2VydmVyLm9uTmV0d29y
a3NDaGFuZ2VkKG1fbmV0d29ya0xpc3QsIG1fZmlsdGVyZWROZXR3b3JrTGlzdCwgbV9pcHY0LCBt
X2lwdjYpOwogICAgICAgICB9KTsKICAgICB9KTsKIH0KQEAgLTEzMyw5ICsxNDMsMTAgQEAgTmV0
d29ya1JUQ01vbml0b3I6On5OZXR3b3JrUlRDTW9uaXRvcigpCiAgICAgQVNTRVJUKCFtX21hbmFn
ZXIpOwogfQogCi12b2lkIE5ldHdvcmtSVENNb25pdG9yOjpzdGFydFVwZGF0aW5nSWZOZWVkZWQo
KQordm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3RhcnRVcGRhdGluZ0lmTmVlZGVkKGJvb2wgZW5h
YmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcykKIHsKICAgICBSRUxFQVNFX0xPR19J
Rl9BTExPV0VEKCJzdGFydFVwZGF0aW5nSWZOZWVkZWQgJWQiLCBtX2lzU3RhcnRlZCk7CisgICAg
bV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzID0gZW5hYmxlRW51bWVyYXRp
bmdBbGxOZXR3b3JrSW50ZXJmYWNlczsKICAgICBuZXR3b3JrTWFuYWdlcigpLmFkZExpc3RlbmVy
KCp0aGlzKTsKIH0KIApAQCAtMTQ1LDEwICsxNTYsMTAgQEAgdm9pZCBOZXR3b3JrUlRDTW9uaXRv
cjo6c3RvcFVwZGF0aW5nKCkKICAgICBuZXR3b3JrTWFuYWdlcigpLnJlbW92ZUxpc3RlbmVyKCp0
aGlzKTsKIH0KIAotdm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQoY29u
c3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBB
ZGRyZXNzJiBpcHY0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjYpCit2b2lkIE5l
dHdvcmtSVENNb25pdG9yOjpvbk5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29y
az4mIG5ldHdvcmtMaXN0LCBjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIGZpbHRlcmVkTmV0d29y
a0xpc3QsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NCwgY29uc3QgUlRDTmV0d29y
azo6SVBBZGRyZXNzJiBpcHY2KQogewogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIm9uTmV0
d29ya3NDaGFuZ2VkIHNlbnQiKTsKLSAgICBtX3J0Y1Byb3ZpZGVyLmNvbm5lY3Rpb24oKS5zZW5k
KE1lc3NhZ2VzOjpXZWJSVENNb25pdG9yOjpOZXR3b3Jrc0NoYW5nZWQobmV0d29ya0xpc3QsIGlw
djQsIGlwdjYpLCAwKTsKKyAgICBtX3J0Y1Byb3ZpZGVyLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJSVENNb25pdG9yOjpOZXR3b3Jrc0NoYW5nZWQobV9lbmFibGVFbnVtZXJhdGluZ0Fs
bE5ldHdvcmtJbnRlcmZhY2VzID8gbmV0d29ya0xpc3QgOiBmaWx0ZXJlZE5ldHdvcmtMaXN0LCBp
cHY0LCBpcHY2KSwgMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmgK
aW5kZXggZjE4NGU2OGE5NDYzMTc4NTY5MDgzNmRhZGNjOTUyNTE1NjQ5ZTRkZi4uNzZlNjZkMjU5
NWQ3ZjllMTA3NGY2M2NmMjI5NzYwNDg5YzJhYmM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oCkBAIC01Miwx
NCArNTIsMTUgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdGFydGVkKCkgY29uc3QgeyByZXR1cm4g
bV9pc1N0YXJ0ZWQ7IH0KICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKCkgeyBy
ZXR1cm4gbV9ydGNQcm92aWRlcjsgfQogCi0gICAgdm9pZCBvbk5ldHdvcmtzQ2hhbmdlZChjb25z
dCBWZWN0b3I8UlRDTmV0d29yaz4mLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCBjb25z
dCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmKTsKKyAgICB2b2lkIG9uTmV0d29ya3NDaGFuZ2VkKGNv
bnN0IFZlY3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0
IFJUQ05ldHdvcms6OklQQWRkcmVzcyYsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYpOwog
CiBwcml2YXRlOgotICAgIHZvaWQgc3RhcnRVcGRhdGluZ0lmTmVlZGVkKCk7CisgICAgdm9pZCBz
dGFydFVwZGF0aW5nSWZOZWVkZWQoYm9vbCk7CiAKICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1f
cnRjUHJvdmlkZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdl
cj4gbV9tYW5hZ2VyOwogICAgIGJvb2wgbV9pc1N0YXJ0ZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzIHsgZmFsc2UgfTsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpp
bmRleCA0NzJlNTFmMTViYzZiYTMyYzc2YzBhMjAxZDc2ZjVmMWM1MjY5NWM0Li4zYzFkMTY1MzI0
ODM4ZjI2N2UwMmM3MDBjODk0YjRhOWNjZjlmZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5t
ZXNzYWdlcy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKIG1lc3Nh
Z2VzIC0+IE5ldHdvcmtSVENNb25pdG9yIE5vdFJlZkNvdW50ZWQgewotICAgIHZvaWQgU3RhcnRV
cGRhdGluZ0lmTmVlZGVkKCkKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmdJZk5lZWRlZChib29sIGVu
dW1lcmF0ZUFsbEludGVyZmFjZXMpCiAgICAgdm9pZCBTdG9wVXBkYXRpbmcoKQogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1Byb3ZpZGVyLmNwcAppbmRleCA3NTQwYWZhMTRjNzMxZmZmZGUwM2E5ZmI3Nzc2ZDUx
M2I2ODk2YTM5Li5jMjdiZjdlNTRjODBmYjU3NzYzZGIzYTRiOTY0MGY0OWQ0NmFjOTM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTY0LDcgKzY0LDkgQEAgcnRjOjpzY29wZWRfcmVm
cHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpj
cmVhdGVQZWUKICAgICB9CiAjZW5kaWYKIAotICAgIHJldHVybiBXZWJDb3JlOjpMaWJXZWJSVENQ
cm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24ob2JzZXJ2ZXIsIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5tb25pdG9yKCksICpzb2NrZXRGYWN0b3J5LCBXVEZN
b3ZlKGNvbmZpZ3VyYXRpb24pLCBtYWtlVW5pcXVlPEFzeW5jUmVzb2x2ZXJGYWN0b3J5PigpKTsK
KyAgICBhdXRvJiBuZXR3b3JrTW9uaXRvciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldl
YlJUQ05ldHdvcmsoKS5tb25pdG9yKCk7CisgICAgbmV0d29ya01vbml0b3Iuc2V0RW51bWVyYXRp
bmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoaXNFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRl
cmZhY2VzRW5hYmxlZCgpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6
OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBuZXR3b3JrTW9uaXRvciwgKnNvY2tldEZh
Y3RvcnksIFdURk1vdmUoY29uZmlndXJhdGlvbiksIG1ha2VVbmlxdWU8QXN5bmNSZXNvbHZlckZh
Y3Rvcnk+KCkpOwogfQogCiB2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpkaXNhYmxlTm9uTG9jYWxo
b3N0Q29ubmVjdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCmluZGV4IDI0MzM2ZjA2ODkwNTU4MmFm
MGQwZWEwNTI2MTYzMTE3Mjk0YTVhZWMuLjAzYzY1ZjA2NzlhNDI4N2FhMGNmMzBhMzI4NGJiYTI0
OTQyMDNlMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJSVENNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKQEAgLTQ4LDYgKzQ4LDExIEBAIHZvaWQgV2Vi
UlRDTW9uaXRvcjo6c2VuZE9uTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlv
biYpPiYmIGNhbGxiYWNrCiAgICAgfSk7CiB9CiAKK3ZvaWQgV2ViUlRDTW9uaXRvcjo6c2V0RW51
bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAg
IG1fZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcyA9IGVuYWJsZWQ7Cit9CisK
IHZvaWQgV2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZygpCiB7CiAgICAgUkVMRUFTRV9MT0df
SUZfQUxMT1dFRCgiU3RhcnRVcGRhdGluZyIpOwpAQCAtNTksNyArNjQsNyBAQCB2b2lkIFdlYlJU
Q01vbml0b3I6OlN0YXJ0VXBkYXRpbmcoKQogCiAgICAgc2VuZE9uTWFpblRocmVhZChbdGhpc10o
YXV0byYgY29ubmVjdGlvbikgewogICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJTdGFy
dFVwZGF0aW5nIC0gQXNraW5nIG5ldHdvcmsgcHJvY2VzcyB0byBzdGFydCB1cGRhdGluZyIpOwot
ICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpTdGFy
dFVwZGF0aW5nSWZOZWVkZWQoKSwgMCk7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdl
czo6TmV0d29ya1JUQ01vbml0b3I6OlN0YXJ0VXBkYXRpbmdJZk5lZWRlZChtX2VuYWJsZUVudW1l
cmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMpLCAwKTsKICAgICB9KTsKICAgICArK21fY2xpZW50
Q291bnQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDTW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ01vbml0b3IuaAppbmRleCBmODE0NzYzZjhiNmU4Mjg2ZjE3NjFiOGZmM2Iz
ZjlmNDM1NjI2NDU5Li5mNmI5NzM5ZmFkZGMzODJjZDQyMmU1YmFhOGVhMjg1NmU1ZjRmYjBmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRD
TW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJSVENNb25pdG9yLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBuZXR3
b3JrUHJvY2Vzc0NyYXNoZWQoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29u
bmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworICAgIHZvaWQgc2V0RW51bWVyYXRpbmdBbGxOZXR3
b3JrSW50ZXJmYWNlc0VuYWJsZWQoYm9vbCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBuZXR3b3Jr
c0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRD
TmV0d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJik7CkBAIC01
OCw2ICs1OSw3IEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBtX2NsaWVudENvdW50IHsgMCB9
OwogICAgIGJvb2wgbV9yZWNlaXZlZE5ldHdvcmtMaXN0IHsgZmFsc2UgfTsKKyAgICBib29sIG1f
ZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcyB7IGZhbHNlIH07CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRh
Y2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93
ZWJydGMvZGF0YWNoYW5uZWwvZmlsdGVyLWljZS1jYW5kaWRhdGUtZXhwZWN0ZWQudHh0CmluZGV4
IGRiODZmMGZkMjJiYWRlNWI4YWFmNjBlMzRhNGVkNjUzYTUyNjYzMWQuLmM0ZDQ5ODk2NjMzNmI3
MTdlNzA2MDJlM2E2MjJmOTY2ZWQ4MDc0NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0
Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvd2VicnRjL2RhdGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDYgQEAKIAogUEFTUyBHYXRoZXJpbmcgSUNFIGNhbmRpZGF0ZXMgZnJv
bSBhIGRhdGEgY2hhbm5lbCBwZWVyIGNvbm5lY3Rpb24gd2l0aCBJQ0UgY2FuZGlkYXRlIGZpbHRl
cmluZyBvbgogUEFTUyBHYXRoZXJpbmcgSUNFIGNhbmRpZGF0ZXMgZnJvbSBhIGRhdGEgY2hhbm5l
bCBwZWVyIGNvbm5lY3Rpb24gd2l0aCBJQ0UgY2FuZGlkYXRlIGZpbHRlcmluZyBvZmYKK1BBU1Mg
VmVyaWZ5IFRDUCBjYW5kaWRhdGVzIHdpdGggZmlsdGVyaW5nCitQQVNTIFZlcmlmeSBUQ1AgY2Fu
ZGlkYXRlcyB3aXRob3V0IGZpbHRlcmluZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJy
dGMvZGF0YWNoYW5uZWwvZmlsdGVyLWljZS1jYW5kaWRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3dl
YnJ0Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sCmluZGV4IDBlMGM0ZTEx
YTg4ODllMzNjMjUxMWM1NDNmYjhmZjViZGQzNTYzZDcuLmNjYzQ2OWExNzdlMDA5MmI2NzU3YjVi
YzRkMTc3NTNhYjFmYjk1M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hh
bm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9k
YXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sCkBAIC03MSw2ICs3MSw2MCBAQCBw
cm9taXNlX3Rlc3QoKHRlc3QpID0+IHsKICAgICAgICAgcGMuY3JlYXRlT2ZmZXIoKS50aGVuKChv
ZmZlcikgPT4geyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKTsgfSk7CiAgICAgfSk7CiB9
LCAiR2F0aGVyaW5nIElDRSBjYW5kaWRhdGVzIGZyb20gYSBkYXRhIGNoYW5uZWwgcGVlciBjb25u
ZWN0aW9uIHdpdGggSUNFIGNhbmRpZGF0ZSBmaWx0ZXJpbmcgb2ZmIik7CisKK3Byb21pc2VfdGVz
dChhc3luYyAodGVzdCkgPT4geworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBp
bnRlcm5hbHMuc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKHRydWUpOworCisgICAgY29uc3QgcGMg
PSBuZXcgUlRDUGVlckNvbm5lY3Rpb24oKTsKKworICAgIGxldCByZXNvbHZlOworICAgIGNvbnN0
IHByb21pc2UgPSBuZXcgUHJvbWlzZShyID0+IHJlc29sdmUgPSByKTsKKworICAgIHBjLmNyZWF0
ZURhdGFDaGFubmVsKCdzZW5kRGF0YUNoYW5uZWwnKTsKKyAgICBwYy5vbmljZWNhbmRpZGF0ZSA9
IChldmVudCkgPT4geworICAgICAgICBpZiAoZXZlbnQuY2FuZGlkYXRlKSB7CisgICAgICAgICAg
ICBpZiAoZXZlbnQuY2FuZGlkYXRlLnByb3RvY29sICE9PSAidGNwIikKKyAgICAgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmNhbmRpZGF0ZS5wb3J0
LCA5KTsKKyAgICAgICAgICAgIGFzc2VydF90cnVlKGV2ZW50LmNhbmRpZGF0ZS5hZGRyZXNzLmlu
ZGV4T2YoIi5sb2NhbCIpICE9PSAtMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KyAgICAgICAgcmVzb2x2ZSgpOworICAgIH0KKyAgICBwYy5jcmVhdGVPZmZlcigpLnRoZW4oKG9m
ZmVyKSA9PiB7IHBjLnNldExvY2FsRGVzY3JpcHRpb24ob2ZmZXIpOyB9KTsKKworICAgIGF3YWl0
IHByb21pc2U7CisKKyAgICBwYy5vbmljZWNhbmRpZGF0ZSA9IG51bGw7Cit9LCAiVmVyaWZ5IFRD
UCBjYW5kaWRhdGVzIHdpdGggZmlsdGVyaW5nIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVz
dCkgPT4geworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0
SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKGZhbHNlKTsKKworICAgIGNvbnN0IHBjID0gbmV3IFJUQ1Bl
ZXJDb25uZWN0aW9uKCk7CisKKyAgICBsZXQgcmVzb2x2ZTsKKyAgICBjb25zdCBwcm9taXNlID0g
bmV3IFByb21pc2UociA9PiByZXNvbHZlID0gcik7CisKKyAgICBwYy5jcmVhdGVEYXRhQ2hhbm5l
bCgnc2VuZERhdGFDaGFubmVsJyk7CisgICAgcGMub25pY2VjYW5kaWRhdGUgPSAoZXZlbnQpID0+
IHsKKyAgICAgICAgaWYgKGV2ZW50LmNhbmRpZGF0ZSkgeworICAgICAgICAgICAgaWYgKGV2ZW50
LmNhbmRpZGF0ZS5wcm90b2NvbCAhPT0gInRjcCIpCisgICAgICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5jYW5kaWRhdGUucG9ydCwgOSk7CisgICAg
ICAgICAgICBhc3NlcnRfdHJ1ZShldmVudC5jYW5kaWRhdGUuYWRkcmVzcy5pbmRleE9mKCIubG9j
YWwiKSA9PT0gLTEpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJl
c29sdmUoKTsKKyAgICB9CisgICAgcGMuY3JlYXRlT2ZmZXIoKS50aGVuKChvZmZlcikgPT4geyBw
Yy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKTsgfSk7CisKKyAgICBhd2FpdCBwcm9taXNlOwor
CisgICAgcGMub25pY2VjYW5kaWRhdGUgPSBudWxsOworfSwgIlZlcmlmeSBUQ1AgY2FuZGlkYXRl
cyB3aXRob3V0IGZpbHRlcmluZyIpOwogICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CiA8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424246</attachid>
            <date>2021-03-25 08:26:45 -0700</date>
            <delta_ts>2021-03-25 08:27:30 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223679-20210325162643.patch</filename>
            <type>text/plain</type>
            <size>18978</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5NWM4N2U3ZDYwNDFjNDIxODI0MWU1MTAxNDY3MTA3YmZkZmNjMjE4Li5mNjcz
NTAyN2UxMmZkYTIzNzc0YzEyNTNkZmI2MmUyMzM4MjIxMzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0yNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIGZyb20gUE9SVEFMTE9D
QVRPUl9ESVNBQkxFX0FEQVBURVJfRU5VTUVSQVRJT04gdG8gZmlsdGVyaW5nIGludGVyZmFjZXMg
aW4gTmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1MuZXhwOgorICAgICAgICAq
IENvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwOgorICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwOgorCiAyMDIxLTAzLTI1ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBBbGlnbiBSZW1vdGVWaWRlb0RlY29kZXIgZGVz
dHJ1Y3Rpb24gc3RyYXRlZ3kgd2l0aCBSZW1vdGVWaWRlb0VuY29kZXIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4
YjI0NDhhODJmNDgzYjJiYWI0MzM4MjY4MDgyMmIxY2VmMmQ0OGUwLi5jMTNhMTczMTEwZjMzNTk1
Yjg3YmNmMGIzMmYwNTVhNGYyMmFlZWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MjEtMDMtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFN3
aXRjaCBmcm9tIFBPUlRBTExPQ0FUT1JfRElTQUJMRV9BREFQVEVSX0VOVU1FUkFUSU9OIHRvIGZp
bHRlcmluZyBpbnRlcmZhY2VzIGluIE5ldHdvcmsgcHJvY2VzcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjc5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIENvdmVyZWQgYnkgd2VicnRjL2RhdGFjaGFubmVs
L2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaDoKKyAgICAgICAg
VXNlIHNldF9hbGxvd190Y3BfbGlzdGVuIGluc3RlYWQgb2YgUE9SVEFMTE9DQVRPUl9ESVNBQkxF
X0FEQVBURVJfRU5VTUVSQVRJT04uCisKIDIwMjEtMDMtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUgUmVhbHRpbWVJbmNvbWluZ1ZpZGVvU291
cmNlQ29jb2E6Ok9uRnJhbWUgbG9nZ2luZyB0byBpbmNsdWRlIHJvdGF0aW9uIGFuZCBzaXplIGlu
Zm9ybWF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGFmNjgxZDg5M2IyMDE5NTc0MGVkNjgzNDU3NDExMWNiMDFk
ZmE5OWIuLmQzODhkNWE2MzgzNGM4Nzk2OGM5ZDkwNDc4NWE1NjBmZWNjNzViMWUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjcgQEAKKzIwMjEtMDMtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIFN3aXRjaCBmcm9tIFBPUlRBTExPQ0FUT1JfRElTQUJMRV9BREFQ
VEVSX0VOVU1FUkFUSU9OIHRvIGZpbHRlcmluZyBpbnRlcmZhY2VzIGluIE5ldHdvcmsgcHJvY2Vz
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNjc5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFdoZW4gc3Rh
cnRpbmcgdG8gbW9uaXRvciwgcGFzcyB3aGV0aGVyIHRvIGVudW1lcmF0ZSBhbGwgaW50ZXJmYWNl
cyBmcm9tIFdlYlByb2Nlc3MgdG8gTmV0d29ya1Byb2Nlc3MgYXMgYSBib29sZWFuLgorICAgICAg
ICBJbiBOZXR3b3JrUHJvY2VzcywgZG8gbmV0d29yayBpbnRlcmZhY2UgZW51bWVyYXRpb24gYXMg
dXN1YWwsIGJ1dCB1c2UgdGhlIGJvb2xlYW4gdG8gZGVjaWRlIHdoZXRoZXIgdG8gc2VuZCB0aGUg
ZnVsbCBsaXN0IG9yIHRoZSBsaXN0IHRoYXQgaXMgcmVsYXRlZCB0byB0aGUgZGVmYXVsdCBJUCBh
ZGRyZXNzZXMgdG8gV2ViUHJvY2Vzcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtNYW5hZ2Vy
V3JhcHBlcjo6YWRkTGlzdGVuZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTWFuYWdlcldy
YXBwZXI6Om9uTmV0d29ya3NDaGFuZ2VkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ01v
bml0b3I6OnN0YXJ0VXBkYXRpbmdJZk5lZWRlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtS
VENNb25pdG9yOjpvbk5ldHdvcmtzQ2hhbmdlZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENNb25pdG9yLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENQcm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24pOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlJUQ01vbml0b3I6OnNldEVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXNFbmFibGVk
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZyk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmg6CisKIDIwMjEt
MDMtMjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSB3
ZWJydGMgR1BVIFByb2Nlc3MgZmVhdHVyZSBmbGFnIGZvciBhdWRpbyBjYXB0dXJlIG9uIE1hY09T
CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMv
bGlid2VicnRjLmlPUy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvbGlid2VicnRjLmlPUy5leHAKaW5kZXggZjU5Mzc5NjBhZGM4ZDE3NTE3OWIxY2RhZjdl
MjRjMGMyZTExZTRlNi4uN2MxOThmMjQxYjc0NDdmM2M3YjJjODk3NTVlNzQ4YmE2YWU0ZTFkNyAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xp
YndlYnJ0Yy5pT1MuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1
cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cApAQCAtMzE3LDMgKzMxNyw0IEBAIF9fWk42d2VicnRj
MjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTI5U2V0T2ZmZXJlZFJ0cEhlYWRlckV4dGVuc2lvbnNF
TjNydGM5QXJyYXlWCiBfX1pONndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2U0U3RvcEV2
CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlMjNIZWFkZXJFeHRlbnNpb25z
VG9PZmZlckV2CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlOHN0b3BwaW5n
RXYKK19fWk5LM3J0YzlJUEFkZHJlc3NlcUVSS1MwXwpkaWZmIC0tZ2l0IGEvU291cmNlL1RoaXJk
UGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0uZXhwIGIvU291
cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5pT1NzaW0u
ZXhwCmluZGV4IGY1OTM3OTYwYWRjOGQxNzUxNzliMWNkYWY3ZTI0YzBjMmUxMWU0ZTYuLjdjMTk4
ZjI0MWI3NDQ3ZjNjN2IyYzg5NzU1ZTc0OGJhNmFlNGUxZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9U
aGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cAor
KysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRj
LmlPU3NpbS5leHAKQEAgLTMxNywzICszMTcsNCBAQCBfX1pONndlYnJ0YzIzUnRwVHJhbnNjZWl2
ZXJJbnRlcmZhY2UyOVNldE9mZmVyZWRSdHBIZWFkZXJFeHRlbnNpb25zRU4zcnRjOUFycmF5Vgog
X19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlNFN0b3BFdgogX19aTks2d2VicnRj
MjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTIzSGVhZGVyRXh0ZW5zaW9uc1RvT2ZmZXJFdgogX19a
Tks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZThzdG9wcGluZ0V2CitfX1pOSzNydGM5
SVBBZGRyZXNzZXFFUktTMF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0
Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cCBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cAppbmRleCBmNTkzNzk2MGFk
YzhkMTc1MTc5YjFjZGFmN2UyNGMwYzJlMTFlNGU2Li43YzE5OGYyNDFiNzQ0N2YzYzdiMmM4OTc1
NWU3NDhiYTZhZTRlMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkv
bGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCkBAIC0zMTcsMyArMzE3
LDQgQEAgX19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlMjlTZXRPZmZlcmVkUnRw
SGVhZGVyRXh0ZW5zaW9uc0VOM3J0YzlBcnJheVYKIF9fWk42d2VicnRjMjNSdHBUcmFuc2NlaXZl
ckludGVyZmFjZTRTdG9wRXYKIF9fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2Uy
M0hlYWRlckV4dGVuc2lvbnNUb09mZmVyRXYKIF9fWk5LNndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJ
bnRlcmZhY2U4c3RvcHBpbmdFdgorX19aTkszcnRjOUlQQWRkcmVzc2VxRVJLUzBfCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAppbmRleCAxNGY3ZTMxOGJjMjJkZGMzMWU0MWZm
M2RjNDdiMmU2OWU2MDg1M2JjLi44MjE4MjU1NGJmM2I2NmRkNWYwZTkyYjQyOTM1ZGRmMThiNjVh
YTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTM0OSw4ICsz
NDksOCBAQCBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFj
ZT4gTGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZQogICAgIHN0ZDo6dW5pcXVlX3B0cjxjcmlj
a2V0OjpCYXNpY1BvcnRBbGxvY2F0b3I+IHBvcnRBbGxvY2F0b3I7CiAgICAgZmFjdG9yeUFuZFRo
cmVhZHMuc2lnbmFsaW5nVGhyZWFkLT5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgWyZdKCkg
ewogICAgICAgICBhdXRvIGJhc2ljUG9ydEFsbG9jYXRvciA9IG1ha2VVbmlxdWVXaXRob3V0RmFz
dE1hbGxvY0NoZWNrPGNyaWNrZXQ6OkJhc2ljUG9ydEFsbG9jYXRvcj4oJm5ldHdvcmtNYW5hZ2Vy
LCAmcGFja2V0U29ja2V0RmFjdG9yeSk7Ci0gICAgICAgIGlmICghbV9lbmFibGVFbnVtZXJhdGlu
Z0FsbE5ldHdvcmtJbnRlcmZhY2VzKQotICAgICAgICAgICAgYmFzaWNQb3J0QWxsb2NhdG9yLT5z
ZXRfZmxhZ3MoYmFzaWNQb3J0QWxsb2NhdG9yLT5mbGFncygpIHwgY3JpY2tldDo6UE9SVEFMTE9D
QVRPUl9ESVNBQkxFX0FEQVBURVJfRU5VTUVSQVRJT04pOworCisgICAgICAgIGJhc2ljUG9ydEFs
bG9jYXRvci0+c2V0X2FsbG93X3RjcF9saXN0ZW4oZmFsc2UpOwogICAgICAgICBwb3J0QWxsb2Nh
dG9yID0gV1RGTW92ZShiYXNpY1BvcnRBbGxvY2F0b3IpOwogICAgIH0pOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENQcm92aWRlci5oCmluZGV4IDBkMGQ1NTgwNzZkNzJiNjI4NGM4ZjIwMWIyM2Fk
NDcyNTM0YTU3MjcuLmNlZjU2MzI3MGE0MmNmN2JiYjQ4MTliNWEyZWRjYzQ0NDcxMzUwMjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCkBAIC0xMDksNiArMTA5LDcgQEAgcHVi
bGljOgogCiAgICAgdm9pZCBkaXNhYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcygp
OwogICAgIHZvaWQgZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcygpOworICAg
IGJvb2wgaXNFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZCgpIGNvbnN0IHsg
cmV0dXJuIG1fZW5hYmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlczsgfQogCiAgICAg
dm9pZCBzZXRIMjY1U3VwcG9ydChib29sIHZhbHVlKSB7IG1fc3VwcG9ydHNIMjY1ID0gdmFsdWU7
IH0KICAgICB2b2lkIHNldFZQOVN1cHBvcnQoYm9vbCBzdXBwb3J0c1ZQOVByb2ZpbGUwLCBib29s
IHN1cHBvcnRzVlA5UHJvZmlsZTIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCmluZGV4IGE5ODVmNWQyZTg2
NjcxNmNkNzY5YWIwZDI4NDc4M2IxNWI1Y2QzOWIuLjk3Y2M4MmU5MTJiYjg1YTY5YTljZTNkZGQ1
NzQxNWUxN2M3Yzc3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHAKQEAgLTU1LDYgKzU1LDcgQEAgcHJp
dmF0ZToKIAogICAgIGJvb2wgbV9kaWRSZWNlaXZlUmVzdWx0cyB7IGZhbHNlIH07CiAgICAgVmVj
dG9yPFJUQ05ldHdvcms+IG1fbmV0d29ya0xpc3Q7CisgICAgVmVjdG9yPFJUQ05ldHdvcms+IG1f
ZmlsdGVyZWROZXR3b3JrTGlzdDsKICAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgbV9pcHY0Owog
ICAgIFJUQ05ldHdvcms6OklQQWRkcmVzcyBtX2lwdjY7CiB9OwpAQCAtNzEsNyArNzIsNyBAQCB2
b2lkIE5ldHdvcmtNYW5hZ2VyV3JhcHBlcjo6YWRkTGlzdGVuZXIoTmV0d29ya1JUQ01vbml0b3Im
IG1vbml0b3IpCiAgICAgbV9vYnNlcnZlcnMuYWRkKG1vbml0b3IpOwogICAgIGlmICghc2hvdWxk
U3RhcnQpIHsKICAgICAgICAgaWYgKG1fZGlkUmVjZWl2ZVJlc3VsdHMpCi0gICAgICAgICAgICBt
b25pdG9yLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xpc3QsIG1faXB2NCwgbV9pcHY2KTsK
KyAgICAgICAgICAgIG1vbml0b3Iub25OZXR3b3Jrc0NoYW5nZWQobV9uZXR3b3JrTGlzdCwgbV9m
aWx0ZXJlZE5ldHdvcmtMaXN0LCBtX2lwdjQsIG1faXB2Nik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKQEAgLTEwNywyMyArMTA4LDMyIEBAIHZvaWQgTmV0d29ya01hbmFnZXJXcmFwcGVyOjpv
bk5ldHdvcmtzQ2hhbmdlZCgpCiAgICAgUkVMRUFTRV9MT0coV2ViUlRDLCAiTmV0d29ya01hbmFn
ZXJXcmFwcGVyOjpvbk5ldHdvcmtzQ2hhbmdlZCIpOwogCiAgICAgcnRjOjpCYXNpY05ldHdvcmtN
YW5hZ2VyOjpOZXR3b3JrTGlzdCBuZXR3b3JrczsKLSAgICBtX21hbmFnZXItPkdldE5ldHdvcmtz
KCZuZXR3b3Jrcyk7Ci0gICAgYXV0byBuZXR3b3JrTGlzdCA9IFdURjo6bWFwKG5ldHdvcmtzLCBb
XShhdXRvJiBuZXR3b3JrKSB7IHJldHVybiBSVENOZXR3b3JrIHsgKm5ldHdvcmsgfTsgfSk7CiAK
ICAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgaXB2NDsKICAgICBtX21hbmFnZXItPkdldERlZmF1
bHRMb2NhbEFkZHJlc3MoQUZfSU5FVCwgJmlwdjQudmFsdWUpOwogICAgIFJUQ05ldHdvcms6OklQ
QWRkcmVzcyBpcHY2OwogICAgIG1fbWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhBRl9J
TkVUNiwgJmlwdjYudmFsdWUpOwogCi0gICAgY2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIG5ldHdv
cmtMaXN0ID0gV1RGTW92ZShuZXR3b3JrTGlzdCksIGlwdjQgPSBXVEZNb3ZlKGlwdjQpLCBpcHY2
ID0gV1RGTW92ZShpcHY2KV0oKSBtdXRhYmxlIHsKKyAgICBtX21hbmFnZXItPkdldE5ldHdvcmtz
KCZuZXR3b3Jrcyk7CisKKyAgICBhdXRvIG5ldHdvcmtMaXN0ID0gV1RGOjptYXAobmV0d29ya3Ms
IFtdKGF1dG8mIG5ldHdvcmspIHsgcmV0dXJuIFJUQ05ldHdvcmsgeyAqbmV0d29yayB9OyB9KTsK
KyAgICBWZWN0b3I8UlRDTmV0d29yaz4gZmlsdGVyZWROZXR3b3JrTGlzdDsKKyAgICBmb3IgKGF1
dG8mIG5ldHdvcmsgOiBuZXR3b3JrcykgeworICAgICAgICBjb25zdCBhdXRvJiBpcHMgPSBuZXR3
b3JrLT5HZXRJUHMoKTsKKyAgICAgICAgaWYgKFdURjo6YW55T2YoaXBzLCBbJl0oY29uc3QgYXV0
byYgaXApIHsgcmV0dXJuIGlwdjQudmFsdWUgPT0gaXAgfHwgaXB2Ni52YWx1ZSA9PSBpcDsgfSkp
CisgICAgICAgICAgICBmaWx0ZXJlZE5ldHdvcmtMaXN0LmFwcGVuZChSVENOZXR3b3JrIHsgKm5l
dHdvcmsgfSk7CisgICAgfQorCisgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3RoaXMsIG5ldHdvcmtM
aXN0ID0gV1RGTW92ZShuZXR3b3JrTGlzdCksIGZpbHRlcmVkTmV0d29ya0xpc3QgPSBXVEZNb3Zl
KGZpbHRlcmVkTmV0d29ya0xpc3QpLCBpcHY0ID0gV1RGTW92ZShpcHY0KSwgaXB2NiA9IFdURk1v
dmUoaXB2NildKCkgbXV0YWJsZSB7CiAgICAgICAgIG1fZGlkUmVjZWl2ZVJlc3VsdHMgPSB0cnVl
OwogCiAgICAgICAgIG1fbmV0d29ya0xpc3QgPSBXVEZNb3ZlKG5ldHdvcmtMaXN0KTsKKyAgICAg
ICAgbV9maWx0ZXJlZE5ldHdvcmtMaXN0ID0gV1RGTW92ZShmaWx0ZXJlZE5ldHdvcmtMaXN0KTsK
ICAgICAgICAgbV9pcHY0ID0gV1RGTW92ZShpcHY0KTsKICAgICAgICAgbV9pcHY2ID0gV1RGTW92
ZShpcHY2KTsKIAogICAgICAgICBtX29ic2VydmVycy5mb3JFYWNoKFt0aGlzXShhdXRvJiBvYnNl
cnZlcikgewotICAgICAgICAgICAgb2JzZXJ2ZXIub25OZXR3b3Jrc0NoYW5nZWQobV9uZXR3b3Jr
TGlzdCwgbV9pcHY0LCBtX2lwdjYpOworICAgICAgICAgICAgb2JzZXJ2ZXIub25OZXR3b3Jrc0No
YW5nZWQobV9uZXR3b3JrTGlzdCwgbV9maWx0ZXJlZE5ldHdvcmtMaXN0LCBtX2lwdjQsIG1faXB2
Nik7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQpAQCAtMTMzLDkgKzE0MywxMCBAQCBOZXR3b3Jr
UlRDTW9uaXRvcjo6fk5ldHdvcmtSVENNb25pdG9yKCkKICAgICBBU1NFUlQoIW1fbWFuYWdlcik7
CiB9CiAKLXZvaWQgTmV0d29ya1JUQ01vbml0b3I6OnN0YXJ0VXBkYXRpbmdJZk5lZWRlZCgpCit2
b2lkIE5ldHdvcmtSVENNb25pdG9yOjpzdGFydFVwZGF0aW5nSWZOZWVkZWQoYm9vbCBlbmFibGVF
bnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzKQogewogICAgIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQoInN0YXJ0VXBkYXRpbmdJZk5lZWRlZCAlZCIsIG1faXNTdGFydGVkKTsKKyAgICBtX2Vu
YWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMgPSBlbmFibGVFbnVtZXJhdGluZ0Fs
bE5ldHdvcmtJbnRlcmZhY2VzOwogICAgIG5ldHdvcmtNYW5hZ2VyKCkuYWRkTGlzdGVuZXIoKnRo
aXMpOwogfQogCkBAIC0xNDUsMTAgKzE1NiwxMCBAQCB2b2lkIE5ldHdvcmtSVENNb25pdG9yOjpz
dG9wVXBkYXRpbmcoKQogICAgIG5ldHdvcmtNYW5hZ2VyKCkucmVtb3ZlTGlzdGVuZXIoKnRoaXMp
OwogfQogCi12b2lkIE5ldHdvcmtSVENNb25pdG9yOjpvbk5ldHdvcmtzQ2hhbmdlZChjb25zdCBW
ZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtMaXN0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJl
c3MmIGlwdjQsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NikKK3ZvaWQgTmV0d29y
a1JUQ01vbml0b3I6Om9uTmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrPiYg
bmV0d29ya0xpc3QsIGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrPiYgZmlsdGVyZWROZXR3b3JrTGlz
dCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBpcHY0LCBjb25zdCBSVENOZXR3b3JrOjpJ
UEFkZHJlc3MmIGlwdjYpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxMT1dFRCgib25OZXR3b3Jr
c0NoYW5nZWQgc2VudCIpOwotICAgIG1fcnRjUHJvdmlkZXIuY29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6OldlYlJUQ01vbml0b3I6Ok5ldHdvcmtzQ2hhbmdlZChuZXR3b3JrTGlzdCwgaXB2NCwg
aXB2NiksIDApOworICAgIG1fcnRjUHJvdmlkZXIuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
OldlYlJUQ01vbml0b3I6Ok5ldHdvcmtzQ2hhbmdlZChtX2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0
d29ya0ludGVyZmFjZXMgPyBuZXR3b3JrTGlzdCA6IGZpbHRlcmVkTmV0d29ya0xpc3QsIGlwdjQs
IGlwdjYpLCAwKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oIGIvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaAppbmRl
eCBmMTg0ZTY4YTk0NjMxNzg1NjkwODM2ZGFkY2M5NTI1MTU2NDllNGRmLi43NmU2NmQyNTk1ZDdm
OWUxMDc0ZjYzY2YyMjk3NjA0ODljMmFiYzk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmgKQEAgLTUyLDE0ICs1
MiwxNSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1N0YXJ0ZWQoKSBjb25zdCB7IHJldHVybiBtX2lz
U3RhcnRlZDsgfQogICAgIE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIoKSB7IHJldHVy
biBtX3J0Y1Byb3ZpZGVyOyB9CiAKLSAgICB2b2lkIG9uTmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZl
Y3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYsIGNvbnN0IFJU
Q05ldHdvcms6OklQQWRkcmVzcyYpOworICAgIHZvaWQgb25OZXR3b3Jrc0NoYW5nZWQoY29uc3Qg
VmVjdG9yPFJUQ05ldHdvcms+JiwgY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiwgY29uc3QgUlRD
TmV0d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJik7CiAKIHBy
aXZhdGU6Ci0gICAgdm9pZCBzdGFydFVwZGF0aW5nSWZOZWVkZWQoKTsKKyAgICB2b2lkIHN0YXJ0
VXBkYXRpbmdJZk5lZWRlZChib29sKTsKIAogICAgIE5ldHdvcmtSVENQcm92aWRlciYgbV9ydGNQ
cm92aWRlcjsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPiBt
X21hbmFnZXI7CiAgICAgYm9vbCBtX2lzU3RhcnRlZCB7IGZhbHNlIH07CisgICAgYm9vbCBtX2Vu
YWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMgeyBmYWxzZSB9OwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluCmluZGV4
IDQ3MmU1MWYxNWJjNmJhMzJjNzZjMGEyMDFkNzZmNWYxYzUyNjk1YzQuLjNjMWQxNjUzMjQ4Mzhm
MjY3ZTAyYzcwMGM4OTRiNGE5Y2NmOWZmM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3Nh
Z2VzLmluCkBAIC0yMyw3ICsyMyw3IEBACiAjaWYgVVNFKExJQldFQlJUQykKIAogbWVzc2FnZXMg
LT4gTmV0d29ya1JUQ01vbml0b3IgTm90UmVmQ291bnRlZCB7Ci0gICAgdm9pZCBTdGFydFVwZGF0
aW5nSWZOZWVkZWQoKQorICAgIHZvaWQgU3RhcnRVcGRhdGluZ0lmTmVlZGVkKGJvb2wgZW51bWVy
YXRlQWxsSW50ZXJmYWNlcykKICAgICB2b2lkIFN0b3BVcGRhdGluZygpCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92
aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuY3BwCmluZGV4IDc1NDBhZmExNGM3MzFmZmZkZTAzYTlmYjc3NzZkNTEzYjY4
OTZhMzkuLmMyN2JmN2U1NGM4MGZiNTc3NjNkYjNhNGI5NjQwZjQ5ZDQ2YWM5MzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtNjQsNyArNjQsOSBAQCBydGM6OnNjb3BlZF9yZWZwdHI8
d2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZT4gTGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0
ZVBlZQogICAgIH0KICNlbmRpZgogCi0gICAgcmV0dXJuIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3Zp
ZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbihvYnNlcnZlciwgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkubGliV2ViUlRDTmV0d29yaygpLm1vbml0b3IoKSwgKnNvY2tldEZhY3RvcnksIFdURk1vdmUo
Y29uZmlndXJhdGlvbiksIG1ha2VVbmlxdWU8QXN5bmNSZXNvbHZlckZhY3Rvcnk+KCkpOworICAg
IGF1dG8mIG5ldHdvcmtNb25pdG9yID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRD
TmV0d29yaygpLm1vbml0b3IoKTsKKyAgICBuZXR3b3JrTW9uaXRvci5zZXRFbnVtZXJhdGluZ0Fs
bE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZChpc0VudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFj
ZXNFbmFibGVkKCkpOworICAgIHJldHVybiBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcjo6Y3Jl
YXRlUGVlckNvbm5lY3Rpb24ob2JzZXJ2ZXIsIG5ldHdvcmtNb25pdG9yLCAqc29ja2V0RmFjdG9y
eSwgV1RGTW92ZShjb25maWd1cmF0aW9uKSwgbWFrZVVuaXF1ZTxBc3luY1Jlc29sdmVyRmFjdG9y
eT4oKSk7CiB9CiAKIHZvaWQgTGliV2ViUlRDUHJvdmlkZXI6OmRpc2FibGVOb25Mb2NhbGhvc3RD
b25uZWN0aW9ucygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKaW5kZXggMjQzMzZmMDY4OTA1NTgyYWYwZDBl
YTA1MjYxNjMxMTcyOTRhNWFlYy4uMDNjNjVmMDY3OWE0Mjg3YWEwY2YzMGEzMjg0YmJhMjQ5NDIw
M2UyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ01vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNwcApAQCAtNDgsNiArNDgsMTEgQEAgdm9pZCBXZWJSVENN
b25pdG9yOjpzZW5kT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9uJik+
JiYgY2FsbGJhY2sKICAgICB9KTsKIH0KIAordm9pZCBXZWJSVENNb25pdG9yOjpzZXRFbnVtZXJh
dGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZChib29sIGVuYWJsZWQpCit7CisgICAgbV9l
bmFibGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzID0gZW5hYmxlZDsKK30KKwogdm9p
ZCBXZWJSVENNb25pdG9yOjpTdGFydFVwZGF0aW5nKCkKIHsKICAgICBSRUxFQVNFX0xPR19JRl9B
TExPV0VEKCJTdGFydFVwZGF0aW5nIik7CkBAIC01OSw3ICs2NCw3IEBAIHZvaWQgV2ViUlRDTW9u
aXRvcjo6U3RhcnRVcGRhdGluZygpCiAKICAgICBzZW5kT25NYWluVGhyZWFkKFt0aGlzXShhdXRv
JiBjb25uZWN0aW9uKSB7CiAgICAgICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIlN0YXJ0VXBk
YXRpbmcgLSBBc2tpbmcgbmV0d29yayBwcm9jZXNzIHRvIHN0YXJ0IHVwZGF0aW5nIik7Ci0gICAg
ICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ01vbml0b3I6OlN0YXJ0VXBk
YXRpbmdJZk5lZWRlZCgpLCAwKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZ0lmTmVlZGVkKG1fZW5hYmxlRW51bWVyYXRp
bmdBbGxOZXR3b3JrSW50ZXJmYWNlcyksIDApOwogICAgIH0pOwogICAgICsrbV9jbGllbnRDb3Vu
dDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENNb25pdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUlRDTW9uaXRvci5oCmluZGV4IGY4MTQ3NjNmOGI2ZTgyODZmMTc2MWI4ZmYzYjNmOWY0
MzU2MjY0NTkuLmY2Yjk3MzlmYWRkYzM4MmNkNDIyZTViYWE4ZWEyODU2ZTVmNGZiMGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25p
dG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJU
Q01vbml0b3IuaApAQCAtNDYsNiArNDYsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG5ldHdvcmtQ
cm9jZXNzQ3Jhc2hlZCgpOwogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJik7CisgICAgdm9pZCBzZXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJ
bnRlcmZhY2VzRW5hYmxlZChib29sKTsKIAogcHJpdmF0ZToKICAgICB2b2lkIG5ldHdvcmtzQ2hh
bmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtMaXN0LCBjb25zdCBSVENOZXR3
b3JrOjpJUEFkZHJlc3MmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmKTsKQEAgLTU4LDYg
KzU5LDcgQEAgcHJpdmF0ZToKIAogICAgIHVuc2lnbmVkIG1fY2xpZW50Q291bnQgeyAwIH07CiAg
ICAgYm9vbCBtX3JlY2VpdmVkTmV0d29ya0xpc3QgeyBmYWxzZSB9OworICAgIGJvb2wgbV9lbmFi
bGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvd2VicnRjL2RhdGFjaGFu
bmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYnJ0
Yy9kYXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1leHBlY3RlZC50eHQKaW5kZXggZGI4
NmYwZmQyMmJhZGU1YjhhYWY2MGUzNGE0ZWQ2NTNhNTI2NjMxZC4uYzRkNDk4OTY2MzM2YjcxN2U3
MDYwMmUzYTYyMmY5NjZlZDgwNzQ1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2VicnRjL2Rh
dGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy93ZWJydGMvZGF0YWNoYW5uZWwvZmlsdGVyLWljZS1jYW5kaWRhdGUtZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNiBAQAogCiBQQVNTIEdhdGhlcmluZyBJQ0UgY2FuZGlkYXRlcyBmcm9tIGEg
ZGF0YSBjaGFubmVsIHBlZXIgY29ubmVjdGlvbiB3aXRoIElDRSBjYW5kaWRhdGUgZmlsdGVyaW5n
IG9uCiBQQVNTIEdhdGhlcmluZyBJQ0UgY2FuZGlkYXRlcyBmcm9tIGEgZGF0YSBjaGFubmVsIHBl
ZXIgY29ubmVjdGlvbiB3aXRoIElDRSBjYW5kaWRhdGUgZmlsdGVyaW5nIG9mZgorUEFTUyBWZXJp
ZnkgVENQIGNhbmRpZGF0ZXMgd2l0aCBmaWx0ZXJpbmcKK1BBU1MgVmVyaWZ5IFRDUCBjYW5kaWRh
dGVzIHdpdGhvdXQgZmlsdGVyaW5nCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy9k
YXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvd2VicnRj
L2RhdGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwKaW5kZXggMGUwYzRlMTFhODg4
OWUzM2MyNTExYzU0M2ZiOGZmNWJkZDM1NjNkNy4uY2NjNDY5YTE3N2UwMDkyYjY3NTdiNWJjNGQx
Nzc1M2FiMWZiOTUzYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2VicnRjL2RhdGFjaGFubmVs
L2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvd2VicnRjL2RhdGFj
aGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLmh0bWwKQEAgLTcxLDYgKzcxLDYwIEBAIHByb21p
c2VfdGVzdCgodGVzdCkgPT4gewogICAgICAgICBwYy5jcmVhdGVPZmZlcigpLnRoZW4oKG9mZmVy
KSA9PiB7IHBjLnNldExvY2FsRGVzY3JpcHRpb24ob2ZmZXIpOyB9KTsKICAgICB9KTsKIH0sICJH
YXRoZXJpbmcgSUNFIGNhbmRpZGF0ZXMgZnJvbSBhIGRhdGEgY2hhbm5lbCBwZWVyIGNvbm5lY3Rp
b24gd2l0aCBJQ0UgY2FuZGlkYXRlIGZpbHRlcmluZyBvZmYiKTsKKworcHJvbWlzZV90ZXN0KGFz
eW5jICh0ZXN0KSA9PiB7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVy
bmFscy5zZXRJQ0VDYW5kaWRhdGVGaWx0ZXJpbmcodHJ1ZSk7CisKKyAgICBjb25zdCBwYyA9IG5l
dyBSVENQZWVyQ29ubmVjdGlvbigpOworCisgICAgbGV0IHJlc29sdmU7CisgICAgY29uc3QgcHJv
bWlzZSA9IG5ldyBQcm9taXNlKHIgPT4gcmVzb2x2ZSA9IHIpOworCisgICAgcGMuY3JlYXRlRGF0
YUNoYW5uZWwoJ3NlbmREYXRhQ2hhbm5lbCcpOworICAgIHBjLm9uaWNlY2FuZGlkYXRlID0gKGV2
ZW50KSA9PiB7CisgICAgICAgIGlmIChldmVudC5jYW5kaWRhdGUpIHsKKyAgICAgICAgICAgIGlm
IChldmVudC5jYW5kaWRhdGUucHJvdG9jb2wgIT09ICJ0Y3AiKQorICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuY2FuZGlkYXRlLnBvcnQsIDkp
OworICAgICAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQuY2FuZGlkYXRlLmFkZHJlc3MuaW5kZXhP
ZigiLmxvY2FsIikgIT09IC0xKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAg
ICAgICByZXNvbHZlKCk7CisgICAgfQorICAgIHBjLmNyZWF0ZU9mZmVyKCkudGhlbigob2ZmZXIp
ID0+IHsgcGMuc2V0TG9jYWxEZXNjcmlwdGlvbihvZmZlcik7IH0pOworCisgICAgYXdhaXQgcHJv
bWlzZTsKKworICAgIHBjLm9uaWNlY2FuZGlkYXRlID0gbnVsbDsKK30sICJWZXJpZnkgVENQIGNh
bmRpZGF0ZXMgd2l0aCBmaWx0ZXJpbmciKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9
PiB7CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5zZXRJQ0VD
YW5kaWRhdGVGaWx0ZXJpbmcoZmFsc2UpOworCisgICAgY29uc3QgcGMgPSBuZXcgUlRDUGVlckNv
bm5lY3Rpb24oKTsKKworICAgIGxldCByZXNvbHZlOworICAgIGNvbnN0IHByb21pc2UgPSBuZXcg
UHJvbWlzZShyID0+IHJlc29sdmUgPSByKTsKKworICAgIHBjLmNyZWF0ZURhdGFDaGFubmVsKCdz
ZW5kRGF0YUNoYW5uZWwnKTsKKyAgICBwYy5vbmljZWNhbmRpZGF0ZSA9IChldmVudCkgPT4gewor
ICAgICAgICBpZiAoZXZlbnQuY2FuZGlkYXRlKSB7CisgICAgICAgICAgICBpZiAoZXZlbnQuY2Fu
ZGlkYXRlLnByb3RvY29sICE9PSAidGNwIikKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmNhbmRpZGF0ZS5wb3J0LCA5KTsKKyAgICAgICAg
ICAgIGFzc2VydF90cnVlKGV2ZW50LmNhbmRpZGF0ZS5hZGRyZXNzLmluZGV4T2YoIi5sb2NhbCIp
ID09PSAtMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgcmVzb2x2
ZSgpOworICAgIH0KKyAgICBwYy5jcmVhdGVPZmZlcigpLnRoZW4oKG9mZmVyKSA9PiB7IHBjLnNl
dExvY2FsRGVzY3JpcHRpb24ob2ZmZXIpOyB9KTsKKworICAgIGF3YWl0IHByb21pc2U7CisKKyAg
ICBwYy5vbmljZWNhbmRpZGF0ZSA9IG51bGw7Cit9LCAiVmVyaWZ5IFRDUCBjYW5kaWRhdGVzIHdp
dGhvdXQgZmlsdGVyaW5nIik7CiAgICAgPC9zY3JpcHQ+CiAgIDwvYm9keT4KIDwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424247</attachid>
            <date>2021-03-25 08:27:34 -0700</date>
            <delta_ts>2021-03-25 09:33:12 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-223679-20210325162732.patch</filename>
            <type>text/plain</type>
            <size>18976</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc0OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9saWJ3ZWJydGMvQ2hhbmdlTG9nIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NoYW5n
ZUxvZwppbmRleCA5NWM4N2U3ZDYwNDFjNDIxODI0MWU1MTAxNDY3MTA3YmZkZmNjMjE4Li4zYWNk
ZTNiMWUwOWQzODI2NDU3OTY3NTViNGJmZDgxNzQ1NDdlYWRhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
VGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0wMy0yNSAgWW91ZW5uIEZh
YmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU3dpdGNoIGZyb20gUE9SVEFMTE9D
QVRPUl9ESVNBQkxFX0FEQVBURVJfRU5VTUVSQVRJT04gdG8gZmlsdGVyaW5nIGludGVyZmFjZXMg
aW4gTmV0d29yayBwcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMjM2NzkKKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisK
KyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9TLmV4cDoKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cDoKKyAgICAgICAgKiBDb25maWd1cmF0
aW9ucy9saWJ3ZWJydGMubWFjLmV4cDoKKwogMjAyMS0wMy0yNSAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWxpZ24gUmVtb3RlVmlkZW9EZWNvZGVyIGRlc3Ry
dWN0aW9uIHN0cmF0ZWd5IHdpdGggUmVtb3RlVmlkZW9FbmNvZGVyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIy
NDQ4YTgyZjQ4M2IyYmFiNDMzODI2ODA4MjJiMWNlZjJkNDhlMC4uYzEzYTE3MzExMGYzMzU5NWI4
N2JjZjBiMzJmMDU1YTRmMjJhZWVkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIx
LTAzLTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTd2l0
Y2ggZnJvbSBQT1JUQUxMT0NBVE9SX0RJU0FCTEVfQURBUFRFUl9FTlVNRVJBVElPTiB0byBmaWx0
ZXJpbmcgaW50ZXJmYWNlcyBpbiBOZXR3b3JrIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzY3OQorCisgICAgICAgIFJldmlld2VkIGJ5
IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBDb3ZlcmVkIGJ5IHdlYnJ0Yy9kYXRhY2hhbm5lbC9m
aWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sLgorCisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okxp
YldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICogcGxhdGZv
cm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg6CisgICAgICAgIFVz
ZSBzZXRfYWxsb3dfdGNwX2xpc3RlbiBpbnN0ZWFkIG9mIFBPUlRBTExPQ0FUT1JfRElTQUJMRV9B
REFQVEVSX0VOVU1FUkFUSU9OLgorCiAyMDIxLTAzLTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBJbXByb3ZlIFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJj
ZUNvY29hOjpPbkZyYW1lIGxvZ2dpbmcgdG8gaW5jbHVkZSByb3RhdGlvbiBhbmQgc2l6ZSBpbmZv
cm1hdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZwppbmRleCBhZjY4MWQ4OTNiMjAxOTU3NDBlZDY4MzQ1NzQxMTFjYjAxZGZh
OTliLi5kMzg4ZDVhNjM4MzRjODc5NjhjOWQ5MDQ3ODVhNTYwZmVjYzc1YjFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDIxLTAzLTI1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KKworICAgICAgICBTd2l0Y2ggZnJvbSBQT1JUQUxMT0NBVE9SX0RJU0FCTEVfQURBUFRF
Ul9FTlVNRVJBVElPTiB0byBmaWx0ZXJpbmcgaW50ZXJmYWNlcyBpbiBOZXR3b3JrIHByb2Nlc3MK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzY3OQor
CisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBXaGVuIHN0YXJ0
aW5nIHRvIG1vbml0b3IsIHBhc3Mgd2hldGhlciB0byBlbnVtZXJhdGUgYWxsIGludGVyZmFjZXMg
ZnJvbSBXZWJQcm9jZXNzIHRvIE5ldHdvcmtQcm9jZXNzIGFzIGEgYm9vbGVhbi4KKyAgICAgICAg
SW4gTmV0d29ya1Byb2Nlc3MsIGRvIG5ldHdvcmsgaW50ZXJmYWNlIGVudW1lcmF0aW9uIGFzIHVz
dWFsLCBidXQgdXNlIHRoZSBib29sZWFuIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHNlbmQgdGhlIGZ1
bGwgbGlzdCBvciB0aGUgbGlzdCB0aGF0IGlzIHJlbGF0ZWQgdG8gdGhlIGRlZmF1bHQgSVAgYWRk
cmVzc2VzIHRvIFdlYlByb2Nlc3MuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ01vbml0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTWFuYWdlcldy
YXBwZXI6OmFkZExpc3RlbmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya01hbmFnZXJXcmFw
cGVyOjpvbk5ldHdvcmtzQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENNb25p
dG9yOjpzdGFydFVwZGF0aW5nSWZOZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRD
TW9uaXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJSVENNb25pdG9yOjpzZXRFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzRW5hYmxlZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0b3I6OlN0YXJ0VXBkYXRpbmcpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oOgorCiAyMDIxLTAz
LTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ugd2Vi
cnRjIEdQVSBQcm9jZXNzIGZlYXR1cmUgZmxhZyBmb3IgYXVkaW8gY2FwdHVyZSBvbiBNYWNPUwpk
aWZmIC0tZ2l0IGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xp
YndlYnJ0Yy5pT1MuZXhwIGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRp
b25zL2xpYndlYnJ0Yy5pT1MuZXhwCmluZGV4IGY1OTM3OTYwYWRjOGQxNzUxNzliMWNkYWY3ZTI0
YzBjMmUxMWU0ZTYuLjdjMTk4ZjI0MWI3NDQ3ZjNjN2IyYzg5NzU1ZTc0OGJhNmFlNGUxZDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3
ZWJydGMuaU9TLmV4cAorKysgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJh
dGlvbnMvbGlid2VicnRjLmlPUy5leHAKQEAgLTMxNywzICszMTcsNCBAQCBfX1pONndlYnJ0YzIz
UnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UyOVNldE9mZmVyZWRSdHBIZWFkZXJFeHRlbnNpb25zRU4z
cnRjOUFycmF5VgogX19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlNFN0b3BFdgog
X19aTks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTIzSGVhZGVyRXh0ZW5zaW9uc1Rv
T2ZmZXJFdgogX19aTks2d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZThzdG9wcGluZ0V2
CitfX1pOSzNydGM5SVBBZGRyZXNzZXFFUktTMF8KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBh
cnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4cCBiL1NvdXJj
ZS9UaGlyZFBhcnR5L2xpYndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMuaU9Tc2ltLmV4
cAppbmRleCBmNTkzNzk2MGFkYzhkMTc1MTc5YjFjZGFmN2UyNGMwYzJlMTFlNGU2Li43YzE5OGYy
NDFiNzQ0N2YzYzdiMmM4OTc1NWU3NDhiYTZhZTRlMWQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvVGhp
cmRQYXJ0eS9saWJ3ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLmlPU3NpbS5leHAKKysr
IGIvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0NvbmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5p
T1NzaW0uZXhwCkBAIC0zMTcsMyArMzE3LDQgQEAgX19aTjZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVy
SW50ZXJmYWNlMjlTZXRPZmZlcmVkUnRwSGVhZGVyRXh0ZW5zaW9uc0VOM3J0YzlBcnJheVYKIF9f
Wk42d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTRTdG9wRXYKIF9fWk5LNndlYnJ0YzIz
UnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2UyM0hlYWRlckV4dGVuc2lvbnNUb09mZmVyRXYKIF9fWk5L
NndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJbnRlcmZhY2U4c3RvcHBpbmdFdgorX19aTkszcnRjOUlQ
QWRkcmVzc2VxRVJLUzBfCmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3ZWJydGMv
Q29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9saWJ3
ZWJydGMvQ29uZmlndXJhdGlvbnMvbGlid2VicnRjLm1hYy5leHAKaW5kZXggZjU5Mzc5NjBhZGM4
ZDE3NTE3OWIxY2RhZjdlMjRjMGMyZTExZTRlNi4uN2MxOThmMjQxYjc0NDdmM2M3YjJjODk3NTVl
NzQ4YmE2YWU0ZTFkNyAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvbGlid2VicnRjL0Nv
bmZpZ3VyYXRpb25zL2xpYndlYnJ0Yy5tYWMuZXhwCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L2xp
YndlYnJ0Yy9Db25maWd1cmF0aW9ucy9saWJ3ZWJydGMubWFjLmV4cApAQCAtMzE3LDMgKzMxNyw0
IEBAIF9fWk42d2VicnRjMjNSdHBUcmFuc2NlaXZlckludGVyZmFjZTI5U2V0T2ZmZXJlZFJ0cEhl
YWRlckV4dGVuc2lvbnNFTjNydGM5QXJyYXlWCiBfX1pONndlYnJ0YzIzUnRwVHJhbnNjZWl2ZXJJ
bnRlcmZhY2U0U3RvcEV2CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50ZXJmYWNlMjNI
ZWFkZXJFeHRlbnNpb25zVG9PZmZlckV2CiBfX1pOSzZ3ZWJydGMyM1J0cFRyYW5zY2VpdmVySW50
ZXJmYWNlOHN0b3BwaW5nRXYKK19fWk5LM3J0YzlJUEFkZHJlc3NlcUVSS1MwXwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKaW5kZXggMTRmN2UzMThiYzIyZGRjMzFlNDFmZjNk
YzQ3YjJlNjllNjA4NTNiYy4uODIxODI1NTRiZjNiNjZkZDVmMGU5MmI0MjkzNWRkZjE4YjY1YWEz
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCkBAIC0zNDksOCArMzQ5
LDggQEAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+
IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWUKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Y3JpY2tl
dDo6QmFzaWNQb3J0QWxsb2NhdG9yPiBwb3J0QWxsb2NhdG9yOwogICAgIGZhY3RvcnlBbmRUaHJl
YWRzLnNpZ25hbGluZ1RocmVhZC0+SW52b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFsmXSgpIHsK
ICAgICAgICAgYXV0byBiYXNpY1BvcnRBbGxvY2F0b3IgPSBtYWtlVW5pcXVlV2l0aG91dEZhc3RN
YWxsb2NDaGVjazxjcmlja2V0OjpCYXNpY1BvcnRBbGxvY2F0b3I+KCZuZXR3b3JrTWFuYWdlciwg
JnBhY2tldFNvY2tldEZhY3RvcnkpOwotICAgICAgICBpZiAoIW1fZW5hYmxlRW51bWVyYXRpbmdB
bGxOZXR3b3JrSW50ZXJmYWNlcykKLSAgICAgICAgICAgIGJhc2ljUG9ydEFsbG9jYXRvci0+c2V0
X2ZsYWdzKGJhc2ljUG9ydEFsbG9jYXRvci0+ZmxhZ3MoKSB8IGNyaWNrZXQ6OlBPUlRBTExPQ0FU
T1JfRElTQUJMRV9BREFQVEVSX0VOVU1FUkFUSU9OKTsKKworICAgICAgICBiYXNpY1BvcnRBbGxv
Y2F0b3ItPnNldF9hbGxvd190Y3BfbGlzdGVuKGZhbHNlKTsKICAgICAgICAgcG9ydEFsbG9jYXRv
ciA9IFdURk1vdmUoYmFzaWNQb3J0QWxsb2NhdG9yKTsKICAgICB9KTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUHJvdmlkZXIuaAppbmRleCAwZDBkNTU4MDc2ZDcyYjYyODRjOGYyMDFiMjNhZDQ3
MjUzNGE1NzI3Li5jZWY1NjMyNzBhNDJjZjdiYmI0ODE5YjVhMmVkY2M0NDQ3MTM1MDI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMTA5LDYgKzEwOSw3IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgZGlzYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKTsK
ICAgICB2b2lkIGVuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXMoKTsKKyAgICBi
b29sIGlzRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2VuYWJsZUVudW1lcmF0aW5nQWxsTmV0d29ya0ludGVyZmFjZXM7IH0KIAogICAgIHZv
aWQgc2V0SDI2NVN1cHBvcnQoYm9vbCB2YWx1ZSkgeyBtX3N1cHBvcnRzSDI2NSA9IHZhbHVlOyB9
CiAgICAgdm9pZCBzZXRWUDlTdXBwb3J0KGJvb2wgc3VwcG9ydHNWUDlQcm9maWxlMCwgYm9vbCBz
dXBwb3J0c1ZQOVByb2ZpbGUyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcAppbmRleCBhOTg1ZjVkMmU4NjY3
MTZjZDc2OWFiMGQyODQ3ODNiMTViNWNkMzliLi45N2NjODJlOTEyYmI4NWE2OWE5Y2UzZGRkNTc0
MTVlMTdjN2M3N2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCkBAIC01NSw2ICs1NSw3IEBAIHByaXZh
dGU6CiAKICAgICBib29sIG1fZGlkUmVjZWl2ZVJlc3VsdHMgeyBmYWxzZSB9OwogICAgIFZlY3Rv
cjxSVENOZXR3b3JrPiBtX25ldHdvcmtMaXN0OworICAgIFZlY3RvcjxSVENOZXR3b3JrPiBtX2Zp
bHRlcmVkTmV0d29ya0xpc3Q7CiAgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIG1faXB2NDsKICAg
ICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgbV9pcHY2OwogfTsKQEAgLTcxLDcgKzcyLDcgQEAgdm9p
ZCBOZXR3b3JrTWFuYWdlcldyYXBwZXI6OmFkZExpc3RlbmVyKE5ldHdvcmtSVENNb25pdG9yJiBt
b25pdG9yKQogICAgIG1fb2JzZXJ2ZXJzLmFkZChtb25pdG9yKTsKICAgICBpZiAoIXNob3VsZFN0
YXJ0KSB7CiAgICAgICAgIGlmIChtX2RpZFJlY2VpdmVSZXN1bHRzKQotICAgICAgICAgICAgbW9u
aXRvci5vbk5ldHdvcmtzQ2hhbmdlZChtX25ldHdvcmtMaXN0LCBtX2lwdjQsIG1faXB2Nik7Cisg
ICAgICAgICAgICBtb25pdG9yLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xpc3QsIG1fZmls
dGVyZWROZXR3b3JrTGlzdCwgbV9pcHY0LCBtX2lwdjYpOwogICAgICAgICByZXR1cm47CiAgICAg
fQogCkBAIC0xMDcsMjMgKzEwOCwzMiBAQCB2b2lkIE5ldHdvcmtNYW5hZ2VyV3JhcHBlcjo6b25O
ZXR3b3Jrc0NoYW5nZWQoKQogICAgIFJFTEVBU0VfTE9HKFdlYlJUQywgIk5ldHdvcmtNYW5hZ2Vy
V3JhcHBlcjo6b25OZXR3b3Jrc0NoYW5nZWQiKTsKIAogICAgIHJ0Yzo6QmFzaWNOZXR3b3JrTWFu
YWdlcjo6TmV0d29ya0xpc3QgbmV0d29ya3M7Ci0gICAgbV9tYW5hZ2VyLT5HZXROZXR3b3Jrcygm
bmV0d29ya3MpOwotICAgIGF1dG8gbmV0d29ya0xpc3QgPSBXVEY6Om1hcChuZXR3b3JrcywgW10o
YXV0byYgbmV0d29yaykgeyByZXR1cm4gUlRDTmV0d29yayB7ICpuZXR3b3JrIH07IH0pOwogCiAg
ICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjQ7CiAgICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0
TG9jYWxBZGRyZXNzKEFGX0lORVQsICZpcHY0LnZhbHVlKTsKICAgICBSVENOZXR3b3JrOjpJUEFk
ZHJlc3MgaXB2NjsKICAgICBtX21hbmFnZXItPkdldERlZmF1bHRMb2NhbEFkZHJlc3MoQUZfSU5F
VDYsICZpcHY2LnZhbHVlKTsKIAotICAgIGNhbGxPbk1haW5SdW5Mb29wKFt0aGlzLCBuZXR3b3Jr
TGlzdCA9IFdURk1vdmUobmV0d29ya0xpc3QpLCBpcHY0ID0gV1RGTW92ZShpcHY0KSwgaXB2NiA9
IFdURk1vdmUoaXB2NildKCkgbXV0YWJsZSB7CisgICAgbV9tYW5hZ2VyLT5HZXROZXR3b3Jrcygm
bmV0d29ya3MpOworCisgICAgYXV0byBuZXR3b3JrTGlzdCA9IFdURjo6bWFwKG5ldHdvcmtzLCBb
XShhdXRvJiBuZXR3b3JrKSB7IHJldHVybiBSVENOZXR3b3JrIHsgKm5ldHdvcmsgfTsgfSk7Cisg
ICAgVmVjdG9yPFJUQ05ldHdvcms+IGZpbHRlcmVkTmV0d29ya0xpc3Q7CisgICAgZm9yIChhdXRv
JiBuZXR3b3JrIDogbmV0d29ya3MpIHsKKyAgICAgICAgY29uc3QgYXV0byYgaXBzID0gbmV0d29y
ay0+R2V0SVBzKCk7CisgICAgICAgIGlmIChXVEY6OmFueU9mKGlwcywgWyZdKGNvbnN0IGF1dG8m
IGlwKSB7IHJldHVybiBpcHY0LnZhbHVlID09IGlwIHx8IGlwdjYudmFsdWUgPT0gaXA7IH0pKQor
ICAgICAgICAgICAgZmlsdGVyZWROZXR3b3JrTGlzdC5hcHBlbmQoUlRDTmV0d29yayB7ICpuZXR3
b3JrIH0pOworICAgIH0KKworICAgIGNhbGxPbk1haW5SdW5Mb29wKFt0aGlzLCBuZXR3b3JrTGlz
dCA9IFdURk1vdmUobmV0d29ya0xpc3QpLCBmaWx0ZXJlZE5ldHdvcmtMaXN0ID0gV1RGTW92ZShm
aWx0ZXJlZE5ldHdvcmtMaXN0KSwgaXB2NCA9IFdURk1vdmUoaXB2NCksIGlwdjYgPSBXVEZNb3Zl
KGlwdjYpXSgpIG11dGFibGUgewogICAgICAgICBtX2RpZFJlY2VpdmVSZXN1bHRzID0gdHJ1ZTsK
IAogICAgICAgICBtX25ldHdvcmtMaXN0ID0gV1RGTW92ZShuZXR3b3JrTGlzdCk7CisgICAgICAg
IG1fZmlsdGVyZWROZXR3b3JrTGlzdCA9IFdURk1vdmUoZmlsdGVyZWROZXR3b3JrTGlzdCk7CiAg
ICAgICAgIG1faXB2NCA9IFdURk1vdmUoaXB2NCk7CiAgICAgICAgIG1faXB2NiA9IFdURk1vdmUo
aXB2Nik7CiAKICAgICAgICAgbV9vYnNlcnZlcnMuZm9yRWFjaChbdGhpc10oYXV0byYgb2JzZXJ2
ZXIpIHsKLSAgICAgICAgICAgIG9ic2VydmVyLm9uTmV0d29ya3NDaGFuZ2VkKG1fbmV0d29ya0xp
c3QsIG1faXB2NCwgbV9pcHY2KTsKKyAgICAgICAgICAgIG9ic2VydmVyLm9uTmV0d29ya3NDaGFu
Z2VkKG1fbmV0d29ya0xpc3QsIG1fZmlsdGVyZWROZXR3b3JrTGlzdCwgbV9pcHY0LCBtX2lwdjYp
OwogICAgICAgICB9KTsKICAgICB9KTsKIH0KQEAgLTEzMyw5ICsxNDMsMTAgQEAgTmV0d29ya1JU
Q01vbml0b3I6On5OZXR3b3JrUlRDTW9uaXRvcigpCiAgICAgQVNTRVJUKCFtX21hbmFnZXIpOwog
fQogCi12b2lkIE5ldHdvcmtSVENNb25pdG9yOjpzdGFydFVwZGF0aW5nSWZOZWVkZWQoKQordm9p
ZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3RhcnRVcGRhdGluZ0lmTmVlZGVkKGJvb2wgZW5hYmxlRW51
bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcykKIHsKICAgICBSRUxFQVNFX0xPR19JRl9BTExP
V0VEKCJzdGFydFVwZGF0aW5nSWZOZWVkZWQgJWQiLCBtX2lzU3RhcnRlZCk7CisgICAgbV9lbmFi
bGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzID0gZW5hYmxlRW51bWVyYXRpbmdBbGxO
ZXR3b3JrSW50ZXJmYWNlczsKICAgICBuZXR3b3JrTWFuYWdlcigpLmFkZExpc3RlbmVyKCp0aGlz
KTsKIH0KIApAQCAtMTQ1LDEwICsxNTYsMTAgQEAgdm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3Rv
cFVwZGF0aW5nKCkKICAgICBuZXR3b3JrTWFuYWdlcigpLnJlbW92ZUxpc3RlbmVyKCp0aGlzKTsK
IH0KIAotdm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVj
dG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNz
JiBpcHY0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjYpCit2b2lkIE5ldHdvcmtS
VENNb25pdG9yOjpvbk5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5l
dHdvcmtMaXN0LCBjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIGZpbHRlcmVkTmV0d29ya0xpc3Qs
IGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NCwgY29uc3QgUlRDTmV0d29yazo6SVBB
ZGRyZXNzJiBpcHY2KQogewogICAgIFJFTEVBU0VfTE9HX0lGX0FMTE9XRUQoIm9uTmV0d29ya3ND
aGFuZ2VkIHNlbnQiKTsKLSAgICBtX3J0Y1Byb3ZpZGVyLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpXZWJSVENNb25pdG9yOjpOZXR3b3Jrc0NoYW5nZWQobmV0d29ya0xpc3QsIGlwdjQsIGlw
djYpLCAwKTsKKyAgICBtX3J0Y1Byb3ZpZGVyLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpX
ZWJSVENNb25pdG9yOjpOZXR3b3Jrc0NoYW5nZWQobV9lbmFibGVFbnVtZXJhdGluZ0FsbE5ldHdv
cmtJbnRlcmZhY2VzID8gbmV0d29ya0xpc3QgOiBmaWx0ZXJlZE5ldHdvcmtMaXN0LCBpcHY0LCBp
cHY2KSwgMCk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmgKaW5kZXgg
ZjE4NGU2OGE5NDYzMTc4NTY5MDgzNmRhZGNjOTUyNTE1NjQ5ZTRkZi4uNzZlNjZkMjU5NWQ3Zjll
MTA3NGY2M2NmMjI5NzYwNDg5YzJhYmM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oCkBAIC01MiwxNCArNTIs
MTUgQEAgcHVibGljOgogICAgIGJvb2wgaXNTdGFydGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1N0
YXJ0ZWQ7IH0KICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKCkgeyByZXR1cm4g
bV9ydGNQcm92aWRlcjsgfQogCi0gICAgdm9pZCBvbk5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0
b3I8UlRDTmV0d29yaz4mLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCBjb25zdCBSVENO
ZXR3b3JrOjpJUEFkZHJlc3MmKTsKKyAgICB2b2lkIG9uTmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZl
Y3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrPiYsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYpOwogCiBwcml2
YXRlOgotICAgIHZvaWQgc3RhcnRVcGRhdGluZ0lmTmVlZGVkKCk7CisgICAgdm9pZCBzdGFydFVw
ZGF0aW5nSWZOZWVkZWQoYm9vbCk7CiAKICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRjUHJv
dmlkZXI7CiAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcj4gbV9t
YW5hZ2VyOwogICAgIGJvb2wgbV9pc1N0YXJ0ZWQgeyBmYWxzZSB9OworICAgIGJvb2wgbV9lbmFi
bGVFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2VzIHsgZmFsc2UgfTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgppbmRleCA0
NzJlNTFmMTViYzZiYTMyYzc2YzBhMjAxZDc2ZjVmMWM1MjY5NWM0Li4zYzFkMTY1MzI0ODM4ZjI2
N2UwMmM3MDBjODk0YjRhOWNjZjlmZjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdl
cy5pbgpAQCAtMjMsNyArMjMsNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAKIG1lc3NhZ2VzIC0+
IE5ldHdvcmtSVENNb25pdG9yIE5vdFJlZkNvdW50ZWQgewotICAgIHZvaWQgU3RhcnRVcGRhdGlu
Z0lmTmVlZGVkKCkKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmdJZk5lZWRlZChib29sIGVudW1lcmF0
ZUFsbEludGVyZmFjZXMpCiAgICAgdm9pZCBTdG9wVXBkYXRpbmcoKQogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlk
ZXIuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1Byb3ZpZGVyLmNwcAppbmRleCA3NTQwYWZhMTRjNzMxZmZmZGUwM2E5ZmI3Nzc2ZDUxM2I2ODk2
YTM5Li5jMjdiZjdlNTRjODBmYjU3NzYzZGIzYTRiOTY0MGY0OWQ0NmFjOTM3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlk
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENQcm92aWRlci5jcHAKQEAgLTY0LDcgKzY0LDkgQEAgcnRjOjpzY29wZWRfcmVmcHRyPHdl
YnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQ
ZWUKICAgICB9CiAjZW5kaWYKIAotICAgIHJldHVybiBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRl
cjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24ob2JzZXJ2ZXIsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LmxpYldlYlJUQ05ldHdvcmsoKS5tb25pdG9yKCksICpzb2NrZXRGYWN0b3J5LCBXVEZNb3ZlKGNv
bmZpZ3VyYXRpb24pLCBtYWtlVW5pcXVlPEFzeW5jUmVzb2x2ZXJGYWN0b3J5PigpKTsKKyAgICBh
dXRvJiBuZXR3b3JrTW9uaXRvciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05l
dHdvcmsoKS5tb25pdG9yKCk7CisgICAgbmV0d29ya01vbml0b3Iuc2V0RW51bWVyYXRpbmdBbGxO
ZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoaXNFbnVtZXJhdGluZ0FsbE5ldHdvcmtJbnRlcmZhY2Vz
RW5hYmxlZCgpKTsKKyAgICByZXR1cm4gV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0
ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBuZXR3b3JrTW9uaXRvciwgKnNvY2tldEZhY3Rvcnks
IFdURk1vdmUoY29uZmlndXJhdGlvbiksIG1ha2VVbmlxdWU8QXN5bmNSZXNvbHZlckZhY3Rvcnk+
KCkpOwogfQogCiB2b2lkIExpYldlYlJUQ1Byb3ZpZGVyOjpkaXNhYmxlTm9uTG9jYWxob3N0Q29u
bmVjdGlvbnMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ01vbml0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCmluZGV4IDI0MzM2ZjA2ODkwNTU4MmFmMGQwZWEw
NTI2MTYzMTE3Mjk0YTVhZWMuLjAzYzY1ZjA2NzlhNDI4N2FhMGNmMzBhMzI4NGJiYTI0OTQyMDNl
MmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJSVENNb25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKQEAgLTQ4LDYgKzQ4LDExIEBAIHZvaWQgV2ViUlRDTW9u
aXRvcjo6c2VuZE9uTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYm
IGNhbGxiYWNrCiAgICAgfSk7CiB9CiAKK3ZvaWQgV2ViUlRDTW9uaXRvcjo6c2V0RW51bWVyYXRp
bmdBbGxOZXR3b3JrSW50ZXJmYWNlc0VuYWJsZWQoYm9vbCBlbmFibGVkKQoreworICAgIG1fZW5h
YmxlRW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcyA9IGVuYWJsZWQ7Cit9CisKIHZvaWQg
V2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZygpCiB7CiAgICAgUkVMRUFTRV9MT0dfSUZfQUxM
T1dFRCgiU3RhcnRVcGRhdGluZyIpOwpAQCAtNTksNyArNjQsNyBAQCB2b2lkIFdlYlJUQ01vbml0
b3I6OlN0YXJ0VXBkYXRpbmcoKQogCiAgICAgc2VuZE9uTWFpblRocmVhZChbdGhpc10oYXV0byYg
Y29ubmVjdGlvbikgewogICAgICAgICBSRUxFQVNFX0xPR19JRl9BTExPV0VEKCJTdGFydFVwZGF0
aW5nIC0gQXNraW5nIG5ldHdvcmsgcHJvY2VzcyB0byBzdGFydCB1cGRhdGluZyIpOwotICAgICAg
ICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpTdGFydFVwZGF0
aW5nSWZOZWVkZWQoKSwgMCk7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TmV0
d29ya1JUQ01vbml0b3I6OlN0YXJ0VXBkYXRpbmdJZk5lZWRlZChtX2VuYWJsZUVudW1lcmF0aW5n
QWxsTmV0d29ya0ludGVyZmFjZXMpLCAwKTsKICAgICB9KTsKICAgICArK21fY2xpZW50Q291bnQ7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
V2ViUlRDTW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ01vbml0b3IuaAppbmRleCBmODE0NzYzZjhiNmU4Mjg2ZjE3NjFiOGZmM2IzZjlmNDM1
NjI2NDU5Li5mNmI5NzM5ZmFkZGMzODJjZDQyMmU1YmFhOGVhMjg1NmU1ZjRmYjBmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENN
b25pdG9yLmgKQEAgLTQ2LDYgKzQ2LDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBuZXR3b3JrUHJv
Y2Vzc0NyYXNoZWQoKTsKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworICAgIHZvaWQgc2V0RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50
ZXJmYWNlc0VuYWJsZWQoYm9vbCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBuZXR3b3Jrc0NoYW5n
ZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0d29y
azo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJik7CkBAIC01OCw2ICs1
OSw3IEBAIHByaXZhdGU6CiAKICAgICB1bnNpZ25lZCBtX2NsaWVudENvdW50IHsgMCB9OwogICAg
IGJvb2wgbV9yZWNlaXZlZE5ldHdvcmtMaXN0IHsgZmFsc2UgfTsKKyAgICBib29sIG1fZW5hYmxl
RW51bWVyYXRpbmdBbGxOZXR3b3JrSW50ZXJmYWNlcyB7IGZhbHNlIH07CiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5l
bC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJydGMv
ZGF0YWNoYW5uZWwvZmlsdGVyLWljZS1jYW5kaWRhdGUtZXhwZWN0ZWQudHh0CmluZGV4IGRiODZm
MGZkMjJiYWRlNWI4YWFmNjBlMzRhNGVkNjUzYTUyNjYzMWQuLmM0ZDQ5ODk2NjMzNmI3MTdlNzA2
MDJlM2E2MjJmOTY2ZWQ4MDc0NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRh
Y2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvd2VicnRjL2RhdGFjaGFubmVsL2ZpbHRlci1pY2UtY2FuZGlkYXRlLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDYgQEAKIAogUEFTUyBHYXRoZXJpbmcgSUNFIGNhbmRpZGF0ZXMgZnJvbSBhIGRh
dGEgY2hhbm5lbCBwZWVyIGNvbm5lY3Rpb24gd2l0aCBJQ0UgY2FuZGlkYXRlIGZpbHRlcmluZyBv
bgogUEFTUyBHYXRoZXJpbmcgSUNFIGNhbmRpZGF0ZXMgZnJvbSBhIGRhdGEgY2hhbm5lbCBwZWVy
IGNvbm5lY3Rpb24gd2l0aCBJQ0UgY2FuZGlkYXRlIGZpbHRlcmluZyBvZmYKK1BBU1MgVmVyaWZ5
IFRDUCBjYW5kaWRhdGVzIHdpdGggZmlsdGVyaW5nCitQQVNTIFZlcmlmeSBUQ1AgY2FuZGlkYXRl
cyB3aXRob3V0IGZpbHRlcmluZwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy93ZWJydGMvZGF0
YWNoYW5uZWwvZmlsdGVyLWljZS1jYW5kaWRhdGUuaHRtbCBiL0xheW91dFRlc3RzL3dlYnJ0Yy9k
YXRhY2hhbm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sCmluZGV4IDBlMGM0ZTExYTg4ODll
MzNjMjUxMWM1NDNmYjhmZjViZGQzNTYzZDcuLmNjYzQ2OWExNzdlMDA5MmI2NzU3YjViYzRkMTc3
NTNhYjFmYjk1M2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hhbm5lbC9m
aWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3dlYnJ0Yy9kYXRhY2hh
bm5lbC9maWx0ZXItaWNlLWNhbmRpZGF0ZS5odG1sCkBAIC03MSw2ICs3MSw2MCBAQCBwcm9taXNl
X3Rlc3QoKHRlc3QpID0+IHsKICAgICAgICAgcGMuY3JlYXRlT2ZmZXIoKS50aGVuKChvZmZlcikg
PT4geyBwYy5zZXRMb2NhbERlc2NyaXB0aW9uKG9mZmVyKTsgfSk7CiAgICAgfSk7CiB9LCAiR2F0
aGVyaW5nIElDRSBjYW5kaWRhdGVzIGZyb20gYSBkYXRhIGNoYW5uZWwgcGVlciBjb25uZWN0aW9u
IHdpdGggSUNFIGNhbmRpZGF0ZSBmaWx0ZXJpbmcgb2ZmIik7CisKK3Byb21pc2VfdGVzdChhc3lu
YyAodGVzdCkgPT4geworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5h
bHMuc2V0SUNFQ2FuZGlkYXRlRmlsdGVyaW5nKHRydWUpOworCisgICAgY29uc3QgcGMgPSBuZXcg
UlRDUGVlckNvbm5lY3Rpb24oKTsKKworICAgIGxldCByZXNvbHZlOworICAgIGNvbnN0IHByb21p
c2UgPSBuZXcgUHJvbWlzZShyID0+IHJlc29sdmUgPSByKTsKKworICAgIHBjLmNyZWF0ZURhdGFD
aGFubmVsKCdzZW5kRGF0YUNoYW5uZWwnKTsKKyAgICBwYy5vbmljZWNhbmRpZGF0ZSA9IChldmVu
dCkgPT4geworICAgICAgICBpZiAoZXZlbnQuY2FuZGlkYXRlKSB7CisgICAgICAgICAgICBpZiAo
ZXZlbnQuY2FuZGlkYXRlLnByb3RvY29sICE9PSAidGNwIikKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmNhbmRpZGF0ZS5wb3J0LCA5KTsK
KyAgICAgICAgICAgIGFzc2VydF90cnVlKGV2ZW50LmNhbmRpZGF0ZS5hZGRyZXNzLmluZGV4T2Yo
Ii5sb2NhbCIpICE9PSAtMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAg
ICAgcmVzb2x2ZSgpOworICAgIH0KKyAgICBwYy5jcmVhdGVPZmZlcigpLnRoZW4oKG9mZmVyKSA9
PiB7IHBjLnNldExvY2FsRGVzY3JpcHRpb24ob2ZmZXIpOyB9KTsKKworICAgIGF3YWl0IHByb21p
c2U7CisKKyAgICBwYy5vbmljZWNhbmRpZGF0ZSA9IG51bGw7Cit9LCAiVmVyaWZ5IFRDUCBjYW5k
aWRhdGVzIHdpdGggZmlsdGVyaW5nIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4g
eworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBpbnRlcm5hbHMuc2V0SUNFQ2Fu
ZGlkYXRlRmlsdGVyaW5nKGZhbHNlKTsKKworICAgIGNvbnN0IHBjID0gbmV3IFJUQ1BlZXJDb25u
ZWN0aW9uKCk7CisKKyAgICBsZXQgcmVzb2x2ZTsKKyAgICBjb25zdCBwcm9taXNlID0gbmV3IFBy
b21pc2UociA9PiByZXNvbHZlID0gcik7CisKKyAgICBwYy5jcmVhdGVEYXRhQ2hhbm5lbCgnc2Vu
ZERhdGFDaGFubmVsJyk7CisgICAgcGMub25pY2VjYW5kaWRhdGUgPSAoZXZlbnQpID0+IHsKKyAg
ICAgICAgaWYgKGV2ZW50LmNhbmRpZGF0ZSkgeworICAgICAgICAgICAgaWYgKGV2ZW50LmNhbmRp
ZGF0ZS5wcm90b2NvbCAhPT0gInRjcCIpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhldmVudC5jYW5kaWRhdGUucG9ydCwgOSk7CisgICAgICAgICAg
ICBhc3NlcnRfdHJ1ZShldmVudC5jYW5kaWRhdGUuYWRkcmVzcy5pbmRleE9mKCIubG9jYWwiKSA9
PT0gLTEpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHJlc29sdmUo
KTsKKyAgICB9CisgICAgcGMuY3JlYXRlT2ZmZXIoKS50aGVuKChvZmZlcikgPT4geyBwYy5zZXRM
b2NhbERlc2NyaXB0aW9uKG9mZmVyKTsgfSk7CisKKyAgICBhd2FpdCBwcm9taXNlOworCisgICAg
cGMub25pY2VjYW5kaWRhdGUgPSBudWxsOworfSwgIlZlcmlmeSBUQ1AgY2FuZGlkYXRlcyB3aXRo
b3V0IGZpbHRlcmluZyIpOwogICAgIDwvc2NyaXB0PgogICA8L2JvZHk+CiA8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>