<?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>180382</bug_id>
          
          <creation_ts>2017-12-04 15:41:56 -0800</creation_ts>
          <short_desc>Implement setting of service worker to client in SWServer without going to WebProcess</short_desc>
          <delta_ts>2017-12-05 11:44:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>180261</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>beidson</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>japhet</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1377962</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-04 15:41:56 -0800</bug_when>
    <thetext>Implement setting of service worker to client in SWServer without going to WebProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377967</commentid>
    <comment_count>1</comment_count>
      <attachid>328400</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-04 15:56:17 -0800</bug_when>
    <thetext>Created attachment 328400
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1377989</commentid>
    <comment_count>2</comment_count>
      <attachid>328408</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-04 16:35:50 -0800</bug_when>
    <thetext>Created attachment 328408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378071</commentid>
    <comment_count>3</comment_count>
      <attachid>328433</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-04 20:32:56 -0800</bug_when>
    <thetext>Created attachment 328433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378181</commentid>
    <comment_count>4</comment_count>
      <attachid>328433</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-12-05 09:06:20 -0800</bug_when>
    <thetext>Comment on attachment 328433
Patch

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

r=me with minor comments.

&gt; Source/WebCore/workers/service/server/SWServer.cpp:587
&gt; +SWServerRegistration* SWServer::registrationFromServiceWorkerIdentifier(ServiceWorkerIdentifier identifier)

It would be good if we had a registration() getter on the SWServerWorker class instead. It would be more reusable this way.

&gt; Source/WebCore/workers/service/server/SWServer.h:148
&gt; +    WEBCORE_EXPORT void registerServiceWorkerClient(ClientOrigin&amp;&amp;, ServiceWorkerClientIdentifier, ServiceWorkerClientData&amp;&amp;, const std::optional&lt;ServiceWorkerIdentifier&gt;&amp;);

I think we should provide the name for the last parameter as it is non-obvious to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378205</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-05 10:20:14 -0800</bug_when>
    <thetext>&gt; &gt; Source/WebCore/workers/service/server/SWServer.cpp:587
&gt; &gt; +SWServerRegistration* SWServer::registrationFromServiceWorkerIdentifier(ServiceWorkerIdentifier identifier)
&gt; 
&gt; It would be good if we had a registration() getter on the SWServerWorker
&gt; class instead. It would be more reusable this way.

Agreed, let&apos;s see how we can do that in future refactoring.

&gt; &gt; Source/WebCore/workers/service/server/SWServer.h:148
&gt; &gt; +    WEBCORE_EXPORT void registerServiceWorkerClient(ClientOrigin&amp;&amp;, ServiceWorkerClientIdentifier, ServiceWorkerClientData&amp;&amp;, const std::optional&lt;ServiceWorkerIdentifier&gt;&amp;);
&gt; 
&gt; I think we should provide the name for the last parameter as it is
&gt; non-obvious to me.

OK</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378210</commentid>
    <comment_count>6</comment_count>
      <attachid>328463</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-12-05 10:21:46 -0800</bug_when>
    <thetext>Created attachment 328463
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378218</commentid>
    <comment_count>7</comment_count>
      <attachid>328463</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-05 10:42:09 -0800</bug_when>
    <thetext>Comment on attachment 328463
Patch

Clearing flags on attachment: 328463

Committed r225526: &lt;https://trac.webkit.org/changeset/225526&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378219</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-12-05 10:42:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378220</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-05 10:45:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/35858689&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328400</attachid>
            <date>2017-12-04 15:56:17 -0800</date>
            <delta_ts>2017-12-04 16:35:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180382-20171204155616.patch</filename>
            <type>text/plain</type>
            <size>28874</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDI1ZjljNzVkZDYzM2Ux
