<?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>238441</bug_id>
          
          <creation_ts>2022-03-28 02:06:50 -0700</creation_ts>
          <short_desc>Implement ServiceWorker WindowClient.ancestorOrigins</short_desc>
          <delta_ts>2022-03-31 00:52:26 -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>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fred.wang</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>nham</cc>
    
    <cc>pdr</cc>
    
    <cc>rbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1855518</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 02:06:50 -0700</bug_when>
    <thetext>Implement ServiceWorker WindowClient.ancestorOrigins</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855526</commentid>
    <comment_count>1</comment_count>
      <attachid>455895</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 03:40:27 -0700</bug_when>
    <thetext>Created attachment 455895
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855562</commentid>
    <comment_count>2</comment_count>
      <attachid>455910</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 06:03:43 -0700</bug_when>
    <thetext>Created attachment 455910
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1855589</commentid>
    <comment_count>3</comment_count>
      <attachid>455913</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-28 06:59:30 -0700</bug_when>
    <thetext>Created attachment 455913
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856035</commentid>
    <comment_count>4</comment_count>
      <attachid>455913</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-03-29 08:51:14 -0700</bug_when>
    <thetext>Comment on attachment 455913
Patch

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

r=me but watch out before landing because I think I found a correctness bug.

&gt; Source/WebCore/workers/service/ServiceWorkerClientData.cpp:62
&gt; +    return { identifier, type, frameType, url.isolatedCopy(), lastNavigationWasAppInitiated, isVisible, isFocused, focusOrder, ancestorOrigins };

I bet this should be `crossThreadCopy(ancestorOrigins)`, not `ancestorOrigins`.