NGU0MTNjMWM3YmYyNTEyMzU1OWIyNjMzYy4uY2UwMDA1NTVkYTY4MGYzMDYxMmZkNWM3MGE5OGUx
MGY0MWVhNmIzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM4IEBACiAyMDE3LTEyLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAorICAgICAgICBJbXBsZW1lbnQgc2V0dGlu
ZyBvZiBzZXJ2aWNlIHdvcmtlciB0byBjbGllbnQgaW4gU1dTZXJ2ZXIgd2l0aG91dCBnb2luZyB0
byBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVz
IHRoZSBub3RpZmljYXRpb24gb2YgYWN0aXZlIHdvcmtlciBzZXR0aW5nIGZyb20gU2NyaXB0RXhl
Y3V0aW9uL1dlYlByb2Nlc3MgdXAgdG8gU1dTZXJ2ZXIvU3RvcmFnZVByb2Nlc3MuCisgICAgICAg
IEluc3RlYWQsIGFjdGl2ZSB3b3JrZXIgc2V0dGluZyBpcyBmdWxseSBkb25lL2NvbnRyb2xsZWQg
aW4gU1dTZXJ2ZXIuCisgICAgICAgIFdoZW5ldmVyIHRoZXJlIGlzIGEgY2hhbmdlLCBTV1NlcnZl
ciBub3RpZmllcyBXZWJQcm9jZXNzIGFuZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGdldHMgdXBk
YXRlZCBhY2NvcmRpbmdseS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24pOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIpOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6Y29tbWl0RGF0YSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnNldENsaWVudEFjdGl2ZVdvcmtlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtl
cklkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9u
OjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENv
bnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpz
ZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWN0aXZhdGUpOgor
CisyMDE3LTEyLTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKwogICAgICAg
ICBBZGQgc3VwcG9ydCBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jb24tY2xp
ZW50LXVubG9hZC1hbGdvcml0aG0KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE4MDM1OQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDVmZjBiZWE0NmNiNTAwYTFhODk3MjBk
NTYyMDllN2I1ZjJmNWJlOGEuLmI3YTE5Yjg0YWM2YzJlMmZiNTY0OWM1YzVmZTBhNzI5NzY1ZDVk
NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMTItMDQgIFlvdWVubiBGYWJsZXQg
IDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBzZXR0aW5nIG9mIHNlcnZp
Y2Ugd29ya2VyIHRvIGNsaWVudCBpbiBTV1NlcnZlciB3aXRob3V0IGdvaW5nIHRvIFdlYlByb2Nl
c3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM4
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU3Rv
cmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMu
aW46CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudCk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnNlcnZp
Y2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
S2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxp
bmdDbGllbnQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uaDoKKwogMjAxNy0xMi0wNCAgRnJlZGVyaWMgV2FuZyAgPGZ3YW5nQGln
YWxpYS5jb20+CiAKICAgICAgICAgTWFrZSBTY3JvbGxpbmdUcmVlTm9kZTo6ZW5jbG9zaW5nRnJh
bWVOb2RlIHJldHVybiB0aGUgbm9kZSBpdHNlbGYgZm9yIGZyYW1lIG5vZGVzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAppbmRleCBmZWI1Zjk3NWRhMWIxMGYzZjJkMmY1OGRlMGRmMzQwMGMxMTUyNWE0
Li44YTIzN2I4NTZhNzg4YTJhYzFiMjg5NGMyYTNlZDUzNjBlYWZmYjA0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKQEAgLTc1OTcsOCArNzU5NywxMyBAQCB2b2lkIERvY3VtZW50OjpzZXRTZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbihTV0NsaWVudENvbm5lY3Rpb24qIHNlcnZpY2VXb3JrZXJDb25u
ZQogCiAgICAgbV9zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbiA9IHNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uOwogCi0gICAgaWYgKG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24pCi0gICAgICAgIG1fc2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmln
aW4oKSwgaWRlbnRpZmllcigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcykp
OworICAgIGlmICghbV9zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gY29udHJvbGxpbmdT
ZXJ2aWNlV29ya2VySWRlbnRpZmllcjsKKyAgICBpZiAoYXV0byogd29ya2VyID0gYWN0aXZlU2Vy
dmljZVdvcmtlcigpKQorICAgICAgICBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVy
ID0gd29ya2VyLT5pZGVudGlmaWVyKCk7CisgICAgbV9zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbi0+
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBpZGVudGlmaWVyKCksIFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlzKSwgY29udHJvbGxpbmdTZXJ2aWNlV29y
a2VySWRlbnRpZmllcik7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQuY3BwCmluZGV4IGI2ZTg1ZWE5OWM1ZGEwYzJkYTdmZjYyNTcxZWY3
NTlhNDQ1YzE4ZGQuLjNlZDgwYWZmNDQwZWE4MGFkMzM0MThjYzI5YTUyZmEyMmU3ZjViOGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKQEAgLTU0
MywyMSArNTQzLDcgQEAgU2VydmljZVdvcmtlciogU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6YWN0
aXZlU2VydmljZVdvcmtlcigpIGNvbnN0CiAKIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6
c2V0QWN0aXZlU2VydmljZVdvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJiBzZXJ2aWNlV29y
a2VyKQogewotICAgIC8vIEFkZCBzdXBwb3J0IGZvciB3b3JrZXJzLgotICAgIGlmICghaXM8RG9j
dW1lbnQ+KCp0aGlzKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fYWN0aXZlU2Vydmlj
ZVdvcmtlciA9PSBzZXJ2aWNlV29ya2VyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBhdXRvJiBj
b25uZWN0aW9uID0gU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29y
a2VyQ29ubmVjdGlvbkZvclNlc3Npb24oc2Vzc2lvbklEKCkpOwotICAgIGlmIChtX2FjdGl2ZVNl
cnZpY2VXb3JrZXIpCi0gICAgICAgIGNvbm5lY3Rpb24uc2VydmljZVdvcmtlclN0b3BwZWRDb250
cm9sbGluZ0NsaWVudChtX2FjdGl2ZVNlcnZpY2VXb3JrZXItPmlkZW50aWZpZXIoKSwgbV9hY3Rp
dmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCksIGRvd25jYXN0PERvY3Vt
ZW50PigqdGhpcykuaWRlbnRpZmllcigpKTsKLQogICAgIG1fYWN0aXZlU2VydmljZVdvcmtlciA9
IFdURk1vdmUoc2VydmljZVdvcmtlcik7Ci0KLSAgICBpZiAobV9hY3RpdmVTZXJ2aWNlV29ya2Vy
KQotICAgICAgICBjb25uZWN0aW9uLnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGll
bnQobV9hY3RpdmVTZXJ2aWNlV29ya2VyLT5pZGVudGlmaWVyKCksIG1fYWN0aXZlU2VydmljZVdv
cmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpLCBkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMp
LmlkZW50aWZpZXIoKSk7CiB9CiAKIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVnaXN0
ZXJTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXImIHNlcnZpY2VXb3JrZXIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAppbmRleCBhYzg4NTkwMGRlNGVkZjE2Mjk0YmI0
NDJmYTYxZjNhNzM1OGVhODY1Li5lZWUwNDAzODU3Y2E2MjFlMWQ3OWZlZWU0YjViNmNmMzk5ODgw
Yzk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKQEAgLTg3NCwx
MSArODc0LDExIEBAIHZvaWQgRG9jdW1lbnRMb2FkZXI6OmNvbW1pdERhdGEoY29uc3QgY2hhciog
Ynl0ZXMsIHNpemVfdCBsZW5ndGgpCiAgICAgICAgIGlmIChSdW50aW1lRW5hYmxlZEZlYXR1cmVz
OjpzaGFyZWRGZWF0dXJlcygpLnNlcnZpY2VXb3JrZXJFbmFibGVkKCkpIHsKICAgICAgICAgICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgcmVnaXN0ZXIgdGhlIGNsaWVudCBhcyBzb29u
IGFzIHdlIGRvIHRoZSByZWxhdGVkIG5hdmlnYXRpb24gZmV0Y2guCiAgICAgICAgICAgICAvLyBX
ZSBjYW4gcHJvYmFibHkgaW1wbGVtZW50IHRoaXMgd2hlbiBzdXBwb3J0aW5nIEZldGNoRXZlbnQu
cmVzZXJ2ZWRDbGllbnRJZC4KLSAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnNldFNl
cnZpY2VXb3JrZXJDb25uZWN0aW9uKCZTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRvbigp
LnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihtX2ZyYW1lLT5wYWdlKCktPnNlc3Np
b25JRCgpKSk7CiAgICAgICAgICAgICBpZiAobV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YSAmJiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLT5hY3RpdmVXb3JrZXIpIHsKICAg
ICAgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2Vy
KFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKCptX2ZyYW1lLT5kb2N1bWVudCgpLCBXVEZNb3Zl
KG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEtPmFjdGl2ZVdvcmtlci52YWx1ZSgpKSkp
OwogICAgICAgICAgICAgICAgIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgPSB7IH07
CiAgICAgICAgICAgICB9CisgICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRTZXJ2
aWNlV29ya2VyQ29ubmVjdGlvbigmU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5z
ZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24obV9mcmFtZS0+cGFnZSgpLT5zZXNzaW9u
SUQoKSkpOwogICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgLy8gQ2FsbCByZWNlaXZlZEZpcnN0
RGF0YSgpIGV4YWN0bHkgb25jZSBwZXIgbG9hZC4gV2Ugc2hvdWxkIG9ubHkgcmVhY2ggdGhpcyBw
b2ludCBtdWx0aXBsZSB0aW1lcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IGQ0MTFlYmYxOGQ3YTk3NTA1YTM0Mjc1ZTYz
YjEzYzE2MDRlZTZiNjMuLmQ0NGU3OTdkZGVkMGFmOWZkMDU2OGM1OTc3OGEyYjc1ZjI3NDc1ZTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5l
Y3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25u
ZWN0aW9uLmgKQEAgLTc4LDEwICs3OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgbWF5
SGF2ZVNlcnZpY2VXb3JrZXJSZWdpc3RlcmVkRm9yT3JpZ2luKGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JikgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzeW5jVGVybWluYXRlV29ya2VyKFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKSA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtl
clN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmllcikgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
ciwgRG9jdW1lbnRJZGVudGlmaWVyKSA9IDA7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIERvY3Vt
ZW50SWRlbnRpZmllciwgY29uc3QgU2VydmljZVdvcmtlckNsaWVudERhdGEmKSA9IDA7CisgICAg
dmlydHVhbCB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9y
aWdpbiYgdG9wT3JpZ2luLCBEb2N1bWVudElkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJD
bGllbnREYXRhJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4m
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KERv
Y3VtZW50SWRlbnRpZmllcikgPSAwOwogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IDBlMjNhMGNlYjM1
NTkyOGI1OGJlNDE2NTE5NWE3ZjVmM2Q0OTFhYmMuLjBlNjgxY2JjOTE5YjhkODhlMDM2ZWJiZjdl
ODA4OTUxMTdiNjRmYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xODYsMTYgKzE4Niw2IEBAIHZvaWQgU1dTZXJ2ZXI6
OkNvbm5lY3Rpb246OnJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihTZXJ2
aWNlV29ya2VyCiAgICAgbV9zZXJ2ZXIucmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbigqdGhpcywgaWRlbnRpZmllcik7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246
OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50
aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmllciBjb250
ZXh0SWRlbnRpZmllcikKLXsKLSAgICBtX3NlcnZlci5zZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRy
b2xsaW5nQ2xpZW50KCp0aGlzLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgcmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgY29udGV4dElkZW50aWZpZXIpOwotfQotCi12b2lkIFNXU2VydmVyOjpDb25u
ZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZp
ZXIgY29udGV4dElkZW50aWZpZXIpCi17Ci0gICAgbV9zZXJ2ZXIuc2VydmljZVdvcmtlclN0b3Bw
ZWRDb250cm9sbGluZ0NsaWVudCgqdGhpcywgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlZ2lz
dHJhdGlvbklkZW50aWZpZXIsIGNvbnRleHRJZGVudGlmaWVyKTsKLX0KLQogdm9pZCBTV1NlcnZl
cjo6Q29ubmVjdGlvbjo6c3luY1Rlcm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciBpZGVudGlmaWVyKQogewogICAgIGlmIChhdXRvKiB3b3JrZXIgPSBtX3NlcnZlci53b3JrZXJC
eUlEKGlkZW50aWZpZXIpKQpAQCAtMzgxLDMzICszNzEsNiBAQCB2b2lkIFNXU2VydmVyOjpyZW1v
dmVDbGllbnRTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKENvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IFNlcgogICAgIHJlZ2lzdHJhdGlvbi0+cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbihjb25uZWN0aW9uLmlkZW50aWZpZXIoKSk7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OnNlcnZp
Y2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3Vt
ZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKLXsKLSAgICBhdXRvKiByZWdpc3RyYXRp
b24gPSBtX3JlZ2lzdHJhdGlvbnNCeUlELmdldChyZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAg
ICBpZiAoIXJlZ2lzdHJhdGlvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciB7IGNvbm5lY3Rpb24uaWRlbnRpZmll
cigpLCBjb250ZXh0SWRlbnRpZmllciB9OwotICAgIHJlZ2lzdHJhdGlvbi0+YWRkQ2xpZW50VXNp
bmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7Ci0KLSAgICBhdXRvIHJlc3VsdCA9IG1f
Y2xpZW50VG9Db250cm9sbGluZ1dvcmtlci5hZGQoY2xpZW50SWRlbnRpZmllciwgc2VydmljZVdv
cmtlcklkZW50aWZpZXIpOwotICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdF
bnRyeSk7Ci19Ci0KLXZvaWQgU1dTZXJ2ZXI6OnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxp
bmdDbGllbnQoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIg
c2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRl
bnRpZmllcikKLXsKLSAgICBVTlVTRURfUEFSQU0oc2VydmljZVdvcmtlcklkZW50aWZpZXIpOwot
ICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9uc0J5SUQuZ2V0KHJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOwotICAgIGlmICghcmVnaXN0cmF0aW9uKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyIHsg
Y29ubmVjdGlvbi5pZGVudGlmaWVyKCksIGNvbnRleHRJZGVudGlmaWVyIH07Ci0gICAgcmVnaXN0
cmF0aW9uLT5yZW1vdmVDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbihjbGllbnRJZGVudGlmaWVyKTsK
LQotICAgIGF1dG8gcmVzdWx0ID0gbV9jbGllbnRUb0NvbnRyb2xsaW5nV29ya2VyLnRha2UoY2xp
ZW50SWRlbnRpZmllcik7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdCA9PSBzZXJ2
aWNlV29ya2VySWRlbnRpZmllcik7Ci19Ci0KIHZvaWQgU1dTZXJ2ZXI6OnVwZGF0ZVdvcmtlcihD
b25uZWN0aW9uJiwgY29uc3QgU2VydmljZVdvcmtlckpvYkRhdGFJZGVudGlmaWVyJiBqb2JEYXRh
SWRlbnRpZmllciwgU1dTZXJ2ZXJSZWdpc3RyYXRpb24mIHJlZ2lzdHJhdGlvbiwgY29uc3QgVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgc2NyaXB0LCBXb3JrZXJUeXBlIHR5cGUpCiB7CiAgICAgYXV0
byBzZXJ2aWNlV29ya2VySWRlbnRpZmllciA9IGdlbmVyYXRlU2VydmljZVdvcmtlcklkZW50aWZp
ZXIoKTsKQEAgLTYxMywyNiArNTc2LDU5IEBAIGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0aW9uKiBT
V1NlcnZlcjo6ZG9SZWdpc3RyYXRpb25NYXRjaGluZyhjb25zdCBTZWN1cml0eU9yaWdpCiAgICAg
cmV0dXJuIChzZWxlY3RlZFJlZ2lzdHJhdGlvbiAmJiAhc2VsZWN0ZWRSZWdpc3RyYXRpb24tPmlz
VW5pbnN0YWxsaW5nKCkpID8gc2VsZWN0ZWRSZWdpc3RyYXRpb24gOiBudWxscHRyOwogfQogCi12
b2lkIFNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luJiYg
Y2xpZW50T3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCit2b2lkIFNXU2VydmVyOjpzZXRDbGllbnRB
Y3RpdmVXb3JrZXIoU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmll
ciwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIpCit7Cisg
ICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nV29ya2VyLnNldChjbGllbnRJZGVudGlmaWVyLCBzZXJ2
aWNlV29ya2VySWRlbnRpZmllcik7Cit9CisKK1NXU2VydmVyUmVnaXN0cmF0aW9uKiBTV1NlcnZl
cjo6cmVnaXN0cmF0aW9uRnJvbVNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKFNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgYXV0byBpdGVyYXRvciA9IG1fcnVubmluZ09y
VGVybWluYXRpbmdXb3JrZXJzLmZpbmQoaWRlbnRpZmllcik7CisgICAgaWYgKGl0ZXJhdG9yID09
IG1fcnVubmluZ09yVGVybWluYXRpbmdXb3JrZXJzLmVuZCgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgIHJldHVybiBtX3JlZ2lzdHJhdGlvbnMuZ2V0KGl0ZXJhdG9yLT52YWx1ZS0+
cmVnaXN0cmF0aW9uS2V5KCkpOworfQorCit2b2lkIFNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlV29ya2VyQ2xp
ZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYm
IGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBjb250
cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQogewogICAgIG1fY2xpZW50cy5lbnN1cmUo
V1RGTW92ZShjbGllbnRPcmlnaW4pLCBbXSB7CiAgICAgICAgIHJldHVybiBWZWN0b3I8U2Vydmlj
ZVdvcmtlckNsaWVudEluZm9ybWF0aW9uPiB7IH07Ci0gICAgfSkuaXRlcmF0b3ItPnZhbHVlLmFw
cGVuZChTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24geyBpZGVudGlmaWVyLCBXVEZNb3Zl
KGRhdGEpIH0pOworICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5hcHBlbmQoU2VydmljZVdvcmtlckNs
aWVudEluZm9ybWF0aW9uIHsgY2xpZW50SWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKKwor
ICAgIGlmICghY29udHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKKyAgICAgICAgcmV0
dXJuOworCisgICAgYXV0byBzZXJ2aWNlV29ya2VySWRlbnRpZmllciA9IGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlcklkZW50aWZpZXIudmFsdWUoKTsKKyAgICBpZiAoYXV0byogY29udHJvbGxpbmdS
ZWdpc3RyYXRpb24gPSByZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtlcklkZW50aWZpZXIoc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpKQorICAgICAgICBjb250cm9sbGluZ1JlZ2lzdHJhdGlvbi0+
YWRkQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7CisKKyAgICBhdXRv
IHJlc3VsdCA9IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci5hZGQoY2xpZW50SWRlbnRpZmll
ciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCBy
ZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlV29y
a2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBTV1NlcnZlcjo6dW5yZWdpc3Rl
clNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCiB7Ci0gICAgYXV0
byBpdGVyYXRvciA9IG1fY2xpZW50cy5maW5kKGNsaWVudE9yaWdpbik7Ci0gICAgQVNTRVJUKGl0
ZXJhdG9yICE9IG1fY2xpZW50cy5lbmQoKSk7CisgICAgYXV0byBjbGllbnRJdGVyYXRvciA9IG1f
Y2xpZW50cy5maW5kKGNsaWVudE9yaWdpbik7CisgICAgQVNTRVJUKGNsaWVudEl0ZXJhdG9yICE9
IG1fY2xpZW50cy5lbmQoKSk7CiAKLSAgICBhdXRvJiBjbGllbnRzID0gaXRlcmF0b3ItPnZhbHVl
OwotICAgIGNsaWVudHMucmVtb3ZlRmlyc3RNYXRjaGluZyhbJl0gKGNvbnN0IGF1dG8mIGl0ZW0p
IHsKLSAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIgPT0gaXRlbS5pZGVudGlmaWVyOworICAgIGF1
dG8mIGNsaWVudHMgPSBjbGllbnRJdGVyYXRvci0+dmFsdWU7CisgICAgY2xpZW50cy5yZW1vdmVG
aXJzdE1hdGNoaW5nKFsmXSAoY29uc3QgYXV0byYgY2xpZW50KSB7CisgICAgICAgIHJldHVybiBj
bGllbnRJZGVudGlmaWVyID09IGNsaWVudC5pZGVudGlmaWVyOwogICAgIH0pOwogICAgIGlmIChj
bGllbnRzLmlzRW1wdHkoKSkgewogICAgICAgICAvLyBGSVhNRTogV2UgbWlnaHQgd2FudCB0byB0
ZXJtaW5hdGUgYW55IGNsaWVudE9yaWdpbiByZWxhdGVkIHNlcnZpY2Ugd29ya2VyLgotICAgICAg
ICBtX2NsaWVudHMucmVtb3ZlKGl0ZXJhdG9yKTsKKyAgICAgICAgbV9jbGllbnRzLnJlbW92ZShj
bGllbnRJdGVyYXRvcik7CiAgICAgfQorCisgICAgYXV0byB3b3JrZXJJdGVyYXRvciA9IG1fY2xp
ZW50VG9Db250cm9sbGluZ1dvcmtlci5maW5kKGNsaWVudElkZW50aWZpZXIpOworICAgIGlmICh3
b3JrZXJJdGVyYXRvciA9PSBtX2NsaWVudFRvQ29udHJvbGxpbmdXb3JrZXIuZW5kKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIGlmIChhdXRvKiBjb250cm9sbGluZ1JlZ2lzdHJhdGlvbiA9IHJl
Z2lzdHJhdGlvbkZyb21TZXJ2aWNlV29ya2VySWRlbnRpZmllcih3b3JrZXJJdGVyYXRvci0+dmFs
dWUpKQorICAgICAgICBjb250cm9sbGluZ1JlZ2lzdHJhdGlvbi0+cmVtb3ZlQ2xpZW50VXNpbmdS
ZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7CisKKyAgICBtX2NsaWVudFRvQ29udHJvbGxp
bmdXb3JrZXIucmVtb3ZlKHdvcmtlckl0ZXJhdG9yKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ci5oCmluZGV4IGRjNmVmNzM5ODlmYWQ5NmVmMzJkYWQyN2JjNGU5MjcwMmVlMzhhNzkuLjY4ZThk
MzU1NDMxNTFlYzg1M2VkN2NjYmNhNGNlZGZjZWQ5OGFlYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTg5LDggKzg5LDYgQEAg
cHVibGljOgogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpbmlzaEZldGNoaW5nU2NyaXB0
SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Jik7CiAgICAgICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNl
cnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZp
ZXIpOwotICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlcnZpY2VXb3JrZXJTdG9wcGVkQ29u
dHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpOwogICAgICAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIHN5bmNUZXJtaW5hdGVXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIp
OwogCiAgICAgcHJpdmF0ZToKQEAgLTE0NiwxMSArMTQ0LDEzIEBAIHB1YmxpYzoKICAgICAKICAg
ICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgSGFzaFNldDxTV1NlcnZlcio+JiBhbGxTZXJ2ZXJzKCk7
CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChD
bGllbnRPcmlnaW4mJiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmll
ciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNl
V29ya2VySWRlbnRpZmllcj4mKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVucmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYsIFNlcnZpY2VXb3JrZXJDbGll
bnRJZGVudGlmaWVyKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaW52b2tlUnVuU2Vydmlj
ZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHNldENsaWVudEFj
dGl2ZVdvcmtlcihTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlcklk
ZW50aWZpZXIpOworCiBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJDb25uZWN0aW9uKENvbm5l
Y3Rpb24mKTsKICAgICB2b2lkIHVucmVnaXN0ZXJDb25uZWN0aW9uKENvbm5lY3Rpb24mKTsKQEAg
LTE2NCwxMyArMTY0LDEzIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGFkZENsaWVudFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAg
ICB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYs
IFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHNlcnZpY2VXb3JrZXJTdG9wcGVk
Q29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsK
IAogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0aW9uKiBkb1JlZ2lz
dHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25z
dCBVUkwmIGNsaWVudFVSTCkgY29uc3Q7CiAKICAgICB2b2lkIGluc3RhbGxDb250ZXh0RGF0YShj
b25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmKTsKIAorICAgIFNXU2VydmVyUmVnaXN0cmF0
aW9uKiByZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtlcklkZW50aWZpZXIoU2VydmljZVdvcmtl
cklkZW50aWZpZXIpOworCiAgICAgZW51bSBUZXJtaW5hdGlvbk1vZGUgewogICAgICAgICBTeW5j
aHJvbm91cywKICAgICAgICAgQXN5bmNocm9ub3VzLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNw
cAppbmRleCA0YjJhMzExMmVmNjExOTA1NjI1ZGE4ODM1NGQ1YjE1M2RiNDAwNTc4Li44ZWE2ZmNl
ZmZjN2E2NzQ1NWRhYjUyMDE5ZTA1MjQ2OTkxOWVjM2VjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0
aW9uLmNwcApAQCAtMjU5LDEwICsyNTksMTQgQEAgdm9pZCBTV1NlcnZlclJlZ2lzdHJhdGlvbjo6
YWN0aXZhdGUoKQogICAgIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25TdGF0ZTo6V2FpdGluZywgbnVsbHB0cik7CiAgICAgLy8gUnVuIHRoZSBVcGRhdGUg
V29ya2VyIFN0YXRlIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbidzIGFjdGl2ZSB3b3Jr
ZXIgYW5kIGFjdGl2YXRpbmcgYXMgdGhlIGFyZ3VtZW50cy4KICAgICB1cGRhdGVXb3JrZXJTdGF0
ZSgqYWN0aXZlV29ya2VyKCksIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGluZyk7Ci0gICAg
Ly8gRklYTUU6IEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBjbGllbnQgd2hvc2UgY3Jl
YXRpb24gVVJMIG1hdGNoZXMgcmVnaXN0cmF0aW9uJ3Mgc2NvcGUgdXJsLi4uCisgICAgLy8gRklY
TUU6IEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCB3aG9zZSBjcmVhdGlvbiBVUkwgbWF0
Y2hlcyByZWdpc3RyYXRpb24ncyBzY29wZSB1cmwuLi4KIAotICAgIC8vIEZvciBlYWNoIHNlcnZp
Y2Ugd29ya2VyIGNsaWVudCBjbGllbnQgd2hvIGlzIHVzaW5nIHJlZ2lzdHJhdGlvbjoKKyAgICAv
LyBGb3IgZWFjaCBzZXJ2aWNlIHdvcmtlciBjbGllbnQgd2hvIGlzIHVzaW5nIHJlZ2lzdHJhdGlv
bjoKICAgICAvLyAtIFNldCBjbGllbnQncyBhY3RpdmUgd29ya2VyIHRvIHJlZ2lzdHJhdGlvbidz
IGFjdGl2ZSB3b3JrZXIuCisgICAgZm9yIChhdXRvIGtleVZhbHVlIDogbV9jbGllbnRzVXNpbmdS
ZWdpc3RyYXRpb24pIHsKKyAgICAgICAgZm9yIChhdXRvJiBjbGllbnRJZGVudGlmaWVyIDoga2V5
VmFsdWUudmFsdWUpCisgICAgICAgICAgICBtX3NlcnZlci5zZXRDbGllbnRBY3RpdmVXb3JrZXIo
U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBrZXlWYWx1ZS5rZXksIGNsaWVudElkZW50
aWZpZXIgfSwgYWN0aXZlV29ya2VyKCktPmlkZW50aWZpZXIoKSk7CisgICAgfQogICAgIC8vIC0g
SW52b2tlIE5vdGlmeSBDb250cm9sbGVyIENoYW5nZSBhbGdvcml0aG0gd2l0aCBjbGllbnQgYXMg
dGhlIGFyZ3VtZW50LgogICAgIG5vdGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBiMDRhOTM5YmNjMzVm
ZGVmNGE4YTk0NTk5MzNlOWM3YjUwZWUyMjM1Li5mMjIwZmE0YjVkOGFmMWQyYzQ0ZWIxNGZhNjVh
YmZhMTMzZDIyNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApA
QCAtMjA0LDExICsyMDQsMTEgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmdldFJlZ2lz
dHJhdGlvbnModWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWQKICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OkRpZEdldFJlZ2lzdHJhdGlvbnMgeyByZWdp
c3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCByZWdpc3RyYXRpb25zIH0pOwogfQogCi12
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNl
Y3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJ
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCit2b2lkIFdlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3VyaXR5T3JpZ2lu
RGF0YSYmIHRvcE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQog
ewogICAgIGF1dG8gY2xpZW50T3JpZ2luID0gQ2xpZW50T3JpZ2luIHsgV1RGTW92ZSh0b3BPcmln
aW4pLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbihTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlKGRhdGEudXJsKSkgfTsKICAgICBtX2NsaWVudE9yaWdpbnMuYWRkKGNvbnRleHRJ
ZGVudGlmaWVyLCBjbGllbnRPcmlnaW4pOwotICAgIHNlcnZlcigpLnJlZ2lzdGVyU2VydmljZVdv
cmtlckNsaWVudChXVEZNb3ZlKGNsaWVudE9yaWdpbiksIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyIHsgdGhpcy0+aWRlbnRpZmllcigpLCBjb250ZXh0SWRlbnRpZmllciB9ICwgV1RGTW92
ZShkYXRhKSk7CisgICAgc2VydmVyKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdURk1v
dmUoY2xpZW50T3JpZ2luKSwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyB0aGlzLT5p
ZGVudGlmaWVyKCksIGNvbnRleHRJZGVudGlmaWVyIH0gLCBXVEZNb3ZlKGRhdGEpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KERvY3VtZW50SWRlbnRpZmllciBj
b250ZXh0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQv
U3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAppbmRl
eCA5MGI0ZTY2ZmM0MmEyOGJlMzBiYmUxY2I4ZDk1MGYzOGQwNjg3NTExLi5mZDAwZDFhNGU5OWU1
OGY3M2M5OGI3MGQ2Y2RmMDQxNTViZDJlZTc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0
b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtYXRjaFJlZ2lz
dHJhdGlvbih1aW50NjRfdCByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6
VVJMJiBjbGllbnRVUkwpOwogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCByZWdp
c3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6VVJMJiBjbGllbnRVUkwpOwogCi0g
ICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW5EYXRhJiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIsIFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgV2ViQ29y
ZTo6RG9jdW1lbnRJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYm
LCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYp
OwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6RG9jdW1l
bnRJZGVudGlmaWVyKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5l
Y3Rpb24oKSBmaW5hbCB7IHJldHVybiBtX2NvbnRlbnRDb25uZWN0aW9uLnB0cigpOyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCAx
MDJmMDBiNTg1MDI3NWY3NmQwN2E4YzE0MWE4Mjk5ODc2ZmVlYTczLi42YzczNGM4ZTRlYzU4ZDNi
MTM0YzJiNmQ0YzNkOWE0ZmM1ZjljMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3Jh
Z2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI4LDggKzI4LDYgQEAgbWVzc2FnZXMgLT4g
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBGaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVy
KHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQgcmVzdWx0KQogICAgIEFk
ZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbW92ZVNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIFNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxp
bmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIHJl
Z2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBjb250ZXh0
SWRlbnRpZmllcikKLSAgICBTZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIp
CiAKICAgICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBX
ZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6OkZldGNoT3B0
aW9ucyBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHJlcXVlc3RCb2R5KQogICAgIFBv
c3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyRnJvbUNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBJUEM6OkRhdGFS
ZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSBzb3VyY2VEYXRhKQpAQCAtMzksNyArMzcsNyBAQCBtZXNzYWdlcyAtPiBXZWJTV1Nl
cnZlckNvbm5lY3Rpb24gewogCiAgICAgTWF0Y2hSZWdpc3RyYXRpb24odWludDY0X3Qgc2Vydmlj
ZVJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZWN1
cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBXZWJDb3JlOjpVUkwgY2xpZW50VVJMKQogICAgIEdl
dFJlZ2lzdHJhdGlvbnModWludDY0X3Qgc2VydmljZVJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElk
ZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBX
ZWJDb3JlOjpVUkwgY2xpZW50VVJMKQotICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChz
dHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2ViQ29yZTo6RG9j
dW1lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSBkYXRhKQorICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChzdHJ1Y3Qg
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2ViQ29yZTo6RG9jdW1lbnRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSBkYXRhLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
PiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQogICAgIFVucmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBpZGVudGlmaWVyKQog
CiAgICAgU3luY1Rlcm1pbmF0ZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciB3b3JrZXJJZGVudGlmaWVyKSAtPiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggMTJjZGQw
YWI3ZTI0MGM4YmJkMzNiODIzMTYxNWM1YWQ4MjAxMjlkMi4uOWZlNmQ1NjZkM2ZhOTRiM2NkZDUx
YzgwNjk1MDhhZTE1ZTcwNDhhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC05MiwxOSArOTIs
OSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3Jr
ZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJGcm9tU2VydmljZVdvcmtl
cihkZXN0aW5hdGlvbklkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSB7IHNjcmlwdFZhbHVl
LT5kYXRhKCkgfSwgc291cmNlV29ya2VySWRlbnRpZmllcikpOwogfQogCi12b2lkIFdlYlNXQ2xp
ZW50Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJ
ZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQordm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246
OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3Jp
Z2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYgY29udHJvbGxpbmdTZXJ2aWNl
V29ya2VySWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5l
Y3Rpb246OlNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoc2VydmljZVdvcmtl
cklkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGNvbnRleHRJZGVudGlmaWVyKSk7
Ci19Ci0KLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENv
bnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCi17Ci0gICAg
c2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpTZXJ2aWNlV29ya2VyU3RvcHBl
ZENvbnRyb2xsaW5nQ2xpZW50KHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBjb250ZXh0SWRlbnRpZmllcikpOwotfQotCi12b2lkIFdlYlNXQ2xpZW50Q29u
bmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmll
ciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmIGRhdGEpCi17Ci0gICAg
c2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpSZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQgeyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbih0b3BPcmln
aW4pLCBjb250ZXh0SWRlbnRpZmllciwgZGF0YSB9KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJT
V1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCB7IFNlY3VyaXR5
T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKHRvcE9yaWdpbiksIGNvbnRleHRJZGVudGlm
aWVyLCBkYXRhLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyIH0pOwogfQogCiB2
b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
V2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24uaAppbmRleCBlNTZmNGVhNTQ1Y2U0ZWIyOTZlZjQxZWQ2NDMyN2JlMzI3ODYzZjdmLi41YjZl
MjA5ZGM0YmVhM2U4MTYzNGZhYjhiMTc1YWM0MzJiMGE4Yjg1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaApA
QCAtNzUsOSArNzUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoRmV0Y2hpbmdTY3JpcHRJ
blNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQmKSBmaW5hbDsK
ICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFdlYkNvcmU6OlNlcmlhbGl6
ZWRTY3JpcHRWYWx1ZT4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIg
c291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBzb3Vy
Y2UpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoV2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBSZWY8V2ViQ29y
ZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBzb3VyY2VXb3JrZXJJZGVudGlmaWVyKSBmaW5hbDsKLSAgICB2b2lkIHNlcnZpY2VXb3Jr
ZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZp
ZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXZWJDb3Jl
OjpEb2N1bWVudElkZW50aWZpZXIpIGZpbmFsOwotICAgIHZvaWQgc2VydmljZVdvcmtlclN0b3Bw
ZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3Vt
ZW50SWRlbnRpZmllcikgZmluYWw7Ci0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2ViQ29yZTo6RG9j
dW1lbnRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYp
IGZpbmFsOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmll
ciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmLCBjb25zdCBzdGQ6Om9w
dGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpIGZpbmFsOwogICAgIHZv
aWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlm
aWVyKSBmaW5hbDsKIAogICAgIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6VVJMJiBjbGllbnRVUkws
IFJlZ2lzdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328408</attachid>
            <date>2017-12-04 16:35:50 -0800</date>
            <delta_ts>2017-12-04 20:32:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180382-20171204163549.patch</filename>
            <type>text/plain</type>
            <size>29806</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTg3ZTk3ZGE2OGE0YzQ4
MmE4MDNmMDg3ODEyYzI1NmNiYmI4MDJjYy4uODEwNTdiODVhMzU5MDg3ZjJjNmE4ZDAzNDVkMmJk
YjNlNDJhOGVjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTEyLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc2V0dGlu
ZyBvZiBzZXJ2aWNlIHdvcmtlciB0byBjbGllbnQgaW4gU1dTZXJ2ZXIgd2l0aG91dCBnb2luZyB0
byBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVz
IHRoZSBub3RpZmljYXRpb24gb2YgYWN0aXZlIHdvcmtlciBzZXR0aW5nIGZyb20gU2NyaXB0RXhl
Y3V0aW9uL1dlYlByb2Nlc3MgdXAgdG8gU1dTZXJ2ZXIvU3RvcmFnZVByb2Nlc3MuCisgICAgICAg
IEluc3RlYWQsIGFjdGl2ZSB3b3JrZXIgc2V0dGluZyBpcyBmdWxseSBkb25lL2NvbnRyb2xsZWQg
aW4gU1dTZXJ2ZXIuCisgICAgICAgIFdoZW5ldmVyIHRoZXJlIGlzIGEgY2hhbmdlLCBTV1NlcnZl
ciBub3RpZmllcyBXZWJQcm9jZXNzIGFuZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGdldHMgdXBk
YXRlZCBhY2NvcmRpbmdseS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24pOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIpOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6Y29tbWl0RGF0YSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnNldENsaWVudEFjdGl2ZVdvcmtlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtl
cklkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9u
OjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENv
bnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpz
ZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWN0aXZhdGUpOgor
CiAyMDE3LTEyLTA0ICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
UkVHUkVTU0lPTiAocjIxMTUzMSk6IFRleHQgZmxvdyBjaGFuZ2VzIGFuZCBvdmVybGFwcyBvdGhl
ciB0ZXh0IGFmdGVyIGRvdWJsZS1jbGljayBzZWxlY3RpbmcgcGFyYWdyYXBoCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDU1MmQ2MTQ3YTE1YTYyZmMwNjQ2NjgzODVkMGVhNWYyZjAyYTkxYmQuLjIwODA0NWJhYjJiNGI3
Y2I1NDM0MTQ0NjgxYjQwYjc1OTQ2NzdkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTctMTItMDQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIElt
cGxlbWVudCBzZXR0aW5nIG9mIHNlcnZpY2Ugd29ya2VyIHRvIGNsaWVudCBpbiBTV1NlcnZlciB3
aXRob3V0IGdvaW5nIHRvIFdlYlByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MDM4MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2Vy
dmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCk6CisgICAg
ICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDbGllbnRDb25uZWN0
aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJT
V0NsaWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQp
OiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnNlcnZp
Y2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaDoKKwogMjAxNy0xMi0wNCAg
QnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgR2V0IGEgZGlyZWN0
b3J5IHBhdGggdG8gU1dTZXJ2ZXJzIGZvciBzdG9yaW5nIFNlcnZpY2VXb3JrZXIgcmVnaXN0cmF0
aW9ucy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IGZlYjVmOTc1ZGExYjEwZjNmMmQyZjU4
ZGUwZGYzNDAwYzExNTI1YTQuLjliYmZhNmFmMDc4NmVjNTY3N2EwYmVhNGU1NjFhZWVjNzllZDI5
MzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtNDk2Nyw2ICs0OTY3LDcgQEAgdm9pZCBE
b2N1bWVudDo6c3RvcmFnZUJsb2NraW5nU3RhdGVEaWRDaGFuZ2UoKQogdm9pZCBEb2N1bWVudDo6
cHJpdmF0ZUJyb3dzaW5nU3RhdGVEaWRDaGFuZ2UoKSAKIHsKICAgICBtX3Nlc3Npb25JRCA9IFNl
c3Npb25JRDo6ZW1wdHlTZXNzaW9uSUQoKTsKKwogICAgIGlmIChtX2xvZ2dlcikKICAgICAgICAg
bV9sb2dnZXItPnNldEVuYWJsZWQodGhpcywgc2Vzc2lvbklEKCkuaXNBbHdheXNPbkxvZ2dpbmdB
bGxvd2VkKCkpOwogCkBAIC03NTk3LDggKzc1OTgsMTMgQEAgdm9pZCBEb2N1bWVudDo6c2V0U2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oU1dDbGllbnRDb25uZWN0aW9uKiBzZXJ2aWNlV29ya2VyQ29u
bmUKIAogICAgIG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24gPSBzZXJ2aWNlV29ya2VyQ29ubmVj
dGlvbjsKIAotICAgIGlmIChtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uKQotICAgICAgICBtX3Nl
cnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3Jp
Z2luKCksIGlkZW50aWZpZXIoKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMp
KTsKKyAgICBpZiAoIW1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24pCisgICAgICAgIHJldHVybjsK
KworICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+IGNvbnRyb2xsaW5n
U2VydmljZVdvcmtlcklkZW50aWZpZXI7CisgICAgaWYgKGF1dG8qIHdvcmtlciA9IGFjdGl2ZVNl
cnZpY2VXb3JrZXIoKSkKKyAgICAgICAgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciA9IHdvcmtlci0+aWRlbnRpZmllcigpOworICAgIG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24t
PnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0b3BPcmlnaW4oKSwgaWRlbnRpZmllcigpLCBT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2VydmljZVdv
cmtlcklkZW50aWZpZXIpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmNwcAppbmRleCBiNmU4NWVhOTljNWRhMGMyZGE3ZmY2MjU3MWVm
NzU5YTQ0NWMxOGRkLi4zZWQ4MGFmZjQ0MGVhODBhZDMzNDE4Y2MyOWE1MmZhMjJlN2Y1YjhmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC01
NDMsMjEgKzU0Myw3IEBAIFNlcnZpY2VXb3JrZXIqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFj
dGl2ZVNlcnZpY2VXb3JrZXIoKSBjb25zdAogCiB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdv
cmtlcikKIHsKLSAgICAvLyBBZGQgc3VwcG9ydCBmb3Igd29ya2Vycy4KLSAgICBpZiAoIWlzPERv
Y3VtZW50PigqdGhpcykpCi0gICAgICAgIHJldHVybjsKLQotICAgIGlmIChtX2FjdGl2ZVNlcnZp
Y2VXb3JrZXIgPT0gc2VydmljZVdvcmtlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byYg
Y29ubmVjdGlvbiA9IFNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdv
cmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKHNlc3Npb25JRCgpKTsKLSAgICBpZiAobV9hY3RpdmVT
ZXJ2aWNlV29ya2VyKQotICAgICAgICBjb25uZWN0aW9uLnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29u
dHJvbGxpbmdDbGllbnQobV9hY3RpdmVTZXJ2aWNlV29ya2VyLT5pZGVudGlmaWVyKCksIG1fYWN0
aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpLCBkb3duY2FzdDxEb2N1
bWVudD4oKnRoaXMpLmlkZW50aWZpZXIoKSk7Ci0KICAgICBtX2FjdGl2ZVNlcnZpY2VXb3JrZXIg
PSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOwotCi0gICAgaWYgKG1fYWN0aXZlU2VydmljZVdvcmtl
cikKLSAgICAgICAgY29ubmVjdGlvbi5zZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xp
ZW50KG1fYWN0aXZlU2VydmljZVdvcmtlci0+aWRlbnRpZmllcigpLCBtX2FjdGl2ZVNlcnZpY2VX
b3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSwgZG93bmNhc3Q8RG9jdW1lbnQ+KCp0aGlz
KS5pZGVudGlmaWVyKCkpOwogfQogCiB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlZ2lz
dGVyU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyJiBzZXJ2aWNlV29ya2VyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAKaW5kZXggYWM4ODU5MDBkZTRlZGYxNjI5NGJi
NDQyZmE2MWYzYTczNThlYTg2NS4uZWVlMDQwMzg1N2NhNjIxZTFkNzlmZWVlNGI1YjZjZjM5OTg4
MGM5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC04NzQs
MTEgKzg3NCwxMSBAQCB2b2lkIERvY3VtZW50TG9hZGVyOjpjb21taXREYXRhKGNvbnN0IGNoYXIq
IGJ5dGVzLCBzaXplX3QgbGVuZ3RoKQogICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJl
czo6c2hhcmVkRmVhdHVyZXMoKS5zZXJ2aWNlV29ya2VyRW5hYmxlZCgpKSB7CiAgICAgICAgICAg
ICAvLyBGSVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IHJlZ2lzdGVyIHRoZSBjbGllbnQgYXMgc29v
biBhcyB3ZSBkbyB0aGUgcmVsYXRlZCBuYXZpZ2F0aW9uIGZldGNoLgogICAgICAgICAgICAgLy8g
V2UgY2FuIHByb2JhYmx5IGltcGxlbWVudCB0aGlzIHdoZW4gc3VwcG9ydGluZyBGZXRjaEV2ZW50
LnJlc2VydmVkQ2xpZW50SWQuCi0gICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRT
ZXJ2aWNlV29ya2VyQ29ubmVjdGlvbigmU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24o
KS5zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbkZvclNlc3Npb24obV9mcmFtZS0+cGFnZSgpLT5zZXNz
aW9uSUQoKSkpOwogICAgICAgICAgICAgaWYgKG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEgJiYgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS0+YWN0aXZlV29ya2VyKSB7CiAg
ICAgICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0QWN0aXZlU2VydmljZVdvcmtl
cihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZSgqbV9mcmFtZS0+ZG9jdW1lbnQoKSwgV1RGTW92
ZShtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLT5hY3RpdmVXb3JrZXIudmFsdWUoKSkp
KTsKICAgICAgICAgICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhID0geyB9
OwogICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0U2Vy
dmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCku
c2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKG1fZnJhbWUtPnBhZ2UoKS0+c2Vzc2lv
bklEKCkpKTsKICAgICAgICAgfQogI2VuZGlmCiAgICAgICAgIC8vIENhbGwgcmVjZWl2ZWRGaXJz
dERhdGEoKSBleGFjdGx5IG9uY2UgcGVyIGxvYWQuIFdlIHNob3VsZCBvbmx5IHJlYWNoIHRoaXMg
cG9pbnQgbXVsdGlwbGUgdGltZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBkNDExZWJmMThkN2E5NzUwNWEzNDI3NWU2
M2IxM2MxNjA0ZWU2YjYzLi5kNDRlNzk3ZGRlZDBhZjlmZDA1NjhjNTk3NzhhMmI3NWYyNzQ3NWU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oCkBAIC03OCwxMCArNzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIG1h
eUhhdmVTZXJ2aWNlV29ya2VyUmVnaXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdp
biYpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihTZXJ2
aWNlV29ya2VySWRlbnRpZmllcikgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHNlcnZpY2VXb3Jr
ZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpID0gMDsK
LSAgICB2aXJ0dWFsIHZvaWQgc2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIERvY3VtZW50SWRlbnRpZmllcikgPSAwOwotCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBEb2N1
bWVudElkZW50aWZpZXIsIGNvbnN0IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJikgPSAwOworICAg
IHZpcnR1YWwgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlP
cmlnaW4mIHRvcE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2Vy
Q2xpZW50RGF0YSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+
JikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChE
b2N1bWVudElkZW50aWZpZXIpID0gMDsKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCBlZDQ0YmNjNjAx
YTIyNWJkYzZiZmYxNWRlMjk1MDNjZTA1YTYwNGZhLi5lOTIxMTNhYjQzYTk3MGJmMGE2MTc2OTA3
ZDI4ODdjNjBkZmZjNGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMTg4LDE2ICsxODgsNiBAQCB2b2lkIFNXU2VydmVy
OjpDb25uZWN0aW9uOjpyZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2Vy
dmljZVdvcmtlcgogICAgIG1fc2VydmVyLnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oKnRoaXMsIGlkZW50aWZpZXIpOwogfQogCi12b2lkIFNXU2VydmVyOjpDb25uZWN0aW9u
OjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29u
dGV4dElkZW50aWZpZXIpCi17Ci0gICAgbV9zZXJ2ZXIuc2VydmljZVdvcmtlclN0YXJ0ZWRDb250
cm9sbGluZ0NsaWVudCgqdGhpcywgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIGNvbnRleHRJZGVudGlmaWVyKTsKLX0KLQotdm9pZCBTV1NlcnZlcjo6Q29u
bmVjdGlvbjo6c2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlm
aWVyIGNvbnRleHRJZGVudGlmaWVyKQotewotICAgIG1fc2VydmVyLnNlcnZpY2VXb3JrZXJTdG9w
cGVkQ29udHJvbGxpbmdDbGllbnQoKnRoaXMsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZWdp
c3RyYXRpb25JZGVudGlmaWVyLCBjb250ZXh0SWRlbnRpZmllcik7Ci19Ci0KIHZvaWQgU1dTZXJ2
ZXI6OkNvbm5lY3Rpb246OnN5bmNUZXJtaW5hdGVXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIgaWRlbnRpZmllcikKIHsKICAgICBpZiAoYXV0byogd29ya2VyID0gbV9zZXJ2ZXIud29ya2Vy
QnlJRChpZGVudGlmaWVyKSkKQEAgLTM4NCwzMyArMzc0LDYgQEAgdm9pZCBTV1NlcnZlcjo6cmVt
b3ZlQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBTZXIKICAgICByZWdpc3RyYXRpb24tPnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oY29ubmVjdGlvbi5pZGVudGlmaWVyKCkpOwogfQogCi12b2lkIFNXU2VydmVyOjpzZXJ2
aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KENvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1
bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCi17Ci0gICAgYXV0byogcmVnaXN0cmF0
aW9uID0gbV9yZWdpc3RyYXRpb25zQnlJRC5nZXQocmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Ci0g
ICAgaWYgKCFyZWdpc3RyYXRpb24pCi0gICAgICAgIHJldHVybjsKLQotICAgIFNlcnZpY2VXb3Jr
ZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIgeyBjb25uZWN0aW9uLmlkZW50aWZp
ZXIoKSwgY29udGV4dElkZW50aWZpZXIgfTsKLSAgICByZWdpc3RyYXRpb24tPmFkZENsaWVudFVz
aW5nUmVnaXN0cmF0aW9uKGNsaWVudElkZW50aWZpZXIpOwotCi0gICAgYXV0byByZXN1bHQgPSBt
X2NsaWVudFRvQ29udHJvbGxpbmdXb3JrZXIuYWRkKGNsaWVudElkZW50aWZpZXIsIHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0LmlzTmV3
RW50cnkpOwotfQotCi12b2lkIFNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xs
aW5nQ2xpZW50KENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElk
ZW50aWZpZXIpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsK
LSAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3JlZ2lzdHJhdGlvbnNCeUlELmdldChyZWdpc3Ry
YXRpb25JZGVudGlmaWVyKTsKLSAgICBpZiAoIXJlZ2lzdHJhdGlvbikKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciB7
IGNvbm5lY3Rpb24uaWRlbnRpZmllcigpLCBjb250ZXh0SWRlbnRpZmllciB9OwotICAgIHJlZ2lz
dHJhdGlvbi0+cmVtb3ZlQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7
Ci0KLSAgICBhdXRvIHJlc3VsdCA9IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci50YWtlKGNs
aWVudElkZW50aWZpZXIpOwotICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQgPT0gc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpOwotfQotCiB2b2lkIFNXU2VydmVyOjp1cGRhdGVXb3JrZXIo
Q29ubmVjdGlvbiYsIGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0
YUlkZW50aWZpZXIsIFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIHNjcmlwdCwgV29ya2VyVHlwZSB0eXBlKQogewogICAgIGF1
dG8gc2VydmljZVdvcmtlcklkZW50aWZpZXIgPSBnZW5lcmF0ZVNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKCk7CkBAIC02MTYsMzkgKzU3OSw1OSBAQCBjb25zdCBTV1NlcnZlclJlZ2lzdHJhdGlvbiog
U1dTZXJ2ZXI6OmRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaQogICAg
IHJldHVybiAoc2VsZWN0ZWRSZWdpc3RyYXRpb24gJiYgIXNlbGVjdGVkUmVnaXN0cmF0aW9uLT5p
c1VuaW5zdGFsbGluZygpKSA/IHNlbGVjdGVkUmVnaXN0cmF0aW9uIDogbnVsbHB0cjsKIH0KIAot
dm9pZCBTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYm
IGNsaWVudE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwg
U2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhKQordm9pZCBTV1NlcnZlcjo6c2V0Q2xpZW50
QWN0aXZlV29ya2VyKFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZp
ZXIsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQorewor
ICAgIG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci5zZXQoY2xpZW50SWRlbnRpZmllciwgc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpOworfQorCitTV1NlcnZlclJlZ2lzdHJhdGlvbiogU1dTZXJ2
ZXI6OnJlZ2lzdHJhdGlvbkZyb21TZXJ2aWNlV29ya2VySWRlbnRpZmllcihTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIGF1dG8gaXRlcmF0b3IgPSBtX3J1bm5pbmdP
clRlcm1pbmF0aW5nV29ya2Vycy5maW5kKGlkZW50aWZpZXIpOworICAgIGlmIChpdGVyYXRvciA9
PSBtX3J1bm5pbmdPclRlcm1pbmF0aW5nV29ya2Vycy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisKKyAgICByZXR1cm4gbV9yZWdpc3RyYXRpb25zLmdldChpdGVyYXRvci0+dmFsdWUt
PnJlZ2lzdHJhdGlvbktleSgpKTsKK30KKwordm9pZCBTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmIGNsaWVudE9yaWdpbiwgU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEm
JiBkYXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYgY29u
dHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKIHsKLSAgICBhdXRvJiBjbGllbnRzRGF0
YSA9IG1fY2xpZW50cy5lbnN1cmUoV1RGTW92ZShjbGllbnRPcmlnaW4pLCBbXSB7CisgICAgbV9j
bGllbnRzLmVuc3VyZShXVEZNb3ZlKGNsaWVudE9yaWdpbiksIFtdIHsKICAgICAgICAgcmV0dXJu
IENsaWVudHMgeyB9OwotICAgIH0pLml0ZXJhdG9yLT52YWx1ZTsKKyAgICB9KS5pdGVyYXRvci0+
dmFsdWUuY2xpZW50cy5hcHBlbmQoU2VydmljZVdvcmtlckNsaWVudEluZm9ybWF0aW9uIHsgY2xp
ZW50SWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKIAotICAgIGNsaWVudHNEYXRhLmNsaWVu
dHMuYXBwZW5kKFNlcnZpY2VXb3JrZXJDbGllbnRJbmZvcm1hdGlvbiB7IGlkZW50aWZpZXIsIFdU
Rk1vdmUoZGF0YSkgfSk7Ci0gICAgaWYgKGNsaWVudHNEYXRhLnRlcm1pbmF0ZVNlcnZpY2VXb3Jr
ZXJzVGltZXIpCi0gICAgICAgIGNsaWVudHNEYXRhLnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzVGlt
ZXIgPSBudWxscHRyOworICAgIGlmICghY29udHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmll
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgYXV0byBzZXJ2aWNlV29ya2VySWRlbnRpZmllciA9
IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIudmFsdWUoKTsKKyAgICBpZiAoYXV0
byogY29udHJvbGxpbmdSZWdpc3RyYXRpb24gPSByZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtl
cklkZW50aWZpZXIoc2VydmljZVdvcmtlcklkZW50aWZpZXIpKQorICAgICAgICBjb250cm9sbGlu
Z1JlZ2lzdHJhdGlvbi0+YWRkQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmll
cik7CisKKyAgICBhdXRvIHJlc3VsdCA9IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci5hZGQo
Y2xpZW50SWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIpOworICAgIEFTU0VSVF9V
TlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OnVu
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3Jp
Z2luLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBTV1Nl
cnZlcjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBj
bGllbnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZp
ZXIpCiB7Ci0gICAgYXV0byBpdGVyYXRvciA9IG1fY2xpZW50cy5maW5kKGNsaWVudE9yaWdpbik7
Ci0gICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fY2xpZW50cy5lbmQoKSk7CisgICAgYXV0byBjbGll
bnRJdGVyYXRvciA9IG1fY2xpZW50cy5maW5kKGNsaWVudE9yaWdpbik7CisgICAgQVNTRVJUKGNs
aWVudEl0ZXJhdG9yICE9IG1fY2xpZW50cy5lbmQoKSk7CiAKLSAgICBhdXRvJiBjbGllbnRzID0g
aXRlcmF0b3ItPnZhbHVlLmNsaWVudHM7Ci0gICAgY2xpZW50cy5yZW1vdmVGaXJzdE1hdGNoaW5n
KFsmXSAoY29uc3QgYXV0byYgaXRlbSkgewotICAgICAgICByZXR1cm4gaWRlbnRpZmllciA9PSBp
dGVtLmlkZW50aWZpZXI7CisgICAgYXV0byYgY2xpZW50cyA9IGNsaWVudEl0ZXJhdG9yLT52YWx1
ZS5jbGllbnRzOworICAgIGNsaWVudHMucmVtb3ZlRmlyc3RNYXRjaGluZyhbJl0gKGNvbnN0IGF1
dG8mIGNsaWVudCkgeworICAgICAgICByZXR1cm4gY2xpZW50SWRlbnRpZmllciA9PSBjbGllbnQu
aWRlbnRpZmllcjsKICAgICB9KTsKKyAgICBpZiAoY2xpZW50cy5pc0VtcHR5KCkpIHsKKyAgICAg
ICAgLy8gRklYTUU6IFdlIG1pZ2h0IHdhbnQgdG8gdGVybWluYXRlIGFueSBjbGllbnRPcmlnaW4g
cmVsYXRlZCBzZXJ2aWNlIHdvcmtlci4KKyAgICAgICAgbV9jbGllbnRzLnJlbW92ZShjbGllbnRJ
dGVyYXRvcik7CisgICAgfQogCi0gICAgaWYgKCFjbGllbnRzLmlzRW1wdHkoKSB8fCBtX3J1bm5p
bmdPclRlcm1pbmF0aW5nV29ya2Vycy5pc0VtcHR5KCkpCisgICAgYXV0byB3b3JrZXJJdGVyYXRv
ciA9IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci5maW5kKGNsaWVudElkZW50aWZpZXIpOwor
ICAgIGlmICh3b3JrZXJJdGVyYXRvciA9PSBtX2NsaWVudFRvQ29udHJvbGxpbmdXb3JrZXIuZW5k
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIEFTU0VSVCghaXRlcmF0b3ItPnZhbHVlLnRlcm1p
bmF0ZVNlcnZpY2VXb3JrZXJzVGltZXIpOwotICAgIGl0ZXJhdG9yLT52YWx1ZS50ZXJtaW5hdGVT
ZXJ2aWNlV29ya2Vyc1RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oW2NsaWVudE9yaWdp
biwgdGhpc10gewotICAgICAgICBmb3IgKGF1dG8mIHdvcmtlciA6IG1fcnVubmluZ09yVGVybWlu
YXRpbmdXb3JrZXJzLnZhbHVlcygpKSB7Ci0gICAgICAgICAgICBpZiAod29ya2VyLT5vcmlnaW4o
KSA9PSBjbGllbnRPcmlnaW4pCi0gICAgICAgICAgICAgICAgdGVybWluYXRlV29ya2VyKHdvcmtl
cik7Ci0gICAgICAgIH0KLSAgICAgICAgbV9jbGllbnRzLnJlbW92ZShjbGllbnRPcmlnaW4pOwot
ICAgIH0pOwotICAgIGl0ZXJhdG9yLT52YWx1ZS50ZXJtaW5hdGVTZXJ2aWNlV29ya2Vyc1RpbWVy
LT5zdGFydE9uZVNob3QodGVybWluYXRpb25EZWxheSk7CisgICAgaWYgKGF1dG8qIGNvbnRyb2xs
aW5nUmVnaXN0cmF0aW9uID0gcmVnaXN0cmF0aW9uRnJvbVNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KHdvcmtlckl0ZXJhdG9yLT52YWx1ZSkpCisgICAgICAgIGNvbnRyb2xsaW5nUmVnaXN0cmF0aW9u
LT5yZW1vdmVDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbihjbGllbnRJZGVudGlmaWVyKTsKKworICAg
IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci5yZW1vdmUod29ya2VySXRlcmF0b3IpOwogfQog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggMTU2NDA0MzQxMjYwNzViNzdkOGU1Zjk5ZjYz
ZDlhMjYxZTZlYWZiYy4uMmMzYmZjYjY2NTY1ZjAzMzIzMGYzMTQxODM1YWNkNmI2N2RkMjQ2MCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIu
aApAQCAtOTAsOCArOTAsNiBAQCBwdWJsaWM6CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
ZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihjb25zdCBTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1
bHQmKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogICAg
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
blNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXIsIERvY3VtZW50SWRlbnRpZmllcik7Ci0gICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2Vy
dmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmll
cik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihTZXJ2
aWNlV29ya2VySWRlbnRpZmllcik7CiAKICAgICBwcml2YXRlOgpAQCAtMTQ3LDExICsxNDUsMTMg
QEAgcHVibGljOgogICAgIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBIYXNoU2V0PFNXU2Vy
dmVyKj4mIGFsbFNlcnZlcnMoKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmLCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRl
bnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJik7CisgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luJiYsIFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpOwogICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2lu
JiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQg
Ym9vbCBpbnZva2VSdW5TZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIAor
ICAgIHZvaWQgc2V0Q2xpZW50QWN0aXZlV29ya2VyKFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlm
aWVyLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgdm9pZCByZWdp
c3RlckNvbm5lY3Rpb24oQ29ubmVjdGlvbiYpOwogICAgIHZvaWQgdW5yZWdpc3RlckNvbm5lY3Rp
b24oQ29ubmVjdGlvbiYpOwpAQCAtMTY1LDEzICsxNjUsMTMgQEAgcHJpdmF0ZToKIAogICAgIHZv
aWQgYWRkQ2xpZW50U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogICAgIHZvaWQgcmVtb3ZlQ2xpZW50U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiwgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIpOwotICAgIHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGlu
Z0NsaWVudChDb25uZWN0aW9uJiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpOwotICAgIHZvaWQg
c2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChDb25uZWN0aW9uJiwgU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBE
b2N1bWVudElkZW50aWZpZXIpOwogCiAgICAgV0VCQ09SRV9FWFBPUlQgY29uc3QgU1dTZXJ2ZXJS
ZWdpc3RyYXRpb24qIGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaW5E
YXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMKSBjb25zdDsKIAogICAgIHZvaWQg
aW5zdGFsbENvbnRleHREYXRhKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYpOwogCisg
ICAgU1dTZXJ2ZXJSZWdpc3RyYXRpb24qIHJlZ2lzdHJhdGlvbkZyb21TZXJ2aWNlV29ya2VySWRl
bnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CisKICAgICBlbnVtIFRlcm1pbmF0aW9u
TW9kZSB7CiAgICAgICAgIFN5bmNocm9ub3VzLAogICAgICAgICBBc3luY2hyb25vdXMsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVn
aXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCmluZGV4IDRiMmEzMTEyZWY2MTE5MDU2MjVkYTg4MzU0ZDVi
MTUzZGI0MDA1NzguLjhlYTZmY2VmZmM3YTY3NDU1ZGFiNTIwMTllMDUyNDY5OTE5ZWMzZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJS
ZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0yNTksMTAgKzI1OSwxNCBAQCB2b2lkIFNX
U2VydmVyUmVnaXN0cmF0aW9uOjphY3RpdmF0ZSgpCiAgICAgdXBkYXRlUmVnaXN0cmF0aW9uU3Rh
dGUoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlOjpXYWl0aW5nLCBudWxscHRyKTsKICAg
ICAvLyBSdW4gdGhlIFVwZGF0ZSBXb3JrZXIgU3RhdGUgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0
cmF0aW9uJ3MgYWN0aXZlIHdvcmtlciBhbmQgYWN0aXZhdGluZyBhcyB0aGUgYXJndW1lbnRzLgog
ICAgIHVwZGF0ZVdvcmtlclN0YXRlKCphY3RpdmVXb3JrZXIoKSwgU2VydmljZVdvcmtlclN0YXRl
OjpBY3RpdmF0aW5nKTsKLSAgICAvLyBGSVhNRTogRm9yIGVhY2ggc2VydmljZSB3b3JrZXIgY2xp
ZW50IGNsaWVudCB3aG9zZSBjcmVhdGlvbiBVUkwgbWF0Y2hlcyByZWdpc3RyYXRpb24ncyBzY29w
ZSB1cmwuLi4KKyAgICAvLyBGSVhNRTogRm9yIGVhY2ggc2VydmljZSB3b3JrZXIgY2xpZW50IHdo
b3NlIGNyZWF0aW9uIFVSTCBtYXRjaGVzIHJlZ2lzdHJhdGlvbidzIHNjb3BlIHVybC4uLgogCi0g
ICAgLy8gRm9yIGVhY2ggc2VydmljZSB3b3JrZXIgY2xpZW50IGNsaWVudCB3aG8gaXMgdXNpbmcg
cmVnaXN0cmF0aW9uOgorICAgIC8vIEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCB3aG8g
aXMgdXNpbmcgcmVnaXN0cmF0aW9uOgogICAgIC8vIC0gU2V0IGNsaWVudCdzIGFjdGl2ZSB3b3Jr
ZXIgdG8gcmVnaXN0cmF0aW9uJ3MgYWN0aXZlIHdvcmtlci4KKyAgICBmb3IgKGF1dG8ga2V5VmFs
dWUgOiBtX2NsaWVudHNVc2luZ1JlZ2lzdHJhdGlvbikgeworICAgICAgICBmb3IgKGF1dG8mIGNs
aWVudElkZW50aWZpZXIgOiBrZXlWYWx1ZS52YWx1ZSkKKyAgICAgICAgICAgIG1fc2VydmVyLnNl
dENsaWVudEFjdGl2ZVdvcmtlcihTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciB7IGtleVZh
bHVlLmtleSwgY2xpZW50SWRlbnRpZmllciB9LCBhY3RpdmVXb3JrZXIoKS0+aWRlbnRpZmllcigp
KTsKKyAgICB9CiAgICAgLy8gLSBJbnZva2UgTm90aWZ5IENvbnRyb2xsZXIgQ2hhbmdlIGFsZ29y
aXRobSB3aXRoIGNsaWVudCBhcyB0aGUgYXJndW1lbnQuCiAgICAgbm90aWZ5Q2xpZW50c09mQ29u
dHJvbGxlckNoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
CmluZGV4IGIwNGE5MzliY2MzNWZkZWY0YThhOTQ1OTkzM2U5YzdiNTBlZTIyMzUuLmYyMjBmYTRi
NWQ4YWYxZDJjNDRlYjE0ZmE2NWFiZmExMzNkMjI3MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uY3BwCkBAIC0yMDQsMTEgKzIwNCwxMSBAQCB2b2lkIFdlYlNXU2VydmVy
Q29ubmVjdGlvbjo6Z2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCByZWdpc3RyYXRpb25NYXRjaFJl
cXVlc3RJZAogICAgIHNlbmQoTWVzc2FnZXM6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6RGlkR2V0
UmVnaXN0cmF0aW9ucyB7IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHJlZ2lz
dHJhdGlvbnMgfSk7CiB9CiAKLXZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNl
cnZpY2VXb3JrZXJDbGllbnQoU2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBEb2N1bWVu
dElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYg
ZGF0YSkKK3ZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoU2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBEb2N1bWVudElkZW50aWZpZXIg
Y29udGV4dElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4mIGNvbnRyb2xsaW5nU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIpCiB7CiAgICAgYXV0byBjbGllbnRPcmlnaW4gPSBDbGllbnRPcmln
aW4geyBXVEZNb3ZlKHRvcE9yaWdpbiksIFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5
T3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoZGF0YS51cmwpKSB9OwogICAgIG1fY2xpZW50
T3JpZ2lucy5hZGQoY29udGV4dElkZW50aWZpZXIsIGNsaWVudE9yaWdpbik7Ci0gICAgc2VydmVy
KCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdURk1vdmUoY2xpZW50T3JpZ2luKSwgU2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyB0aGlzLT5pZGVudGlmaWVyKCksIGNvbnRleHRJ
ZGVudGlmaWVyIH0gLCBXVEZNb3ZlKGRhdGEpKTsKKyAgICBzZXJ2ZXIoKS5yZWdpc3RlclNlcnZp
Y2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGllbnRPcmlnaW4pLCBTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllciB7IHRoaXMtPmlkZW50aWZpZXIoKSwgY29udGV4dElkZW50aWZpZXIgfSAsIFdU
Rk1vdmUoZGF0YSksIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogfQogCiB2
b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
RG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5oCmluZGV4IDkwYjRlNjZmYzQyYTI4YmUzMGJiZTFjYjhkOTUwZjM4ZDA2
ODc1MTEuLmZkMDBkMWE0ZTk5ZTU4ZjczYzk4YjcwZDZjZGYwNDE1NWJkMmVlNzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTg2LDcgKzg2LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVx
dWVzdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3Jp
Z2luLCBjb25zdCBXZWJDb3JlOjpVUkwmIGNsaWVudFVSTCk7CiAgICAgdm9pZCBnZXRSZWdpc3Ry
YXRpb25zKHVpbnQ2NF90IHJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBXZWJDb3JlOjpV
UkwmIGNsaWVudFVSTCk7CiAKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChX
ZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmJiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50
SWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJik7CisgICAgdm9p
ZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRh
JiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Vydmlj
ZVdvcmtlcklkZW50aWZpZXI+Jik7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNs
aWVudChXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIpOwogCiAgICAgSVBDOjpDb25uZWN0aW9u
KiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGZpbmFsIHsgcmV0dXJuIG1fY29udGVudENvbm5l
Y3Rpb24ucHRyKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluCmluZGV4IDEwMmYwMGI1ODUwMjc1Zjc2ZDA3YThjMTQxYTgyOTk4NzZmZWVh
NzMuLjZjNzM0YzhlNGVjNThkM2IxMzRjMmI2ZDRjM2Q5YTRmYzVmOWMyZDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9T
ZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjgsOCAr
MjgsNiBAQCBtZXNzYWdlcyAtPiBXZWJTV1NlcnZlckNvbm5lY3Rpb24gewogICAgIEZpbmlzaEZl
dGNoaW5nU2NyaXB0SW5TZXJ2ZXIoc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJGZXRjaFJl
c3VsdCByZXN1bHQpCiAgICAgQWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCiAg
ICAgUmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZpZXIpCi0gICAgU2VydmljZVdv
cmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgV2ViQ29yZTo6RG9jdW1l
bnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQotICAgIFNlcnZpY2VXb3JrZXJTdG9wcGVk
Q29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmll
ciBjb250ZXh0SWRlbnRpZmllcikKIAogICAgIFN0YXJ0RmV0Y2godWludDY0X3QgaWRlbnRpZmll
ciwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4gc2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0LCBzdHJ1
Y3QgV2ViQ29yZTo6RmV0Y2hPcHRpb25zIG9wdGlvbnMsIElQQzo6Rm9ybURhdGFSZWZlcmVuY2Ug
cmVxdWVzdEJvZHkpCiAgICAgUG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJGcm9tQ2xpZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uU2VydmljZVdvcmtlcklk
ZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSBtZXNzYWdlLCBzdHJ1Y3QgV2ViQ29yZTo6U2Vy
dmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgc3RydWN0IFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHNvdXJjZURhdGEpCkBAIC0zOSw3ICszNyw3IEBA
IG1lc3NhZ2VzIC0+IFdlYlNXU2VydmVyQ29ubmVjdGlvbiB7CiAKICAgICBNYXRjaFJlZ2lzdHJh
dGlvbih1aW50NjRfdCBzZXJ2aWNlUmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwg
c3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSB0b3BPcmlnaW4sIFdlYkNvcmU6OlVS
TCBjbGllbnRVUkwpCiAgICAgR2V0UmVnaXN0cmF0aW9ucyh1aW50NjRfdCBzZXJ2aWNlUmVnaXN0
cmF0aW9uTWF0Y2hSZXF1ZXN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OlNlY3VyaXR5T3Jp
Z2luRGF0YSB0b3BPcmlnaW4sIFdlYkNvcmU6OlVSTCBjbGllbnRVUkwpCi0gICAgUmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9w
T3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgc3RydWN0IFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGEpCisgICAgUmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2lu
LCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhIGRhdGEsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2Vy
dmljZVdvcmtlcklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIp
CiAgICAgVW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6RG9jdW1lbnRJZGVu
dGlmaWVyIGlkZW50aWZpZXIpCiAKICAgICBTeW5jVGVybWluYXRlV29ya2VyKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIHdvcmtlcklkZW50aWZpZXIpIC0+ICgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24u
Y3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0
aW9uLmNwcAppbmRleCAxMmNkZDBhYjdlMjQwYzhiYmQzM2I4MjMxNjE1YzVhZDgyMDEyOWQyLi45
ZmU2ZDU2NmQzZmE5NGIzY2RkNTFjODA2OTUwOGFlMTVlNzA0OGEwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlv
bi5jcHAKQEAgLTkyLDE5ICs5Miw5IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0
TWVzc2FnZVRvU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkCiAgICAgc2Vu
ZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpQb3N0TWVzc2FnZVRvU2VydmljZVdv
cmtlckZyb21TZXJ2aWNlV29ya2VyKGRlc3RpbmF0aW9uSWRlbnRpZmllciwgSVBDOjpEYXRhUmVm
ZXJlbmNlIHsgc2NyaXB0VmFsdWUtPmRhdGEoKSB9LCBzb3VyY2VXb3JrZXJJZGVudGlmaWVyKSk7
CiB9CiAKLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RhcnRlZENv
bnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCit2b2lkIFdl
YlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBjb250
ZXh0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmIGRh
dGEsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+
JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQogewotICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6U2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGlu
Z0NsaWVudChzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
Y29udGV4dElkZW50aWZpZXIpKTsKLX0KLQotdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNl
cnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZp
ZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmllciBjb250ZXh0
SWRlbnRpZmllcikKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246
OlNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoc2VydmljZVdvcmtlcklkZW50
aWZpZXIsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGNvbnRleHRJZGVudGlmaWVyKSk7Ci19Ci0K
LXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlm
aWVyIGNvbnRleHRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSYgZGF0YSkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246
OlJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCB7IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNl
Y3VyaXR5T3JpZ2luKHRvcE9yaWdpbiksIGNvbnRleHRJZGVudGlmaWVyLCBkYXRhIH0pOworICAg
IHNlbmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50IHsgU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4odG9wT3Jp
Z2luKSwgY29udGV4dElkZW50aWZpZXIsIGRhdGEsIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklk
ZW50aWZpZXIgfSk7CiB9CiAKIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjp1bnJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElk
ZW50aWZpZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IGU1NmY0ZWE1NDVjZTRlYjI5NmVmNDFlZDY0
MzI3YmUzMjc4NjNmN2YuLjViNmUyMDlkYzRiZWEzZTgxNjM0ZmFiOGIxNzVhYzQzMmIwYThiODUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNX
Q2xpZW50Q29ubmVjdGlvbi5oCkBAIC03NSw5ICs3NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBm
aW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJG
ZXRjaFJlc3VsdCYpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBS
ZWY8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50SWRlbnRpZmllciBzb3VyY2VJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSYmIHNvdXJjZSkgZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvU2Vy
dmljZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvbklk
ZW50aWZpZXIsIFJlZjxXZWJDb3JlOjpTZXJpYWxpemVkU2NyaXB0VmFsdWU+JiYsIFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNvdXJjZVdvcmtlcklkZW50aWZpZXIpIGZpbmFsOwot
ICAgIHZvaWQgc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bklkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllcikgZmluYWw7Ci0gICAgdm9p
ZCBzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyKSBmaW5hbDsKLSAgICB2b2lkIHJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdG9w
T3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDbGllbnREYXRhJikgZmluYWw7CisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2ViQ29y
ZTo6RG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50
RGF0YSYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZp
ZXI+JikgZmluYWw7CiAgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJD
b3JlOjpEb2N1bWVudElkZW50aWZpZXIpIGZpbmFsOwogCiAgICAgdm9pZCBtYXRjaFJlZ2lzdHJh
dGlvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBjb25zdCBXZWJD
b3JlOjpVUkwmIGNsaWVudFVSTCwgUmVnaXN0cmF0aW9uQ2FsbGJhY2smJikgZmluYWw7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328433</attachid>
            <date>2017-12-04 20:32:56 -0800</date>
            <delta_ts>2017-12-05 10:21:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180382-20171204203255.patch</filename>
            <type>text/plain</type>
            <size>29681</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzhhMTAxZGY2YmMyOTMy