&gt; Source/WebCore/workers/service/ServiceWorkerClientData.cpp:80
&gt; +    while (frame) {

nit: I personally think this would look nicer as a for loop (see how it is already implemented in Location::ancestorOrigins()).

&gt; Source/WebCore/workers/service/ServiceWorkerWindowClient.h:46
&gt; +    bool focused() const { return data().isFocused; }

Not a fan of this change as it seems to go against coding style. Booleans without prefixes don&apos;t look great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856316</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-30 00:49:07 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #4)
&gt; Comment on attachment 455913 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=455913&amp;action=review
&gt; 
&gt; r=me but watch out before landing because I think I found a correctness bug.

Thanks, will fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856344</commentid>
    <comment_count>6</comment_count>
      <attachid>456108</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-03-30 03:05:18 -0700</bug_when>
    <thetext>Created attachment 456108
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856370</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-30 06:29:14 -0700</bug_when>
    <thetext>Committed r292105 (249025@main): &lt;https://commits.webkit.org/249025@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 456108.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856371</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-30 06:30:22 -0700</bug_when>
    <thetext>&lt;rdar://problem/91041206&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856438</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-03-30 10:24:39 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856439</commentid>
    <comment_count>10</comment_count>
      <attachid>456140</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-03-30 10:24:42 -0700</bug_when>
    <thetext>Created attachment 456140
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856442</commentid>
    <comment_count>11</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-03-30 10:26:27 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856444</commentid>
    <comment_count>12</comment_count>
      <attachid>456142</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-03-30 10:27:57 -0700</bug_when>
    <thetext>Created attachment 456142
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1856447</commentid>
    <comment_count>13</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2022-03-30 10:30:45 -0700</bug_when>
    <thetext>Uploaded to wrong bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455895</attachid>
            <date>2022-03-28 03:40:27 -0700</date>
            <delta_ts>2022-03-28 06:05:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238441-20220328124025.patch</filename>
            <type>text/plain</type>
            <size>16192</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgxOTlmMTA5ZjYwN2Q4NjYwZjgxNmVm
OTA2ODM5ZGM4ZGUxNjg3OTcuLjkyZmQ2YmQ1NDRkNmNlYmE5ZTU0M2E4ZDc2YTg3YjdkNjk2Nzdj
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDMtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0Ns
aWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSBVbmlxdWVSZWYgYW5kIEhhc2hUcmFpdHMgdG8gbm90IHVzZSBh
IHByaXZhdGUgY29uc3RydWN0b3Igd2hlbiBjcmVhdGluZyBlbXB0eSB2YWx1ZXMuCisKKyAgICAg
ICAgKiB3dGYvSGFzaFRyYWl0cy5oOgorICAgICAgICAqIHd0Zi9VbmlxdWVSZWYuaDoKKwogMjAy
Mi0wMy0yNyAgQWxleGFuZGVyIE1pa2hheWxlbmtvICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBDU1MgYWNjZW50LWNvbG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVk
NjY4ZGZjNjZjNTNjMzU4MzhkZGVhMTk1ZmVjOWMxOGQ3MGFiYi4uYjQwMzc1ZjUxNDA3ZDI1NWVj
N2FiYmExZWM5MzMyMzBkODg0YjUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIy
LTAzLTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgU2VydmljZVdvcmtlciBXaW5kb3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW5jZXN0b3JPcmln
aW5zIHRvIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLgorICAgICAgICBNaWdyYXRlIGNsaWVudCBt
YXAgdG8gVW5pcXVlUmVmIHNpbmNlIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHNpemUgZ29lcyBh
Ym92ZSAxMjguCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisKIDIwMjItMDMtMjcgIE1hdHQgV29vZHJvdyAgPG1h
dHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVzZXJ2ZSByZXBlYXQoKSBub3RhdGlv
biBmb3IgZ3JpZC10ZW1wbGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFp
dHMuaCBiL1NvdXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaAppbmRleCA3NTI0ODFiM2ZmYzEzMTVj
NTY4YTIzY2VkN2VkNjdlNWYxNGJiZDhmLi41NjBhZjZkNjg3Yjc5MGFlNmZmZTBjZGZhNGQzNTg1
N2EzYWIxNDIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKKysrIGIv
U291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCkBAIC0xODIsNiArMTgyLDEyIEBAIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IHN0cnVjdCBIYXNoVHJhaXRzPFVuaXF1ZVJlZjxUPj4gOiBTaW1wbGVDbGFz
c0hhc2hUcmFpdHM8VW5pCiAgICAgdHlwZWRlZiBzdGQ6Om51bGxwdHJfdCBFbXB0eVZhbHVlVHlw
ZTsKICAgICBzdGF0aWMgRW1wdHlWYWx1ZVR5cGUgZW1wdHlWYWx1ZSgpIHsgcmV0dXJuIG51bGxw
dHI7IH0KIAorICAgIHRlbXBsYXRlIDx0eXBlbmFtZT4KKyAgICBzdGF0aWMgdm9pZCBjb25zdHJ1
Y3RFbXB0eVZhbHVlKFVuaXF1ZVJlZjxUPiYgc2xvdCkKKyAgICB7CisgICAgICAgIG5ldyAoTm90
TnVsbCwgc3RkOjphZGRyZXNzb2Yoc2xvdCkpIFVuaXF1ZVJlZjxUPihIYXNoVGFibGVFbXB0eVZh
bHVlKTsKKyAgICB9CisKICAgICBzdGF0aWMgdm9pZCBjb25zdHJ1Y3REZWxldGVkVmFsdWUoVW5p
cXVlUmVmPFQ+JiBzbG90KSB7IG5ldyAoTm90TnVsbCwgc3RkOjphZGRyZXNzb2Yoc2xvdCkpIFVu
aXF1ZVJlZjxUPiB7IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKSB9OyB9CiAgICAgc3RhdGljIGJv
b2wgaXNEZWxldGVkVmFsdWUoY29uc3QgVW5pcXVlUmVmPFQ+JiB2YWx1ZSkgeyByZXR1cm4gdmFs
dWUuZ2V0KCkgPT0gcmVpbnRlcnByZXRfY2FzdDxUKj4oLTEpOyB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oIGIvU291cmNlL1dURi93dGYvVW5pcXVlUmVmLmgKaW5k
ZXggMGZmMDFmZTgzMmUyZWNkZjMxYjMwZmIxN2ViNmUwMDdkMjM4NzhiZS4uOWE0ZWUyNzc2MzA3
MzMwNTI3MzEzZDBjNThiNWUyNzZiZjEzMzExMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
VW5pcXVlUmVmLmgKKysrIGIvU291cmNlL1dURi93dGYvVW5pcXVlUmVmLmgKQEAgLTg2LDYgKzg2
LDggQEAgcHVibGljOgogCiAgICAgc3RkOjp1bmlxdWVfcHRyPFQ+IG1vdmVUb1VuaXF1ZVB0cigp
IHsgcmV0dXJuIFdURk1vdmUobV9yZWYpOyB9CiAKKyAgICBleHBsaWNpdCBVbmlxdWVSZWYoSGFz
aFRhYmxlRW1wdHlWYWx1ZVR5cGUpIHsgfQorCiBwcml2YXRlOgogICAgIHRlbXBsYXRlPGNsYXNz
IFUsIGNsYXNzLi4uIEFyZ3M+IGZyaWVuZCBVbmlxdWVSZWY8VT4gbWFrZVVuaXF1ZVJlZldpdGhv
dXRGYXN0TWFsbG9jQ2hlY2soQXJncyYmLi4uKTsKICAgICB0ZW1wbGF0ZTxjbGFzcyBVPiBmcmll
bmQgVW5pcXVlUmVmPFU+IG1ha2VVbmlxdWVSZWZGcm9tTm9uTnVsbFVuaXF1ZVB0cihzdGQ6OnVu
aXF1ZV9wdHI8VT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcAppbmRleCA5YTk3MGM2NDRjZmIxM2Rm
OTA1MmRkZGY2MGU0ODRhMzJlMDMwY2FiLi40NTQ5ODJiYjQwNGQ1NGQ3MTFmNmZiOGExMTU4OGQ2
NWE3ZTk2ZTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudERhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNs
dWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiU1dD
bGllbnRDb25uZWN0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTgsMTIgKzU5LDEyIEBAIHN0YXRpYyBTZXJ2aWNl
V29ya2VyQ2xpZW50RnJhbWVUeXBlIHRvU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZShTY3Jp
cHRFeGVjdXRpCiAKIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhOjppc29sYXRlZENvcHkoKSBjb25zdCAmCiB7Ci0gICAgcmV0dXJuIHsgaWRlbnRpZmllciwg
dHlwZSwgZnJhbWVUeXBlLCB1cmwuaXNvbGF0ZWRDb3B5KCksIGxhc3ROYXZpZ2F0aW9uV2FzQXBw
SW5pdGlhdGVkLCBpc1Zpc2libGUsIGlzRm9jdXNlZCwgZm9jdXNPcmRlciB9OworICAgIHJldHVy
biB7IGlkZW50aWZpZXIsIHR5cGUsIGZyYW1lVHlwZSwgdXJsLmlzb2xhdGVkQ29weSgpLCBsYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgaXNWaXNpYmxlLCBpc0ZvY3VzZWQsIGZvY3VzT3Jk
ZXIsIGFuY2VzdG9yT3JpZ2lucyB9OwogfQogCiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0ZWRDb3B5KCkgJiYKIHsKLSAgICByZXR1cm4geyBp
ZGVudGlmaWVyLCB0eXBlLCBmcmFtZVR5cGUsIFdURk1vdmUodXJsKS5pc29sYXRlZENvcHkoKSwg
bGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsIGlzVmlzaWJsZSwgaXNGb2N1c2VkLCBmb2N1
c09yZGVyIH07CisgICAgcmV0dXJuIHsgaWRlbnRpZmllciwgdHlwZSwgZnJhbWVUeXBlLCBXVEZN
b3ZlKHVybCkuaXNvbGF0ZWRDb3B5KCksIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLCBp
c1Zpc2libGUsIGlzRm9jdXNlZCwgZm9jdXNPcmRlciwgY3Jvc3NUaHJlYWRDb3B5KFdURk1vdmUo
YW5jZXN0b3JPcmlnaW5zKSkgfTsKIH0KIAogU2VydmljZVdvcmtlckNsaWVudERhdGEgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGE6OmZyb20oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkK
QEAgLTc0LDYgKzc1LDEzIEBAIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhOjpmcm9tKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvCiAgICAgYXV0byYgZG9j
dW1lbnQgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCk7CiAgICAgYXV0byBsYXN0TmF2aWdh
dGlvbldhc0FwcEluaXRpYXRlZCA9IGRvY3VtZW50LmxvYWRlcigpICYmIGRvY3VtZW50LmxvYWRl
cigpLT5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCgpID8gTGFzdE5hdmlnYXRpb25XYXNB
cHBJbml0aWF0ZWQ6OlllcyA6IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObzsKIAor
ICAgIFZlY3RvcjxTdHJpbmc+IGFuY2VzdG9yT3JpZ2luczsKKyAgICBhdXRvKiBmcmFtZSA9IGRv
Y3VtZW50LmZyYW1lKCkgPyBkb2N1bWVudC5mcmFtZSgpLT50cmVlKCkucGFyZW50KCkgOiBudWxs
cHRyOworICAgIHdoaWxlIChmcmFtZSkgeworICAgICAgICBhbmNlc3Rvck9yaWdpbnMuYXBwZW5k
KGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLnRvU3RyaW5nKCkpOworICAgICAg
ICBmcmFtZSA9IGZyYW1lLT50cmVlKCkucGFyZW50KCk7CisgICAgfTsKKwogICAgIHJldHVybiB7
CiAgICAgICAgIGNvbnRleHQuaWRlbnRpZmllcigpLAogICAgICAgICBpc0RvY3VtZW50ID8gU2Vy
dmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdyA6IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpX
b3JrZXIsCkBAIC04MSw3ICs4OSw4IEBAIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhOjpmcm9tKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvCiAgICAgICAg
IGRvY3VtZW50LmNyZWF0aW9uVVJMKCksIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkLAog
ICAgICAgICAhZG9jdW1lbnQuaGlkZGVuKCksCiAgICAgICAgIGRvY3VtZW50Lmhhc0ZvY3VzKCks
Ci0gICAgICAgIDAKKyAgICAgICAgMCwKKyAgICAgICAgV1RGTW92ZShhbmNlc3Rvck9yaWdpbnMp
CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuaAppbmRleCA4NWUxMDgzZDdkNDE2ZmY0ZmViOGIw
ZWI4MGMwMGVkYzMzNjQ4Y2UzLi5kOGUwYmFhYzk3YTU4ZTQzYWI5NDRkYmJmZmNiMjI0ZGRlMTMw
NGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNsaWVudERhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckNsaWVudERhdGEuaApAQCAtNDEsNiArNDEsOCBAQCBjbGFzcyBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OwogZW51bSBjbGFzcyBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA6
IGJvb2wgeyBObywgWWVzIH07CiAKIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSB7Cisg
ICAgV1RGX01BS0VfU1RSVUNUX0ZBU1RfQUxMT0NBVEVEOworCiAgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcjsKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlw
ZSB0eXBlOwogICAgIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUgZnJhbWVUeXBlOwpAQCAt
NDksNiArNTEsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGEgewogICAgIGJvb2wg
aXNWaXNpYmxlIHsgZmFsc2UgfTsKICAgICBib29sIGlzRm9jdXNlZCB7IGZhbHNlIH07CiAgICAg
dWludDY0X3QgZm9jdXNPcmRlciB7IDAgfTsKKyAgICBWZWN0b3I8U3RyaW5nPiBhbmNlc3Rvck9y
aWdpbnM7CiAKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBpc29sYXRlZENvcHkoKSBjb25z
dCAmOwogICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGlzb2xhdGVkQ29weSgpICYmOwpAQCAt
NjIsNyArNjUsNyBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGEgewogdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4KIHZvaWQgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAogewotICAgIGVuY29kZXIgPDwgaWRlbnRpZmllciA8PCB0eXBl
IDw8IGZyYW1lVHlwZSA8PCB1cmwgPDwgbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgPDwg
aXNWaXNpYmxlIDw8IGlzRm9jdXNlZCA8PCBmb2N1c09yZGVyOworICAgIGVuY29kZXIgPDwgaWRl
bnRpZmllciA8PCB0eXBlIDw8IGZyYW1lVHlwZSA8PCB1cmwgPDwgbGFzdE5hdmlnYXRpb25XYXNB
cHBJbml0aWF0ZWQgPDwgaXNWaXNpYmxlIDw8IGlzRm9jdXNlZCA8PCBmb2N1c09yZGVyIDw8IGFu
Y2VzdG9yT3JpZ2luczsKIH0KIAogdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KQEAgLTEwOCw3ICsx
MTEsMTIgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4gU2VydmljZVdv
cmtlckNsaWVudERhdGE6OmRlY29kZShEZWNvZGVyJgogICAgIGlmICghZm9jdXNPcmRlcikKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKIAotICAgIHJldHVybiB7IHsgV1RGTW92ZSgqaWRl
bnRpZmllciksIFdURk1vdmUoKnR5cGUpLCBXVEZNb3ZlKCpmcmFtZVR5cGUpLCBXVEZNb3ZlKCp1
cmwpLCBXVEZNb3ZlKCpsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCksIFdURk1vdmUoKmlz
VmlzaWJsZSksIFdURk1vdmUoKmlzRm9jdXNlZCksIFdURk1vdmUoKmZvY3VzT3JkZXIpIH0gfTsK
KyAgICBzdGQ6Om9wdGlvbmFsPFZlY3RvcjxTdHJpbmc+PiBhbmNlc3Rvck9yaWdpbnM7CisgICAg
ZGVjb2RlciA+PiBhbmNlc3Rvck9yaWdpbnM7CisgICAgaWYgKCFhbmNlc3Rvck9yaWdpbnMpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmlk
ZW50aWZpZXIpLCBXVEZNb3ZlKCp0eXBlKSwgV1RGTW92ZSgqZnJhbWVUeXBlKSwgV1RGTW92ZSgq
dXJsKSwgV1RGTW92ZSgqbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQpLCBXVEZNb3ZlKCpp
c1Zpc2libGUpLCBXVEZNb3ZlKCppc0ZvY3VzZWQpLCBXVEZNb3ZlKCpmb2N1c09yZGVyKSwgV1RG
TW92ZSgqYW5jZXN0b3JPcmlnaW5zKSB9IH07CiB9CiAKIHVzaW5nIFNlcnZpY2VXb3JrZXJDbGll
bnRzTWF0Y2hBbGxDYWxsYmFjayA9IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhPiYmKT47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaAppbmRleCAzMTE3NDJl
OTIyZGZhNWJiYjc4MjllN2Q2NzgyMGEwMmFmYjg0YzczLi42ZTg0NWFhMmIxOWQxMTRhNDAxOGE0
M2E3ZjBmNzU5Zjg1NDIwMDVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgKQEAgLTQzLDcgKzQzLDgg
QEAgcHVibGljOgogICAgIH0KIAogICAgIFZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUo
KSBjb25zdCB7IHJldHVybiBkYXRhKCkuaXNWaXNpYmxlID8gVmlzaWJpbGl0eVN0YXRlOjpWaXNp
YmxlIDogVmlzaWJpbGl0eVN0YXRlOjpIaWRkZW47IH0KLSAgICBib29sIGlzRm9jdXNlZCgpIGNv
bnN0IHsgcmV0dXJuIGRhdGEoKS5pc0ZvY3VzZWQ7IH0KKyAgICBib29sIGZvY3VzZWQoKSBjb25z
dCB7IHJldHVybiBkYXRhKCkuaXNGb2N1c2VkOyB9CisgICAgY29uc3QgVmVjdG9yPFN0cmluZz4m
IGFuY2VzdG9yT3JpZ2lucygpIGNvbnN0IHsgcmV0dXJuIGRhdGEoKS5hbmNlc3Rvck9yaWdpbnM7
IH0KIAogICAgIHZvaWQgZm9jdXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogICAgIHZvaWQgbmF2aWdhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYs
IGNvbnN0IFN0cmluZyYgdXJsLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93
Q2xpZW50LmlkbAppbmRleCBjNDU4ZGE1Nzk4Y2JmMmFjMGQ1OTYxMzkyNTBmZDE3NjAwZWE5MDI3
Li5jYmY2NjdjMDk2YmI1OTNkMmMyYmM5ZGY1ZjZiYzRjOWQ0Y2Q0OGI2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5p
ZGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5k
b3dDbGllbnQuaWRsCkBAIC0zMCw3ICszMCw4IEBACiAgICAgSW50ZXJmYWNlTmFtZT1XaW5kb3dD
bGllbnQsCiBdIGludGVyZmFjZSBTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IDogU2VydmljZVdv
cmtlckNsaWVudCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFZpc2liaWxpdHlTdGF0ZSB2aXNp
YmlsaXR5U3RhdGU7Ci0gICAgW0ltcGxlbWVudGVkQXM9aXNGb2N1c2VkXSByZWFkb25seSBhdHRy
aWJ1dGUgYm9vbGVhbiBmb2N1c2VkOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGZv
Y3VzZWQ7CisgICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxV
U1ZTdHJpbmc+IGFuY2VzdG9yT3JpZ2luczsKIAogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPUN1
cnJlbnRTY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPFNlcnZpY2VXb3JrZXJXaW5kb3dD
bGllbnQ+IGZvY3VzKCk7CiAgICAgW05ld09iamVjdCwgQ2FsbFdpdGg9Q3VycmVudFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8U2VydmljZVdvcmtlcldpbmRvd0NsaWVudD4gbmF2aWdh
dGUoVVNWU3RyaW5nIHVybCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IGIzZWUwYmVlMWNmOTBmZjFjM2IyYjdhNjhiYjk3
YTUzNjYzMTEyNGMuLjlkYWI2Yjg2NjIyZmFiNjIwODZlZWE2YWMyMDE2MDgxOWMzZGZjYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
Y3BwCkBAIC02OTYsNyArNjk2LDcgQEAgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgU1dT
ZXJ2ZXI6OmNsaWVudElzQXBwSW5pdGlhdGVkRm9yUmVnaXN0cmFibGVEb21haW4KICAgICBmb3Ig
KGF1dG8mIGNsaWVudCA6IGNsaWVudHNGb3JSZWdpc3RyYWJsZURvbWFpbikgewogICAgICAgICBh
dXRvIGRhdGEgPSBtX2NsaWVudHNCeUlkLmZpbmQoY2xpZW50KTsKICAgICAgICAgQVNTRVJUKGRh
dGEgIT0gbV9jbGllbnRzQnlJZC5lbmQoKSk7Ci0gICAgICAgIGlmIChkYXRhLT52YWx1ZS5sYXN0
TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9PSBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRl
ZDo6WWVzKQorICAgICAgICBpZiAoZGF0YS0+dmFsdWUtPmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkID09IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMpCiAgICAgICAgICAg
ICByZXR1cm4gTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllczsKICAgICB9CiAKQEAg
LTk2NywxMiArOTY3LDEyIEBAIHZvaWQgU1dTZXJ2ZXI6OnJlZ2lzdGVyU2VydmljZVdvcmtlckNs
aWVudChDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNlcnZpY2VXCiAgICAgICAgIEFTU0VS
VChtX2NsaWVudHNCeUlkLmNvbnRhaW5zKGNsaWVudElkZW50aWZpZXIpKTsKICAgICAgICAgaWYg
KGRhdGEuaXNGb2N1c2VkKQogICAgICAgICAgICAgZGF0YS5mb2N1c09yZGVyID0gKyttX2ZvY3Vz
T3JkZXI7Ci0gICAgICAgIG1fY2xpZW50c0J5SWQuc2V0KGNsaWVudElkZW50aWZpZXIsIFdURk1v
dmUoZGF0YSkpOworICAgICAgICBtX2NsaWVudHNCeUlkLnNldChjbGllbnRJZGVudGlmaWVyLCBt
YWtlVW5pcXVlUmVmPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPihXVEZNb3ZlKGRhdGEpKSk7CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBBU1NFUlQoIW1fY2xpZW50c0J5SWQuY29udGFp
bnMoY2xpZW50SWRlbnRpZmllcikpOwotICAgIG1fY2xpZW50c0J5SWQuYWRkKGNsaWVudElkZW50
aWZpZXIsIFdURk1vdmUoZGF0YSkpOworICAgIG1fY2xpZW50c0J5SWQuYWRkKGNsaWVudElkZW50
aWZpZXIsIG1ha2VVbmlxdWVSZWY8U2VydmljZVdvcmtlckNsaWVudERhdGE+KFdURk1vdmUoZGF0
YSkpKTsKIAogICAgIGF1dG8mIGNsaWVudElkZW50aWZpZXJzRm9yT3JpZ2luID0gbV9jbGllbnRJ
ZGVudGlmaWVyc1Blck9yaWdpbi5lbnN1cmUoY2xpZW50T3JpZ2luLCBbXSB7CiAgICAgICAgIHJl
dHVybiBDbGllbnRzIHsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9z
ZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCA2ZGExNDVhYWI4NzdhYjhjNDk0NzI0MTFlZjFmOGYzYzY1
MzVjNGIwLi42ZmVmNWI1MGRlNDE4YmMyZDdjMDM0Yjg4OWVmNTI2MGU3NGVjMzcxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC0y
ODAsNyArMjgwLDcgQEAgcHJpdmF0ZToKICAgICB9OwogICAgIEhhc2hNYXA8Q2xpZW50T3JpZ2lu
LCBDbGllbnRzPiBtX2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luOwogICAgIEhhc2hNYXA8U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdlYWtQdHI8U1dTZXJ2ZXJSZWdpc3RyYXRp
b24+PiBtX3NlcnZpY2VXb3JrZXJQYWdlSWRlbnRpZmllclRvUmVnaXN0cmF0aW9uTWFwOwotICAg
IEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhPiBtX2NsaWVudHNCeUlkOworICAgIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIsIFVuaXF1ZVJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4+IG1fY2xp
ZW50c0J5SWQ7CiAgICAgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IG1fY2xpZW50VG9Db250cm9sbGlu
Z1JlZ2lzdHJhdGlvbjsKICAgICBIYXNoTWFwPFN0cmluZywgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXI+IG1fdmlzaWJsZUNsaWVudElkVG9JbnRlcm5hbENsaWVudElkTWFwOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggZDk2N2NhNjYwMDM0MDdkMjcyOGQ0ZjIxNzMyMTAwMzA2YjI5MGY2Yi4uYTA3NmFiZjll
YmYyODg2M2Y3OTEzZDNlODEyNTYzYjlmNDQ2OGIyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIyLTAzLTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJ
bXBsZW1lbnQgU2VydmljZVdvcmtlciBXaW5kb3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDEKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvdGhpcmQtcGFydHktd29ya2VyLmpzOgorICAgICAgICAq
IGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24uaHRtbDoK
KwogMjAyMi0wMy0yNyAgTWF0dCBXb29kcm93ICA8bWF0dHdvb2Ryb3dAYXBwbGUuY29tPgogCiAg
ICAgICAgIFByZXNlcnZlIHJlcGVhdCgpIG5vdGF0aW9uIGZvciBncmlkLXRlbXBsYXRlcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90
aGlyZC1wYXJ0eS13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXdvcmtlci5qcwppbmRleCAwYTE0MjRlZTk2NzgwMmFl
MThkZmNjMDAxYzhlNjg5YzVlNzQ0ODljLi40MTk4YzQwYWI0NTJlMGQ0MGU4M2UwOGFjMzAwYjA4
NzI4YWQ3NzA4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXdvcmtlci5qcwpAQCAt
MjMsNiArMjMsMTAgQEAgYWRkRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIGFzeW5jIChlKSA9PiB7
CiAgICAgICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZSgnY29va2llLWlzLXNldCcpOwogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CisgICAgICAgIGlmIChlLmRhdGEgPT09ICdhbmNl
c3Rvck9yaWdpbnMnKSB7CisgICAgICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZShlLnNvdXJj
ZS5hbmNlc3Rvck9yaWdpbnMpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAg
ICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKCdlcnJvcicpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoJ0dvdCBlcnJvcjonICsgZSk7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQtcGFydHktcmVnaXN0
cmF0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQt
cGFydHktcmVnaXN0cmF0aW9uLmh0bWwKaW5kZXggYWI1MzhhYWU3ZWU5NGJiNDBkNDBjYjRkZDhj
MDU5ZTU4YmI0NTk3Yy4uMWVmZThkNzRkMGMzYTgzODYwNTNhNTk2OTgwMmQ1NGNiYjdjYmViMyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBh
cnR5LXJlZ2lzdHJhdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24uaHRtbApAQCAtMTAsMjMgKzEwLDQwIEBA
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgewogICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwog
fQogCitmdW5jdGlvbiBsb2dBbmRGaW5pc2hUZXN0KG1zZykKK3sKKyAgICBkb2N1bWVudC5ib2R5
LmlubmVySFRNTCA9IG1zZzsKKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOworfQorCiB2YXIgc2hvdWxkVGVzdCA9ICEhd2luZG93Lmxv
Y2F0aW9uLmhhc2g7CiBhc3luYyBmdW5jdGlvbiBkb1Rlc3QoKQogewotICAgIHZhciBpZnJhbWUg
PSBhd2FpdCB3aXRoX2lmcmFtZSgiaHR0cDovLzEyNy4wLjAuMTo4ODAxL1dlYktpdC9zZXJ2aWNl
LXdvcmtlcnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi1mcmFtZS5odG1sIik7
Ci0gICAgdmFyIHJlc3VsdCA9IGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7Ci0gICAg
ICAgIHdpbmRvdy5vbm1lc3NhZ2UgPSAoZSkgPT4gewotICAgICAgICAgICAgcmVzb2x2ZShlLmRh
dGEpOwotICAgICAgICB9OwotICAgICAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2Fn
ZShzaG91bGRUZXN0ID8gInJlYWQiIDogIndyaXRlIiwgJyonKTsKLSAgICB9KTsKKyAgICBjb25z
dCBpZnJhbWUgPSBhd2FpdCB3aXRoX2lmcmFtZSgiaHR0cDovLzEyNy4wLjAuMTo4ODAxL1dlYktp
dC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi1mcmFt
ZS5odG1sIik7CisKKyAgICBpZiAoc2hvdWxkVGVzdCkgeworICAgICAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZSgiYW5jZXN0b3JPcmlnaW5zIiwgJyonKTsKKyAgICAgICAgY29u
c3QgYW5jZXN0b3JPcmlnaW5zRGF0YSA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd2lu
ZG93Lm9ubWVzc2FnZSA9IChlKSA9PiByZXNvbHZlKGUuZGF0YSkpOworICAgICAgICBpZiAoYW5j
ZXN0b3JPcmlnaW5zRGF0YS5sZW5ndGggIT09IDEpIHsKKyAgICAgICAgICAgIGxvZ0FuZEZpbmlz
aFRlc3QoIkZBSUwgYW5jZXN0b3JPcmlnaW5zRGF0YSBsZW5ndGggaXMgbm90IDEiKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAoYW5jZXN0b3JPcmlnaW5zRGF0
YVswXSAhPT0gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMSIpIHsKKyAgICAgICAgICAgIGxvZ0FuZEZp
bmlzaFRlc3QoIkZBSUwgYW5jZXN0b3JPcmlnaW5zRGF0YSBsZW5ndGggaXMgbm90IDEiKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmcmFtZS5jb250ZW50
V2luZG93LnBvc3RNZXNzYWdlKHNob3VsZFRlc3QgPyAicmVhZCIgOiAid3JpdGUiLCAnKicpOwor
ICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd2luZG93Lm9u
bWVzc2FnZSA9IChlKSA9PiByZXNvbHZlKGUuZGF0YSkpOworCiAgICAgaWYgKHNob3VsZFRlc3Qp
IHsKICAgICAgICAgdmFyIGV4cGVjdGVkID0gJ3tcImNhY2hlXCI6W10sXCJkYlwiOm51bGx9JzsK
LSAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSByZXN1bHQgPT09IGV4cGVjdGVkID8g
IlBBU1MiIDogKCJGQUlMOiBnb3QgIiArIHJlc3VsdCk7Ci0gICAgICAgIGlmICh3aW5kb3cudGVz
dFJ1bm5lcikKLSAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgICAgICBs
b2dBbmRGaW5pc2hUZXN0KHJlc3VsdCA9PT0gZXhwZWN0ZWQgPyAiUEFTUyIgOiAoIkZBSUw6IGdv
dCAiICsgcmVzdWx0KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBpZnJhbWUucmVt
b3ZlKCk7CiAgICAgd2luZG93LmxvY2F0aW9uID0gImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMS9XZWJL
aXQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi5odG1sI3NlY29uZCI7
CiB9Cg==
</data>
<flag name="commit-queue"
          id="484035"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455910</attachid>
            <date>2022-03-28 06:03:43 -0700</date>
            <delta_ts>2022-03-28 06:59:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238441-20220328150341.patch</filename>
            <type>text/plain</type>
            <size>18131</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgxOTlmMTA5ZjYwN2Q4NjYwZjgxNmVm
OTA2ODM5ZGM4ZGUxNjg3OTcuLjkyZmQ2YmQ1NDRkNmNlYmE5ZTU0M2E4ZDc2YTg3YjdkNjk2Nzdj
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDMtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0Ns
aWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSBVbmlxdWVSZWYgYW5kIEhhc2hUcmFpdHMgdG8gbm90IHVzZSBh
IHByaXZhdGUgY29uc3RydWN0b3Igd2hlbiBjcmVhdGluZyBlbXB0eSB2YWx1ZXMuCisKKyAgICAg
ICAgKiB3dGYvSGFzaFRyYWl0cy5oOgorICAgICAgICAqIHd0Zi9VbmlxdWVSZWYuaDoKKwogMjAy
Mi0wMy0yNyAgQWxleGFuZGVyIE1pa2hheWxlbmtvICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBDU1MgYWNjZW50LWNvbG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVk
NjY4ZGZjNjZjNTNjMzU4MzhkZGVhMTk1ZmVjOWMxOGQ3MGFiYi4uYjQwMzc1ZjUxNDA3ZDI1NWVj
N2FiYmExZWM5MzMyMzBkODg0YjUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIy
LTAzLTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgU2VydmljZVdvcmtlciBXaW5kb3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW5jZXN0b3JPcmln
aW5zIHRvIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLgorICAgICAgICBNaWdyYXRlIGNsaWVudCBt
YXAgdG8gVW5pcXVlUmVmIHNpbmNlIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHNpemUgZ29lcyBh
Ym92ZSAxMjguCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisKIDIwMjItMDMtMjcgIE1hdHQgV29vZHJvdyAgPG1h
dHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVzZXJ2ZSByZXBlYXQoKSBub3RhdGlv
biBmb3IgZ3JpZC10ZW1wbGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWI2NWFjN2U4MjdmNzczY2ViNTJjMWM4
ZTFkYjJhNDZjNzZhOGU2OC4uMDM5MzUyNDBhOWM5NDUyY2U0ZWYwNjc0NjVhZGU2YzdjNmJkY2Ni
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMy0yOCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXIgV2lu
ZG93Q2xpZW50LmFuY2VzdG9yT3JpZ2lucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlv
bjo6Y29udHJvbENsaWVudCk6CisKIDIwMjItMDMtMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ugc3RhdGljX2Fzc2VydCBpbnN0ZWFkIG9mIENPTVBJ
TEVfQVNTRVJUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKaW5kZXggNzUyNDgxYjNmZmMxMzE1YzU2OGEyM2NlZDdl
ZDY3ZTVmMTRiYmQ4Zi4uNTYwYWY2ZDY4N2I3OTBhZTZmZmUwY2RmYTRkMzU4NTdhM2FiMTQyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0hhc2hUcmFpdHMuaApAQCAtMTgyLDYgKzE4MiwxMiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRz
PFVuaQogICAgIHR5cGVkZWYgc3RkOjpudWxscHRyX3QgRW1wdHlWYWx1ZVR5cGU7CiAgICAgc3Rh
dGljIEVtcHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CiAKKyAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWU+CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RW1wdHlWYWx1
ZShVbmlxdWVSZWY8VD4mIHNsb3QpCisgICAgeworICAgICAgICBuZXcgKE5vdE51bGwsIHN0ZDo6
YWRkcmVzc29mKHNsb3QpKSBVbmlxdWVSZWY8VD4oSGFzaFRhYmxlRW1wdHlWYWx1ZSk7CisgICAg
fQorCiAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFVuaXF1ZVJlZjxUPiYg
c2xvdCkgeyBuZXcgKE5vdE51bGwsIHN0ZDo6YWRkcmVzc29mKHNsb3QpKSBVbmlxdWVSZWY8VD4g
eyByZWludGVycHJldF9jYXN0PFQqPigtMSkgfTsgfQogICAgIHN0YXRpYyBib29sIGlzRGVsZXRl
ZFZhbHVlKGNvbnN0IFVuaXF1ZVJlZjxUPiYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmdldCgpID09
IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9VbmlxdWVSZWYuaCBiL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCmluZGV4IDBmZjAxZmU4
MzJlMmVjZGYzMWIzMGZiMTdlYjZlMDA3ZDIzODc4YmUuLjlhNGVlMjc3NjMwNzMzMDUyNzMxM2Qw
YzU4YjVlMjc2YmYxMzMxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCkBAIC04Niw2ICs4Niw4IEBAIHB1Ymxp
YzoKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUPiBtb3ZlVG9VbmlxdWVQdHIoKSB7IHJldHVybiBX
VEZNb3ZlKG1fcmVmKTsgfQogCisgICAgZXhwbGljaXQgVW5pcXVlUmVmKEhhc2hUYWJsZUVtcHR5
VmFsdWVUeXBlKSB7IH0KKwogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcy4u
LiBBcmdzPiBmcmllbmQgVW5pcXVlUmVmPFU+IG1ha2VVbmlxdWVSZWZXaXRob3V0RmFzdE1hbGxv
Y0NoZWNrKEFyZ3MmJi4uLik7CiAgICAgdGVtcGxhdGU8Y2xhc3MgVT4gZnJpZW5kIFVuaXF1ZVJl
ZjxVPiBtYWtlVW5pcXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoc3RkOjp1bmlxdWVfcHRyPFU+
JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKaW5kZXggOWE5NzBjNjQ0Y2ZiMTNkZjkwNTJkZGRmNjBl
NDg0YTMyZTAzMGNhYi4uNDU0OTgyYmI0MDRkNTRkNzExZjZmYjhhMTE1ODhkNjVhN2U5NmU1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRG9jdW1l
bnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlNXQ2xpZW50Q29ubmVj
dGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGllci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTU4LDEyICs1OSwxMiBAQCBzdGF0aWMgU2VydmljZVdvcmtlckNsaWVu
dEZyYW1lVHlwZSB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUoU2NyaXB0RXhlY3V0aQog
CiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0
ZWRDb3B5KCkgY29uc3QgJgogewotICAgIHJldHVybiB7IGlkZW50aWZpZXIsIHR5cGUsIGZyYW1l
VHlwZSwgdXJsLmlzb2xhdGVkQ29weSgpLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwg
aXNWaXNpYmxlLCBpc0ZvY3VzZWQsIGZvY3VzT3JkZXIgfTsKKyAgICByZXR1cm4geyBpZGVudGlm
aWVyLCB0eXBlLCBmcmFtZVR5cGUsIHVybC5pc29sYXRlZENvcHkoKSwgbGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQsIGlzVmlzaWJsZSwgaXNGb2N1c2VkLCBmb2N1c09yZGVyLCBhbmNlc3Rv
ck9yaWdpbnMgfTsKIH0KIAogU2VydmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtlckNs
aWVudERhdGE6Omlzb2xhdGVkQ29weSgpICYmCiB7Ci0gICAgcmV0dXJuIHsgaWRlbnRpZmllciwg
dHlwZSwgZnJhbWVUeXBlLCBXVEZNb3ZlKHVybCkuaXNvbGF0ZWRDb3B5KCksIGxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkLCBpc1Zpc2libGUsIGlzRm9jdXNlZCwgZm9jdXNPcmRlciB9Owor
ICAgIHJldHVybiB7IGlkZW50aWZpZXIsIHR5cGUsIGZyYW1lVHlwZSwgV1RGTW92ZSh1cmwpLmlz
b2xhdGVkQ29weSgpLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgaXNWaXNpYmxlLCBp
c0ZvY3VzZWQsIGZvY3VzT3JkZXIsIGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGFuY2VzdG9yT3Jp
Z2lucykpIH07CiB9CiAKIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhOjpmcm9tKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCkBAIC03NCw2ICs3
NSwxMyBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6
ZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjbwogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93
bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwogICAgIGF1dG8gbGFzdE5hdmlnYXRpb25XYXNBcHBJ
bml0aWF0ZWQgPSBkb2N1bWVudC5sb2FkZXIoKSAmJiBkb2N1bWVudC5sb2FkZXIoKS0+bGFzdE5h
dmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKSA/IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
OjpZZXMgOiBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm87CiAKKyAgICBWZWN0b3I8
U3RyaW5nPiBhbmNlc3Rvck9yaWdpbnM7CisgICAgYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFt
ZSgpID8gZG9jdW1lbnQuZnJhbWUoKS0+dHJlZSgpLnBhcmVudCgpIDogbnVsbHB0cjsKKyAgICB3
aGlsZSAoZnJhbWUpIHsKKyAgICAgICAgYW5jZXN0b3JPcmlnaW5zLmFwcGVuZChmcmFtZS0+ZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS50b1N0cmluZygpKTsKKyAgICAgICAgZnJhbWUgPSBm
cmFtZS0+dHJlZSgpLnBhcmVudCgpOworICAgIH07CisKICAgICByZXR1cm4gewogICAgICAgICBj
b250ZXh0LmlkZW50aWZpZXIoKSwKICAgICAgICAgaXNEb2N1bWVudCA/IFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlOjpXaW5kb3cgOiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLApAQCAt
ODEsNyArODksOCBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YTo6ZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjbwogICAgICAgICBkb2N1bWVudC5j
cmVhdGlvblVSTCgpLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwKICAgICAgICAgIWRv
Y3VtZW50LmhpZGRlbigpLAogICAgICAgICBkb2N1bWVudC5oYXNGb2N1cygpLAotICAgICAgICAw
CisgICAgICAgIDAsCisgICAgICAgIFdURk1vdmUoYW5jZXN0b3JPcmlnaW5zKQogICAgIH07CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnREYXRhLmgKaW5kZXggODVlMTA4M2Q3ZDQxNmZmNGZlYjhiMGViODBjMDBlZGMz
MzY0OGNlMy4uZDhlMGJhYWM5N2E1OGU0M2FiOTQ0ZGJiZmZjYjIyNGRkZTEzMDRjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnREYXRhLmgKQEAgLTQxLDYgKzQxLDggQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIGVudW0gY2xhc3MgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgOiBib29sIHsgTm8s
IFllcyB9OwogCiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGEgeworICAgIFdURl9NQUtF
X1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyIGlkZW50aWZpZXI7CiAgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGUgdHlwZTsKICAg
ICBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlIGZyYW1lVHlwZTsKQEAgLTQ5LDYgKzUxLDcg
QEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHsKICAgICBib29sIGlzVmlzaWJsZSB7
IGZhbHNlIH07CiAgICAgYm9vbCBpc0ZvY3VzZWQgeyBmYWxzZSB9OwogICAgIHVpbnQ2NF90IGZv
Y3VzT3JkZXIgeyAwIH07CisgICAgVmVjdG9yPFN0cmluZz4gYW5jZXN0b3JPcmlnaW5zOwogCiAg
ICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJjsKICAgICBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBpc29sYXRlZENvcHkoKSAmJjsKQEAgLTYyLDcgKzY1LDcg
QEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHsKIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CiB2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXIgPDwgdHlwZSA8PCBmcmFtZVR5
cGUgPDwgdXJsIDw8IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IGlzVmlzaWJsZSA8
PCBpc0ZvY3VzZWQgPDwgZm9jdXNPcmRlcjsKKyAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXIgPDwg
dHlwZSA8PCBmcmFtZVR5cGUgPDwgdXJsIDw8IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
IDw8IGlzVmlzaWJsZSA8PCBpc0ZvY3VzZWQgPDwgZm9jdXNPcmRlciA8PCBhbmNlc3Rvck9yaWdp
bnM7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC0xMDgsNyArMTExLDEyIEBAIHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERhdGE+IFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhOjpkZWNvZGUoRGVjb2RlciYKICAgICBpZiAoIWZvY3VzT3JkZXIpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmlkZW50aWZpZXIpLCBX
VEZNb3ZlKCp0eXBlKSwgV1RGTW92ZSgqZnJhbWVUeXBlKSwgV1RGTW92ZSgqdXJsKSwgV1RGTW92
ZSgqbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQpLCBXVEZNb3ZlKCppc1Zpc2libGUpLCBX
VEZNb3ZlKCppc0ZvY3VzZWQpLCBXVEZNb3ZlKCpmb2N1c09yZGVyKSB9IH07CisgICAgc3RkOjpv
cHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gYW5jZXN0b3JPcmlnaW5zOworICAgIGRlY29kZXIgPj4g
YW5jZXN0b3JPcmlnaW5zOworICAgIGlmICghYW5jZXN0b3JPcmlnaW5zKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwg
V1RGTW92ZSgqdHlwZSksIFdURk1vdmUoKmZyYW1lVHlwZSksIFdURk1vdmUoKnVybCksIFdURk1v
dmUoKmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKSwgV1RGTW92ZSgqaXNWaXNpYmxlKSwg
V1RGTW92ZSgqaXNGb2N1c2VkKSwgV1RGTW92ZSgqZm9jdXNPcmRlciksIFdURk1vdmUoKmFuY2Vz
dG9yT3JpZ2lucykgfSB9OwogfQogCiB1c2luZyBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxs
Q2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YT4mJik+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgKaW5kZXggMzExNzQyZTkyMmRmYTViYmI3
ODI5ZTdkNjc4MjBhMDJhZmI4NGM3My4uNmU4NDVhYTJiMTlkMTE0YTQwMThhNDNhN2YwZjc1OWY4
NTQyMDA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJXaW5kb3dDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oCkBAIC00Myw3ICs0Myw4IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICBWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRlKCkgY29uc3QgeyBy
ZXR1cm4gZGF0YSgpLmlzVmlzaWJsZSA/IFZpc2liaWxpdHlTdGF0ZTo6VmlzaWJsZSA6IFZpc2li
aWxpdHlTdGF0ZTo6SGlkZGVuOyB9Ci0gICAgYm9vbCBpc0ZvY3VzZWQoKSBjb25zdCB7IHJldHVy
biBkYXRhKCkuaXNGb2N1c2VkOyB9CisgICAgYm9vbCBmb2N1c2VkKCkgY29uc3QgeyByZXR1cm4g
ZGF0YSgpLmlzRm9jdXNlZDsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhbmNlc3Rvck9y
aWdpbnMoKSBjb25zdCB7IHJldHVybiBkYXRhKCkuYW5jZXN0b3JPcmlnaW5zOyB9CiAKICAgICB2
b2lkIGZvY3VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKICAgICB2b2lkIG5hdmlnYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJp
bmcmIHVybCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5pZGwK
aW5kZXggYzQ1OGRhNTc5OGNiZjJhYzBkNTk2MTM5MjUwZmQxNzYwMGVhOTAyNy4uY2JmNjY3YzA5
NmJiNTkzZDJjMmJjOWRmNWY2YmM0YzlkNGNkNDhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50Lmlk
bApAQCAtMzAsNyArMzAsOCBAQAogICAgIEludGVyZmFjZU5hbWU9V2luZG93Q2xpZW50LAogXSBp
bnRlcmZhY2UgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudCA6IFNlcnZpY2VXb3JrZXJDbGllbnQg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRl
OwotICAgIFtJbXBsZW1lbnRlZEFzPWlzRm9jdXNlZF0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gZm9jdXNlZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBmb2N1c2VkOworICAg
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8VVNWU3RyaW5nPiBh
bmNlc3Rvck9yaWdpbnM7CiAKICAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1DdXJyZW50U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTxTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50PiBmb2N1
cygpOwogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPUN1cnJlbnRTY3JpcHRFeGVjdXRpb25Db250
ZXh0XSBQcm9taXNlPFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ+IG5hdmlnYXRlKFVTVlN0cmlu
ZyB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmNwcAppbmRleCBiM2VlMGJlZTFjZjkwZmYxYzNiMmI3YTY4YmI5N2E1MzY2MzExMjRj
Li45ZGFiNmI4NjYyMmZhYjYyMDg2ZWVhNmFjMjAxNjA4MTljM2RmY2I5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtNjk2
LDcgKzY5Niw3IEBAIExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIFNXU2VydmVyOjpjbGll
bnRJc0FwcEluaXRpYXRlZEZvclJlZ2lzdHJhYmxlRG9tYWluCiAgICAgZm9yIChhdXRvJiBjbGll
bnQgOiBjbGllbnRzRm9yUmVnaXN0cmFibGVEb21haW4pIHsKICAgICAgICAgYXV0byBkYXRhID0g
bV9jbGllbnRzQnlJZC5maW5kKGNsaWVudCk7CiAgICAgICAgIEFTU0VSVChkYXRhICE9IG1fY2xp
ZW50c0J5SWQuZW5kKCkpOwotICAgICAgICBpZiAoZGF0YS0+dmFsdWUubGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQgPT0gTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcykKKyAg
ICAgICAgaWYgKGRhdGEtPnZhbHVlLT5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9PSBM
YXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzKQogICAgICAgICAgICAgcmV0dXJuIExh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXM7CiAgICAgfQogCkBAIC05NjcsMTIgKzk2
NywxMiBAQCB2b2lkIFNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50
T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlVwogICAgICAgICBBU1NFUlQobV9jbGllbnRz
QnlJZC5jb250YWlucyhjbGllbnRJZGVudGlmaWVyKSk7CiAgICAgICAgIGlmIChkYXRhLmlzRm9j
dXNlZCkKICAgICAgICAgICAgIGRhdGEuZm9jdXNPcmRlciA9ICsrbV9mb2N1c09yZGVyOwotICAg
ICAgICBtX2NsaWVudHNCeUlkLnNldChjbGllbnRJZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpKTsK
KyAgICAgICAgbV9jbGllbnRzQnlJZC5zZXQoY2xpZW50SWRlbnRpZmllciwgbWFrZVVuaXF1ZVJl
ZjxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4oV1RGTW92ZShkYXRhKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgQVNTRVJUKCFtX2NsaWVudHNCeUlkLmNvbnRhaW5zKGNsaWVudElk
ZW50aWZpZXIpKTsKLSAgICBtX2NsaWVudHNCeUlkLmFkZChjbGllbnRJZGVudGlmaWVyLCBXVEZN
b3ZlKGRhdGEpKTsKKyAgICBtX2NsaWVudHNCeUlkLmFkZChjbGllbnRJZGVudGlmaWVyLCBtYWtl
VW5pcXVlUmVmPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPihXVEZNb3ZlKGRhdGEpKSk7CiAKICAg
ICBhdXRvJiBjbGllbnRJZGVudGlmaWVyc0Zvck9yaWdpbiA9IG1fY2xpZW50SWRlbnRpZmllcnNQ
ZXJPcmlnaW4uZW5zdXJlKGNsaWVudE9yaWdpbiwgW10gewogICAgICAgICByZXR1cm4gQ2xpZW50
cyB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyLmgKaW5kZXggNmRhMTQ1YWFiODc3YWI4YzQ5NDcyNDExZWYxZjhmM2M2NTM1YzRiMC4uNmZl
ZjViNTBkZTQxOGJjMmQ3YzAzNGI4ODllZjUyNjBlNzRlYzM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMjgwLDcgKzI4MCw3
IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBIYXNoTWFwPENsaWVudE9yaWdpbiwgQ2xpZW50cz4g
bV9jbGllbnRJZGVudGlmaWVyc1Blck9yaWdpbjsKICAgICBIYXNoTWFwPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyLCBXZWFrUHRyPFNXU2VydmVyUmVnaXN0cmF0aW9uPj4gbV9zZXJ2
aWNlV29ya2VyUGFnZUlkZW50aWZpZXJUb1JlZ2lzdHJhdGlvbk1hcDsKLSAgICBIYXNoTWFwPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4g
bV9jbGllbnRzQnlJZDsKKyAgICBIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyLCBVbmlxdWVSZWY8U2VydmljZVdvcmtlckNsaWVudERhdGE+PiBtX2NsaWVudHNCeUlkOwog
ICAgIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRp
b247CiAgICAgSGFzaE1hcDxTdHJpbmcsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
PiBtX3Zpc2libGVDbGllbnRJZFRvSW50ZXJuYWxDbGllbnRJZE1hcDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA0NTJjNjcxMTM4MGYxMGQwNzM5NzI1MjZl
NzMwZjMyNjM5YjhhZmRkLi5mOWNjYjg1ZmU5ZWRmYzM2MWRhMTZiMjI0NDliNjE1OWNiMzUzNjQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTc1LDcgKzE3
NSw3IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVuCiAgICAgICAgIHVucmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KGNsaWVudElkZW50aWZpZXIpOwogICAgIH0pOwogCi0gICAgU2VydmljZVdv
cmtlckNsaWVudERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlOjpXaW5kb3csIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVl
c3QudXJsKCksIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6Tm8gfTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhIHsgY2xpZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywgU2VydmljZVdvcmtl
ckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcmVxdWVzdC5pc0FwcEluaXRp
YXRlZCgpID8gV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdl
YkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAw
LCB7IH0gfTsKICAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmlnaW5E
YXRhIHsgcmVnaXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0YSksIHJl
Z2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGQ5NjdjYTY2MDAzNDA3ZDI3MjhkNGYyMTczMjEwMDMwNmIyOTBmNmIuLmEwNzZhYmY5
ZWJmMjg4NjNmNzkxM2QzZTgxMjU2M2I5ZjQ0NjhiMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMy0yOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IFNlcnZpY2VXb3JrZXIgV2luZG93Q2xpZW50LmFuY2VzdG9yT3JpZ2lucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXdvcmtlci5qczoKKyAgICAgICAg
KiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQtcGFydHktcmVnaXN0cmF0aW9uLmh0bWw6
CisKIDIwMjItMDMtMjcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAog
ICAgICAgICBQcmVzZXJ2ZSByZXBlYXQoKSBub3RhdGlvbiBmb3IgZ3JpZC10ZW1wbGF0ZXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMv
dGhpcmQtcGFydHktd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3JrZXIuanMKaW5kZXggMGExNDI0ZWU5Njc4MDJh
ZTE4ZGZjYzAwMWM4ZTY4OWM1ZTc0NDg5Yy4uNDE5OGM0MGFiNDUyZTBkNDBlODNlMDhhYzMwMGIw
ODcyOGFkNzcwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3JrZXIuanMKQEAg
LTIzLDYgKzIzLDEwIEBAIGFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3luYyAoZSkgPT4g
ewogICAgICAgICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoJ2Nvb2tpZS1pcy1zZXQnKTsKICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorICAgICAgICBpZiAoZS5kYXRhID09PSAnYW5j
ZXN0b3JPcmlnaW5zJykgeworICAgICAgICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoZS5zb3Vy
Y2UuYW5jZXN0b3JPcmlnaW5zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAg
ICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZSgnZXJyb3InKTsKICAgICB9IGNhdGNoIChlKSB7CiAg
ICAgICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKCdHb3QgZXJyb3I6JyArIGUpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBhcnR5LXJlZ2lz
dHJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJk
LXBhcnR5LXJlZ2lzdHJhdGlvbi5odG1sCmluZGV4IGFiNTM4YWFlN2VlOTRiYjQwZDQwY2I0ZGQ4
YzA1OWU1OGJiNDU5N2MuLjFlZmU4ZDc0ZDBjM2E4Mzg2MDUzYTU5Njk4MDJkNTRjYmI3Y2JlYjMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy90aGlyZC1w
YXJ0eS1yZWdpc3RyYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvdGhpcmQtcGFydHktcmVnaXN0cmF0aW9uLmh0bWwKQEAgLTEwLDIzICsxMCw0MCBA
QCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
IH0KIAorZnVuY3Rpb24gbG9nQW5kRmluaXNoVGVzdChtc2cpCit7CisgICAgZG9jdW1lbnQuYm9k
eS5pbm5lckhUTUwgPSBtc2c7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0
ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKwogdmFyIHNob3VsZFRlc3QgPSAhIXdpbmRvdy5s
b2NhdGlvbi5oYXNoOwogYXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKIHsKLSAgICB2YXIgaWZyYW1l
ID0gYXdhaXQgd2l0aF9pZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODgwMS9XZWJLaXQvc2Vydmlj
ZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24tZnJhbWUuaHRtbCIp
OwotICAgIHZhciByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAg
ICAgICB3aW5kb3cub25tZXNzYWdlID0gKGUpID0+IHsKLSAgICAgICAgICAgIHJlc29sdmUoZS5k
YXRhKTsKLSAgICAgICAgfTsKLSAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3Nh
Z2Uoc2hvdWxkVGVzdCA/ICJyZWFkIiA6ICJ3cml0ZSIsICcqJyk7Ci0gICAgfSk7CisgICAgY29u
c3QgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODgwMS9XZWJL
aXQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24tZnJh
bWUuaHRtbCIpOworCisgICAgaWYgKHNob3VsZFRlc3QpIHsKKyAgICAgICAgaWZyYW1lLmNvbnRl
bnRXaW5kb3cucG9zdE1lc3NhZ2UoImFuY2VzdG9yT3JpZ2lucyIsICcqJyk7CisgICAgICAgIGNv
bnN0IGFuY2VzdG9yT3JpZ2luc0RhdGEgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdp
bmRvdy5vbm1lc3NhZ2UgPSAoZSkgPT4gcmVzb2x2ZShlLmRhdGEpKTsKKyAgICAgICAgaWYgKGFu
Y2VzdG9yT3JpZ2luc0RhdGEubGVuZ3RoICE9PSAxKSB7CisgICAgICAgICAgICBsb2dBbmRGaW5p
c2hUZXN0KCJGQUlMIGFuY2VzdG9yT3JpZ2luc0RhdGEgbGVuZ3RoIGlzIG5vdCAxIik7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGFuY2VzdG9yT3JpZ2luc0Rh
dGFbMF0gIT09ICJodHRwOi8vbG9jYWxob3N0Ojg4MDEiKSB7CisgICAgICAgICAgICBsb2dBbmRG
aW5pc2hUZXN0KCJGQUlMIGFuY2VzdG9yT3JpZ2luc0RhdGEgbGVuZ3RoIGlzIG5vdCAxIik7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZnJhbWUuY29udGVu
dFdpbmRvdy5wb3N0TWVzc2FnZShzaG91bGRUZXN0ID8gInJlYWQiIDogIndyaXRlIiwgJyonKTsK
KyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdpbmRvdy5v
bm1lc3NhZ2UgPSAoZSkgPT4gcmVzb2x2ZShlLmRhdGEpKTsKKwogICAgIGlmIChzaG91bGRUZXN0
KSB7CiAgICAgICAgIHZhciBleHBlY3RlZCA9ICd7XCJjYWNoZVwiOltdLFwiZGJcIjpudWxsfSc7
Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gcmVzdWx0ID09PSBleHBlY3RlZCA/
ICJQQVNTIiA6ICgiRkFJTDogZ290ICIgKyByZXN1bHQpOwotICAgICAgICBpZiAod2luZG93LnRl
c3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAg
bG9nQW5kRmluaXNoVGVzdChyZXN1bHQgPT09IGV4cGVjdGVkID8gIlBBU1MiIDogKCJGQUlMOiBn
b3QgIiArIHJlc3VsdCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorCiAgICAgaWZyYW1lLnJl
bW92ZSgpOwogICAgIHdpbmRvdy5sb2NhdGlvbiA9ICJodHRwOi8vbG9jYWxob3N0Ojg4MDEvV2Vi
S2l0L3NlcnZpY2Utd29ya2Vycy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24uaHRtbCNzZWNvbmQi
OwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455913</attachid>
            <date>2022-03-28 06:59:30 -0700</date>
            <delta_ts>2022-03-30 03:05:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238441-20220328155926.patch</filename>
            <type>text/plain</type>
            <size>20081</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxOTU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgxOTlmMTA5ZjYwN2Q4NjYwZjgxNmVm
OTA2ODM5ZGM4ZGUxNjg3OTcuLjkyZmQ2YmQ1NDRkNmNlYmE5ZTU0M2E4ZDc2YTg3YjdkNjk2Nzdj
MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDMtMjggIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0Ns
aWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSBVbmlxdWVSZWYgYW5kIEhhc2hUcmFpdHMgdG8gbm90IHVzZSBh
IHByaXZhdGUgY29uc3RydWN0b3Igd2hlbiBjcmVhdGluZyBlbXB0eSB2YWx1ZXMuCisKKyAgICAg
ICAgKiB3dGYvSGFzaFRyYWl0cy5oOgorICAgICAgICAqIHd0Zi9VbmlxdWVSZWYuaDoKKwogMjAy
Mi0wMy0yNyAgQWxleGFuZGVyIE1pa2hheWxlbmtvICA8YWxleG1AZ25vbWUub3JnPgogCiAgICAg
ICAgIFtHVEtdW1dQRV0gU3VwcG9ydCBDU1MgYWNjZW50LWNvbG9yCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzVk
NjY4ZGZjNjZjNTNjMzU4MzhkZGVhMTk1ZmVjOWMxOGQ3MGFiYi4uYjQwMzc1ZjUxNDA3ZDI1NWVj
N2FiYmExZWM5MzMyMzBkODg0YjUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDIy
LTAzLTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBs
ZW1lbnQgU2VydmljZVdvcmtlciBXaW5kb3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW5jZXN0b3JPcmln
aW5zIHRvIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLgorICAgICAgICBNaWdyYXRlIGNsaWVudCBt
YXAgdG8gVW5pcXVlUmVmIHNpbmNlIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHNpemUgZ29lcyBh
Ym92ZSAxMjguCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisKIDIwMjItMDMtMjcgIE1hdHQgV29vZHJvdyAgPG1h
dHR3b29kcm93QGFwcGxlLmNvbT4KIAogICAgICAgICBQcmVzZXJ2ZSByZXBlYXQoKSBub3RhdGlv
biBmb3IgZ3JpZC10ZW1wbGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggZWI2NWFjN2U4MjdmNzczY2ViNTJjMWM4
ZTFkYjJhNDZjNzZhOGU2OC4uMDM5MzUyNDBhOWM5NDUyY2U0ZWYwNjc0NjVhZGU2YzdjNmJkY2Ni
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMy0yOCAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXIgV2lu
ZG93Q2xpZW50LmFuY2VzdG9yT3JpZ2lucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXU2VydmVyQ29ubmVjdGlv
bjo6Y29udHJvbENsaWVudCk6CisKIDIwMjItMDMtMjYgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtp
QGFwcGxlLmNvbT4KIAogICAgICAgICBVc2Ugc3RhdGljX2Fzc2VydCBpbnN0ZWFkIG9mIENPTVBJ
TEVfQVNTRVJUCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmggYi9Tb3Vy
Y2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKaW5kZXggNzUyNDgxYjNmZmMxMzE1YzU2OGEyM2NlZDdl
ZDY3ZTVmMTRiYmQ4Zi4uNTYwYWY2ZDY4N2I3OTBhZTZmZmUwY2RmYTRkMzU4NTdhM2FiMTQyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL0hhc2hUcmFpdHMuaApAQCAtMTgyLDYgKzE4MiwxMiBAQCB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PiBzdHJ1Y3QgSGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+IDogU2ltcGxlQ2xhc3NIYXNoVHJhaXRz
PFVuaQogICAgIHR5cGVkZWYgc3RkOjpudWxscHRyX3QgRW1wdHlWYWx1ZVR5cGU7CiAgICAgc3Rh
dGljIEVtcHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRyOyB9CiAKKyAg
ICB0ZW1wbGF0ZSA8dHlwZW5hbWU+CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RW1wdHlWYWx1
ZShVbmlxdWVSZWY8VD4mIHNsb3QpCisgICAgeworICAgICAgICBuZXcgKE5vdE51bGwsIHN0ZDo6
YWRkcmVzc29mKHNsb3QpKSBVbmlxdWVSZWY8VD4oSGFzaFRhYmxlRW1wdHlWYWx1ZSk7CisgICAg
fQorCiAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFVuaXF1ZVJlZjxUPiYg
c2xvdCkgeyBuZXcgKE5vdE51bGwsIHN0ZDo6YWRkcmVzc29mKHNsb3QpKSBVbmlxdWVSZWY8VD4g
eyByZWludGVycHJldF9jYXN0PFQqPigtMSkgfTsgfQogICAgIHN0YXRpYyBib29sIGlzRGVsZXRl
ZFZhbHVlKGNvbnN0IFVuaXF1ZVJlZjxUPiYgdmFsdWUpIHsgcmV0dXJuIHZhbHVlLmdldCgpID09
IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0
Zi9VbmlxdWVSZWYuaCBiL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCmluZGV4IDBmZjAxZmU4
MzJlMmVjZGYzMWIzMGZiMTdlYjZlMDA3ZDIzODc4YmUuLjlhNGVlMjc3NjMwNzMzMDUyNzMxM2Qw
YzU4YjVlMjc2YmYxMzMxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCkBAIC04Niw2ICs4Niw4IEBAIHB1Ymxp
YzoKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUPiBtb3ZlVG9VbmlxdWVQdHIoKSB7IHJldHVybiBX
VEZNb3ZlKG1fcmVmKTsgfQogCisgICAgZXhwbGljaXQgVW5pcXVlUmVmKEhhc2hUYWJsZUVtcHR5
VmFsdWVUeXBlKSB7IH0KKwogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTxjbGFzcyBVLCBjbGFzcy4u
LiBBcmdzPiBmcmllbmQgVW5pcXVlUmVmPFU+IG1ha2VVbmlxdWVSZWZXaXRob3V0RmFzdE1hbGxv
Y0NoZWNrKEFyZ3MmJi4uLik7CiAgICAgdGVtcGxhdGU8Y2xhc3MgVT4gZnJpZW5kIFVuaXF1ZVJl
ZjxVPiBtYWtlVW5pcXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoc3RkOjp1bmlxdWVfcHRyPFU+
JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKaW5kZXggOWE5NzBjNjQ0Y2ZiMTNkZjkwNTJkZGRmNjBl
NDg0YTMyZTAzMGNhYi4uNDU0OTgyYmI0MDRkNTRkNzExZjZmYjhhMTE1ODhkNjVhN2U5NmU1MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiRG9jdW1l
bnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlNXQ2xpZW50Q29ubmVj
dGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGllci5oPgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTU4LDEyICs1OSwxMiBAQCBzdGF0aWMgU2VydmljZVdvcmtlckNsaWVu
dEZyYW1lVHlwZSB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUoU2NyaXB0RXhlY3V0aQog
CiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6aXNvbGF0
ZWRDb3B5KCkgY29uc3QgJgogewotICAgIHJldHVybiB7IGlkZW50aWZpZXIsIHR5cGUsIGZyYW1l
VHlwZSwgdXJsLmlzb2xhdGVkQ29weSgpLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwg
aXNWaXNpYmxlLCBpc0ZvY3VzZWQsIGZvY3VzT3JkZXIgfTsKKyAgICByZXR1cm4geyBpZGVudGlm
aWVyLCB0eXBlLCBmcmFtZVR5cGUsIHVybC5pc29sYXRlZENvcHkoKSwgbGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQsIGlzVmlzaWJsZSwgaXNGb2N1c2VkLCBmb2N1c09yZGVyLCBhbmNlc3Rv
ck9yaWdpbnMgfTsKIH0KIAogU2VydmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtlckNs
aWVudERhdGE6Omlzb2xhdGVkQ29weSgpICYmCiB7Ci0gICAgcmV0dXJuIHsgaWRlbnRpZmllciwg
dHlwZSwgZnJhbWVUeXBlLCBXVEZNb3ZlKHVybCkuaXNvbGF0ZWRDb3B5KCksIGxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkLCBpc1Zpc2libGUsIGlzRm9jdXNlZCwgZm9jdXNPcmRlciB9Owor
ICAgIHJldHVybiB7IGlkZW50aWZpZXIsIHR5cGUsIGZyYW1lVHlwZSwgV1RGTW92ZSh1cmwpLmlz
b2xhdGVkQ29weSgpLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwgaXNWaXNpYmxlLCBp
c0ZvY3VzZWQsIGZvY3VzT3JkZXIsIGNyb3NzVGhyZWFkQ29weShXVEZNb3ZlKGFuY2VzdG9yT3Jp
Z2lucykpIH07CiB9CiAKIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJDbGll
bnREYXRhOjpmcm9tKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCkBAIC03NCw2ICs3
NSwxMyBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6
ZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjbwogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93
bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpOwogICAgIGF1dG8gbGFzdE5hdmlnYXRpb25XYXNBcHBJ
bml0aWF0ZWQgPSBkb2N1bWVudC5sb2FkZXIoKSAmJiBkb2N1bWVudC5sb2FkZXIoKS0+bGFzdE5h
dmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKSA/IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
OjpZZXMgOiBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6Tm87CiAKKyAgICBWZWN0b3I8
U3RyaW5nPiBhbmNlc3Rvck9yaWdpbnM7CisgICAgYXV0byogZnJhbWUgPSBkb2N1bWVudC5mcmFt
ZSgpID8gZG9jdW1lbnQuZnJhbWUoKS0+dHJlZSgpLnBhcmVudCgpIDogbnVsbHB0cjsKKyAgICB3
aGlsZSAoZnJhbWUpIHsKKyAgICAgICAgYW5jZXN0b3JPcmlnaW5zLmFwcGVuZChmcmFtZS0+ZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKS50b1N0cmluZygpKTsKKyAgICAgICAgZnJhbWUgPSBm
cmFtZS0+dHJlZSgpLnBhcmVudCgpOworICAgIH07CisKICAgICByZXR1cm4gewogICAgICAgICBj
b250ZXh0LmlkZW50aWZpZXIoKSwKICAgICAgICAgaXNEb2N1bWVudCA/IFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlOjpXaW5kb3cgOiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyLApAQCAt
ODEsNyArODksOCBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YTo6ZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjbwogICAgICAgICBkb2N1bWVudC5j
cmVhdGlvblVSTCgpLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwKICAgICAgICAgIWRv
Y3VtZW50LmhpZGRlbigpLAogICAgICAgICBkb2N1bWVudC5oYXNGb2N1cygpLAotICAgICAgICAw
CisgICAgICAgIDAsCisgICAgICAgIFdURk1vdmUoYW5jZXN0b3JPcmlnaW5zKQogICAgIH07CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDbGllbnREYXRhLmgKaW5kZXggODVlMTA4M2Q3ZDQxNmZmNGZlYjhiMGViODBjMDBlZGMz
MzY0OGNlMy4uZDhlMGJhYWM5N2E1OGU0M2FiOTQ0ZGJiZmZjYjIyNGRkZTEzMDRjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRE
YXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJD
bGllbnREYXRhLmgKQEAgLTQxLDYgKzQxLDggQEAgY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDsKIGVudW0gY2xhc3MgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgOiBib29sIHsgTm8s
IFllcyB9OwogCiBzdHJ1Y3QgU2VydmljZVdvcmtlckNsaWVudERhdGEgeworICAgIFdURl9NQUtF
X1NUUlVDVF9GQVNUX0FMTE9DQVRFRDsKKwogICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyIGlkZW50aWZpZXI7CiAgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGUgdHlwZTsKICAg
ICBTZXJ2aWNlV29ya2VyQ2xpZW50RnJhbWVUeXBlIGZyYW1lVHlwZTsKQEAgLTQ5LDYgKzUxLDcg
QEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHsKICAgICBib29sIGlzVmlzaWJsZSB7
IGZhbHNlIH07CiAgICAgYm9vbCBpc0ZvY3VzZWQgeyBmYWxzZSB9OwogICAgIHVpbnQ2NF90IGZv
Y3VzT3JkZXIgeyAwIH07CisgICAgVmVjdG9yPFN0cmluZz4gYW5jZXN0b3JPcmlnaW5zOwogCiAg
ICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3QgJjsKICAgICBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBpc29sYXRlZENvcHkoKSAmJjsKQEAgLTYyLDcgKzY1LDcg
QEAgc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHsKIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+CiB2b2lkIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2Rl
cikgY29uc3QKIHsKLSAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXIgPDwgdHlwZSA8PCBmcmFtZVR5
cGUgPDwgdXJsIDw8IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIDw8IGlzVmlzaWJsZSA8
PCBpc0ZvY3VzZWQgPDwgZm9jdXNPcmRlcjsKKyAgICBlbmNvZGVyIDw8IGlkZW50aWZpZXIgPDwg
dHlwZSA8PCBmcmFtZVR5cGUgPDwgdXJsIDw8IGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVk
IDw8IGlzVmlzaWJsZSA8PCBpc0ZvY3VzZWQgPDwgZm9jdXNPcmRlciA8PCBhbmNlc3Rvck9yaWdp
bnM7CiB9CiAKIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+CkBAIC0xMDgsNyArMTExLDEyIEBAIHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckNsaWVudERhdGE+IFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhOjpkZWNvZGUoRGVjb2RlciYKICAgICBpZiAoIWZvY3VzT3JkZXIpCiAgICAgICAgIHJldHVy
biBzdGQ6Om51bGxvcHQ7CiAKLSAgICByZXR1cm4geyB7IFdURk1vdmUoKmlkZW50aWZpZXIpLCBX
VEZNb3ZlKCp0eXBlKSwgV1RGTW92ZSgqZnJhbWVUeXBlKSwgV1RGTW92ZSgqdXJsKSwgV1RGTW92
ZSgqbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQpLCBXVEZNb3ZlKCppc1Zpc2libGUpLCBX
VEZNb3ZlKCppc0ZvY3VzZWQpLCBXVEZNb3ZlKCpmb2N1c09yZGVyKSB9IH07CisgICAgc3RkOjpv
cHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gYW5jZXN0b3JPcmlnaW5zOworICAgIGRlY29kZXIgPj4g
YW5jZXN0b3JPcmlnaW5zOworICAgIGlmICghYW5jZXN0b3JPcmlnaW5zKQorICAgICAgICByZXR1
cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwg
V1RGTW92ZSgqdHlwZSksIFdURk1vdmUoKmZyYW1lVHlwZSksIFdURk1vdmUoKnVybCksIFdURk1v
dmUoKmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKSwgV1RGTW92ZSgqaXNWaXNpYmxlKSwg
V1RGTW92ZSgqaXNGb2N1c2VkKSwgV1RGTW92ZSgqZm9jdXNPcmRlciksIFdURk1vdmUoKmFuY2Vz
dG9yT3JpZ2lucykgfSB9OwogfQogCiB1c2luZyBTZXJ2aWNlV29ya2VyQ2xpZW50c01hdGNoQWxs
Q2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFZlY3RvcjxTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YT4mJik+OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmgKaW5kZXggMzExNzQyZTkyMmRmYTViYmI3
ODI5ZTdkNjc4MjBhMDJhZmI4NGM3My4uNmU4NDVhYTJiMTlkMTE0YTQwMThhNDNhN2YwZjc1OWY4
NTQyMDA1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJXaW5kb3dDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5oCkBAIC00Myw3ICs0Myw4IEBAIHB1YmxpYzoK
ICAgICB9CiAKICAgICBWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRlKCkgY29uc3QgeyBy
ZXR1cm4gZGF0YSgpLmlzVmlzaWJsZSA/IFZpc2liaWxpdHlTdGF0ZTo6VmlzaWJsZSA6IFZpc2li
aWxpdHlTdGF0ZTo6SGlkZGVuOyB9Ci0gICAgYm9vbCBpc0ZvY3VzZWQoKSBjb25zdCB7IHJldHVy
biBkYXRhKCkuaXNGb2N1c2VkOyB9CisgICAgYm9vbCBmb2N1c2VkKCkgY29uc3QgeyByZXR1cm4g
ZGF0YSgpLmlzRm9jdXNlZDsgfQorICAgIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhbmNlc3Rvck9y
aWdpbnMoKSBjb25zdCB7IHJldHVybiBkYXRhKCkuYW5jZXN0b3JPcmlnaW5zOyB9CiAKICAgICB2
b2lkIGZvY3VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYm
KTsKICAgICB2b2lkIG5hdmlnYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJp
bmcmIHVybCwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5pZGwK
aW5kZXggYzQ1OGRhNTc5OGNiZjJhYzBkNTk2MTM5MjUwZmQxNzYwMGVhOTAyNy4uY2JmNjY3YzA5
NmJiNTkzZDJjMmJjOWRmNWY2YmM0YzlkNGNkNDhiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50Lmlk
bApAQCAtMzAsNyArMzAsOCBAQAogICAgIEludGVyZmFjZU5hbWU9V2luZG93Q2xpZW50LAogXSBp
bnRlcmZhY2UgU2VydmljZVdvcmtlcldpbmRvd0NsaWVudCA6IFNlcnZpY2VXb3JrZXJDbGllbnQg
ewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRl
OwotICAgIFtJbXBsZW1lbnRlZEFzPWlzRm9jdXNlZF0gcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xl
YW4gZm9jdXNlZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBmb2N1c2VkOworICAg
IFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8VVNWU3RyaW5nPiBh
bmNlc3Rvck9yaWdpbnM7CiAKICAgICBbTmV3T2JqZWN0LCBDYWxsV2l0aD1DdXJyZW50U2NyaXB0
RXhlY3V0aW9uQ29udGV4dF0gUHJvbWlzZTxTZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50PiBmb2N1
cygpOwogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPUN1cnJlbnRTY3JpcHRFeGVjdXRpb25Db250
ZXh0XSBQcm9taXNlPFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ+IG5hdmlnYXRlKFVTVlN0cmlu
ZyB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyLmNwcAppbmRleCBiM2VlMGJlZTFjZjkwZmYxYzNiMmI3YTY4YmI5N2E1MzY2MzExMjRj
Li45ZGFiNmI4NjYyMmZhYjYyMDg2ZWVhNmFjMjAxNjA4MTljM2RmY2I5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtNjk2
LDcgKzY5Niw3IEBAIExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkIFNXU2VydmVyOjpjbGll
bnRJc0FwcEluaXRpYXRlZEZvclJlZ2lzdHJhYmxlRG9tYWluCiAgICAgZm9yIChhdXRvJiBjbGll
bnQgOiBjbGllbnRzRm9yUmVnaXN0cmFibGVEb21haW4pIHsKICAgICAgICAgYXV0byBkYXRhID0g
bV9jbGllbnRzQnlJZC5maW5kKGNsaWVudCk7CiAgICAgICAgIEFTU0VSVChkYXRhICE9IG1fY2xp
ZW50c0J5SWQuZW5kKCkpOwotICAgICAgICBpZiAoZGF0YS0+dmFsdWUubGFzdE5hdmlnYXRpb25X
YXNBcHBJbml0aWF0ZWQgPT0gTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcykKKyAg
ICAgICAgaWYgKGRhdGEtPnZhbHVlLT5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA9PSBM
YXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzKQogICAgICAgICAgICAgcmV0dXJuIExh
c3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXM7CiAgICAgfQogCkBAIC05NjcsMTIgKzk2
NywxMiBAQCB2b2lkIFNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50
T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlVwogICAgICAgICBBU1NFUlQobV9jbGllbnRz
QnlJZC5jb250YWlucyhjbGllbnRJZGVudGlmaWVyKSk7CiAgICAgICAgIGlmIChkYXRhLmlzRm9j
dXNlZCkKICAgICAgICAgICAgIGRhdGEuZm9jdXNPcmRlciA9ICsrbV9mb2N1c09yZGVyOwotICAg
ICAgICBtX2NsaWVudHNCeUlkLnNldChjbGllbnRJZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpKTsK
KyAgICAgICAgbV9jbGllbnRzQnlJZC5zZXQoY2xpZW50SWRlbnRpZmllciwgbWFrZVVuaXF1ZVJl
ZjxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4oV1RGTW92ZShkYXRhKSkpOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCiAgICAgQVNTRVJUKCFtX2NsaWVudHNCeUlkLmNvbnRhaW5zKGNsaWVudElk
ZW50aWZpZXIpKTsKLSAgICBtX2NsaWVudHNCeUlkLmFkZChjbGllbnRJZGVudGlmaWVyLCBXVEZN
b3ZlKGRhdGEpKTsKKyAgICBtX2NsaWVudHNCeUlkLmFkZChjbGllbnRJZGVudGlmaWVyLCBtYWtl
VW5pcXVlUmVmPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPihXVEZNb3ZlKGRhdGEpKSk7CiAKICAg
ICBhdXRvJiBjbGllbnRJZGVudGlmaWVyc0Zvck9yaWdpbiA9IG1fY2xpZW50SWRlbnRpZmllcnNQ
ZXJPcmlnaW4uZW5zdXJlKGNsaWVudE9yaWdpbiwgW10gewogICAgICAgICByZXR1cm4gQ2xpZW50
cyB7IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2Vy
dmVyLmgKaW5kZXggNmRhMTQ1YWFiODc3YWI4YzQ5NDcyNDExZWYxZjhmM2M2NTM1YzRiMC4uNmZl
ZjViNTBkZTQxOGJjMmQ3YzAzNGI4ODllZjUyNjBlNzRlYzM3MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMjgwLDcgKzI4MCw3
IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBIYXNoTWFwPENsaWVudE9yaWdpbiwgQ2xpZW50cz4g
bV9jbGllbnRJZGVudGlmaWVyc1Blck9yaWdpbjsKICAgICBIYXNoTWFwPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyLCBXZWFrUHRyPFNXU2VydmVyUmVnaXN0cmF0aW9uPj4gbV9zZXJ2
aWNlV29ya2VyUGFnZUlkZW50aWZpZXJUb1JlZ2lzdHJhdGlvbk1hcDsKLSAgICBIYXNoTWFwPFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4g
bV9jbGllbnRzQnlJZDsKKyAgICBIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyLCBVbmlxdWVSZWY8U2VydmljZVdvcmtlckNsaWVudERhdGE+PiBtX2NsaWVudHNCeUlkOwog
ICAgIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRp
b247CiAgICAgSGFzaE1hcDxTdHJpbmcsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
PiBtX3Zpc2libGVDbGllbnRJZFRvSW50ZXJuYWxDbGllbnRJZE1hcDsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA0NTJjNjcxMTM4MGYxMGQwNzM5NzI1MjZl
NzMwZjMyNjM5YjhhZmRkLi5mOWNjYjg1ZmU5ZWRmYzM2MWRhMTZiMjI0NDliNjE1OWNiMzUzNjQx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTc1LDcgKzE3
NSw3IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVuCiAgICAgICAgIHVucmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KGNsaWVudElkZW50aWZpZXIpOwogICAgIH0pOwogCi0gICAgU2VydmljZVdv
cmtlckNsaWVudERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlOjpXaW5kb3csIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVl
c3QudXJsKCksIHJlcXVlc3QuaXNBcHBJbml0aWF0ZWQoKSA/IFdlYkNvcmU6Okxhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBXZWJDb3JlOjpMYXN0TmF2aWdhdGlvbldhc0FwcElu
aXRpYXRlZDo6Tm8gfTsKKyAgICBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhIHsgY2xpZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdywgU2VydmljZVdvcmtl
ckNsaWVudEZyYW1lVHlwZTo6Tm9uZSwgcmVxdWVzdC51cmwoKSwgcmVxdWVzdC5pc0FwcEluaXRp
YXRlZCgpID8gV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdl
YkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAw
LCB7IH0gfTsKICAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmlnaW5E
YXRhIHsgcmVnaXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0sIFdURk1vdmUoZGF0YSksIHJl
Z2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVzZXJBZ2VudCgpKTsKIH0KIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGQ5NjdjYTY2MDAzNDA3ZDI3MjhkNGYyMTczMjEwMDMwNmIyOTBmNmIuLmEwNzZhYmY5
ZWJmMjg4NjNmNzkxM2QzZTgxMjU2M2I5ZjQ0NjhiMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMy0yOCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IFNlcnZpY2VXb3JrZXIgV2luZG93Q2xpZW50LmFuY2VzdG9yT3JpZ2lucworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL3RoaXJkLXBhcnR5LXdvcmtlci5qczoKKyAgICAgICAg
KiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQtcGFydHktcmVnaXN0cmF0aW9uLmh0bWw6
CisKIDIwMjItMDMtMjcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxlLmNvbT4KIAog
ICAgICAgICBQcmVzZXJ2ZSByZXBlYXQoKSBub3RhdGlvbiBmb3IgZ3JpZC10ZW1wbGF0ZXMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDMxZGE5MTM4N2FiYzQyNWRlYzQwMmY2ODg0
YTU1MWNmNTA4ZTQ2OWEuLjA5MzBiMjFkMjQxOGYzYzFmNGNiZmMxYjViZGFkOTExNTA3OTcyMmQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAz
LTI4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgU2VydmljZVdvcmtlciBXaW5kb3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBl
Y3RlZC50eHQ6CisKIDIwMjItMDMtMjcgIE1hdHQgV29vZHJvdyAgPG1hdHR3b29kcm93QGFwcGxl
LmNvbT4KIAogICAgICAgICBQcmVzZXJ2ZSByZXBlYXQoKSBub3RhdGlvbiBmb3IgZ3JpZC10ZW1w
bGF0ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9y
ZXNvdXJjZXMvdGhpcmQtcGFydHktd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3JrZXIuanMKaW5kZXggMGExNDI0
ZWU5Njc4MDJhZTE4ZGZjYzAwMWM4ZTY4OWM1ZTc0NDg5Yy4uNDE5OGM0MGFiNDUyZTBkNDBlODNl
MDhhYzMwMGIwODcyOGFkNzcwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3JrZXIuanMKKysrIGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3Jr
ZXIuanMKQEAgLTIzLDYgKzIzLDEwIEBAIGFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3lu
YyAoZSkgPT4gewogICAgICAgICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoJ2Nvb2tpZS1pcy1z
ZXQnKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQorICAgICAgICBpZiAoZS5kYXRh
ID09PSAnYW5jZXN0b3JPcmlnaW5zJykgeworICAgICAgICAgICAgZS5zb3VyY2UucG9zdE1lc3Nh
Z2UoZS5zb3VyY2UuYW5jZXN0b3JPcmlnaW5zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQogICAgICAgICBlLnNvdXJjZS5wb3N0TWVzc2FnZSgnZXJyb3InKTsKICAgICB9IGNhdGNo
IChlKSB7CiAgICAgICAgIGUuc291cmNlLnBvc3RNZXNzYWdlKCdHb3QgZXJyb3I6JyArIGUpOwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBh
cnR5LXJlZ2lzdHJhdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3Jr
ZXJzL3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi5odG1sCmluZGV4IGFiNTM4YWFlN2VlOTRiYjQw
ZDQwY2I0ZGQ4YzA1OWU1OGJiNDU5N2MuLjFlZmU4ZDc0ZDBjM2E4Mzg2MDUzYTU5Njk4MDJkNTRj
YmI3Y2JlYjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQtcGFydHktcmVnaXN0cmF0aW9uLmh0bWwKQEAgLTEwLDIz
ICsxMCw0MCBAQCBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKIH0KIAorZnVuY3Rpb24gbG9nQW5kRmluaXNoVGVzdChtc2cpCit7CisgICAgZG9j
dW1lbnQuYm9keS5pbm5lckhUTUwgPSBtc2c7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKK30KKwogdmFyIHNob3VsZFRlc3QgPSAh
IXdpbmRvdy5sb2NhdGlvbi5oYXNoOwogYXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKIHsKLSAgICB2
YXIgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODgwMS9XZWJL
aXQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24tZnJh
bWUuaHRtbCIpOwotICAgIHZhciByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkg
PT4gewotICAgICAgICB3aW5kb3cub25tZXNzYWdlID0gKGUpID0+IHsKLSAgICAgICAgICAgIHJl
c29sdmUoZS5kYXRhKTsKLSAgICAgICAgfTsKLSAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cu
cG9zdE1lc3NhZ2Uoc2hvdWxkVGVzdCA/ICJyZWFkIiA6ICJ3cml0ZSIsICcqJyk7Ci0gICAgfSk7
CisgICAgY29uc3QgaWZyYW1lID0gYXdhaXQgd2l0aF9pZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6
ODgwMS9XZWJLaXQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1yZWdpc3Ry
YXRpb24tZnJhbWUuaHRtbCIpOworCisgICAgaWYgKHNob3VsZFRlc3QpIHsKKyAgICAgICAgaWZy
YW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2UoImFuY2VzdG9yT3JpZ2lucyIsICcqJyk7Cisg
ICAgICAgIGNvbnN0IGFuY2VzdG9yT3JpZ2luc0RhdGEgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHdpbmRvdy5vbm1lc3NhZ2UgPSAoZSkgPT4gcmVzb2x2ZShlLmRhdGEpKTsKKyAgICAg
ICAgaWYgKGFuY2VzdG9yT3JpZ2luc0RhdGEubGVuZ3RoICE9PSAxKSB7CisgICAgICAgICAgICBs
b2dBbmRGaW5pc2hUZXN0KCJGQUlMIGFuY2VzdG9yT3JpZ2luc0RhdGEgbGVuZ3RoIGlzIG5vdCAx
Iik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGFuY2VzdG9y
T3JpZ2luc0RhdGFbMF0gIT09ICJodHRwOi8vbG9jYWxob3N0Ojg4MDEiKSB7CisgICAgICAgICAg
ICBsb2dBbmRGaW5pc2hUZXN0KCJGQUlMIGFuY2VzdG9yT3JpZ2luc0RhdGEgbGVuZ3RoIGlzIG5v
dCAxIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZnJh
bWUuY29udGVudFdpbmRvdy5wb3N0TWVzc2FnZShzaG91bGRUZXN0ID8gInJlYWQiIDogIndyaXRl
IiwgJyonKTsKKyAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+
IHdpbmRvdy5vbm1lc3NhZ2UgPSAoZSkgPT4gcmVzb2x2ZShlLmRhdGEpKTsKKwogICAgIGlmIChz
aG91bGRUZXN0KSB7CiAgICAgICAgIHZhciBleHBlY3RlZCA9ICd7XCJjYWNoZVwiOltdLFwiZGJc
IjpudWxsfSc7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuaW5uZXJIVE1MID0gcmVzdWx0ID09PSBl
eHBlY3RlZCA/ICJQQVNTIiA6ICgiRkFJTDogZ290ICIgKyByZXN1bHQpOwotICAgICAgICBpZiAo
d2luZG93LnRlc3RSdW5uZXIpCi0gICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICAgICAgbG9nQW5kRmluaXNoVGVzdChyZXN1bHQgPT09IGV4cGVjdGVkID8gIlBBU1MiIDog
KCJGQUlMOiBnb3QgIiArIHJlc3VsdCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQorCiAgICAg
aWZyYW1lLnJlbW92ZSgpOwogICAgIHdpbmRvdy5sb2NhdGlvbiA9ICJodHRwOi8vbG9jYWxob3N0
Ojg4MDEvV2ViS2l0L3NlcnZpY2Utd29ya2Vycy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24uaHRt
bCNzZWNvbmQiOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvaWRsaGFybmVzcy5odHRwcy5hbnkuc2Vydmlj
ZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29y
a2VyLWV4cGVjdGVkLnR4dAppbmRleCA0NDVmYzY4M2Q3YzE2MmVmOTVmNWRjNTU3MTk5OTA0YjFj
YzIyNzQwLi40ZDQwMWYzYmFlMWM1NTRhNmY5NjA1OTI3ZDMxNTIwYzIyNjI2MGI1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApA
QCAtMTcxLDcgKzE3MSw3IEBAIFBBU1MgV2luZG93Q2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqCiBQQVNTIFdpbmRvd0Ns
aWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKIFBBU1MgV2luZG93Q2xpZW50
IGludGVyZmFjZTogYXR0cmlidXRlIHZpc2liaWxpdHlTdGF0ZQogUEFTUyBXaW5kb3dDbGllbnQg
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9jdXNlZAotRkFJTCBXaW5kb3dDbGllbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgYW5jZXN0b3JPcmlnaW5zIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9i
amVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0eSAiYW5jZXN0b3JPcmlnaW5zIiBleHBlY3RlZCB0cnVl
IGdvdCBmYWxzZQorUEFTUyBXaW5kb3dDbGllbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYW5jZXN0
b3JPcmlnaW5zCiBQQVNTIFdpbmRvd0NsaWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBmb2N1cygp
CiBQQVNTIFdpbmRvd0NsaWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBuYXZpZ2F0ZShVU1ZTdHJp
bmcpCiBQQVNTIENsaWVudHMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2Yg
aW50ZXJmYWNlIG9iamVjdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456108</attachid>
            <date>2022-03-30 03:05:18 -0700</date>
            <delta_ts>2022-03-31 00:52:26 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-238441-20220330120516.patch</filename>
            <type>text/plain</type>
            <size>23135</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMDI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGU0ZWVmYjYyZjdiOWE0YzRlYTRmN2Nl
N2EwZDJiYjVmZDQzYzg4NDQuLjhjOTZjMzE4ZjdmMzBmODQwMWJlYWU4OTFmYmNjZDE1NjViNGQw
ZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDMtMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0Ns
aWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6Lgor
CisgICAgICAgIFVwZGF0ZSBVbmlxdWVSZWYgYW5kIEhhc2hUcmFpdHMgdG8gbm90IHVzZSBhIHBy
aXZhdGUgY29uc3RydWN0b3Igd2hlbiBjcmVhdGluZyBlbXB0eSB2YWx1ZXMuCisKKyAgICAgICAg
KiB3dGYvSGFzaFRyYWl0cy5oOgorICAgICAgICAqIHd0Zi9VbmlxdWVSZWYuaDoKKwogMjAyMi0w
My0yOCAgU2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxl
IGN1c3RvbSBzdG9yYWdlIHBhdGhzIGZvciBJbmRleGVkREIgYW5kIExvY2FsU3RvcmFnZSBieSBk
ZWZhdWx0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggYTg4YWQwNmI0MjU4MzNiNWE0ZmE1MDA2ZGJkMGU1N2NjZDNl
M2M5Ny4uYTliZGFmMTZmMzkwNjlmZDU5ODJmMTBhZTg2YzgwODM2YjJkYTU2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIyIEBACisyMDIyLTAzLTMwICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgU2VydmljZVdvcmtlciBXaW5kb3dDbGllbnQu
YW5jZXN0b3JPcmlnaW5zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzg0NDEKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAg
ICAgICBBZGQgYW5jZXN0b3JPcmlnaW5zIHRvIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhLgorICAg
ICAgICBNaWdyYXRlIGNsaWVudCBtYXAgdG8gVW5pcXVlUmVmIHNpbmNlIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhIHNpemUgZ29lcyBhYm92ZSAxMjguCisKKyAgICAgICAgQ292ZXJlZCBieSB1cGRh
dGVkIHRlc3RzLgorCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGll
bnREYXRhLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVu
dERhdGEuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0Ns
aWVudC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xp
ZW50LmlkbDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcDoK
KyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6CisKIDIwMjItMDMt
MjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVu
dCBwZXJzaXN0ZW50IG5vdGlmaWNhdGlvbiBoYW5kbGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA3NTIyMWNjYTky
YzE4M2NmYjFmZjI5YzA4ZTRkZTE0YjdjMWE2ZmYwLi40YjBkYzMwNjg1OTc2NjJjMzhkZTIyNGI4
Zjc0NjRjY2E3YWVhNGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIyLTAzLTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgU2Vy
dmljZVdvcmtlciBXaW5kb3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg0NDEKKworICAgICAgICBSZXZpZXdl
ZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dTZXJ2
ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KToKKwogMjAyMi0wMy0yOSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IHBlcnNpc3RlbnQgbm90
aWZpY2F0aW9uIGhhbmRsaW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRz
LmggYi9Tb3VyY2UvV1RGL3d0Zi9IYXNoVHJhaXRzLmgKaW5kZXggNzUyNDgxYjNmZmMxMzE1YzU2
OGEyM2NlZDdlZDY3ZTVmMTRiYmQ4Zi4uNTYwYWY2ZDY4N2I3OTBhZTZmZmUwY2RmYTRkMzU4NTdh
M2FiMTQyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvSGFzaFRyYWl0cy5oCisrKyBiL1Nv
dXJjZS9XVEYvd3RmL0hhc2hUcmFpdHMuaApAQCAtMTgyLDYgKzE4MiwxMiBAQCB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBzdHJ1Y3QgSGFzaFRyYWl0czxVbmlxdWVSZWY8VD4+IDogU2ltcGxlQ2xhc3NI
YXNoVHJhaXRzPFVuaQogICAgIHR5cGVkZWYgc3RkOjpudWxscHRyX3QgRW1wdHlWYWx1ZVR5cGU7
CiAgICAgc3RhdGljIEVtcHR5VmFsdWVUeXBlIGVtcHR5VmFsdWUoKSB7IHJldHVybiBudWxscHRy
OyB9CiAKKyAgICB0ZW1wbGF0ZSA8dHlwZW5hbWU+CisgICAgc3RhdGljIHZvaWQgY29uc3RydWN0
RW1wdHlWYWx1ZShVbmlxdWVSZWY8VD4mIHNsb3QpCisgICAgeworICAgICAgICBuZXcgKE5vdE51
bGwsIHN0ZDo6YWRkcmVzc29mKHNsb3QpKSBVbmlxdWVSZWY8VD4oSGFzaFRhYmxlRW1wdHlWYWx1
ZSk7CisgICAgfQorCiAgICAgc3RhdGljIHZvaWQgY29uc3RydWN0RGVsZXRlZFZhbHVlKFVuaXF1
ZVJlZjxUPiYgc2xvdCkgeyBuZXcgKE5vdE51bGwsIHN0ZDo6YWRkcmVzc29mKHNsb3QpKSBVbmlx
dWVSZWY8VD4geyByZWludGVycHJldF9jYXN0PFQqPigtMSkgfTsgfQogICAgIHN0YXRpYyBib29s
IGlzRGVsZXRlZFZhbHVlKGNvbnN0IFVuaXF1ZVJlZjxUPiYgdmFsdWUpIHsgcmV0dXJuIHZhbHVl
LmdldCgpID09IHJlaW50ZXJwcmV0X2Nhc3Q8VCo+KC0xKTsgfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9VbmlxdWVSZWYuaCBiL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCmluZGV4
IDBmZjAxZmU4MzJlMmVjZGYzMWIzMGZiMTdlYjZlMDA3ZDIzODc4YmUuLjlhNGVlMjc3NjMwNzMz
MDUyNzMxM2QwYzU4YjVlMjc2YmYxMzMxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Vu
aXF1ZVJlZi5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1VuaXF1ZVJlZi5oCkBAIC04Niw2ICs4Niw4
IEBAIHB1YmxpYzoKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjxUPiBtb3ZlVG9VbmlxdWVQdHIoKSB7
IHJldHVybiBXVEZNb3ZlKG1fcmVmKTsgfQogCisgICAgZXhwbGljaXQgVW5pcXVlUmVmKEhhc2hU
YWJsZUVtcHR5VmFsdWVUeXBlKSB7IH0KKwogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTxjbGFzcyBV
LCBjbGFzcy4uLiBBcmdzPiBmcmllbmQgVW5pcXVlUmVmPFU+IG1ha2VVbmlxdWVSZWZXaXRob3V0
RmFzdE1hbGxvY0NoZWNrKEFyZ3MmJi4uLik7CiAgICAgdGVtcGxhdGU8Y2xhc3MgVT4gZnJpZW5k
IFVuaXF1ZVJlZjxVPiBtYWtlVW5pcXVlUmVmRnJvbU5vbk51bGxVbmlxdWVQdHIoc3RkOjp1bmlx
dWVfcHRyPFU+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKaW5kZXggOTM1Yjc5M2FiYTA2N2NjNzk4
Zjg2Mjk1MGFkMGJkOTlkOTAwNDNmNi4uNTkxNmJiMDRkNmNkMjk1MGJlYTFmY2NhMjVkMWU2MjZl
YjdlNmU1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIlNXQ2xp
ZW50Q29ubmVjdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGllci5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTU4LDEyICs1OSwxMiBAQCBzdGF0aWMgU2VydmljZVdv
cmtlckNsaWVudEZyYW1lVHlwZSB0b1NlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGUoU2NyaXB0
RXhlY3V0aQogCiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QgJgogewotICAgIHJldHVybiB7IGlkZW50aWZpZXIsIHR5
cGUsIGZyYW1lVHlwZSwgdXJsLmlzb2xhdGVkQ29weSgpLCBwYWdlSWRlbnRpZmllciwgbGFzdE5h
dmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsIGlzVmlzaWJsZSwgaXNGb2N1c2VkLCBmb2N1c09yZGVy
IH07CisgICAgcmV0dXJuIHsgaWRlbnRpZmllciwgdHlwZSwgZnJhbWVUeXBlLCB1cmwuaXNvbGF0
ZWRDb3B5KCksIHBhZ2VJZGVudGlmaWVyLCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCwg
aXNWaXNpYmxlLCBpc0ZvY3VzZWQsIGZvY3VzT3JkZXIsIGNyb3NzVGhyZWFkQ29weShhbmNlc3Rv
ck9yaWdpbnMpIH07CiB9CiAKIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhOjppc29sYXRlZENvcHkoKSAmJgogewotICAgIHJldHVybiB7IGlkZW50aWZpZXIs
IHR5cGUsIGZyYW1lVHlwZSwgV1RGTW92ZSh1cmwpLmlzb2xhdGVkQ29weSgpLCBwYWdlSWRlbnRp
ZmllciwgbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQsIGlzVmlzaWJsZSwgaXNGb2N1c2Vk
LCBmb2N1c09yZGVyIH07CisgICAgcmV0dXJuIHsgaWRlbnRpZmllciwgdHlwZSwgZnJhbWVUeXBl
LCBXVEZNb3ZlKHVybCkuaXNvbGF0ZWRDb3B5KCksIHBhZ2VJZGVudGlmaWVyLCBsYXN0TmF2aWdh
dGlvbldhc0FwcEluaXRpYXRlZCwgaXNWaXNpYmxlLCBpc0ZvY3VzZWQsIGZvY3VzT3JkZXIsIGNy
b3NzVGhyZWFkQ29weShXVEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykpIH07CiB9CiAKIFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQpCkBAIC03NCw2ICs3NSwxMiBAQCBTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbShTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjbwogICAgIGF1dG8mIGRvY3VtZW50ID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQp
OwogICAgIGF1dG8gbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgPSBkb2N1bWVudC5sb2Fk
ZXIoKSAmJiBkb2N1bWVudC5sb2FkZXIoKS0+bGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQo
KSA/IExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMgOiBMYXN0TmF2aWdhdGlvbldh
c0FwcEluaXRpYXRlZDo6Tm87CiAKKyAgICBWZWN0b3I8U3RyaW5nPiBhbmNlc3Rvck9yaWdpbnM7
CisgICAgaWYgKGF1dG8qIGZyYW1lID0gZG9jdW1lbnQuZnJhbWUoKSkgeworICAgICAgICBmb3Ig
KGF1dG8qIGFuY2VzdG9yID0gZnJhbWUtPnRyZWUoKS5wYXJlbnQoKTsgYW5jZXN0b3I7IGFuY2Vz
dG9yID0gYW5jZXN0b3ItPnRyZWUoKS5wYXJlbnQoKSkKKyAgICAgICAgICAgIGFuY2VzdG9yT3Jp
Z2lucy5hcHBlbmQoYW5jZXN0b3ItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCkudG9TdHJp
bmcoKSk7CisgICAgfQorCiAgICAgcmV0dXJuIHsKICAgICAgICAgY29udGV4dC5pZGVudGlmaWVy
KCksCiAgICAgICAgIGlzRG9jdW1lbnQgPyBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93
IDogU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlciwKQEAgLTgzLDcgKzkwLDggQEAgU2Vy
dmljZVdvcmtlckNsaWVudERhdGEgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgY28KICAgICAgICAgbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0
ZWQsCiAgICAgICAgICFkb2N1bWVudC5oaWRkZW4oKSwKICAgICAgICAgZG9jdW1lbnQuaGFzRm9j
dXMoKSwKLSAgICAgICAgMAorICAgICAgICAwLAorICAgICAgICBXVEZNb3ZlKGFuY2VzdG9yT3Jp
Z2lucykKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oCmluZGV4IDE0OWE1MWEyMWRmNTdmNGQz
Yzk2ZTgyZTUxYWI4ZmE1ZDE0ZjA0NjcuLjI2NGFhOWU2OGJmZDg0MmExOTVjNDEzOGM4MWJjZjBk
N2QyMzg3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5oCkBAIC00Miw2ICs0Miw4IEBAIGNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7CiBlbnVtIGNsYXNzIExhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlh
dGVkIDogYm9vbCB7IE5vLCBZZXMgfTsKIAogc3RydWN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRh
IHsKKyAgICBXVEZfTUFLRV9TVFJVQ1RfRkFTVF9BTExPQ0FURUQ7CisKICAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyOwogICAgIFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlIHR5cGU7CiAgICAgU2VydmljZVdvcmtlckNsaWVudEZyYW1lVHlwZSBmcmFtZVR5cGU7
CkBAIC01MSw2ICs1Myw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSB7CiAgICAg
Ym9vbCBpc1Zpc2libGUgeyBmYWxzZSB9OwogICAgIGJvb2wgaXNGb2N1c2VkIHsgZmFsc2UgfTsK
ICAgICB1aW50NjRfdCBmb2N1c09yZGVyIHsgMCB9OworICAgIFZlY3RvcjxTdHJpbmc+IGFuY2Vz
dG9yT3JpZ2luczsKIAogICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGlzb2xhdGVkQ29weSgp
IGNvbnN0ICY7CiAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgaXNvbGF0ZWRDb3B5KCkgJiY7
CkBAIC02NCw3ICs2Nyw3IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSB7CiB0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPgogdm9pZCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0CiB7Ci0gICAgZW5jb2RlciA8PCBpZGVudGlmaWVyIDw8
IHR5cGUgPDwgZnJhbWVUeXBlIDw8IHVybCA8PCBwYWdlSWRlbnRpZmllciA8PCBsYXN0TmF2aWdh
dGlvbldhc0FwcEluaXRpYXRlZCA8PCBpc1Zpc2libGUgPDwgaXNGb2N1c2VkIDw8IGZvY3VzT3Jk
ZXI7CisgICAgZW5jb2RlciA8PCBpZGVudGlmaWVyIDw8IHR5cGUgPDwgZnJhbWVUeXBlIDw8IHVy
bCA8PCBwYWdlSWRlbnRpZmllciA8PCBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZCA8PCBp
c1Zpc2libGUgPDwgaXNGb2N1c2VkIDw8IGZvY3VzT3JkZXIgPDwgYW5jZXN0b3JPcmlnaW5zOwog
fQogCiB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgpAQCAtMTE1LDcgKzExOCwxMiBAQCBzdGQ6Om9w
dGlvbmFsPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPiBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6
ZGVjb2RlKERlY29kZXImCiAgICAgaWYgKCFmb2N1c09yZGVyKQogICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwogCi0gICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92
ZSgqdHlwZSksIFdURk1vdmUoKmZyYW1lVHlwZSksIFdURk1vdmUoKnVybCksIFdURk1vdmUoKnBh
Z2VJZGVudGlmaWVyKSwgV1RGTW92ZSgqbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQpLCBX
VEZNb3ZlKCppc1Zpc2libGUpLCBXVEZNb3ZlKCppc0ZvY3VzZWQpLCBXVEZNb3ZlKCpmb2N1c09y
ZGVyKSB9IH07CisgICAgc3RkOjpvcHRpb25hbDxWZWN0b3I8U3RyaW5nPj4gYW5jZXN0b3JPcmln
aW5zOworICAgIGRlY29kZXIgPj4gYW5jZXN0b3JPcmlnaW5zOworICAgIGlmICghYW5jZXN0b3JP
cmlnaW5zKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyBX
VEZNb3ZlKCppZGVudGlmaWVyKSwgV1RGTW92ZSgqdHlwZSksIFdURk1vdmUoKmZyYW1lVHlwZSks
IFdURk1vdmUoKnVybCksIFdURk1vdmUoKnBhZ2VJZGVudGlmaWVyKSwgV1RGTW92ZSgqbGFzdE5h
dmlnYXRpb25XYXNBcHBJbml0aWF0ZWQpLCBXVEZNb3ZlKCppc1Zpc2libGUpLCBXVEZNb3ZlKCpp
c0ZvY3VzZWQpLCBXVEZNb3ZlKCpmb2N1c09yZGVyKSwgV1RGTW92ZSgqYW5jZXN0b3JPcmlnaW5z
KSB9IH07CiB9CiAKIHVzaW5nIFNlcnZpY2VXb3JrZXJDbGllbnRzTWF0Y2hBbGxDYWxsYmFjayA9
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoVmVjdG9yPFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPiYm
KT47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlcldpbmRvd0NsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJXaW5kb3dDbGllbnQuaAppbmRleCAzMTE3NDJlOTIyZGZhNWJiYjc4MjllN2Q2Nzgy
MGEwMmFmYjg0YzczLi42ZTg0NWFhMmIxOWQxMTRhNDAxOGE0M2E3ZjBmNzU5Zjg1NDIwMDVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldp
bmRvd0NsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyV2luZG93Q2xpZW50LmgKQEAgLTQzLDcgKzQzLDggQEAgcHVibGljOgogICAgIH0KIAog
ICAgIFZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGUoKSBjb25zdCB7IHJldHVybiBkYXRh
KCkuaXNWaXNpYmxlID8gVmlzaWJpbGl0eVN0YXRlOjpWaXNpYmxlIDogVmlzaWJpbGl0eVN0YXRl
OjpIaWRkZW47IH0KLSAgICBib29sIGlzRm9jdXNlZCgpIGNvbnN0IHsgcmV0dXJuIGRhdGEoKS5p
c0ZvY3VzZWQ7IH0KKyAgICBib29sIGZvY3VzZWQoKSBjb25zdCB7IHJldHVybiBkYXRhKCkuaXNG
b2N1c2VkOyB9CisgICAgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFuY2VzdG9yT3JpZ2lucygpIGNv
bnN0IHsgcmV0dXJuIGRhdGEoKS5hbmNlc3Rvck9yaWdpbnM7IH0KIAogICAgIHZvaWQgZm9jdXMo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZv
aWQgbmF2aWdhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0cmluZyYgdXJsLCBS
ZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbAppbmRleCBjNDU4
ZGE1Nzk4Y2JmMmFjMGQ1OTYxMzkyNTBmZDE3NjAwZWE5MDI3Li5jYmY2NjdjMDk2YmI1OTNkMmMy
YmM5ZGY1ZjZiYzRjOWQ0Y2Q0OGI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaWRsCkBAIC0zMCw3
ICszMCw4IEBACiAgICAgSW50ZXJmYWNlTmFtZT1XaW5kb3dDbGllbnQsCiBdIGludGVyZmFjZSBT
ZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50IDogU2VydmljZVdvcmtlckNsaWVudCB7CiAgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIFZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5U3RhdGU7Ci0gICAgW0lt
cGxlbWVudGVkQXM9aXNGb2N1c2VkXSByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBmb2N1c2Vk
OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIGZvY3VzZWQ7CisgICAgW1NhbWVPYmpl
Y3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBGcm96ZW5BcnJheTxVU1ZTdHJpbmc+IGFuY2VzdG9yT3Jp
Z2luczsKIAogICAgIFtOZXdPYmplY3QsIENhbGxXaXRoPUN1cnJlbnRTY3JpcHRFeGVjdXRpb25D
b250ZXh0XSBQcm9taXNlPFNlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQ+IGZvY3VzKCk7CiAgICAg
W05ld09iamVjdCwgQ2FsbFdpdGg9Q3VycmVudFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21p
c2U8U2VydmljZVdvcmtlcldpbmRvd0NsaWVudD4gbmF2aWdhdGUoVVNWU3RyaW5nIHVybCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
CmluZGV4IGQ2M2FkMGM0ZTI3YjE0YjA0ZmUwNDZmYzljMzI2NjlmMzJiNmJjYTcuLmEzMWY0N2Jk
NTc3ZjZlNjJmNjNkNTk0MDFjODM4YzVkNTFjNjVjYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC02OTcsNyArNjk3LDcg
QEAgTGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQgU1dTZXJ2ZXI6OmNsaWVudElzQXBwSW5p
dGlhdGVkRm9yUmVnaXN0cmFibGVEb21haW4KICAgICBmb3IgKGF1dG8mIGNsaWVudCA6IGNsaWVu
dHNGb3JSZWdpc3RyYWJsZURvbWFpbikgewogICAgICAgICBhdXRvIGRhdGEgPSBtX2NsaWVudHNC
eUlkLmZpbmQoY2xpZW50KTsKICAgICAgICAgQVNTRVJUKGRhdGEgIT0gbV9jbGllbnRzQnlJZC5l
bmQoKSk7Ci0gICAgICAgIGlmIChkYXRhLT52YWx1ZS5sYXN0TmF2aWdhdGlvbldhc0FwcEluaXRp
YXRlZCA9PSBMYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRlZDo6WWVzKQorICAgICAgICBpZiAo
ZGF0YS0+dmFsdWUtPmxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkID09IExhc3ROYXZpZ2F0
aW9uV2FzQXBwSW5pdGlhdGVkOjpZZXMpCiAgICAgICAgICAgICByZXR1cm4gTGFzdE5hdmlnYXRp
b25XYXNBcHBJbml0aWF0ZWQ6OlllczsKICAgICB9CiAKQEAgLTk2OCwxMiArOTY4LDEyIEBAIHZv
aWQgU1dTZXJ2ZXI6OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBj
bGllbnRPcmlnaW4sIFNlcnZpY2VXCiAgICAgICAgIEFTU0VSVChtX2NsaWVudHNCeUlkLmNvbnRh
aW5zKGNsaWVudElkZW50aWZpZXIpKTsKICAgICAgICAgaWYgKGRhdGEuaXNGb2N1c2VkKQogICAg
ICAgICAgICAgZGF0YS5mb2N1c09yZGVyID0gKyttX2ZvY3VzT3JkZXI7Ci0gICAgICAgIG1fY2xp
ZW50c0J5SWQuc2V0KGNsaWVudElkZW50aWZpZXIsIFdURk1vdmUoZGF0YSkpOworICAgICAgICBt
X2NsaWVudHNCeUlkLnNldChjbGllbnRJZGVudGlmaWVyLCBtYWtlVW5pcXVlUmVmPFNlcnZpY2VX
b3JrZXJDbGllbnREYXRhPihXVEZNb3ZlKGRhdGEpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKICAgICBBU1NFUlQoIW1fY2xpZW50c0J5SWQuY29udGFpbnMoY2xpZW50SWRlbnRpZmllcikp
OwotICAgIG1fY2xpZW50c0J5SWQuYWRkKGNsaWVudElkZW50aWZpZXIsIFdURk1vdmUoZGF0YSkp
OworICAgIG1fY2xpZW50c0J5SWQuYWRkKGNsaWVudElkZW50aWZpZXIsIG1ha2VVbmlxdWVSZWY8
U2VydmljZVdvcmtlckNsaWVudERhdGE+KFdURk1vdmUoZGF0YSkpKTsKIAogICAgIGF1dG8mIGNs
aWVudElkZW50aWZpZXJzRm9yT3JpZ2luID0gbV9jbGllbnRJZGVudGlmaWVyc1Blck9yaWdpbi5l
bnN1cmUoY2xpZW50T3JpZ2luLCBbXSB7CiAgICAgICAgIHJldHVybiBDbGllbnRzIHsgfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRl
eCA5ZDVhZDJhNTJlY2U2Y2VjMzg3MjJiYWVkODRkMTE5MzAxNDgzYTQ0Li5hNGJiNzUzZmVjNDAy
MzAwMzg5NTU1M2ZmMjgyYmRjOWNlOWI1MGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC0yODMsNyArMjgzLDcgQEAgcHJpdmF0
ZToKICAgICB9OwogICAgIEhhc2hNYXA8Q2xpZW50T3JpZ2luLCBDbGllbnRzPiBtX2NsaWVudElk
ZW50aWZpZXJzUGVyT3JpZ2luOwogICAgIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIFdlYWtQdHI8U1dTZXJ2ZXJSZWdpc3RyYXRpb24+PiBtX3NlcnZpY2VXb3JrZXJQ
YWdlSWRlbnRpZmllclRvUmVnaXN0cmF0aW9uTWFwOwotICAgIEhhc2hNYXA8U2NyaXB0RXhlY3V0
aW9uQ29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhPiBtX2NsaWVudHNC
eUlkOworICAgIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFVuaXF1
ZVJlZjxTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YT4+IG1fY2xpZW50c0J5SWQ7CiAgICAgSGFzaE1h
cDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXI+IG1fY2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbjsKICAgICBI
YXNoTWFwPFN0cmluZywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IG1fdmlzaWJs
ZUNsaWVudElkVG9JbnRlcm5hbENsaWVudElkTWFwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCmluZGV4IGU5ZWIyMzk5YTk4YmYzZTVhYzNmZWQ4YWVhMzIzYmU2MzRm
YzI1ZGUuLjZmYThkYWE0MmQ0NzhkYWM0YzNlN2U4ZTZmY2ZlNmJhZjU4YjY4NmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2Vydmlj
ZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjQsNyArMTY0LDcgQEAgdm9p
ZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVwZGF0ZVdvcmtlclN0YXRlSW5DbGllbnQoU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIgd28KICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5l
Y3Rpb246OlVwZGF0ZVdvcmtlclN0YXRlKHdvcmtlciwgc3RhdGUpKTsKIH0KIAotdm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJh
dGlvbiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQordm9pZCBXZWJTV1NlcnZlckNv
bm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgVmVjdG9yPFJlZlB0cjxTZWN1cml0eU9yaWdp
bj4+JiBmcmFtZUFuY2VzdG9yT3JpZ2lucywgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgY2xpZW50SWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwg
Y29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogewogICAgIC8vIEFzIHBlciBzdGVwIDEy
IG9mIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNvbi1mZXRjaC1yZXF1ZXN0
LWFsZ29yaXRobSwgdGhlIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlciBzaG91bGQgYmUgY29udHJvbGxp
bmcgdGhlIGRvY3VtZW50LgogICAgIC8vIFdlIHJlZ2lzdGVyIGEgdGVtcG9yYXJ5IHNlcnZpY2Ug
d29ya2VyIGNsaWVudCB1c2luZyB0aGUgaWRlbnRpZmllciBwcm92aWRlZCBieSBEb2N1bWVudExv
YWRlciBhbmQgbm90aWZ5IERvY3VtZW50TG9hZGVyIGFib3V0IGl0LgpAQCAtMTc1LDcgKzE3NSw4
IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVuCiAgICAgICAgIHVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGNsaWVudElkZW50aWZpZXIpOwogICAgIH0pOwogCi0gICAgU2VydmljZVdvcmtl
ckNsaWVudERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRU
eXBlOjpXaW5kb3csIFNlcnZpY2VXb3JrZXJDbGllbnRGcmFtZVR5cGU6Ok5vbmUsIHJlcXVlc3Qu
dXJsKCksIHsgfSwgcmVxdWVzdC5pc0FwcEluaXRpYXRlZCgpID8gV2ViQ29yZTo6TGFzdE5hdmln
YXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNvcmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBw
SW5pdGlhdGVkOjpObyB9OworICAgIGF1dG8gYW5jZXN0b3JPcmlnaW5zID0gbWFwKGZyYW1lQW5j
ZXN0b3JPcmlnaW5zLCBbXShhdXRvJiBvcmlnaW4pIHsgcmV0dXJuIG9yaWdpbi0+dG9TdHJpbmco
KTsgfSk7CisgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEgZGF0YSB7IGNsaWVudElkZW50aWZp
ZXIsIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3csIFNlcnZpY2VXb3JrZXJDbGllbnRG
cmFtZVR5cGU6Ok5vbmUsIHJlcXVlc3QudXJsKCksIHsgfSwgcmVxdWVzdC5pc0FwcEluaXRpYXRl
ZCgpID8gV2ViQ29yZTo6TGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQ6OlllcyA6IFdlYkNv
cmU6Okxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkOjpObywgZmFsc2UsIGZhbHNlLCAwLCBX
VEZNb3ZlKGFuY2VzdG9yT3JpZ2lucykgfTsKICAgICByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQoU2VjdXJpdHlPcmlnaW5EYXRhIHsgcmVnaXN0cmF0aW9uLmtleSgpLnRvcE9yaWdpbigpIH0s
IFdURk1vdmUoZGF0YSksIHJlZ2lzdHJhdGlvbi5pZGVudGlmaWVyKCksIHJlcXVlc3QuaHR0cFVz
ZXJBZ2VudCgpKTsKIH0KIApAQCAtMjAwLDcgKzIwMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrPiBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNyZWF0ZUZldGNoVGFz
ayhOCiAgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgICAgICBzZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IHJlZ2lzdHJhdGlvbi0+aWRlbnRpZmllcigpOwotICAg
ICAgICBjb250cm9sQ2xpZW50KCpsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuY2xpZW50SWRl
bnRpZmllciwgKnJlZ2lzdHJhdGlvbiwgcmVxdWVzdCk7CisgICAgICAgIGNvbnRyb2xDbGllbnQo
bG9hZGVyLnBhcmFtZXRlcnMoKS5mcmFtZUFuY2VzdG9yT3JpZ2lucywgKmxvYWRlci5wYXJhbWV0
ZXJzKCkub3B0aW9ucy5jbGllbnRJZGVudGlmaWVyLCAqcmVnaXN0cmF0aW9uLCByZXF1ZXN0KTsK
ICAgICAgICAgbG9hZGVyLnNldFJlc3VsdGluZ0NsaWVudElkZW50aWZpZXIobG9hZGVyLnBhcmFt
ZXRlcnMoKS5vcHRpb25zLmNsaWVudElkZW50aWZpZXItPnRvU3RyaW5nKCkpOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGlmICghbG9hZGVyLnBhcmFtZXRlcnMoKS5zZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAppbmRl
eCA1M2U0MWM4MmNjM2U1NDEzYzZiZDllZGE2YTk0NDBjZDNlZTVjZjNiLi5mNzdiOWY1YjkzODdi
OTFmMmI2NzMyMGUzN2NmYWJiOWI3OTVlMjRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGdldFB1c2hQ
ZXJtaXNzaW9uU3RhdGUoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8dWludDhfdCwgV2ViQ29yZTo6RXhj
ZXB0aW9uRGF0YT4mJik+JiYpOwogCiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtl
cihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbiwgV2ViQ29yZTo6
TWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlck9y
Q2xpZW50SWRlbnRpZmllciYgc291cmNlKTsKLSAgICB2b2lkIGNvbnRyb2xDbGllbnQoV2ViQ29y
ZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFdlYkNvcmU6OlNXU2VydmVyUmVn
aXN0cmF0aW9uJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0Jik7CisgICAgdm9pZCBj
b250cm9sQ2xpZW50KGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4+
PiYsIFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBXZWJDb3JlOjpT
V1NlcnZlclJlZ2lzdHJhdGlvbiYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwog
CiAgICAgdXNpbmcgRXhjZXB0aW9uT3JWb2lkQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RXhjZXB0aW9uRGF0YT4mJik+OwogICAgIHZvaWQg
ZW5hYmxlTmF2aWdhdGlvblByZWxvYWQoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIEV4Y2VwdGlvbk9yVm9pZENhbGxiYWNrJiYpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDE0NjczM2Ji
Y2Y4MjE1OWJhNGVmMjUzMDY4YzA4M2RhOGE2YmJiN2MuLjUxNzY3MTJhOTc1ZmZmMzQ3NzZlOWNl
MGU5M2RkYjEwNmI1Y2I4ZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wMy0zMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZp
Y2VXb3JrZXIgV2luZG93Q2xpZW50LmFuY2VzdG9yT3JpZ2lucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM4NDQxCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVz
b3VyY2VzL3RoaXJkLXBhcnR5LXdvcmtlci5qczoKKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvdGhpcmQtcGFydHktcmVnaXN0cmF0aW9uLmh0bWw6CisKIDIwMjItMDMtMjkgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcGxlbWVudCBwZXJz
aXN0ZW50IG5vdGlmaWNhdGlvbiBoYW5kbGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggOThlNjEwZDA0NWNmODJmOGY0MzNiN2NjNDIyMmQ1ZmIyMzYxMmIwMi4uMWQ0NWIwNmUx
N2JiOGExN2U3NDA4ODM0ZTc3MDgyMzM0MjhlNjRjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjItMDMtMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0Ns
aWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6Lgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9pZGxoYXJuZXNz
Lmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wMy0yOCAgTmlr
b2xhb3MgTW91Y2h0YXJpcyAgPG5tb3VjaHRhcmlzQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGFt
cCBkZWdlbmVyYXRlIGNhbGMoKSB2YWx1ZXMgZm9yIDxhbmdsZT4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvdGhpcmQtcGFydHktd29y
a2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90
aGlyZC1wYXJ0eS13b3JrZXIuanMKaW5kZXggMGExNDI0ZWU5Njc4MDJhZTE4ZGZjYzAwMWM4ZTY4
OWM1ZTc0NDg5Yy4uNDE5OGM0MGFiNDUyZTBkNDBlODNlMDhhYzMwMGIwODcyOGFkNzcwOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy90
aGlyZC1wYXJ0eS13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS13b3JrZXIuanMKQEAgLTIzLDYgKzIzLDEwIEBA
IGFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBhc3luYyAoZSkgPT4gewogICAgICAgICAgICAg
ZS5zb3VyY2UucG9zdE1lc3NhZ2UoJ2Nvb2tpZS1pcy1zZXQnKTsKICAgICAgICAgICAgIHJldHVy
bjsKICAgICAgICAgfQorICAgICAgICBpZiAoZS5kYXRhID09PSAnYW5jZXN0b3JPcmlnaW5zJykg
eworICAgICAgICAgICAgZS5zb3VyY2UucG9zdE1lc3NhZ2UoZS5zb3VyY2UuYW5jZXN0b3JPcmln
aW5zKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgICAgICBlLnNvdXJjZS5w
b3N0TWVzc2FnZSgnZXJyb3InKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIGUuc291cmNl
LnBvc3RNZXNzYWdlKCdHb3QgZXJyb3I6JyArIGUpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBhcnR5LXJlZ2lzdHJhdGlvbi5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3RoaXJkLXBhcnR5LXJlZ2lzdHJh
dGlvbi5odG1sCmluZGV4IGFiNTM4YWFlN2VlOTRiYjQwZDQwY2I0ZGQ4YzA1OWU1OGJiNDU5N2Mu
LjFlZmU4ZDc0ZDBjM2E4Mzg2MDUzYTU5Njk4MDJkNTRjYmI3Y2JlYjMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRp
b24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvdGhpcmQt
cGFydHktcmVnaXN0cmF0aW9uLmh0bWwKQEAgLTEwLDIzICsxMCw0MCBAQCBpZiAod2luZG93LnRl
c3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKIH0KIAorZnVuY3Rpb24g
bG9nQW5kRmluaXNoVGVzdChtc2cpCit7CisgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSBt
c2c7CisgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICB0ZXN0UnVubmVyLm5vdGlm
eURvbmUoKTsKK30KKwogdmFyIHNob3VsZFRlc3QgPSAhIXdpbmRvdy5sb2NhdGlvbi5oYXNoOwog
YXN5bmMgZnVuY3Rpb24gZG9UZXN0KCkKIHsKLSAgICB2YXIgaWZyYW1lID0gYXdhaXQgd2l0aF9p
ZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODgwMS9XZWJLaXQvc2VydmljZS13b3JrZXJzL3Jlc291
cmNlcy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24tZnJhbWUuaHRtbCIpOwotICAgIHZhciByZXN1
bHQgPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gewotICAgICAgICB3aW5kb3cub25t
ZXNzYWdlID0gKGUpID0+IHsKLSAgICAgICAgICAgIHJlc29sdmUoZS5kYXRhKTsKLSAgICAgICAg
fTsKLSAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1lc3NhZ2Uoc2hvdWxkVGVzdCA/
ICJyZWFkIiA6ICJ3cml0ZSIsICcqJyk7Ci0gICAgfSk7CisgICAgY29uc3QgaWZyYW1lID0gYXdh
aXQgd2l0aF9pZnJhbWUoImh0dHA6Ly8xMjcuMC4wLjE6ODgwMS9XZWJLaXQvc2VydmljZS13b3Jr
ZXJzL3Jlc291cmNlcy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24tZnJhbWUuaHRtbCIpOworCisg
ICAgaWYgKHNob3VsZFRlc3QpIHsKKyAgICAgICAgaWZyYW1lLmNvbnRlbnRXaW5kb3cucG9zdE1l
c3NhZ2UoImFuY2VzdG9yT3JpZ2lucyIsICcqJyk7CisgICAgICAgIGNvbnN0IGFuY2VzdG9yT3Jp
Z2luc0RhdGEgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdpbmRvdy5vbm1lc3NhZ2Ug
PSAoZSkgPT4gcmVzb2x2ZShlLmRhdGEpKTsKKyAgICAgICAgaWYgKGFuY2VzdG9yT3JpZ2luc0Rh
dGEubGVuZ3RoICE9PSAxKSB7CisgICAgICAgICAgICBsb2dBbmRGaW5pc2hUZXN0KCJGQUlMIGFu
Y2VzdG9yT3JpZ2luc0RhdGEgbGVuZ3RoIGlzIG5vdCAxIik7CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICAgICAgaWYgKGFuY2VzdG9yT3JpZ2luc0RhdGFbMF0gIT09ICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDEiKSB7CisgICAgICAgICAgICBsb2dBbmRGaW5pc2hUZXN0KCJGQUlM
IGFuY2VzdG9yT3JpZ2luc0RhdGEgbGVuZ3RoIGlzIG5vdCAxIik7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9CisKKyAgICBpZnJhbWUuY29udGVudFdpbmRvdy5wb3N0TWVz
c2FnZShzaG91bGRUZXN0ID8gInJlYWQiIDogIndyaXRlIiwgJyonKTsKKyAgICBjb25zdCByZXN1
bHQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdpbmRvdy5vbm1lc3NhZ2UgPSAoZSkg
PT4gcmVzb2x2ZShlLmRhdGEpKTsKKwogICAgIGlmIChzaG91bGRUZXN0KSB7CiAgICAgICAgIHZh
ciBleHBlY3RlZCA9ICd7XCJjYWNoZVwiOltdLFwiZGJcIjpudWxsfSc7Ci0gICAgICAgIGRvY3Vt
ZW50LmJvZHkuaW5uZXJIVE1MID0gcmVzdWx0ID09PSBleHBlY3RlZCA/ICJQQVNTIiA6ICgiRkFJ
TDogZ290ICIgKyByZXN1bHQpOwotICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAg
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgbG9nQW5kRmluaXNoVGVz
dChyZXN1bHQgPT09IGV4cGVjdGVkID8gIlBBU1MiIDogKCJGQUlMOiBnb3QgIiArIHJlc3VsdCkp
OwogICAgICAgICByZXR1cm47CiAgICAgfQorCiAgICAgaWZyYW1lLnJlbW92ZSgpOwogICAgIHdp
bmRvdy5sb2NhdGlvbiA9ICJodHRwOi8vbG9jYWxob3N0Ojg4MDEvV2ViS2l0L3NlcnZpY2Utd29y
a2Vycy90aGlyZC1wYXJ0eS1yZWdpc3RyYXRpb24uaHRtbCNzZWNvbmQiOwogfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA0
NDVmYzY4M2Q3YzE2MmVmOTVmNWRjNTU3MTk5OTA0YjFjYzIyNzQwLi40ZDQwMWYzYmFlMWM1NTRh
NmY5NjA1OTI3ZDMxNTIwYzIyNjI2MGI1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9pZGxoYXJuZXNzLmh0dHBz
LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9pZGxoYXJuZXNzLmh0dHBz
LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMTcxLDcgKzE3MSw3IEBAIFBBU1Mg
V2luZG93Q2xpZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqCiBQQVNTIFdpbmRvd0NsaWVudCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkKIFBBU1MgV2luZG93Q2xpZW50IGludGVyZmFjZTogYXR0cmlidXRlIHZp
c2liaWxpdHlTdGF0ZQogUEFTUyBXaW5kb3dDbGllbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZm9j
dXNlZAotRkFJTCBXaW5kb3dDbGllbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYW5jZXN0b3JPcmln
aW5zIGFzc2VydF90cnVlOiBUaGUgcHJvdG90eXBlIG9iamVjdCBtdXN0IGhhdmUgYSBwcm9wZXJ0
eSAiYW5jZXN0b3JPcmlnaW5zIiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorUEFTUyBXaW5kb3dD
bGllbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgYW5jZXN0b3JPcmlnaW5zCiBQQVNTIFdpbmRvd0Ns
aWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBmb2N1cygpCiBQQVNTIFdpbmRvd0NsaWVudCBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBuYXZpZ2F0ZShVU1ZTdHJpbmcpCiBQQVNTIENsaWVudHMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456140</attachid>
            <date>2022-03-30 10:24:42 -0700</date>
            <delta_ts>2022-03-30 10:27:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238441-20220330182441.patch</filename>
            <type>text/plain</type>
            <size>5198</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmViYTMyNTZmOGI3MmZm
ZjJkYjlhNTY2ODkyMWI0ZjFjMTQ4OGFkYi4uNTBhNjhkYzVmMjkwMmFlZGFiYmMyOTU5ZDhhOTgy
NmRlNzQwYWViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTMwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW50ZXJvcCBpc3N1ZSB3aXRoIHBv
c2l0aW9uOiBzdGlja3kgd2l0aGluIGNvbnRhaW46IHBhaW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgwMTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbGVtZW50cyB3aXRoIG92ZXJmbG93OiBjbGlw
IChjb250YWluOiBwYWludCBlbmFibGVzIGl0KSBhcmUKKyAgICAgICAgbm90IHNjcm9sbCBjb250
YWluZXJzLCBzbyB0aGV5IGNhbid0IGFjdCBhcyBzY3JvbGxpbmcKKyAgICAgICAgYW5jZXN0b3Ig
Zm9yIHN0aWNreSBlbGVtZW50cy4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bvc2l0aW9uLXN0aWNreS1vdmVy
Zmxvdy1jbGlwLWNvbnRhaW5lci5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmVuY2xvc2luZ092ZXJmbG93
Q2xpcExheWVyIGNvbnN0KToKKwogMjAyMi0wMy0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBIYXNoVHJhbnNsYXRvciBmb3IgQVNDSUlMaXRlcmFsIGZv
ciBmYXN0ZXIgbG9va3VwIGluIEhhc2hNYXBzIC8gSGFzaFNldHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGJiMWU2YTQ5MTFjZjM0OGE1NzlkMmQ0YmUwZWFh
YzgxM2Q0NzliM2QuLmMzNzUxMWY1OTM4YWEyM2ExODYyMGMwZTQxYmRjYzA1MzJhMzNhZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTM5Niw3ICsxMzk2
LDcgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjplbmNsb3NpbmdPdmVyZmxvd0NsaXBMYXll
cihJbmNsdWRlU2VsZk9yTm90IGluY2x1ZGVTZWwKIHsKICAgICBjb25zdCBSZW5kZXJMYXllciog
bGF5ZXIgPSAoaW5jbHVkZVNlbGYgPT0gSW5jbHVkZVNlbGYpID8gdGhpcyA6IHBhcmVudCgpOwog
ICAgIHdoaWxlIChsYXllcikgewotICAgICAgICBpZiAobGF5ZXItPnJlbmRlcmVyKCkuaGFzTm9u
VmlzaWJsZU92ZXJmbG93KCkpCisgICAgICAgIGlmIChsYXllci0+cmVuZGVyZXIoKS5oYXNQb3Rl
bnRpYWxseVNjcm9sbGFibGVPdmVyZmxvdygpKQogICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2Nh
c3Q8UmVuZGVyTGF5ZXIqPihsYXllcik7CiAKICAgICAgICAgbGF5ZXIgPSBsYXllci0+cGFyZW50
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxNTY0YWY0ZjNhZmVlM2VhNWJj
NWRmNjZmM2I3NjUyYzc4MzY0OTdjLi4wM2MxZjViMTkxMGRlMGIzNDgxM2M1Y2E2NDM0YTQxMzEx
MzgwMzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMy0zMCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxl
bWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0NsaWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bvc2l0aW9uLXN0aWNreS1vdmVyZmxvdy1jbGlw
LWNvbnRhaW5lci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wb3NpdGlvbi9zdGlja3kvcG9zaXRpb24tc3RpY2t5LW92ZXJmbG93LWNs
aXAtY29udGFpbmVyLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAzLTMwICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgU2VydmljZVdvcmtlciBXaW5k
b3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bvc2l0aW9u
LXN0aWNreS1vdmVyZmxvdy1jbGlwLWNvbnRhaW5lci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBvc2l0aW9uL3N0aWNr
eS9wb3NpdGlvbi1zdGlja3ktb3ZlcmZsb3ctY2xpcC1jb250YWluZXItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43M2RjNzgyNGM1ZWQzMDVhOGZjMTBkODU3YTlkZjRjMTI1YzhkM2MxCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXBvc2l0aW9uL3N0aWNreS9wb3NpdGlvbi1zdGlja3ktb3ZlcmZsb3ctY2xpcC1j
b250YWluZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPHRpdGxlPlN0aWNreSBlbGVtZW50cyBzaG91bGQgbm90IGNvbnNpZGVyIG92ZXJm
bG93OiBjbGlwIGNvbnRhaW5lcnMgYXMgcG9zc2libGUgc2Nyb2xsIGFuY2VzdG9yPC90aXRsZT4K
KzxzdHlsZT4KK2JvZHkgeworICBtYXJnaW46IDA7CisgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhp
ZGUgc2Nyb2xsYmFycyAqLworfQorCisjY29udGFpbmVyIHsKKyAgaGVpZ2h0OiAzMDBweDsKKyAg
b3ZlcmZsb3cteTogc2Nyb2xsOworfQorCisjb3ZlcmZsb3dDbGlwQ29udGFpbmVyIHsKKyAgb3Zl
cmZsb3c6IHZpc2libGU7CisgIGhlaWdodDogNjAwcHg7Cit9CisKKyNzdGlja3kgeworICBwb3Np
dGlvbjogc3RpY2t5OyAKKyAgdG9wOiAwOworICBoZWlnaHQ6IDUwcHg7CisgIGJhY2tncm91bmQt
Y29sb3I6IHllbGxvdzsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZG9UZXN0KCkK
K3sKKyAgY29udGFpbmVyLnNjcm9sbFRvKDAsIDUwKTsKK30KK3dpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgIDxkaXYgaWQ9Im92ZXJmbG93Q2xpcENvbnRhaW5lciI+CisgICAgPGRpdiBpZD0ic3Rp
Y2t5Ij48L2Rpdj4KKyAgPC9kaXY+Cis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wb3NpdGlvbi9zdGlja3kvcG9z
aXRpb24tc3RpY2t5LW92ZXJmbG93LWNsaXAtY29udGFpbmVyLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bv
c2l0aW9uLXN0aWNreS1vdmVyZmxvdy1jbGlwLWNvbnRhaW5lci5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI0
YzM5M2UxZTEzNTJmNjQ1ZjI0ZDQyYzdjM2QwMTRmZTZmZTIyZjcKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcG9z
aXRpb24vc3RpY2t5L3Bvc2l0aW9uLXN0aWNreS1vdmVyZmxvdy1jbGlwLWNvbnRhaW5lci5odG1s
CkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8dGl0bGU+U3RpY2t5
IGVsZW1lbnRzIHNob3VsZCBub3QgY29uc2lkZXIgb3ZlcmZsb3c6IGNsaXAgY29udGFpbmVycyBh
cyBwb3NzaWJsZSBzY3JvbGwgYW5jZXN0b3I8L3RpdGxlPgorPGxpbmsgcmVsPSJtYXRjaCIgaHJl
Zj0icG9zaXRpb24tc3RpY2t5LW92ZXJmbG93LWNsaXAtY29udGFpbmVyLXJlZi5odG1sIiAvPgor
PGxpbmsgcmVsPSJoZWxwIiBocmVmPSJodHRwczovL3d3dy53My5vcmcvVFIvY3NzLXBvc2l0aW9u
LTMvI3N0aWNreS1wb3MiIC8+Cis8bWV0YSBuYW1lPSJhc3NlcnQiIGNvbnRlbnQ9IlRoaXMgdGVz
dCBjaGVja3MgdGhhdCBzdGlja3kgZWxlbWVudHMgZG8gbm90IGNvbnNpZGVyIG92ZXJmbG93OmNs
aXAgY29udGFpbmVycyBhcyBwb3NzaWJsZSBzY3JvbGwgYW5jZXN0b3IiLz4KKzxzdHlsZT4KK2Jv
ZHkgeworICBtYXJnaW46IDA7CisgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhpZGUgc2Nyb2xsYmFy
cyAqLworfQorCisjY29udGFpbmVyIHsKKyAgaGVpZ2h0OiAzMDBweDsKKyAgb3ZlcmZsb3c6IGF1
dG87Cit9CisKKyNvdmVyZmxvd0NsaXBDb250YWluZXIgeworICBvdmVyZmxvdzogY2xpcDsKKyAg
aGVpZ2h0OiA2MDBweDsKK30KKworI3N0aWNreSB7CisgIHBvc2l0aW9uOiBzdGlja3k7IAorICB0
b3A6IDA7CisgIGhlaWdodDogNTBweDsKKyAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworfQor
PC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBkb1Rlc3QoKQoreworICBjb250YWluZXIuc2Ny
b2xsVG8oMCwgNTApOworfQord2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3Qs
IGZhbHNlKTsKKzwvc2NyaXB0PgorPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgPGRpdiBpZD0ib3Zl
cmZsb3dDbGlwQ29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJzdGlja3kiPjwvZGl2PgorICA8L2Rp
dj4KKzwvZGl2Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>456142</attachid>
            <date>2022-03-30 10:27:57 -0700</date>
            <delta_ts>2022-03-30 10:30:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238441-20220330182755.patch</filename>
            <type>text/plain</type>
            <size>5973</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyMTA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmViYTMyNTZmOGI3MmZm
ZjJkYjlhNTY2ODkyMWI0ZjFjMTQ4OGFkYi4uNTBhNjhkYzVmMjkwMmFlZGFiYmMyOTU5ZDhhOTgy
NmRlNzQwYWViMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDIyLTAzLTMwICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgSW50ZXJvcCBpc3N1ZSB3aXRoIHBv
c2l0aW9uOiBzdGlja3kgd2l0aGluIGNvbnRhaW46IHBhaW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzgwMTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFbGVtZW50cyB3aXRoIG92ZXJmbG93OiBjbGlw
IChjb250YWluOiBwYWludCBlbmFibGVzIGl0KSBhcmUKKyAgICAgICAgbm90IHNjcm9sbCBjb250
YWluZXJzLCBzbyB0aGV5IGNhbid0IGFjdCBhcyBzY3JvbGxpbmcKKyAgICAgICAgYW5jZXN0b3Ig
Zm9yIHN0aWNreSBlbGVtZW50cy4KKworICAgICAgICBUZXN0OiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bvc2l0aW9uLXN0aWNreS1vdmVy
Zmxvdy1jbGlwLWNvbnRhaW5lci5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmVuY2xvc2luZ092ZXJmbG93
Q2xpcExheWVyIGNvbnN0KToKKwogMjAyMi0wMy0zMCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCiAgICAgICAgIEFkZCBIYXNoVHJhbnNsYXRvciBmb3IgQVNDSUlMaXRlcmFsIGZv
ciBmYXN0ZXIgbG9va3VwIGluIEhhc2hNYXBzIC8gSGFzaFNldHMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGJiMWU2YTQ5MTFjZjM0OGE1NzlkMmQ0YmUwZWFh
YzgxM2Q0NzliM2QuLmMzNzUxMWY1OTM4YWEyM2ExODYyMGMwZTQxYmRjYzA1MzJhMzNhZDggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTM5Niw3ICsxMzk2
LDcgQEAgUmVuZGVyTGF5ZXIqIFJlbmRlckxheWVyOjplbmNsb3NpbmdPdmVyZmxvd0NsaXBMYXll
cihJbmNsdWRlU2VsZk9yTm90IGluY2x1ZGVTZWwKIHsKICAgICBjb25zdCBSZW5kZXJMYXllciog
bGF5ZXIgPSAoaW5jbHVkZVNlbGYgPT0gSW5jbHVkZVNlbGYpID8gdGhpcyA6IHBhcmVudCgpOwog
ICAgIHdoaWxlIChsYXllcikgewotICAgICAgICBpZiAobGF5ZXItPnJlbmRlcmVyKCkuaGFzTm9u
VmlzaWJsZU92ZXJmbG93KCkpCisgICAgICAgIGlmIChsYXllci0+cmVuZGVyZXIoKS5oYXNQb3Rl
bnRpYWxseVNjcm9sbGFibGVPdmVyZmxvdygpKQogICAgICAgICAgICAgcmV0dXJuIGNvbnN0X2Nh
c3Q8UmVuZGVyTGF5ZXIqPihsYXllcik7CiAKICAgICAgICAgbGF5ZXIgPSBsYXllci0+cGFyZW50
KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAxNTY0YWY0ZjNhZmVlM2VhNWJj
NWRmNjZmM2I3NjUyYzc4MzY0OTdjLi4wM2MxZjViMTkxMGRlMGIzNDgxM2M1Y2E2NDM0YTQxMzEx
MzgwMzIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMi0wMy0zMCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEltcGxl
bWVudCBTZXJ2aWNlV29ya2VyIFdpbmRvd0NsaWVudC5hbmNlc3Rvck9yaWdpbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzODQ0MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bvc2l0aW9uLXN0aWNreS1vdmVyZmxvdy1jbGlw
LWNvbnRhaW5lci1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1wb3NpdGlvbi9zdGlja3kvcG9zaXRpb24tc3RpY2t5LW92ZXJmbG93LWNs
aXAtY29udGFpbmVyLmh0bWw6IEFkZGVkLgorCiAyMDIyLTAzLTMwICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgU2VydmljZVdvcmtlciBXaW5k
b3dDbGllbnQuYW5jZXN0b3JPcmlnaW5zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtcG9zaXRpb24vc3RpY2t5L3Bvc2l0aW9u
LXN0aWNreS1vdmVyZmxvdy1jbGlwLWNvbnRhaW5lci1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBvc2l0aW9uL3N0aWNr
eS9wb3NpdGlvbi1zdGlja3ktb3ZlcmZsb3ctY2xpcC1jb250YWluZXItZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yYTI5YjQzNWE3ZWU1ZTUzYjUyOTRiYWM0MDMxNDg0N2FlYzkwM2NhCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXBvc2l0aW9uL3N0aWNreS9wb3NpdGlvbi1zdGlja3ktb3ZlcmZsb3ctY2xpcC1j
b250YWluZXItZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDM4IEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPHRpdGxlPlN0aWNreSBlbGVtZW50cyBzaG91bGQgbm90IGNvbnNpZGVyIG92ZXJm
bG93OiBjbGlwIGNvbnRhaW5lcnMgYXMgcG9zc2libGUgc2Nyb2xsIGFuY2VzdG9yPC90aXRsZT4K
KzxzdHlsZT4KK2JvZHkgeworICBtYXJnaW46IDA7CisgIG92ZXJmbG93OiBoaWRkZW47IC8qIGhp
ZGUgc2Nyb2xsYmFycyAqLworfQorCisjY29udGFpbmVyIHsKKyAgaGVpZ2h0OiAzMDBweDsKKyAg
b3ZlcmZsb3cteTogc2Nyb2xsOworfQorCisjb3ZlcmZsb3dDbGlwQ29udGFpbmVyIHsKKyAgb3Zl
cmZsb3c6IHZpc2libGU7CisgIGhlaWdodDogNjAwcHg7Cit9CisKKyNzdGlja3kgeworICBwb3Np
dGlvbjogc3RpY2t5OworICB0b3A6IDA7CisgIGhlaWdodDogNTBweDsKKyAgYmFja2dyb3VuZC1j
b2xvcjogeWVsbG93OworfQorPC9zdHlsZT4KKzxzY3JpcHQ+CitmdW5jdGlvbiBkb1Rlc3QoKQor
eworICBjb250YWluZXIuc2Nyb2xsVG8oMCwgNTApOworfQord2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKzwvc2NyaXB0PgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgPGRpdiBpZD0ib3ZlcmZsb3dDbGlwQ29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJzdGlj
a3kiPjwvZGl2PgorICA8L2Rpdj4KKzwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXBvc2l0aW9uL3N0aWNreS9wb3Np
dGlvbi1zdGlja3ktb3ZlcmZsb3ctY2xpcC1jb250YWluZXIuaHRtbCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wb3NpdGlvbi9zdGlja3kvcG9z
aXRpb24tc3RpY2t5LW92ZXJmbG93LWNsaXAtY29udGFpbmVyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjMz
NTYzNDlhZmVjZDNmMmIyNWUwODAxODZiYTUwOWViMzk4MGNhYgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1wb3Np
dGlvbi9zdGlja3kvcG9zaXRpb24tc3RpY2t5LW92ZXJmbG93LWNsaXAtY29udGFpbmVyLmh0bWwK
QEAgLTAsMCArMSw0MSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzx0aXRsZT5TdGlja3kg
ZWxlbWVudHMgc2hvdWxkIG5vdCBjb25zaWRlciBvdmVyZmxvdzogY2xpcCBjb250YWluZXJzIGFz
IHBvc3NpYmxlIHNjcm9sbCBhbmNlc3RvcjwvdGl0bGU+Cis8bGluayByZWw9Im1hdGNoIiBocmVm
PSJwb3NpdGlvbi1zdGlja3ktb3ZlcmZsb3ctY2xpcC1jb250YWluZXItcmVmLmh0bWwiIC8+Cis8
bGluayByZWw9ImhlbHAiIGhyZWY9Imh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtcG9zaXRpb24t
My8jc3RpY2t5LXBvcyIgLz4KKzxtZXRhIG5hbWU9ImFzc2VydCIgY29udGVudD0iVGhpcyB0ZXN0
IGNoZWNrcyB0aGF0IHN0aWNreSBlbGVtZW50cyBkbyBub3QgY29uc2lkZXIgb3ZlcmZsb3c6Y2xp
cCBjb250YWluZXJzIGFzIHBvc3NpYmxlIHNjcm9sbCBhbmNlc3RvciIvPgorPHN0eWxlPgorYm9k
eSB7CisgIG1hcmdpbjogMDsKKyAgb3ZlcmZsb3c6IGhpZGRlbjsgLyogaGlkZSBzY3JvbGxiYXJz
ICovCit9CisKKyNjb250YWluZXIgeworICBoZWlnaHQ6IDMwMHB4OworICBvdmVyZmxvdzogYXV0
bzsKK30KKworI292ZXJmbG93Q2xpcENvbnRhaW5lciB7CisgIG92ZXJmbG93OiBjbGlwOworICBo
ZWlnaHQ6IDYwMHB4OworfQorCisjc3RpY2t5IHsKKyAgcG9zaXRpb246IHN0aWNreTsKKyAgdG9w
OiAwOworICBoZWlnaHQ6IDUwcHg7CisgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKK30KKzwv
c3R5bGU+Cis8c2NyaXB0PgorZnVuY3Rpb24gZG9UZXN0KCkKK3sKKyAgY29udGFpbmVyLnNjcm9s
bFRvKDAsIDUwKTsKK30KK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBm
YWxzZSk7Cis8L3NjcmlwdD4KKzxkaXYgaWQ9ImNvbnRhaW5lciI+CisgIDxkaXYgaWQ9Im92ZXJm
bG93Q2xpcENvbnRhaW5lciI+CisgICAgPGRpdiBpZD0ic3RpY2t5Ij48L2Rpdj4KKyAgPC9kaXY+
Cis8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvbGludC53aGl0ZWxpc3QgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2xpbnQud2hpdGVsaXN0CmluZGV4IGU0YjBkN2JlMWNjZTI3MTVhMDQ1Yzk4
MzI0ODYwMjJlZGUxN2ViODIuLmRiNmI5MWM5MTZjMzZjMTFkYzgwNmVmOGQyYmI5OWUzNjc0MzBi
MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvbGludC53aGl0ZWxpc3QKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9saW50LndoaXRlbGlzdApAQCAtNDM5LDYgKzQzOSw3IEBAIFNVUFBPUlQtV1JP
TkctRElSOiBjc3MvdmVuZG9yLWltcG9ydHMvbW96aWxsYS9tb3ppbGxhLWNlbnRyYWwtcmVmdGVz
dHMvdHJhbnNmb3JtCiBTVVBQT1JULVdST05HLURJUjogY3NzL1dPRkYyL21hbmlmZXN0LnR4dAog
U1VQUE9SVC1XUk9ORy1ESVI6IGNzcy9XT0ZGMi90ZXN0Y2FzZWluZGV4LnhodAogTk9OLUVYSVNU
RU5ULVJFRjogY3NzL2Nzcy1tYXNraW5nLTEvY2xpcC1wYXRoLXN2Zy1jb250ZW50L2NsaXAtcGF0
aC1jbGlwLXJ1bGUtMDA4LnN2ZworTk9OLUVYSVNURU5ULVJFRjogY3NzL2Nzcy1wb3NpdGlvbi9z
dGlja3kvcG9zaXRpb24tc3RpY2t5LW92ZXJmbG93LWNsaXAtY29udGFpbmVyLmh0bWwKIAogCiAj
IyBXaGl0ZXNwYWNlIHJ1bGVzIHRoYXQgd2UgY2FuJ3QgZW5mb3JjZSB5ZXQK
</data>

          </attachment>
      

    </bug>

</bugzilla>