MDVkMWMzMDBlOGZjZjkxYTdhMzY0NGM3OC4uNTFmMTJhNmU5ZjMyYTVmMmU4MWRlZDlhNmU4MzNh
MGVmMGZkNzBlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTEyLTA0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc2V0dGlu
ZyBvZiBzZXJ2aWNlIHdvcmtlciB0byBjbGllbnQgaW4gU1dTZXJ2ZXIgd2l0aG91dCBnb2luZyB0
byBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVz
IHRoZSBub3RpZmljYXRpb24gb2YgYWN0aXZlIHdvcmtlciBzZXR0aW5nIGZyb20gU2NyaXB0RXhl
Y3V0aW9uL1dlYlByb2Nlc3MgdXAgdG8gU1dTZXJ2ZXIvU3RvcmFnZVByb2Nlc3MuCisgICAgICAg
IEluc3RlYWQsIGFjdGl2ZSB3b3JrZXIgc2V0dGluZyBpcyBmdWxseSBkb25lL2NvbnRyb2xsZWQg
aW4gU1dTZXJ2ZXIuCisgICAgICAgIFdoZW5ldmVyIHRoZXJlIGlzIGEgY2hhbmdlLCBTV1NlcnZl
ciBub3RpZmllcyBXZWJQcm9jZXNzIGFuZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGdldHMgdXBk
YXRlZCBhY2NvcmRpbmdseS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpEb2N1bWVudDo6c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24pOgorICAgICAg
ICAqIGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIpOgorICAgICAgICAq
IGxvYWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExv
YWRlcjo6Y29tbWl0RGF0YSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnNldENsaWVudEFjdGl2ZVdvcmtlcik6Cisg
ICAgICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KToK
KyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtl
cklkZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9u
OjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENv
bnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpz
ZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50
KTogRGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6
CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWN0aXZhdGUpOgor
CiAyMDE3LTEyLTA0ICBOYW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6
IEFPTTogSW1wbGVtZW50IHJlbGF0aW9uIHR5cGUgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBiYzI3
NDAwZGU0Nzg0ZTU4NWY2ZDBkZjc0MjEzYWYzZmRiZDU4YWE1Li5hMzBmZjU2ZDI1M2Y1MjYyOWVh
MzNjOTRmZWNkYzMzZTg5MGZkMTNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE3LTEy
LTA0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1l
bnQgc2V0dGluZyBvZiBzZXJ2aWNlIHdvcmtlciB0byBjbGllbnQgaW4gU1dTZXJ2ZXIgd2l0aG91
dCBnb2luZyB0byBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAgICAqIFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQpOgorICAgICAgICAq
IFN0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmg6Cisg
ICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50
Q29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlNXQ2xpZW50Q29ubmVjdGlvbjo6
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViU1dDbGll
bnRDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXJ2aWNlV29y
a2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmg6CisKIDIwMTctMTItMDQgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEZvbGxvd3VwIHRvOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKaW5kZXggZmViNWY5NzVkYTFiMTBmM2YyZDJmNThkZTBkZjM0MDBj
MTE1MjVhNC4uY2I4ZjNlYzk5N2U0NDhmMDg5OTRiNzM4YzQ4NTRiNzY1ZDlhN2UzNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCkBAIC03NTk3LDggKzc1OTcsMTEgQEAgdm9pZCBEb2N1bWVudDo6
c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oU1dDbGllbnRDb25uZWN0aW9uKiBzZXJ2aWNlV29y
a2VyQ29ubmUKIAogICAgIG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24gPSBzZXJ2aWNlV29ya2Vy
Q29ubmVjdGlvbjsKIAotICAgIGlmIChtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uKQotICAgICAg
ICBtX3NlcnZpY2VXb3JrZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
dG9wT3JpZ2luKCksIGlkZW50aWZpZXIoKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20o
KnRoaXMpKTsKKyAgICBpZiAoIW1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24pCisgICAgICAgIHJl
dHVybjsKKworICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllciA9IGFj
dGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VySWRl
bnRpZmllcj4oYWN0aXZlU2VydmljZVdvcmtlcigpLT5pZGVudGlmaWVyKCkpIDogc3RkOjpudWxs
b3B0OworICAgIG1fc2VydmljZVdvcmtlckNvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudCh0b3BPcmlnaW4oKSwgaWRlbnRpZmllcigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogfQog
I2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cAppbmRleCBiNmU4NWVhOTljNWRhMGMyZGE3ZmY2MjU3MWVmNzU5YTQ0NWMxOGRkLi4zZWQ4MGFm
ZjQ0MGVhODBhZDMzNDE4Y2MyOWE1MmZhMjJlN2Y1YjhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC01NDMsMjEgKzU0Myw3IEBAIFNlcnZp
Y2VXb3JrZXIqIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSBj
b25zdAogCiB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNldEFjdGl2ZVNlcnZpY2VXb3Jr
ZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKIHsKLSAgICAvLyBBZGQg
c3VwcG9ydCBmb3Igd29ya2Vycy4KLSAgICBpZiAoIWlzPERvY3VtZW50PigqdGhpcykpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGlmIChtX2FjdGl2ZVNlcnZpY2VXb3JrZXIgPT0gc2VydmljZVdv
cmtlcikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgYXV0byYgY29ubmVjdGlvbiA9IFNlcnZpY2VX
b3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNz
aW9uKHNlc3Npb25JRCgpKTsKLSAgICBpZiAobV9hY3RpdmVTZXJ2aWNlV29ya2VyKQotICAgICAg
ICBjb25uZWN0aW9uLnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQobV9hY3Rp
dmVTZXJ2aWNlV29ya2VyLT5pZGVudGlmaWVyKCksIG1fYWN0aXZlU2VydmljZVdvcmtlci0+cmVn
aXN0cmF0aW9uSWRlbnRpZmllcigpLCBkb3duY2FzdDxEb2N1bWVudD4oKnRoaXMpLmlkZW50aWZp
ZXIoKSk7Ci0KICAgICBtX2FjdGl2ZVNlcnZpY2VXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3Jr
ZXIpOwotCi0gICAgaWYgKG1fYWN0aXZlU2VydmljZVdvcmtlcikKLSAgICAgICAgY29ubmVjdGlv
bi5zZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KG1fYWN0aXZlU2VydmljZVdv
cmtlci0+aWRlbnRpZmllcigpLCBtX2FjdGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIoKSwgZG93bmNhc3Q8RG9jdW1lbnQ+KCp0aGlzKS5pZGVudGlmaWVyKCkpOwogfQog
CiB2b2lkIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnJlZ2lzdGVyU2VydmljZVdvcmtlcihTZXJ2
aWNlV29ya2VyJiBzZXJ2aWNlV29ya2VyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0RvY3VtZW50TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExv
YWRlci5jcHAKaW5kZXggYzg5NDRmODJlMjFjNmNiYzljYjFkOTAzNzhmZDYxNDIzYTI4MjgzOC4u
NWE0M2NjNDQxM2M2YTcyMDJmMjM0NDllMjRjYTUyMmVlMDFjZTgxNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCkBAIC04NzQsMTEgKzg3NCwxMSBAQCB2b2lkIERv
Y3VtZW50TG9hZGVyOjpjb21taXREYXRhKGNvbnN0IGNoYXIqIGJ5dGVzLCBzaXplX3QgbGVuZ3Ro
KQogICAgICAgICBpZiAoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXJ2aWNlV29ya2VyRW5hYmxlZCgpKSB7CiAgICAgICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxk
IHByb2JhYmx5IHJlZ2lzdGVyIHRoZSBjbGllbnQgYXMgc29vbiBhcyB3ZSBkbyB0aGUgcmVsYXRl
ZCBuYXZpZ2F0aW9uIGZldGNoLgogICAgICAgICAgICAgLy8gV2UgY2FuIHByb2JhYmx5IGltcGxl
bWVudCB0aGlzIHdoZW4gc3VwcG9ydGluZyBGZXRjaEV2ZW50LnJlc2VydmVkQ2xpZW50SWQuCi0g
ICAgICAgICAgICBtX2ZyYW1lLT5kb2N1bWVudCgpLT5zZXRTZXJ2aWNlV29ya2VyQ29ubmVjdGlv
bigmU2VydmljZVdvcmtlclByb3ZpZGVyOjpzaW5nbGV0b24oKS5zZXJ2aWNlV29ya2VyQ29ubmVj
dGlvbkZvclNlc3Npb24obV9mcmFtZS0+cGFnZSgpLT5zZXNzaW9uSUQoKSkpOwogICAgICAgICAg
ICAgaWYgKG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgJiYgbV9zZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YS0+YWN0aXZlV29ya2VyKSB7CiAgICAgICAgICAgICAgICAgbV9mcmFt
ZS0+ZG9jdW1lbnQoKS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRP
ckNyZWF0ZSgqbV9mcmFtZS0+ZG9jdW1lbnQoKSwgV1RGTW92ZShtX3NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EYXRhLT5hY3RpdmVXb3JrZXIudmFsdWUoKSkpKTsKICAgICAgICAgICAgICAgICBt
X3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhID0geyB9OwogICAgICAgICAgICAgfQorICAg
ICAgICAgICAgbV9mcmFtZS0+ZG9jdW1lbnQoKS0+c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24o
JlNlcnZpY2VXb3JrZXJQcm92aWRlcjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rp
b25Gb3JTZXNzaW9uKG1fZnJhbWUtPnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICAgICAgfQog
I2VuZGlmCiAgICAgICAgIC8vIENhbGwgcmVjZWl2ZWRGaXJzdERhdGEoKSBleGFjdGx5IG9uY2Ug
cGVyIGxvYWQuIFdlIHNob3VsZCBvbmx5IHJlYWNoIHRoaXMgcG9pbnQgbXVsdGlwbGUgdGltZXMK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rp
b24uaAppbmRleCBkNDExZWJmMThkN2E5NzUwNWEzNDI3NWU2M2IxM2MxNjA0ZWU2YjYzLi5kNDRl
Nzk3ZGRlZDBhZjlmZDA1NjhjNTk3NzhhMmI3NWYyNzQ3NWU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC03OCwxMCAr
NzgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIG1heUhhdmVTZXJ2aWNlV29ya2VyUmVn
aXN0ZXJlZEZvck9yaWdpbihjb25zdCBTZWN1cml0eU9yaWdpbiYpIGNvbnN0ID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgc3luY1Rlcm1pbmF0ZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcikg
PSAwOwogCi0gICAgdmlydHVhbCB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdD
bGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgc2Vy
dmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmll
ciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERvY3VtZW50SWRlbnRpZmll
cikgPSAwOwotCi0gICAgdmlydHVhbCB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChj
b25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBEb2N1bWVudElkZW50aWZpZXIsIGNvbnN0
IFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCByZWdpc3Rl
clNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgRG9j
dW1lbnRJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYsIGNvbnN0IHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JikgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChEb2N1bWVudElkZW50aWZpZXIpID0g
MDsKIAogcHJvdGVjdGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyL1NXU2VydmVyLmNwcAppbmRleCBlZDQ0YmNjNjAxYTIyNWJkYzZiZmYxNWRlMjk1MDNj
ZTA1YTYwNGZhLi4yYmNiOWI1YTBkMjdmZDA2MGQ1ZmFlYWViYmRlYWFkMzcyM2NjMmIzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNw
cApAQCAtMTg4LDE2ICsxODgsNiBAQCB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpyZW1vdmVT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2VydmljZVdvcmtlcgogICAgIG1fc2Vy
dmVyLnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKnRoaXMsIGlkZW50aWZp
ZXIpOwogfQogCi12b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RhcnRl
ZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRp
b25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCi17Ci0g
ICAgbV9zZXJ2ZXIuc2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudCgqdGhpcywg
c2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGNvbnRleHRJ
ZGVudGlmaWVyKTsKLX0KLQotdm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6c2VydmljZVdvcmtl
clN0b3BwZWRDb250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNl
V29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVn
aXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVy
KQotewotICAgIG1fc2VydmVyLnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQo
KnRoaXMsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBj
b250ZXh0SWRlbnRpZmllcik7Ci19Ci0KIHZvaWQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnN5bmNU
ZXJtaW5hdGVXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikKIHsKICAg
ICBpZiAoYXV0byogd29ya2VyID0gbV9zZXJ2ZXIud29ya2VyQnlJRChpZGVudGlmaWVyKSkKQEAg
LTM4NCwzMyArMzc0LDYgQEAgdm9pZCBTV1NlcnZlcjo6cmVtb3ZlQ2xpZW50U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbihDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTZXIKICAgICByZWdpc3RyYXRp
b24tPnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29ubmVjdGlvbi5pZGVu
dGlmaWVyKCkpOwogfQogCi12b2lkIFNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRy
b2xsaW5nQ2xpZW50KENvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4
dElkZW50aWZpZXIpCi17Ci0gICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25z
QnlJRC5nZXQocmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgaWYgKCFyZWdpc3RyYXRpb24p
Ci0gICAgICAgIHJldHVybjsKLQotICAgIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNs
aWVudElkZW50aWZpZXIgeyBjb25uZWN0aW9uLmlkZW50aWZpZXIoKSwgY29udGV4dElkZW50aWZp
ZXIgfTsKLSAgICByZWdpc3RyYXRpb24tPmFkZENsaWVudFVzaW5nUmVnaXN0cmF0aW9uKGNsaWVu
dElkZW50aWZpZXIpOwotCi0gICAgYXV0byByZXN1bHQgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdX
b3JrZXIuYWRkKGNsaWVudElkZW50aWZpZXIsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKLSAg
ICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0LmlzTmV3RW50cnkpOwotfQotCi12b2lkIFNX
U2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KENvbm5lY3Rpb24m
IGNvbm5lY3Rpb24sIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdpc3RyYXRpb25JZGVu
dGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIpCi17Ci0gICAgVU5V
U0VEX1BBUkFNKHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKLSAgICBhdXRvKiByZWdpc3RyYXRp
b24gPSBtX3JlZ2lzdHJhdGlvbnNCeUlELmdldChyZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKLSAg
ICBpZiAoIXJlZ2lzdHJhdGlvbikKLSAgICAgICAgcmV0dXJuOwotCi0gICAgU2VydmljZVdvcmtl
ckNsaWVudElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllciB7IGNvbm5lY3Rpb24uaWRlbnRpZmll
cigpLCBjb250ZXh0SWRlbnRpZmllciB9OwotICAgIHJlZ2lzdHJhdGlvbi0+cmVtb3ZlQ2xpZW50
VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7Ci0KLSAgICBhdXRvIHJlc3VsdCA9
IG1fY2xpZW50VG9Db250cm9sbGluZ1dvcmtlci50YWtlKGNsaWVudElkZW50aWZpZXIpOwotICAg
IEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQgPT0gc2VydmljZVdvcmtlcklkZW50aWZpZXIp
OwotfQotCiB2b2lkIFNXU2VydmVyOjp1cGRhdGVXb3JrZXIoQ29ubmVjdGlvbiYsIGNvbnN0IFNl
cnZpY2VXb3JrZXJKb2JEYXRhSWRlbnRpZmllciYgam9iRGF0YUlkZW50aWZpZXIsIFNXU2VydmVy
UmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24sIGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcm
IHNjcmlwdCwgV29ya2VyVHlwZSB0eXBlKQogewogICAgIGF1dG8gc2VydmljZVdvcmtlcklkZW50
aWZpZXIgPSBnZW5lcmF0ZVNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKCk7CkBAIC02MTYsMzkgKzU3
OSw2OSBAQCBjb25zdCBTV1NlcnZlclJlZ2lzdHJhdGlvbiogU1dTZXJ2ZXI6OmRvUmVnaXN0cmF0
aW9uTWF0Y2hpbmcoY29uc3QgU2VjdXJpdHlPcmlnaQogICAgIHJldHVybiAoc2VsZWN0ZWRSZWdp
c3RyYXRpb24gJiYgIXNlbGVjdGVkUmVnaXN0cmF0aW9uLT5pc1VuaW5zdGFsbGluZygpKSA/IHNl
bGVjdGVkUmVnaXN0cmF0aW9uIDogbnVsbHB0cjsKIH0KIAotdm9pZCBTV1NlcnZlcjo6cmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmIGNsaWVudE9yaWdpbiwgU2Vydmlj
ZVdvcmtlckNsaWVudElkZW50aWZpZXIgaWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERh
dGEmJiBkYXRhKQordm9pZCBTV1NlcnZlcjo6c2V0Q2xpZW50QWN0aXZlV29ya2VyKFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQoreworICAgIG1fY2xpZW50VG9Db250cm9s
bGluZ1dvcmtlci5zZXQoY2xpZW50SWRlbnRpZmllciwgc2VydmljZVdvcmtlcklkZW50aWZpZXIp
OworfQorCitTV1NlcnZlclJlZ2lzdHJhdGlvbiogU1dTZXJ2ZXI6OnJlZ2lzdHJhdGlvbkZyb21T
ZXJ2aWNlV29ya2VySWRlbnRpZmllcihTZXJ2aWNlV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVy
KQoreworICAgIGF1dG8gaXRlcmF0b3IgPSBtX3J1bm5pbmdPclRlcm1pbmF0aW5nV29ya2Vycy5m
aW5kKGlkZW50aWZpZXIpOworICAgIGlmIChpdGVyYXRvciA9PSBtX3J1bm5pbmdPclRlcm1pbmF0
aW5nV29ya2Vycy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4g
bV9yZWdpc3RyYXRpb25zLmdldChpdGVyYXRvci0+dmFsdWUtPnJlZ2lzdHJhdGlvbktleSgpKTsK
K30KKwordm9pZCBTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9y
aWdpbiYmIGNsaWVudE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgY2xpZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiBkYXRhLCBjb25zdCBzdGQ6Om9w
dGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcikKIHsKICAgICBhdXRvJiBjbGllbnRzRGF0YSA9IG1fY2xpZW50cy5lbnN1cmUo
V1RGTW92ZShjbGllbnRPcmlnaW4pLCBbXSB7CiAgICAgICAgIHJldHVybiBDbGllbnRzIHsgfTsK
ICAgICB9KS5pdGVyYXRvci0+dmFsdWU7CiAKLSAgICBjbGllbnRzRGF0YS5jbGllbnRzLmFwcGVu
ZChTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24geyBpZGVudGlmaWVyLCBXVEZNb3ZlKGRh
dGEpIH0pOworICAgIGNsaWVudHNEYXRhLmNsaWVudHMuYXBwZW5kKFNlcnZpY2VXb3JrZXJDbGll
bnRJbmZvcm1hdGlvbiB7IGNsaWVudElkZW50aWZpZXIsIFdURk1vdmUoZGF0YSkgfSk7CiAgICAg
aWYgKGNsaWVudHNEYXRhLnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzVGltZXIpCiAgICAgICAgIGNs
aWVudHNEYXRhLnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzVGltZXIgPSBudWxscHRyOworCisgICAg
aWYgKCFjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQorICAgICAgICByZXR1cm47
CisKKyAgICBpZiAoYXV0byogY29udHJvbGxpbmdSZWdpc3RyYXRpb24gPSByZWdpc3RyYXRpb25G
cm9tU2VydmljZVdvcmtlcklkZW50aWZpZXIoKmNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklkZW50
aWZpZXIpKSB7CisgICAgICAgIGNvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLT5hZGRDbGllbnRVc2lu
Z1JlZ2lzdHJhdGlvbihjbGllbnRJZGVudGlmaWVyKTsKKyAgICAgICAgYXV0byByZXN1bHQgPSBt
X2NsaWVudFRvQ29udHJvbGxpbmdXb3JrZXIuYWRkKGNsaWVudElkZW50aWZpZXIsICpjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChyZXN1
bHQsIHJlc3VsdC5pc05ld0VudHJ5KTsKKyAgICB9CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OnVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2lu
LCBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBpZGVudGlmaWVyKQordm9pZCBTV1NlcnZl
cjo6dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGll
bnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIp
CiB7Ci0gICAgYXV0byBpdGVyYXRvciA9IG1fY2xpZW50cy5maW5kKGNsaWVudE9yaWdpbik7Ci0g
ICAgQVNTRVJUKGl0ZXJhdG9yICE9IG1fY2xpZW50cy5lbmQoKSk7CisgICAgYXV0byBjbGllbnRJ
dGVyYXRvciA9IG1fY2xpZW50cy5maW5kKGNsaWVudE9yaWdpbik7CisgICAgQVNTRVJUKGNsaWVu
dEl0ZXJhdG9yICE9IG1fY2xpZW50cy5lbmQoKSk7CiAKLSAgICBhdXRvJiBjbGllbnRzID0gaXRl
cmF0b3ItPnZhbHVlLmNsaWVudHM7Ci0gICAgY2xpZW50cy5yZW1vdmVGaXJzdE1hdGNoaW5nKFsm
XSAoY29uc3QgYXV0byYgaXRlbSkgewotICAgICAgICByZXR1cm4gaWRlbnRpZmllciA9PSBpdGVt
LmlkZW50aWZpZXI7CisgICAgYXV0byYgY2xpZW50cyA9IGNsaWVudEl0ZXJhdG9yLT52YWx1ZS5j
bGllbnRzOworICAgIGNsaWVudHMucmVtb3ZlRmlyc3RNYXRjaGluZyhbJl0gKGNvbnN0IGF1dG8m
IGNsaWVudCkgeworICAgICAgICByZXR1cm4gY2xpZW50SWRlbnRpZmllciA9PSBjbGllbnQuaWRl
bnRpZmllcjsKICAgICB9KTsKKyAgICBpZiAoY2xpZW50cy5pc0VtcHR5KCkpIHsKKyAgICAgICAg
QVNTRVJUKCFjbGllbnRJdGVyYXRvci0+dmFsdWUudGVybWluYXRlU2VydmljZVdvcmtlcnNUaW1l
cik7CisgICAgICAgIGNsaWVudEl0ZXJhdG9yLT52YWx1ZS50ZXJtaW5hdGVTZXJ2aWNlV29ya2Vy
c1RpbWVyID0gc3RkOjptYWtlX3VuaXF1ZTxUaW1lcj4oW2NsaWVudE9yaWdpbiwgdGhpc10gewor
ICAgICAgICAgICAgZm9yIChhdXRvJiB3b3JrZXIgOiBtX3J1bm5pbmdPclRlcm1pbmF0aW5nV29y
a2Vycy52YWx1ZXMoKSkgeworICAgICAgICAgICAgICAgIGlmICh3b3JrZXItPm9yaWdpbigpID09
IGNsaWVudE9yaWdpbikKKyAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlV29ya2VyKHdvcmtl
cik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtX2NsaWVudHMucmVtb3ZlKGNsaWVudE9y
aWdpbik7CisgICAgICAgIH0pOworICAgICAgICBjbGllbnRJdGVyYXRvci0+dmFsdWUudGVybWlu
YXRlU2VydmljZVdvcmtlcnNUaW1lci0+c3RhcnRPbmVTaG90KHRlcm1pbmF0aW9uRGVsYXkpOwor
ICAgIH0KIAotICAgIGlmICghY2xpZW50cy5pc0VtcHR5KCkgfHwgbV9ydW5uaW5nT3JUZXJtaW5h
dGluZ1dvcmtlcnMuaXNFbXB0eSgpKQorICAgIGF1dG8gd29ya2VySXRlcmF0b3IgPSBtX2NsaWVu
dFRvQ29udHJvbGxpbmdXb3JrZXIuZmluZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBpZiAod29y
a2VySXRlcmF0b3IgPT0gbV9jbGllbnRUb0NvbnRyb2xsaW5nV29ya2VyLmVuZCgpKQogICAgICAg
ICByZXR1cm47CiAKLSAgICBBU1NFUlQoIWl0ZXJhdG9yLT52YWx1ZS50ZXJtaW5hdGVTZXJ2aWNl
V29ya2Vyc1RpbWVyKTsKLSAgICBpdGVyYXRvci0+dmFsdWUudGVybWluYXRlU2VydmljZVdvcmtl
cnNUaW1lciA9IHN0ZDo6bWFrZV91bmlxdWU8VGltZXI+KFtjbGllbnRPcmlnaW4sIHRoaXNdIHsK
LSAgICAgICAgZm9yIChhdXRvJiB3b3JrZXIgOiBtX3J1bm5pbmdPclRlcm1pbmF0aW5nV29ya2Vy
cy52YWx1ZXMoKSkgewotICAgICAgICAgICAgaWYgKHdvcmtlci0+b3JpZ2luKCkgPT0gY2xpZW50
T3JpZ2luKQotICAgICAgICAgICAgICAgIHRlcm1pbmF0ZVdvcmtlcih3b3JrZXIpOwotICAgICAg
ICB9Ci0gICAgICAgIG1fY2xpZW50cy5yZW1vdmUoY2xpZW50T3JpZ2luKTsKLSAgICB9KTsKLSAg
ICBpdGVyYXRvci0+dmFsdWUudGVybWluYXRlU2VydmljZVdvcmtlcnNUaW1lci0+c3RhcnRPbmVT
aG90KHRlcm1pbmF0aW9uRGVsYXkpOworICAgIGlmIChhdXRvKiBjb250cm9sbGluZ1JlZ2lzdHJh
dGlvbiA9IHJlZ2lzdHJhdGlvbkZyb21TZXJ2aWNlV29ya2VySWRlbnRpZmllcih3b3JrZXJJdGVy
YXRvci0+dmFsdWUpKQorICAgICAgICBjb250cm9sbGluZ1JlZ2lzdHJhdGlvbi0+cmVtb3ZlQ2xp
ZW50VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRlbnRpZmllcik7CisKKyAgICBtX2NsaWVudFRv
Q29udHJvbGxpbmdXb3JrZXIucmVtb3ZlKHdvcmtlckl0ZXJhdG9yKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlci5oCmluZGV4IDE1NjQwNDM0MTI2MDc1Yjc3ZDhlNWY5OWY2M2Q5YTI2MWU2ZWFm
YmMuLjJjM2JmY2I2NjU2NWYwMzMyMzBmMzE0MTgzNWFjZDZiNjdkZDI0NjAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAgLTkwLDgg
KzkwLDYgQEAgcHVibGljOgogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZpbmlzaEZldGNo
aW5nU2NyaXB0SW5TZXJ2ZXIoY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0Jik7CiAgICAg
ICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYWRkU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2Vy
dmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKICAgICAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCByZW1vdmVTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSW5TZXJ2ZXIoU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwotICAgICAgICBXRUJDT1JFX0VYUE9S
VCB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtl
cklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVu
dElkZW50aWZpZXIpOwotICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNlcnZpY2VXb3JrZXJT
dG9wcGVkQ29udHJvbGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpOwogICAgICAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHN5bmNUZXJtaW5hdGVXb3JrZXIoU2VydmljZVdvcmtlcklk
ZW50aWZpZXIpOwogCiAgICAgcHJpdmF0ZToKQEAgLTE0NywxMSArMTQ1LDEzIEBAIHB1YmxpYzoK
ICAgICAKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgSGFzaFNldDxTV1NlcnZlcio+JiBhbGxT
ZXJ2ZXJzKCk7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudChDbGllbnRPcmlnaW4mJiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmLCBTZXJ2aWNlV29ya2VyQ2xpZW50
SWRlbnRpZmllciwgU2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4mKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHVu
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYsIFNlcnZpY2VX
b3JrZXJDbGllbnRJZGVudGlmaWVyKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaW52b2tl
UnVuU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAKKyAgICB2b2lkIHNl
dENsaWVudEFjdGl2ZVdvcmtlcihTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciwgU2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIpOworCiBwcml2YXRlOgogICAgIHZvaWQgcmVnaXN0ZXJDb25uZWN0
aW9uKENvbm5lY3Rpb24mKTsKICAgICB2b2lkIHVucmVnaXN0ZXJDb25uZWN0aW9uKENvbm5lY3Rp
b24mKTsKQEAgLTE2NSwxMyArMTY1LDEzIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGFkZENsaWVu
dFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyKTsKLSAgICB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoQ29u
bmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lkIHNlcnZpY2VXb3Jr
ZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVu
dGlmaWVyKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFNXU2VydmVyUmVnaXN0cmF0aW9u
KiBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3Jp
Z2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkgY29uc3Q7CiAKICAgICB2b2lkIGluc3RhbGxDb250
ZXh0RGF0YShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmKTsKIAorICAgIFNXU2VydmVy
UmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtlcklkZW50aWZpZXIoU2Vy
dmljZVdvcmtlcklkZW50aWZpZXIpOworCiAgICAgZW51bSBUZXJtaW5hdGlvbk1vZGUgewogICAg
ICAgICBTeW5jaHJvbm91cywKICAgICAgICAgQXN5bmNocm9ub3VzLApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0
cmF0aW9uLmNwcAppbmRleCA0YjJhMzExMmVmNjExOTA1NjI1ZGE4ODM1NGQ1YjE1M2RiNDAwNTc4
Li44ZWE2ZmNlZmZjN2E2NzQ1NWRhYjUyMDE5ZTA1MjQ2OTkxOWVjM2VjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyUmVnaXN0cmF0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
UmVnaXN0cmF0aW9uLmNwcApAQCAtMjU5LDEwICsyNTksMTQgQEAgdm9pZCBTV1NlcnZlclJlZ2lz
dHJhdGlvbjo6YWN0aXZhdGUoKQogICAgIHVwZGF0ZVJlZ2lzdHJhdGlvblN0YXRlKFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25TdGF0ZTo6V2FpdGluZywgbnVsbHB0cik7CiAgICAgLy8gUnVuIHRo
ZSBVcGRhdGUgV29ya2VyIFN0YXRlIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbidzIGFj
dGl2ZSB3b3JrZXIgYW5kIGFjdGl2YXRpbmcgYXMgdGhlIGFyZ3VtZW50cy4KICAgICB1cGRhdGVX
b3JrZXJTdGF0ZSgqYWN0aXZlV29ya2VyKCksIFNlcnZpY2VXb3JrZXJTdGF0ZTo6QWN0aXZhdGlu
Zyk7Ci0gICAgLy8gRklYTUU6IEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBjbGllbnQg
d2hvc2UgY3JlYXRpb24gVVJMIG1hdGNoZXMgcmVnaXN0cmF0aW9uJ3Mgc2NvcGUgdXJsLi4uCisg
ICAgLy8gRklYTUU6IEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCB3aG9zZSBjcmVhdGlv
biBVUkwgbWF0Y2hlcyByZWdpc3RyYXRpb24ncyBzY29wZSB1cmwuLi4KIAotICAgIC8vIEZvciBl
YWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBjbGllbnQgd2hvIGlzIHVzaW5nIHJlZ2lzdHJhdGlv
bjoKKyAgICAvLyBGb3IgZWFjaCBzZXJ2aWNlIHdvcmtlciBjbGllbnQgd2hvIGlzIHVzaW5nIHJl
Z2lzdHJhdGlvbjoKICAgICAvLyAtIFNldCBjbGllbnQncyBhY3RpdmUgd29ya2VyIHRvIHJlZ2lz
dHJhdGlvbidzIGFjdGl2ZSB3b3JrZXIuCisgICAgZm9yIChhdXRvIGtleVZhbHVlIDogbV9jbGll
bnRzVXNpbmdSZWdpc3RyYXRpb24pIHsKKyAgICAgICAgZm9yIChhdXRvJiBjbGllbnRJZGVudGlm
aWVyIDoga2V5VmFsdWUudmFsdWUpCisgICAgICAgICAgICBtX3NlcnZlci5zZXRDbGllbnRBY3Rp
dmVXb3JrZXIoU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBrZXlWYWx1ZS5rZXksIGNs
aWVudElkZW50aWZpZXIgfSwgYWN0aXZlV29ya2VyKCktPmlkZW50aWZpZXIoKSk7CisgICAgfQog
ICAgIC8vIC0gSW52b2tlIE5vdGlmeSBDb250cm9sbGVyIENoYW5nZSBhbGdvcml0aG0gd2l0aCBj
bGllbnQgYXMgdGhlIGFyZ3VtZW50LgogICAgIG5vdGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFu
Z2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBiMDRh
OTM5YmNjMzVmZGVmNGE4YTk0NTk5MzNlOWM3YjUwZWUyMjM1Li5mMjIwZmE0YjVkOGFmMWQyYzQ0
ZWIxNGZhNjVhYmZhMTMzZDIyNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmNwcApAQCAtMjA0LDExICsyMDQsMTEgQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246
OmdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hSZXF1ZXN0SWQKICAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OkRpZEdldFJlZ2lzdHJhdGlv
bnMgeyByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCByZWdpc3RyYXRpb25zIH0p
OwogfQogCi12b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVy
IGNvbnRleHRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEpCit2b2lk
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3Vy
aXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEsIGNvbnN0IHN0ZDo6b3B0aW9u
YWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyKQogewogICAgIGF1dG8gY2xpZW50T3JpZ2luID0gQ2xpZW50T3JpZ2luIHsgV1RGTW92
ZSh0b3BPcmlnaW4pLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbihTZWN1
cml0eU9yaWdpbjo6Y3JlYXRlKGRhdGEudXJsKSkgfTsKICAgICBtX2NsaWVudE9yaWdpbnMuYWRk
KGNvbnRleHRJZGVudGlmaWVyLCBjbGllbnRPcmlnaW4pOwotICAgIHNlcnZlcigpLnJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChXVEZNb3ZlKGNsaWVudE9yaWdpbiksIFNlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyIHsgdGhpcy0+aWRlbnRpZmllcigpLCBjb250ZXh0SWRlbnRpZmllciB9
ICwgV1RGTW92ZShkYXRhKSk7CisgICAgc2VydmVyKCkucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xp
ZW50KFdURk1vdmUoY2xpZW50T3JpZ2luKSwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIg
eyB0aGlzLT5pZGVudGlmaWVyKCksIGNvbnRleHRJZGVudGlmaWVyIH0gLCBXVEZNb3ZlKGRhdGEp
LCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIH0KIAogdm9pZCBXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KERvY3VtZW50SWRl
bnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU3Rv
cmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaAppbmRleCA5MGI0ZTY2ZmM0MmEyOGJlMzBiYmUxY2I4ZDk1MGYzOGQwNjg3NTExLi5mZDAw
ZDFhNGU5OWU1OGY3M2M5OGI3MGQ2Y2RmMDQxNTViZDJlZTc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNX
U2VydmVyQ29ubmVjdGlvbi5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBt
YXRjaFJlZ2lzdHJhdGlvbih1aW50NjRfdCByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlm
aWVyLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3Qg
V2ViQ29yZTo6VVJMJiBjbGllbnRVUkwpOwogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9ucyh1aW50
NjRfdCByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpT
ZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6VVJMJiBjbGllbnRV
UkwpOwogCi0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6U2Vj
dXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIs
IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIHZvaWQgcmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdp
biwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyPiYpOwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29y
ZTo6RG9jdW1lbnRJZGVudGlmaWVyKTsKIAogICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNl
bmRlckNvbm5lY3Rpb24oKSBmaW5hbCB7IHJldHVybiBtX2NvbnRlbnRDb25uZWN0aW9uLnB0cigp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9TdG9y
YWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5p
bgppbmRleCAxMDJmMDBiNTg1MDI3NWY3NmQwN2E4YzE0MWE4Mjk5ODc2ZmVlYTczLi42YzczNGM4
ZTRlYzU4ZDNiMTM0YzJiNmQ0YzNkOWE0ZmM1ZjljMmQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI4LDggKzI4LDYgQEAgbWVz
c2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBGaW5pc2hGZXRjaGluZ1Njcmlw
dEluU2VydmVyKHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQgcmVzdWx0
KQogICAgIEFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQogICAgIFJlbW92ZVNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIFNlcnZpY2VXb3JrZXJTdGFydGVk
Q29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgc2Vydmlj
ZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmll
ciBjb250ZXh0SWRlbnRpZmllcikKLSAgICBTZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5n
Q2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdp
c3RyYXRpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElk
ZW50aWZpZXIpCiAKICAgICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgc3RydWN0IFdlYkNvcmU6
OkZldGNoT3B0aW9ucyBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNlIHJlcXVlc3RCb2R5
KQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyRnJvbUNsaWVudChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBJ
UEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJD
bGllbnRJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNl
V29ya2VyQ2xpZW50RGF0YSBzb3VyY2VEYXRhKQpAQCAtMzksNyArMzcsNyBAQCBtZXNzYWdlcyAt
PiBXZWJTV1NlcnZlckNvbm5lY3Rpb24gewogCiAgICAgTWF0Y2hSZWdpc3RyYXRpb24odWludDY0
X3Qgc2VydmljZVJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0cnVjdCBXZWJD
b3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBXZWJDb3JlOjpVUkwgY2xpZW50VVJM
KQogICAgIEdldFJlZ2lzdHJhdGlvbnModWludDY0X3Qgc2VydmljZVJlZ2lzdHJhdGlvbk1hdGNo
UmVxdWVzdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9w
T3JpZ2luLCBXZWJDb3JlOjpVUkwgY2xpZW50VVJMKQotICAgIFJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudChzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2Vi
Q29yZTo6RG9jdW1lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhKQorICAgIFJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dChzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdpbiwgV2ViQ29yZTo6
RG9jdW1lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSBkYXRhLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyPiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKQogICAgIFVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBpZGVu
dGlmaWVyKQogCiAgICAgU3luY1Rlcm1pbmF0ZVdvcmtlcihXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
SWRlbnRpZmllciB3b3JrZXJJZGVudGlmaWVyKSAtPiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5k
ZXggMTJjZGQwYWI3ZTI0MGM4YmJkMzNiODIzMTYxNWM1YWQ4MjAxMjlkMi4uOWZlNmQ1NjZkM2Zh
OTRiM2NkZDUxYzgwNjk1MDhhZTE1ZTcwNDhhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC05
MiwxOSArOTIsOSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIHNlbmQoTWVzc2FnZXM6
OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJGcm9tU2Vy
dmljZVdvcmtlcihkZXN0aW5hdGlvbklkZW50aWZpZXIsIElQQzo6RGF0YVJlZmVyZW5jZSB7IHNj
cmlwdFZhbHVlLT5kYXRhKCkgfSwgc291cmNlV29ya2VySWRlbnRpZmllcikpOwogfQogCi12b2lk
IFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0Ns
aWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
RG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQordm9pZCBXZWJTV0NsaWVudENv
bm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBTZWN1cml0eU9yaWdp
biYgdG9wT3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZp
ZXIsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiBkYXRhLCBjb25zdCBz
dGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYgY29udHJvbGxp
bmdTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1Nl
cnZlckNvbm5lY3Rpb246OlNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoc2Vy
dmljZVdvcmtlcklkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIGNvbnRleHRJZGVu
dGlmaWVyKSk7Ci19Ci0KLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2Vy
U3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciByZWdp
c3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4dElkZW50aWZpZXIp
Ci17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpTZXJ2aWNlV29y
a2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZWdp
c3RyYXRpb25JZGVudGlmaWVyLCBjb250ZXh0SWRlbnRpZmllcikpOwotfQotCi12b2lkIFdlYlNX
Q2xpZW50Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllciBjb250ZXh0
SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmIGRhdGEp
Ci17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpSZWdpc3RlclNl
cnZpY2VXb3JrZXJDbGllbnQgeyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdp
bih0b3BPcmlnaW4pLCBjb250ZXh0SWRlbnRpZmllciwgZGF0YSB9KTsKKyAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCB7
IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKHRvcE9yaWdpbiksIGNvbnRl
eHRJZGVudGlmaWVyLCBkYXRhLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyIH0p
OwogfQogCiB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRD
b25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaAppbmRleCBlNTZmNGVhNTQ1Y2U0ZWIyOTZlZjQxZWQ2NDMyN2JlMzI3ODYz
ZjdmLi41YjZlMjA5ZGM0YmVhM2U4MTYzNGZhYjhiMTc1YWM0MzJiMGE4Yjg1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24u
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24uaApAQCAtNzUsOSArNzUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZmluaXNoRmV0Y2hp
bmdTY3JpcHRJblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hSZXN1bHQm
KSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVmPFdlYkNvcmU6
OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERh
dGEmJiBzb3VyY2UpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIo
V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25JZGVudGlmaWVyLCBS
ZWY8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBXZWJDb3JlOjpTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBzb3VyY2VXb3JrZXJJZGVudGlmaWVyKSBmaW5hbDsKLSAgICB2b2lkIHNl
cnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtl
cklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
LCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIpIGZpbmFsOwotICAgIHZvaWQgc2VydmljZVdv
cmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNv
cmU6OkRvY3VtZW50SWRlbnRpZmllcikgZmluYWw7Ci0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgV2Vi
Q29yZTo6RG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xp
ZW50RGF0YSYpIGZpbmFsOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNv
bnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50
SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmLCBjb25z
dCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPiYpIGZpbmFs
OwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6RG9jdW1l
bnRJZGVudGlmaWVyKSBmaW5hbDsKIAogICAgIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3Qg
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6VVJMJiBj
bGllbnRVUkwsIFJlZ2lzdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328463</attachid>
            <date>2017-12-05 10:21:46 -0800</date>
            <delta_ts>2017-12-05 10:42:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180382-20171205102145.patch</filename>
            <type>text/plain</type>
            <size>29807</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1NTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTQ0ZGE0ZDIxNmMxZDgz
NGIzNTViYzliYzY4ZGE3Y2U2YjgwMWNhYi4uZDM4ZTUyNTViZDE2MmQzNzJjMjY4NmIyOTJkOGZh
YjVkYzJhOWU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDE3LTEyLTA1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgc2V0dGlu
ZyBvZiBzZXJ2aWNlIHdvcmtlciB0byBjbGllbnQgaW4gU1dTZXJ2ZXIgd2l0aG91dCBnb2luZyB0
byBXZWJQcm9jZXNzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xODAzODIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICBObyBjaGFuZ2Ugb2YgYmVoYXZpb3IuCisKKyAgICAgICAgVGhpcyBwYXRjaCByZW1vdmVzIHRo
ZSBub3RpZmljYXRpb24gb2YgYWN0aXZlIHdvcmtlciBzZXR0aW5nIGZyb20gU2NyaXB0RXhlY3V0
aW9uL1dlYlByb2Nlc3MgdXAgdG8gU1dTZXJ2ZXIvU3RvcmFnZVByb2Nlc3MuCisgICAgICAgIElu
c3RlYWQsIGFjdGl2ZSB3b3JrZXIgc2V0dGluZyBpcyBmdWxseSBkb25lL2NvbnRyb2xsZWQgaW4g
U1dTZXJ2ZXIuCisgICAgICAgIFdoZW5ldmVyIHRoZXJlIGlzIGEgY2hhbmdlLCBTV1NlcnZlciBu
b3RpZmllcyBXZWJQcm9jZXNzIGFuZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0IGdldHMgdXBkYXRl
ZCBhY2NvcmRpbmdseS4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEb2N1bWVudDo6c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24pOgorICAgICAgICAq
IGRvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIpOgorICAgICAgICAqIGxv
YWRlci9Eb2N1bWVudExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudExvYWRl
cjo6Y29tbWl0RGF0YSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVj
dGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnNldENsaWVudEFjdGl2ZVdvcmtlcik6CisgICAg
ICAgIChXZWJDb3JlOjpTV1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpyZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtlcklk
ZW50aWZpZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpz
ZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNXU2VydmVyOjpDb25uZWN0aW9uOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRy
b2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVyOjpzZXJ2
aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdl
YkNvcmU6OlNXU2VydmVyOjpzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KTog
RGVsZXRlZC4KKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbjo6YWN0aXZhdGUpOgorCiAy
MDE3LTEyLTA1ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAg
PHZpZGVvPiBhbmQgc2NhbGUoKSB0cmFuc2Zvcm1zIHlpZWxkIHNocnVuayBzbWFsbCBvciBjbGlw
cGVkIGNvbnRyb2xzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDljZmJjZjc5NzQyN2IxNGI4MmI0M2U0Y2U5NjhkZTU2
OWE4ZDA4ZTUuLjgzYjAwYTI3OTNjNDFlOTlmYzM4N2ZlY2E3MGYyZTMwM2ZjZjY3OWIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTctMTItMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBzZXR0aW5nIG9mIHNlcnZpY2Ugd29ya2Vy
IHRvIGNsaWVudCBpbiBTV1NlcnZlciB3aXRob3V0IGdvaW5nIHRvIFdlYlByb2Nlc3MKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM4MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAg
ICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViS2l0OjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OnJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudCk6CisgICAgICAgICogU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBTdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViU1dDbGllbnRDb25uZWN0aW9uOjpyZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJTV0NsaWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdGFy
dGVkQ29udHJvbGxpbmdDbGllbnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJTV0Ns
aWVudENvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQpOiBE
ZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24uaDoKKwogMjAxNy0xMi0wNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIFN1cHBvcnQgY29udGFpbmVyLmdldFJlZ2lzdHJhdGlvbigpIC8gZ2V0UmVnaXN0cmF0
aW9ucygpIGluc2lkZSBzZXJ2aWNlIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4
IGZlYjVmOTc1ZGExYjEwZjNmMmQyZjU4ZGUwZGYzNDAwYzExNTI1YTQuLmNiOGYzZWM5OTdlNDQ4
ZjA4OTk0YjczOGM0ODU0Yjc2NWQ5YTdlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAt
NzU5Nyw4ICs3NTk3LDExIEBAIHZvaWQgRG9jdW1lbnQ6OnNldFNlcnZpY2VXb3JrZXJDb25uZWN0
aW9uKFNXQ2xpZW50Q29ubmVjdGlvbiogc2VydmljZVdvcmtlckNvbm5lCiAKICAgICBtX3NlcnZp
Y2VXb3JrZXJDb25uZWN0aW9uID0gc2VydmljZVdvcmtlckNvbm5lY3Rpb247CiAKLSAgICBpZiAo
bV9zZXJ2aWNlV29ya2VyQ29ubmVjdGlvbikKLSAgICAgICAgbV9zZXJ2aWNlV29ya2VyQ29ubmVj
dGlvbi0+cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdpbigpLCBpZGVudGlmaWVy
KCksIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhOjpmcm9tKCp0aGlzKSk7CisgICAgaWYgKCFtX3Nl
cnZpY2VXb3JrZXJDb25uZWN0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBhdXRvIGNvbnRy
b2xsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyKCkgPyBz
dGQ6Om1ha2Vfb3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+KGFjdGl2ZVNlcnZpY2VX
b3JrZXIoKS0+aWRlbnRpZmllcigpKSA6IHN0ZDo6bnVsbG9wdDsKKyAgICBtX3NlcnZpY2VXb3Jr
ZXJDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQodG9wT3JpZ2luKCksIGlk
ZW50aWZpZXIoKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggMzYyYTc4MmI1ZTJmZDlm
OTIzYTU5NWE2NzdmMzhiNGQ4NzM3NWIyNy4uMDIzZTQ0Yjk1N2RmNzljNjI2MjQ3NzdjNDAxMTlm
OGI4YWE0MTZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250
ZXh0LmNwcApAQCAtNTQ1LDIxICs1NDUsNyBAQCBTZXJ2aWNlV29ya2VyKiBTY3JpcHRFeGVjdXRp
b25Db250ZXh0OjphY3RpdmVTZXJ2aWNlV29ya2VyKCkgY29uc3QKIAogdm9pZCBTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpzZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFJlZlB0cjxTZXJ2aWNlV29ya2Vy
PiYmIHNlcnZpY2VXb3JrZXIpCiB7Ci0gICAgLy8gQWRkIHN1cHBvcnQgZm9yIHdvcmtlcnMuCi0g
ICAgaWYgKCFpczxEb2N1bWVudD4oKnRoaXMpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAo
bV9hY3RpdmVTZXJ2aWNlV29ya2VyID09IHNlcnZpY2VXb3JrZXIpCi0gICAgICAgIHJldHVybjsK
LQotICAgIGF1dG8mIGNvbm5lY3Rpb24gPSBTZXJ2aWNlV29ya2VyUHJvdmlkZXI6OnNpbmdsZXRv
bigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihzZXNzaW9uSUQoKSk7Ci0gICAg
aWYgKG1fYWN0aXZlU2VydmljZVdvcmtlcikKLSAgICAgICAgY29ubmVjdGlvbi5zZXJ2aWNlV29y
a2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KG1fYWN0aXZlU2VydmljZVdvcmtlci0+aWRlbnRp
ZmllcigpLCBtX2FjdGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKSwg
ZG93bmNhc3Q8RG9jdW1lbnQ+KCp0aGlzKS5pZGVudGlmaWVyKCkpOwotCiAgICAgbV9hY3RpdmVT
ZXJ2aWNlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29ya2VyKTsKLQotICAgIGlmIChtX2FjdGl2
ZVNlcnZpY2VXb3JrZXIpCi0gICAgICAgIGNvbm5lY3Rpb24uc2VydmljZVdvcmtlclN0YXJ0ZWRD
b250cm9sbGluZ0NsaWVudChtX2FjdGl2ZVNlcnZpY2VXb3JrZXItPmlkZW50aWZpZXIoKSwgbV9h
Y3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCksIGRvd25jYXN0PERv
Y3VtZW50PigqdGhpcykuaWRlbnRpZmllcigpKTsKIH0KIAogdm9pZCBTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpyZWdpc3RlclNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlciYgc2VydmljZVdvcmtl
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1bWVudExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRG9jdW1lbnRMb2FkZXIuY3BwCmluZGV4IGM4OTQ0Zjgy
ZTIxYzZjYmM5Y2IxZDkwMzc4ZmQ2MTQyM2EyODI4MzguLjVhNDNjYzQ0MTNjNmE3MjAyZjIzNDQ5
ZTI0Y2E1MjJlZTAxY2U4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9Eb2N1
bWVudExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0RvY3VtZW50TG9hZGVy
LmNwcApAQCAtODc0LDExICs4NzQsMTEgQEAgdm9pZCBEb2N1bWVudExvYWRlcjo6Y29tbWl0RGF0
YShjb25zdCBjaGFyKiBieXRlcywgc2l6ZV90IGxlbmd0aCkKICAgICAgICAgaWYgKFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2VydmljZVdvcmtlckVuYWJsZWQoKSkg
ewogICAgICAgICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSByZWdpc3RlciB0aGUg
Y2xpZW50IGFzIHNvb24gYXMgd2UgZG8gdGhlIHJlbGF0ZWQgbmF2aWdhdGlvbiBmZXRjaC4KICAg
ICAgICAgICAgIC8vIFdlIGNhbiBwcm9iYWJseSBpbXBsZW1lbnQgdGhpcyB3aGVuIHN1cHBvcnRp
bmcgRmV0Y2hFdmVudC5yZXNlcnZlZENsaWVudElkLgotICAgICAgICAgICAgbV9mcmFtZS0+ZG9j
dW1lbnQoKS0+c2V0U2VydmljZVdvcmtlckNvbm5lY3Rpb24oJlNlcnZpY2VXb3JrZXJQcm92aWRl
cjo6c2luZ2xldG9uKCkuc2VydmljZVdvcmtlckNvbm5lY3Rpb25Gb3JTZXNzaW9uKG1fZnJhbWUt
PnBhZ2UoKS0+c2Vzc2lvbklEKCkpKTsKICAgICAgICAgICAgIGlmIChtX3NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhICYmIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEtPmFjdGl2
ZVdvcmtlcikgewogICAgICAgICAgICAgICAgIG1fZnJhbWUtPmRvY3VtZW50KCktPnNldEFjdGl2
ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoKm1fZnJhbWUtPmRvY3Vt
ZW50KCksIFdURk1vdmUobV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS0+YWN0aXZlV29y
a2VyLnZhbHVlKCkpKSk7CiAgICAgICAgICAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YSA9IHsgfTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1fZnJhbWUtPmRvY3Vt
ZW50KCktPnNldFNlcnZpY2VXb3JrZXJDb25uZWN0aW9uKCZTZXJ2aWNlV29ya2VyUHJvdmlkZXI6
OnNpbmdsZXRvbigpLnNlcnZpY2VXb3JrZXJDb25uZWN0aW9uRm9yU2Vzc2lvbihtX2ZyYW1lLT5w
YWdlKCktPnNlc3Npb25JRCgpKSk7CiAgICAgICAgIH0KICNlbmRpZgogICAgICAgICAvLyBDYWxs
IHJlY2VpdmVkRmlyc3REYXRhKCkgZXhhY3RseSBvbmNlIHBlciBsb2FkLiBXZSBzaG91bGQgb25s
eSByZWFjaCB0aGlzIHBvaW50IG11bHRpcGxlIHRpbWVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmgKaW5kZXggMzE3N2YyOWI4Yzdk
YTk2YTcyNDA0ZWRmNTg1NzI3NWNkYzllZTQ0NS4uZTU4YjdlNjJjZGEwZWY0YTJjZTVhODgxYjM1
ZWM3MDFjMzE5MTFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NXQ2xpZW50Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TV0NsaWVudENvbm5lY3Rpb24uaApAQCAtNzgsMTAgKzc4LDcgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgYm9vbCBtYXlIYXZlU2VydmljZVdvcmtlclJlZ2lzdGVyZWRGb3JPcmlnaW4oY29uc3Qg
U2VjdXJpdHlPcmlnaW4mKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHN5bmNUZXJtaW5h
dGVXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIpID0gMDsKIAotICAgIHZpcnR1YWwgdm9p
ZCBzZXJ2aWNlV29ya2VyU3RhcnRlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVu
dGlmaWVyKSA9IDA7Ci0gICAgdmlydHVhbCB2b2lkIHNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJv
bGxpbmdDbGllbnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIpID0gMDsKLQotICAgIHZpcnR1YWwg
dm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YSYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIERvY3VtZW50SWRlbnRpZmllciwgY29uc3Qg
U2VydmljZVdvcmtlckNsaWVudERhdGEmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyPiYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoRG9jdW1lbnRJZGVudGlmaWVyKSA9IDA7CiAKIHByb3RlY3RlZDoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKaW5k
ZXggZWQ0NGJjYzYwMWEyMjViZGM2YmZmMTVkZTI5NTAzY2UwNWE2MDRmYS4uMmJjYjliNWEwZDI3
ZmQwNjBkNWZhZWFlYmJkZWFhZDM3MjNjYzJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAKQEAgLTE4OCwxNiArMTg4LDYgQEAg
dm9pZCBTV1NlcnZlcjo6Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkluU2VydmVyKFNlcnZpY2VXb3JrZXIKICAgICBtX3NlcnZlci5yZW1vdmVDbGllbnRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKCp0aGlzLCBpZGVudGlmaWVyKTsKIH0KIAotdm9pZCBTV1NlcnZl
cjo6Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChTZXJ2
aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJ
ZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQotewotICAgIG1fc2VydmVyLnNlcnZpY2VXb3Jr
ZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoKnRoaXMsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
LCByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb250ZXh0SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQg
U1dTZXJ2ZXI6OkNvbm5lY3Rpb246OnNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGll
bnQoU2VydmljZVdvcmtlcklkZW50aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIERv
Y3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKLXsKLSAgICBtX3NlcnZlci5zZXJ2
aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KCp0aGlzLCBzZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgY29udGV4dElkZW50aWZpZXIpOwotfQot
CiB2b2lkIFNXU2VydmVyOjpDb25uZWN0aW9uOjpzeW5jVGVybWluYXRlV29ya2VyKFNlcnZpY2VX
b3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgaWYgKGF1dG8qIHdvcmtlciA9IG1f
c2VydmVyLndvcmtlckJ5SUQoaWRlbnRpZmllcikpCkBAIC0zODQsMzMgKzM3NCw2IEBAIHZvaWQg
U1dTZXJ2ZXI6OnJlbW92ZUNsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlv
biYgY29ubmVjdGlvbiwgU2VyCiAgICAgcmVnaXN0cmF0aW9uLT5yZW1vdmVDbGllbnRTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKGNvbm5lY3Rpb24uaWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBT
V1NlcnZlcjo6c2VydmljZVdvcmtlclN0YXJ0ZWRDb250cm9sbGluZ0NsaWVudChDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRl
bnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQotewotICAgIGF1
dG8qIHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9uc0J5SUQuZ2V0KHJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIpOwotICAgIGlmICghcmVnaXN0cmF0aW9uKQotICAgICAgICByZXR1cm47Ci0KLSAg
ICBTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyIHsgY29ubmVj
dGlvbi5pZGVudGlmaWVyKCksIGNvbnRleHRJZGVudGlmaWVyIH07Ci0gICAgcmVnaXN0cmF0aW9u
LT5hZGRDbGllbnRVc2luZ1JlZ2lzdHJhdGlvbihjbGllbnRJZGVudGlmaWVyKTsKLQotICAgIGF1
dG8gcmVzdWx0ID0gbV9jbGllbnRUb0NvbnRyb2xsaW5nV29ya2VyLmFkZChjbGllbnRJZGVudGlm
aWVyLCBzZXJ2aWNlV29ya2VySWRlbnRpZmllcik7Ci0gICAgQVNTRVJUX1VOVVNFRChyZXN1bHQs
IHJlc3VsdC5pc05ld0VudHJ5KTsKLX0KLQotdm9pZCBTV1NlcnZlcjo6c2VydmljZVdvcmtlclN0
b3BwZWRDb250cm9sbGluZ0NsaWVudChDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBTZXJ2aWNlV29y
a2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRlbnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlm
aWVyIGNvbnRleHRJZGVudGlmaWVyKQotewotICAgIFVOVVNFRF9QQVJBTShzZXJ2aWNlV29ya2Vy
SWRlbnRpZmllcik7Ci0gICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zQnlJ
RC5nZXQocmVnaXN0cmF0aW9uSWRlbnRpZmllcik7Ci0gICAgaWYgKCFyZWdpc3RyYXRpb24pCi0g
ICAgICAgIHJldHVybjsKLQotICAgIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVu
dElkZW50aWZpZXIgeyBjb25uZWN0aW9uLmlkZW50aWZpZXIoKSwgY29udGV4dElkZW50aWZpZXIg
fTsKLSAgICByZWdpc3RyYXRpb24tPnJlbW92ZUNsaWVudFVzaW5nUmVnaXN0cmF0aW9uKGNsaWVu
dElkZW50aWZpZXIpOwotCi0gICAgYXV0byByZXN1bHQgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdX
b3JrZXIudGFrZShjbGllbnRJZGVudGlmaWVyKTsKLSAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwg
cmVzdWx0ID09IHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKLX0KLQogdm9pZCBTV1NlcnZlcjo6
dXBkYXRlV29ya2VyKENvbm5lY3Rpb24mLCBjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YUlkZW50
aWZpZXImIGpvYkRhdGFJZGVudGlmaWVyLCBTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0
aW9uLCBjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBzY3JpcHQsIFdvcmtlclR5cGUgdHlw
ZSkKIHsKICAgICBhdXRvIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyID0gZ2VuZXJhdGVTZXJ2aWNl
V29ya2VySWRlbnRpZmllcigpOwpAQCAtNjE2LDM5ICs1NzksNjkgQEAgY29uc3QgU1dTZXJ2ZXJS
ZWdpc3RyYXRpb24qIFNXU2VydmVyOjpkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3Vy
aXR5T3JpZ2kKICAgICByZXR1cm4gKHNlbGVjdGVkUmVnaXN0cmF0aW9uICYmICFzZWxlY3RlZFJl
Z2lzdHJhdGlvbi0+aXNVbmluc3RhbGxpbmcoKSkgPyBzZWxlY3RlZFJlZ2lzdHJhdGlvbiA6IG51
bGxwdHI7CiB9CiAKLXZvaWQgU1dTZXJ2ZXI6OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChD
bGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVy
IGlkZW50aWZpZXIsIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYgZGF0YSkKK3ZvaWQgU1dTZXJ2
ZXI6OnNldENsaWVudEFjdGl2ZVdvcmtlcihTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRpZmllciBj
bGllbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRl
bnRpZmllcikKK3sKKyAgICBtX2NsaWVudFRvQ29udHJvbGxpbmdXb3JrZXIuc2V0KGNsaWVudElk
ZW50aWZpZXIsIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKK30KKworU1dTZXJ2ZXJSZWdpc3Ry
YXRpb24qIFNXU2VydmVyOjpyZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtlcklkZW50aWZpZXIo
U2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICBhdXRvIGl0ZXJhdG9y
ID0gbV9ydW5uaW5nT3JUZXJtaW5hdGluZ1dvcmtlcnMuZmluZChpZGVudGlmaWVyKTsKKyAgICBp
ZiAoaXRlcmF0b3IgPT0gbV9ydW5uaW5nT3JUZXJtaW5hdGluZ1dvcmtlcnMuZW5kKCkpCisgICAg
ICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIG1fcmVnaXN0cmF0aW9ucy5nZXQoaXRl
cmF0b3ItPnZhbHVlLT5yZWdpc3RyYXRpb25LZXkoKSk7Cit9CisKK3ZvaWQgU1dTZXJ2ZXI6OnJl
Z2lzdGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhJiYgZGF0YSwgY29uc3Qgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRl
bnRpZmllcj4mIGNvbnRyb2xsaW5nU2VydmljZVdvcmtlcklkZW50aWZpZXIpCiB7CiAgICAgYXV0
byYgY2xpZW50c0RhdGEgPSBtX2NsaWVudHMuZW5zdXJlKFdURk1vdmUoY2xpZW50T3JpZ2luKSwg
W10gewogICAgICAgICByZXR1cm4gQ2xpZW50cyB7IH07CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVl
OwogCi0gICAgY2xpZW50c0RhdGEuY2xpZW50cy5hcHBlbmQoU2VydmljZVdvcmtlckNsaWVudElu
Zm9ybWF0aW9uIHsgaWRlbnRpZmllciwgV1RGTW92ZShkYXRhKSB9KTsKKyAgICBjbGllbnRzRGF0
YS5jbGllbnRzLmFwcGVuZChTZXJ2aWNlV29ya2VyQ2xpZW50SW5mb3JtYXRpb24geyBjbGllbnRJ
ZGVudGlmaWVyLCBXVEZNb3ZlKGRhdGEpIH0pOwogICAgIGlmIChjbGllbnRzRGF0YS50ZXJtaW5h
dGVTZXJ2aWNlV29ya2Vyc1RpbWVyKQogICAgICAgICBjbGllbnRzRGF0YS50ZXJtaW5hdGVTZXJ2
aWNlV29ya2Vyc1RpbWVyID0gbnVsbHB0cjsKKworICAgIGlmICghY29udHJvbGxpbmdTZXJ2aWNl
V29ya2VySWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKGF1dG8qIGNvbnRy
b2xsaW5nUmVnaXN0cmF0aW9uID0gcmVnaXN0cmF0aW9uRnJvbVNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKCpjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKSkgeworICAgICAgICBjb250
cm9sbGluZ1JlZ2lzdHJhdGlvbi0+YWRkQ2xpZW50VXNpbmdSZWdpc3RyYXRpb24oY2xpZW50SWRl
bnRpZmllcik7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gbV9jbGllbnRUb0NvbnRyb2xsaW5nV29y
a2VyLmFkZChjbGllbnRJZGVudGlmaWVyLCAqY29udHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CisgICAgICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQuaXNOZXdFbnRyeSk7
CisgICAgfQogfQogCi12b2lkIFNXU2VydmVyOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVu
dChjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgU2VydmljZVdvcmtlckNsaWVudElk
ZW50aWZpZXIgaWRlbnRpZmllcikKK3ZvaWQgU1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlV29ya2Vy
Q2xpZW50SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQogewotICAgIGF1dG8gaXRlcmF0b3Ig
PSBtX2NsaWVudHMuZmluZChjbGllbnRPcmlnaW4pOwotICAgIEFTU0VSVChpdGVyYXRvciAhPSBt
X2NsaWVudHMuZW5kKCkpOworICAgIGF1dG8gY2xpZW50SXRlcmF0b3IgPSBtX2NsaWVudHMuZmlu
ZChjbGllbnRPcmlnaW4pOworICAgIEFTU0VSVChjbGllbnRJdGVyYXRvciAhPSBtX2NsaWVudHMu
ZW5kKCkpOwogCi0gICAgYXV0byYgY2xpZW50cyA9IGl0ZXJhdG9yLT52YWx1ZS5jbGllbnRzOwot
ICAgIGNsaWVudHMucmVtb3ZlRmlyc3RNYXRjaGluZyhbJl0gKGNvbnN0IGF1dG8mIGl0ZW0pIHsK
LSAgICAgICAgcmV0dXJuIGlkZW50aWZpZXIgPT0gaXRlbS5pZGVudGlmaWVyOworICAgIGF1dG8m
IGNsaWVudHMgPSBjbGllbnRJdGVyYXRvci0+dmFsdWUuY2xpZW50czsKKyAgICBjbGllbnRzLnJl
bW92ZUZpcnN0TWF0Y2hpbmcoWyZdIChjb25zdCBhdXRvJiBjbGllbnQpIHsKKyAgICAgICAgcmV0
dXJuIGNsaWVudElkZW50aWZpZXIgPT0gY2xpZW50LmlkZW50aWZpZXI7CiAgICAgfSk7CisgICAg
aWYgKGNsaWVudHMuaXNFbXB0eSgpKSB7CisgICAgICAgIEFTU0VSVCghY2xpZW50SXRlcmF0b3It
PnZhbHVlLnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzVGltZXIpOworICAgICAgICBjbGllbnRJdGVy
YXRvci0+dmFsdWUudGVybWluYXRlU2VydmljZVdvcmtlcnNUaW1lciA9IHN0ZDo6bWFrZV91bmlx
dWU8VGltZXI+KFtjbGllbnRPcmlnaW4sIHRoaXNdIHsKKyAgICAgICAgICAgIGZvciAoYXV0byYg
d29ya2VyIDogbV9ydW5uaW5nT3JUZXJtaW5hdGluZ1dvcmtlcnMudmFsdWVzKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAod29ya2VyLT5vcmlnaW4oKSA9PSBjbGllbnRPcmlnaW4pCisgICAgICAg
ICAgICAgICAgICAgIHRlcm1pbmF0ZVdvcmtlcih3b3JrZXIpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgbV9jbGllbnRzLnJlbW92ZShjbGllbnRPcmlnaW4pOworICAgICAgICB9KTsKKyAg
ICAgICAgY2xpZW50SXRlcmF0b3ItPnZhbHVlLnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzVGltZXIt
PnN0YXJ0T25lU2hvdCh0ZXJtaW5hdGlvbkRlbGF5KTsKKyAgICB9CiAKLSAgICBpZiAoIWNsaWVu
dHMuaXNFbXB0eSgpIHx8IG1fcnVubmluZ09yVGVybWluYXRpbmdXb3JrZXJzLmlzRW1wdHkoKSkK
KyAgICBhdXRvIHdvcmtlckl0ZXJhdG9yID0gbV9jbGllbnRUb0NvbnRyb2xsaW5nV29ya2VyLmZp
bmQoY2xpZW50SWRlbnRpZmllcik7CisgICAgaWYgKHdvcmtlckl0ZXJhdG9yID09IG1fY2xpZW50
VG9Db250cm9sbGluZ1dvcmtlci5lbmQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQVNTRVJU
KCFpdGVyYXRvci0+dmFsdWUudGVybWluYXRlU2VydmljZVdvcmtlcnNUaW1lcik7Ci0gICAgaXRl
cmF0b3ItPnZhbHVlLnRlcm1pbmF0ZVNlcnZpY2VXb3JrZXJzVGltZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPFRpbWVyPihbY2xpZW50T3JpZ2luLCB0aGlzXSB7Ci0gICAgICAgIGZvciAoYXV0byYgd29y
a2VyIDogbV9ydW5uaW5nT3JUZXJtaW5hdGluZ1dvcmtlcnMudmFsdWVzKCkpIHsKLSAgICAgICAg
ICAgIGlmICh3b3JrZXItPm9yaWdpbigpID09IGNsaWVudE9yaWdpbikKLSAgICAgICAgICAgICAg
ICB0ZXJtaW5hdGVXb3JrZXIod29ya2VyKTsKLSAgICAgICAgfQotICAgICAgICBtX2NsaWVudHMu
cmVtb3ZlKGNsaWVudE9yaWdpbik7Ci0gICAgfSk7Ci0gICAgaXRlcmF0b3ItPnZhbHVlLnRlcm1p
bmF0ZVNlcnZpY2VXb3JrZXJzVGltZXItPnN0YXJ0T25lU2hvdCh0ZXJtaW5hdGlvbkRlbGF5KTsK
KyAgICBpZiAoYXV0byogY29udHJvbGxpbmdSZWdpc3RyYXRpb24gPSByZWdpc3RyYXRpb25Gcm9t
U2VydmljZVdvcmtlcklkZW50aWZpZXIod29ya2VySXRlcmF0b3ItPnZhbHVlKSkKKyAgICAgICAg
Y29udHJvbGxpbmdSZWdpc3RyYXRpb24tPnJlbW92ZUNsaWVudFVzaW5nUmVnaXN0cmF0aW9uKGNs
aWVudElkZW50aWZpZXIpOworCisgICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nV29ya2VyLnJlbW92
ZSh3b3JrZXJJdGVyYXRvcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCAxNTY0
MDQzNDEyNjA3NWI3N2Q4ZTVmOTlmNjNkOWEyNjFlNmVhZmJjLi41NmFjMzNhZmE4Y2U4ZTNlMTFm
ZTdmNGM2NDE1MjVmNDk0YjUzNWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC05MCw4ICs5MCw2IEBAIHB1YmxpYzoKICAgICAg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKGNvbnN0
IFNlcnZpY2VXb3JrZXJGZXRjaFJlc3VsdCYpOwogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lk
IGFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcik7CiAgICAgICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcmVtb3ZlU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkluU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyKTsKLSAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXJ2aWNlV29ya2VyU3Rh
cnRlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50
KFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRp
ZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsKICAgICAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBz
eW5jVGVybWluYXRlV29ya2VyKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIAogICAgIHByaXZh
dGU6CkBAIC0xNDcsMTEgKzE0NSwxMyBAQCBwdWJsaWM6CiAgICAgCiAgICAgV0VCQ09SRV9FWFBP
UlQgc3RhdGljIEhhc2hTZXQ8U1dTZXJ2ZXIqPiYgYWxsU2VydmVycygpOwogCi0gICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luJiYs
IFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYm
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChD
bGllbnRPcmlnaW4mJiwgU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIsIFNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZp
ZXI+JiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IENsaWVudE9yaWdp
biYsIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyKTsKIAogICAgIFdFQkNPUkVfRVhQT1JU
IGJvb2wgaW52b2tlUnVuU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CiAK
KyAgICB2b2lkIHNldENsaWVudEFjdGl2ZVdvcmtlcihTZXJ2aWNlV29ya2VyQ2xpZW50SWRlbnRp
ZmllciwgU2VydmljZVdvcmtlcklkZW50aWZpZXIpOworCiBwcml2YXRlOgogICAgIHZvaWQgcmVn
aXN0ZXJDb25uZWN0aW9uKENvbm5lY3Rpb24mKTsKICAgICB2b2lkIHVucmVnaXN0ZXJDb25uZWN0
aW9uKENvbm5lY3Rpb24mKTsKQEAgLTE2NSwxMyArMTY1LDEzIEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIGFkZENsaWVudFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyKTsKICAgICB2b2lkIHJlbW92ZUNsaWVudFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyKTsKLSAgICB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxp
bmdDbGllbnQoQ29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyKTsKLSAgICB2b2lk
IHNlcnZpY2VXb3JrZXJTdG9wcGVkQ29udHJvbGxpbmdDbGllbnQoQ29ubmVjdGlvbiYsIFNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciwg
RG9jdW1lbnRJZGVudGlmaWVyKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIGNvbnN0IFNXU2VydmVy
UmVnaXN0cmF0aW9uKiBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKGNvbnN0IFNlY3VyaXR5T3JpZ2lu
RGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCkgY29uc3Q7CiAKICAgICB2b2lk
IGluc3RhbGxDb250ZXh0RGF0YShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmKTsKIAor
ICAgIFNXU2VydmVyUmVnaXN0cmF0aW9uKiByZWdpc3RyYXRpb25Gcm9tU2VydmljZVdvcmtlcklk
ZW50aWZpZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIpOworCiAgICAgZW51bSBUZXJtaW5hdGlv
bk1vZGUgewogICAgICAgICBTeW5jaHJvbm91cywKICAgICAgICAgQXN5bmNocm9ub3VzLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJl
Z2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NX
U2VydmVyUmVnaXN0cmF0aW9uLmNwcAppbmRleCA0YjJhMzExMmVmNjExOTA1NjI1ZGE4ODM1NGQ1
YjE1M2RiNDAwNTc4Li44ZWE2ZmNlZmZjN2E2NzQ1NWRhYjUyMDE5ZTA1MjQ2OTkxOWVjM2VjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
UmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyUmVnaXN0cmF0aW9uLmNwcApAQCAtMjU5LDEwICsyNTksMTQgQEAgdm9pZCBT
V1NlcnZlclJlZ2lzdHJhdGlvbjo6YWN0aXZhdGUoKQogICAgIHVwZGF0ZVJlZ2lzdHJhdGlvblN0
YXRlKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZTo6V2FpdGluZywgbnVsbHB0cik7CiAg
ICAgLy8gUnVuIHRoZSBVcGRhdGUgV29ya2VyIFN0YXRlIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lz
dHJhdGlvbidzIGFjdGl2ZSB3b3JrZXIgYW5kIGFjdGl2YXRpbmcgYXMgdGhlIGFyZ3VtZW50cy4K
ICAgICB1cGRhdGVXb3JrZXJTdGF0ZSgqYWN0aXZlV29ya2VyKCksIFNlcnZpY2VXb3JrZXJTdGF0
ZTo6QWN0aXZhdGluZyk7Ci0gICAgLy8gRklYTUU6IEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNs
aWVudCBjbGllbnQgd2hvc2UgY3JlYXRpb24gVVJMIG1hdGNoZXMgcmVnaXN0cmF0aW9uJ3Mgc2Nv
cGUgdXJsLi4uCisgICAgLy8gRklYTUU6IEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCB3
aG9zZSBjcmVhdGlvbiBVUkwgbWF0Y2hlcyByZWdpc3RyYXRpb24ncyBzY29wZSB1cmwuLi4KIAot
ICAgIC8vIEZvciBlYWNoIHNlcnZpY2Ugd29ya2VyIGNsaWVudCBjbGllbnQgd2hvIGlzIHVzaW5n
IHJlZ2lzdHJhdGlvbjoKKyAgICAvLyBGb3IgZWFjaCBzZXJ2aWNlIHdvcmtlciBjbGllbnQgd2hv
IGlzIHVzaW5nIHJlZ2lzdHJhdGlvbjoKICAgICAvLyAtIFNldCBjbGllbnQncyBhY3RpdmUgd29y
a2VyIHRvIHJlZ2lzdHJhdGlvbidzIGFjdGl2ZSB3b3JrZXIuCisgICAgZm9yIChhdXRvIGtleVZh
bHVlIDogbV9jbGllbnRzVXNpbmdSZWdpc3RyYXRpb24pIHsKKyAgICAgICAgZm9yIChhdXRvJiBj
bGllbnRJZGVudGlmaWVyIDoga2V5VmFsdWUudmFsdWUpCisgICAgICAgICAgICBtX3NlcnZlci5z
ZXRDbGllbnRBY3RpdmVXb3JrZXIoU2VydmljZVdvcmtlckNsaWVudElkZW50aWZpZXIgeyBrZXlW
YWx1ZS5rZXksIGNsaWVudElkZW50aWZpZXIgfSwgYWN0aXZlV29ya2VyKCktPmlkZW50aWZpZXIo
KSk7CisgICAgfQogICAgIC8vIC0gSW52b2tlIE5vdGlmeSBDb250cm9sbGVyIENoYW5nZSBhbGdv
cml0aG0gd2l0aCBjbGllbnQgYXMgdGhlIGFyZ3VtZW50LgogICAgIG5vdGlmeUNsaWVudHNPZkNv
bnRyb2xsZXJDaGFuZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TdG9yYWdlUHJv
Y2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cAppbmRleCBiMDRhOTM5YmNjMzVmZGVmNGE4YTk0NTk5MzNlOWM3YjUwZWUyMjM1Li5mMjIwZmE0
YjVkOGFmMWQyYzQ0ZWIxNGZhNjVhYmZhMTMzZDIyNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMjA0LDExICsyMDQsMTEgQEAgdm9pZCBXZWJTV1NlcnZl
ckNvbm5lY3Rpb246OmdldFJlZ2lzdHJhdGlvbnModWludDY0X3QgcmVnaXN0cmF0aW9uTWF0Y2hS
ZXF1ZXN0SWQKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTV0NsaWVudENvbm5lY3Rpb246OkRpZEdl
dFJlZ2lzdHJhdGlvbnMgeyByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCByZWdp
c3RyYXRpb25zIH0pOwogfQogCi12b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgRG9jdW1l
bnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYm
IGRhdGEpCit2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2Vy
Q2xpZW50KFNlY3VyaXR5T3JpZ2luRGF0YSYmIHRvcE9yaWdpbiwgRG9jdW1lbnRJZGVudGlmaWVy
IGNvbnRleHRJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmIGRhdGEsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+JiBjb250cm9sbGluZ1NlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKQogewogICAgIGF1dG8gY2xpZW50T3JpZ2luID0gQ2xpZW50T3Jp
Z2luIHsgV1RGTW92ZSh0b3BPcmlnaW4pLCBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0
eU9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKGRhdGEudXJsKSkgfTsKICAgICBtX2NsaWVu
dE9yaWdpbnMuYWRkKGNvbnRleHRJZGVudGlmaWVyLCBjbGllbnRPcmlnaW4pOwotICAgIHNlcnZl
cigpLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXVEZNb3ZlKGNsaWVudE9yaWdpbiksIFNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHsgdGhpcy0+aWRlbnRpZmllcigpLCBjb250ZXh0
SWRlbnRpZmllciB9ICwgV1RGTW92ZShkYXRhKSk7CisgICAgc2VydmVyKCkucmVnaXN0ZXJTZXJ2
aWNlV29ya2VyQ2xpZW50KFdURk1vdmUoY2xpZW50T3JpZ2luKSwgU2VydmljZVdvcmtlckNsaWVu
dElkZW50aWZpZXIgeyB0aGlzLT5pZGVudGlmaWVyKCksIGNvbnRleHRJZGVudGlmaWVyIH0gLCBX
VEZNb3ZlKGRhdGEpLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIH0KIAog
dm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KERvY3VtZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaCBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uaAppbmRleCA5MGI0ZTY2ZmM0MmEyOGJlMzBiYmUxY2I4ZDk1MGYzOGQw
Njg3NTExLi5mZDAwZDFhNGU5OWU1OGY3M2M5OGI3MGQ2Y2RmMDQxNTViZDJlZTc5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC04Niw3ICs4Niw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBtYXRjaFJlZ2lzdHJhdGlvbih1aW50NjRfdCByZWdpc3RyYXRpb25NYXRjaFJl
cXVlc3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9y
aWdpbiwgY29uc3QgV2ViQ29yZTo6VVJMJiBjbGllbnRVUkwpOwogICAgIHZvaWQgZ2V0UmVnaXN0
cmF0aW9ucyh1aW50NjRfdCByZWdpc3RyYXRpb25NYXRjaFJlcXVlc3RJZGVudGlmaWVyLCBjb25z
dCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29uc3QgV2ViQ29yZTo6
VVJMJiBjbGllbnRVUkwpOwogCi0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQo
V2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVu
dElkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYpOworICAgIHZv
aWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luRGF0
YSYmIHRvcE9yaWdpbiwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyPiYpOwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyKTsKIAogICAgIElQQzo6Q29ubmVjdGlv
biogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBmaW5hbCB7IHJldHVybiBtX2NvbnRlbnRDb25u
ZWN0aW9uLnB0cigpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNz
L1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9TdG9yYWdlUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgppbmRleCAxMDJmMDBiNTg1MDI3NWY3NmQwN2E4YzE0MWE4Mjk5ODc2ZmVl
YTczLi42YzczNGM4ZTRlYzU4ZDNiMTM0YzJiNmQ0YzNkOWE0ZmM1ZjljMmQ5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1N0b3JhZ2VQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvU3RvcmFnZVByb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI4LDgg
KzI4LDYgQEAgbWVzc2FnZXMgLT4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uIHsKICAgICBGaW5pc2hG
ZXRjaGluZ1NjcmlwdEluU2VydmVyKHN0cnVjdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyRmV0Y2hS
ZXN1bHQgcmVzdWx0KQogICAgIEFkZFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQog
ICAgIFJlbW92ZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JblNlcnZlcihXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKQotICAgIFNlcnZpY2VX
b3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50
aWZpZXIgc2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25JZGVudGlmaWVyIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdlYkNvcmU6OkRvY3Vt
ZW50SWRlbnRpZmllciBjb250ZXh0SWRlbnRpZmllcikKLSAgICBTZXJ2aWNlV29ya2VyU3RvcHBl
ZENvbnRyb2xsaW5nQ2xpZW50KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZp
ZXIgY29udGV4dElkZW50aWZpZXIpCiAKICAgICBTdGFydEZldGNoKHVpbnQ2NF90IGlkZW50aWZp
ZXIsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXI+IHNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgc3Ry
dWN0IFdlYkNvcmU6OkZldGNoT3B0aW9ucyBvcHRpb25zLCBJUEM6OkZvcm1EYXRhUmVmZXJlbmNl
IHJlcXVlc3RCb2R5KQogICAgIFBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2VyRnJvbUNsaWVudChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBkZXN0aW5hdGlvblNlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyLCBJUEM6OkRhdGFSZWZlcmVuY2UgbWVzc2FnZSwgc3RydWN0IFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJDbGllbnRJZGVudGlmaWVyIHNvdXJjZUlkZW50aWZpZXIsIHN0cnVjdCBXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBzb3VyY2VEYXRhKQpAQCAtMzksNyArMzcsNyBA
QCBtZXNzYWdlcyAtPiBXZWJTV1NlcnZlckNvbm5lY3Rpb24gewogCiAgICAgTWF0Y2hSZWdpc3Ry
YXRpb24odWludDY0X3Qgc2VydmljZVJlZ2lzdHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIs
IHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEgdG9wT3JpZ2luLCBXZWJDb3JlOjpV
UkwgY2xpZW50VVJMKQogICAgIEdldFJlZ2lzdHJhdGlvbnModWludDY0X3Qgc2VydmljZVJlZ2lz
dHJhdGlvbk1hdGNoUmVxdWVzdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpTZWN1cml0eU9y
aWdpbkRhdGEgdG9wT3JpZ2luLCBXZWJDb3JlOjpVUkwgY2xpZW50VVJMKQotICAgIFJlZ2lzdGVy
U2VydmljZVdvcmtlckNsaWVudChzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRv
cE9yaWdpbiwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0cnVjdCBX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhKQorICAgIFJlZ2lzdGVyU2Vydmlj
ZVdvcmtlckNsaWVudChzdHJ1Y3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhIHRvcE9yaWdp
biwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyIGlkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBkYXRhLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyPiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJZGVudGlmaWVy
KQogICAgIFVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkRvY3VtZW50SWRl
bnRpZmllciBpZGVudGlmaWVyKQogCiAgICAgU3luY1Rlcm1pbmF0ZVdvcmtlcihXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VySWRlbnRpZmllciB3b3JrZXJJZGVudGlmaWVyKSAtPiAoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKaW5kZXggMmJiMWIxODc1NWYwODg5YzJkYjI2YmUyOTRjOWI4YWFlMmFmYjRmNi4u
YmM5MWYzNjg0MDk5YzNkYTA0MzVkMjhjZjc1ZDIwZmQ3MjRhYmIzOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rp
b24uY3BwCkBAIC05MiwxOSArOTIsOSBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cG9z
dE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcklkZW50aWZpZXIgZAogICAgIHNl
bmQoTWVzc2FnZXM6OldlYlNXU2VydmVyQ29ubmVjdGlvbjo6UG9zdE1lc3NhZ2VUb1NlcnZpY2VX
b3JrZXJGcm9tU2VydmljZVdvcmtlcihkZXN0aW5hdGlvbklkZW50aWZpZXIsIElQQzo6RGF0YVJl
ZmVyZW5jZSB7IHNjcmlwdFZhbHVlLT5kYXRhKCkgfSwgc291cmNlV29ya2VySWRlbnRpZmllcikp
OwogfQogCi12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclN0YXJ0ZWRD
b250cm9sbGluZ0NsaWVudChTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzZXJ2aWNlV29ya2VySWRl
bnRpZmllciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgcmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgRG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJZGVudGlmaWVyKQordm9pZCBX
ZWJTV0NsaWVudENvbm5lY3Rpb246OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBT
ZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIgY29u
dGV4dElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiBk
YXRhLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVy
PiYgY29udHJvbGxpbmdTZXJ2aWNlV29ya2VySWRlbnRpZmllcikKIHsKLSAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxp
bmdDbGllbnQoc2VydmljZVdvcmtlcklkZW50aWZpZXIsIHJlZ2lzdHJhdGlvbklkZW50aWZpZXIs
IGNvbnRleHRJZGVudGlmaWVyKSk7Ci19Ci0KLXZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpz
ZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyIHNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBEb2N1bWVudElkZW50aWZpZXIgY29udGV4
dElkZW50aWZpZXIpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9u
OjpTZXJ2aWNlV29ya2VyU3RvcHBlZENvbnRyb2xsaW5nQ2xpZW50KHNlcnZpY2VXb3JrZXJJZGVu
dGlmaWVyLCByZWdpc3RyYXRpb25JZGVudGlmaWVyLCBjb250ZXh0SWRlbnRpZmllcikpOwotfQot
Ci12b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRp
ZmllciBjb250ZXh0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGEmIGRhdGEpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU1dTZXJ2ZXJDb25uZWN0aW9u
OjpSZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQgeyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21T
ZWN1cml0eU9yaWdpbih0b3BPcmlnaW4pLCBjb250ZXh0SWRlbnRpZmllciwgZGF0YSB9KTsKKyAg
ICBzZW5kKE1lc3NhZ2VzOjpXZWJTV1NlcnZlckNvbm5lY3Rpb246OlJlZ2lzdGVyU2VydmljZVdv
cmtlckNsaWVudCB7IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKHRvcE9y
aWdpbiksIGNvbnRleHRJZGVudGlmaWVyLCBkYXRhLCBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJJ
ZGVudGlmaWVyIH0pOwogfQogCiB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6dW5yZWdpc3Rl
clNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyIGNvbnRleHRJ
ZGVudGlmaWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uaAppbmRleCBlNTZmNGVhNTQ1Y2U0ZWIyOTZlZjQxZWQ2
NDMyN2JlMzI3ODYzZjdmLi41YjZlMjA5ZGM0YmVhM2U4MTYzNGZhYjhiMTc1YWM0MzJiMGE4Yjg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVu
dENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uaApAQCAtNzUsOSArNzUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZmluaXNoRmV0Y2hpbmdTY3JpcHRJblNlcnZlcihjb25zdCBXZWJDb3JlOjpTZXJ2aWNlV29ya2Vy
RmV0Y2hSZXN1bHQmKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwg
UmVmPFdlYkNvcmU6OlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudElkZW50aWZpZXIgc291cmNlSWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdv
cmtlckNsaWVudERhdGEmJiBzb3VyY2UpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1Nl
cnZpY2VXb3JrZXIoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIgZGVzdGluYXRpb25J
ZGVudGlmaWVyLCBSZWY8V2ViQ29yZTo6U2VyaWFsaXplZFNjcmlwdFZhbHVlPiYmLCBXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySWRlbnRpZmllciBzb3VyY2VXb3JrZXJJZGVudGlmaWVyKSBmaW5hbDsK
LSAgICB2b2lkIHNlcnZpY2VXb3JrZXJTdGFydGVkQ29udHJvbGxpbmdDbGllbnQoV2ViQ29yZTo6
U2VydmljZVdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyLCBXZWJDb3JlOjpEb2N1bWVudElkZW50aWZpZXIpIGZpbmFsOwotICAgIHZv
aWQgc2VydmljZVdvcmtlclN0b3BwZWRDb250cm9sbGluZ0NsaWVudChXZWJDb3JlOjpTZXJ2aWNl
V29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXIsIFdlYkNvcmU6OkRvY3VtZW50SWRlbnRpZmllcikgZmluYWw7Ci0gICAgdm9pZCByZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ2xpZW50RGF0YSYpIGZpbmFsOworICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIFdlYkNv
cmU6OkRvY3VtZW50SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGEmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyPiYpIGZpbmFsOwogICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2Vi
Q29yZTo6RG9jdW1lbnRJZGVudGlmaWVyKSBmaW5hbDsKIAogICAgIHZvaWQgbWF0Y2hSZWdpc3Ry
YXRpb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgY29uc3QgV2Vi
Q29yZTo6VVJMJiBjbGllbnRVUkwsIFJlZ2lzdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>