<?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>179270</bug_id>
          
          <creation_ts>2017-11-03 15:19:42 -0700</creation_ts>
          <short_desc>Implement ServiceWorkerRegistration.update()</short_desc>
          <delta_ts>2017-11-15 12:14:10 -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>WebCore Misc.</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>https://w3c.github.io/ServiceWorker/#service-worker-registration-update</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>179253</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>beidson</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1368191</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-03 15:19:42 -0700</bug_when>
    <thetext>Implement ServiceWorkerRegistration.update():
- https://w3c.github.io/ServiceWorker/#service-worker-registration-update</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368210</commentid>
    <comment_count>1</comment_count>
      <attachid>325978</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-03 15:50:15 -0700</bug_when>
    <thetext>Created attachment 325978
WIP Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368290</commentid>
    <comment_count>2</comment_count>
      <attachid>326005</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-03 19:58:05 -0700</bug_when>
    <thetext>Created attachment 326005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368297</commentid>
    <comment_count>3</comment_count>
      <attachid>326009</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-03 20:40:02 -0700</bug_when>
    <thetext>Created attachment 326009
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368301</commentid>
    <comment_count>4</comment_count>
      <attachid>326011</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-03 20:53:15 -0700</bug_when>
    <thetext>Created attachment 326011
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368459</commentid>
    <comment_count>5</comment_count>
      <attachid>326011</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-11-05 11:39:19 -0800</bug_when>
    <thetext>Comment on attachment 326011
Patch

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

&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:171
&gt; +    if (!context || !context-&gt;sessionID().isValid()) {

I wonder why we check for context-&gt;sessionID() in ServiceWorkerContainer but not in other classes like ServiceWorkerRegistration.
If sessionID is not valid, this should probably error in some code below where the sessionID is actually used, no?
Maybe we can remove that check here.

Also, updateRegistration is called by ServiceWorkerRegistration::update which is also checking for its scriptExecutionContext.
Maybe we should pass the necessary parameters to ServiceWorkerContainer::updateRegistration so that it does not require to use its own context.
That may mean more or less directly exposing scheduleJob.

&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:235
&gt; +            // sure that ServiceWorkerRegistration objects stays alive as long as their SWServerRegistration on server side.

Agreed, lifetime of the registration should be governed by the StorageProcess basically.
Also, currently ServiceWorkerContainer is tied to navigator which may not always be right, since a service worker client predates it.
Service worker clients should probably have a ServiceWorkerRegistration and not only a ServiceWorker.
Let&apos;s continue refining the model in future patches.

&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:282
&gt; +                registration-&gt;waiting()-&gt;setState(ServiceWorker::State::Installed);

I know this is code that will go away at some point.
It seems though like we could just do a single function call that would do all these state changes at once.
Might depend on how much this would diverge from matching the spec line by line.

&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:286
&gt; +                    registration-&gt;active()-&gt;setState(ServiceWorker::State::Activating);

Ditto.

&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:311
&gt; +    RefPtr&lt;ServiceWorkerRegistration&gt; registration = m_registrations.get(data.key);

Could be moved closer to registration first use.

&gt; Source/WebCore/workers/service/ServiceWorkerJob.cpp:107
&gt; +        promise().reject(Exception { SecurityError, ASCIILiteral(&quot;MIME Type is not a JavaScript MIME type&quot;) });

ServiceWorkerJob model is more something like &quot;store the promise and let my client reject/resolve it&quot;.
Can we try keeping that model? Otherwise, we would ideally be resolving the promise and unrefing it.
Would something like calling jobFailedLoadingScript and then jobFailedWithException work?

&gt; Source/WebCore/workers/service/ServiceWorkerRegistration.cpp:90
&gt; +    return m_activeWorker.get();

Seems like a good idea to introduce these 3 workers so as to match the spec more easily.

&gt; Source/WebCore/workers/service/server/SWServerJobQueue.cpp:72
&gt; +        finishCurrentJob();

I know this is the style of SWServerJobQueue but the code is done in a way that makes these comments unnecessary (which is good!).
Ditto below. Since we are trying to make our implementation match the spec line by line more or less, do we need these comments?

&gt; Source/WebCore/workers/service/server/SWServerJobQueue.cpp:240
&gt;      auto* newestWorker = registration-&gt;getNewestWorker();

If newest worker is null, we are probably in a bad state.
Should we debug assert it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368460</commentid>
    <comment_count>6</comment_count>
      <attachid>326011</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-05 11:52:17 -0800</bug_when>
    <thetext>Comment on attachment 326011
Patch

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

&gt;&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:235
&gt;&gt; +            // sure that ServiceWorkerRegistration objects stays alive as long as their SWServerRegistration on server side.
&gt; 
&gt; Agreed, lifetime of the registration should be governed by the StorageProcess basically.
&gt; Also, currently ServiceWorkerContainer is tied to navigator which may not always be right, since a service worker client predates it.
&gt; Service worker clients should probably have a ServiceWorkerRegistration and not only a ServiceWorker.
&gt; Let&apos;s continue refining the model in future patches.

YEs, we may want to simply expose scheduleJob() at some point.

&gt;&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:282
&gt;&gt; +                registration-&gt;waiting()-&gt;setState(ServiceWorker::State::Installed);
&gt; 
&gt; I know this is code that will go away at some point.
&gt; It seems though like we could just do a single function call that would do all these state changes at once.
&gt; Might depend on how much this would diverge from matching the spec line by line.

I think Brady is about to implement this properly so I did not worry too much about simplifying the code. In the spec, the update registration state and update worker state steps are separate so I think the current code matches the spec more closely for now.

&gt;&gt; Source/WebCore/workers/service/ServiceWorkerContainer.cpp:311
&gt;&gt; +    RefPtr&lt;ServiceWorkerRegistration&gt; registration = m_registrations.get(data.key);
&gt; 
&gt; Could be moved closer to registration first use.

ok.

&gt;&gt; Source/WebCore/workers/service/ServiceWorkerJob.cpp:107
&gt;&gt; +        promise().reject(Exception { SecurityError, ASCIILiteral(&quot;MIME Type is not a JavaScript MIME type&quot;) });
&gt; 
&gt; ServiceWorkerJob model is more something like &quot;store the promise and let my client reject/resolve it&quot;.
&gt; Can we try keeping that model? Otherwise, we would ideally be resolving the promise and unrefing it.
&gt; Would something like calling jobFailedLoadingScript and then jobFailedWithException work?

We&apos;d need to pass an exception instead of a ResourceError. I&apos;ll see if it is a trivial change to make.

&gt;&gt; Source/WebCore/workers/service/server/SWServerJobQueue.cpp:240
&gt;&gt;      auto* newestWorker = registration-&gt;getNewestWorker();
&gt; 
&gt; If newest worker is null, we are probably in a bad state.
&gt; Should we debug assert it?

Not yet. getNewestWorker() always returns null on server side currently. I believe Brady is working on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368462</commentid>
    <comment_count>7</comment_count>
      <attachid>326071</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-05 12:00:16 -0800</bug_when>
    <thetext>Created attachment 326071
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368463</commentid>
    <comment_count>8</comment_count>
      <attachid>326072</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-05 12:01:35 -0800</bug_when>
    <thetext>Created attachment 326072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368466</commentid>
    <comment_count>9</comment_count>
      <attachid>326072</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-05 12:18:23 -0800</bug_when>
    <thetext>Comment on attachment 326072
Patch

Clearing flags on attachment: 326072

Committed r224469: &lt;https://trac.webkit.org/changeset/224469&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1368467</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-11-05 12:18:25 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372112</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 12:14:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/35567176&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>325978</attachid>
            <date>2017-11-03 15:50:15 -0700</date>
            <delta_ts>2017-11-03 19:58:03 -0700</delta_ts>
            <desc>WIP Patch</desc>
            <filename>SW_better_update_steps_wip.patch</filename>
            <type>text/plain</type>
            <size>33795</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGly
ZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBkNmUwMTA0OGY5ZS4uYWFkNzg1OWI0MmEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIFBBU1MgaW1wb3J0U2Ny
aXB0cygpIHN1cHBvcnRzIHJlZGlyZWN0cyAKLUZBSUwgaW1wb3J0U2NyaXB0cygpIHN1cHBvcnRz
IHJlZGlyZWN0cyBhbmQgY2FuIGJlIHVwZGF0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIgorUEFTUyBpbXBvcnRT
Y3JpcHRzKCkgc3VwcG9ydHMgcmVkaXJlY3RzIGFuZCBjYW4gYmUgdXBkYXRlZCAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDMzMmUxMGUxNGQ0Li4xNTY2NTU3NzY2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvbXVsdGlwbGUtcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2
ICsxLDYgQEAKIAogCi1GQUlMIFN1YnNlcXVlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRo
ZSBzYW1lIHJlZ2lzdHJhdGlvbiBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCBy
ZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBz
YW1lIHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgU3Vic2VxdWVudCByZWdpc3Ry
YXRpb25zIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCAKIEZBSUwgU3Vi
c2VxdWVudCByZWdpc3RyYXRpb25zIGZyb20gYSBkaWZmZXJlbnQgaWZyYW1lIHJlc29sdmUgdG8g
dGhlIGRpZmZlcmVudCByZWdpc3RyYXRpb24gb2JqZWN0IGJ1dCB0aGV5IHJlZmVyIHRvIHRoZSBz
YW1lIHJlZ2lzdHJhdGlvbiBhbmQgd29ya2VycyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVk
IHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogaW5zdGFsbGluZyB3b3JrZXIgc2hvdWxkIGJlIG51
bGwgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIg
UmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENvbmN1cnJlbnQgcmVnaXN0cmF0aW9ucyBy
ZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDog
dW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNv
bHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ29uY3Vy
cmVudCByZWdpc3RyYXRpb25zIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVj
dCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggZDA5NTI3YjIwOGUuLjRjZTRlMWQ2MjRmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSwzIEBACiAKLUZBSUwgVHJpZ2dlciBtdWx0aXBsZSB1cGRhdGVzLiBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRF
cnJvcjogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50
ZWQiCitQQVNTIFRyaWdnZXIgbXVsdGlwbGUgdXBkYXRlcy4gCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGlu
Zy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyMDQ5OTk0NTNhZS4uY2Zk
MTBhZDQ3NmEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20t
d2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBDbGllbnQucG9zdE1lc3NhZ2UoKSBm
cm9tIHdhaXRpbmcgc2VydmljZXdvcmtlci4gYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCBy
ZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IHNob3VsZCBiZSBzYW1lIHJlZ2lzdHJhdGlvbiBleHBl
Y3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBnb3Qg
b2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKK0ZBSUwgQ2xpZW50LnBvc3RNZXNzYWdlKCkgZnJvbSB3YWl0aW5nIHNlcnZp
Y2V3b3JrZXIuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRf
ZXF1YWxzOiBtZXNzYWdlIGV2ZW50IHNvdXJjZSBzaG91bGQgYmUgY29ycmVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJdIiBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQudHh0
CmluZGV4IGE1NTE3MGVlODUzLi4wNDg5NDE3ZGY3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
YWR5Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTAsNSArMTAsNSBAQCBGQUlMIHJlYWR5IG9uIGFu
IGlmcmFtZSB3aG9zZSBwYXJlbnQgcmVnaXN0ZXJzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHByb21p
c2VfdGVzdAogRkFJTCByZWFkeSBvbiBhbiBpZnJhbWUgdGhhdCBpbnN0YWxscyBhIG5ldyBzZXJ2
aWNlIHdvcmtlciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJVbmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGlt
cGxlbWVudGVkIgogRkFJTCByZWFkeSBhZnRlciBhIGxvbmdlciBtYXRjaGVkIHJlZ2lzdHJhdGlv
biByZWdpc3RlcmVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlVua25vd25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQg
aW1wbGVtZW50ZWQiCiBGQUlMIGFjY2VzcyByZWFkeSBhZnRlciBpdCBoYXMgYmVlbiByZXNvbHZl
ZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJV
bmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVk
IgotRkFJTCBhY2Nlc3MgcmVhZHkgb24gdW5pbnN0YWxsaW5nIHJlZ2lzdHJhdGlvbiB0aGF0IGlz
IHJlc3VycmVjdGVkIGFzc2VydF9lcXVhbHM6IGV4aXN0aW5nIHJlZ2lzdHJhdGlvbiBzaG91bGQg
YmUgcmVzdXJyZWN0ZWQgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uXSIKK0ZBSUwgYWNjZXNzIHJlYWR5IG9uIHVuaW5zdGFsbGluZyByZWdpc3RyYXRpb24gdGhh
dCBpcyByZXN1cnJlY3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3Qg
eWV0IGltcGxlbWVudGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3Ry
YXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lz
dHJhdGlvbi1zY3JpcHQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGFlMDlkMTM4NzJmLi5kM2E3
ZGQ4NDVlMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlw
dC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9u
LXNjcmlwdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUmVnaXN0
ZXJpbmcgaW52YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBhc3NlcnRfdGhyb3dzOiBSZWdp
c3RyYXRpb24gb2YgaW52YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBzaG91bGQgZmFpbC4g
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25F
cnJvcjogU2NyaXB0IFVSTCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW52YWxpZC1jaHVua2VkLWVuY29kaW5nLnB5IGZldGNo
IHJlc3VsdGVkIGluIGVycm9yOiBjYW5ub3QgcGFyc2UgcmVzcG9uc2UiICgiVW5rbm93bkVycm9y
IikgZXhwZWN0ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgUmVnaXN0
ZXJpbmcgaW52YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCB3aXRoIGZsdXNoIGFzc2VydF90
aHJvd3M6IFJlZ2lzdHJhdGlvbiBvZiBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IHNo
b3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVj
dCAiVW5rbm93bkVycm9yOiBTY3JpcHQgVVJMIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbnZhbGlkLWNodW5rZWQtZW5jb2Rp
bmctd2l0aC1mbHVzaC5weSBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogY2Fubm90IHBhcnNlIHJl
c3BvbnNlIiAoIlVua25vd25FcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5
cGVFcnJvciIpCitQQVNTIFJlZ2lzdGVyaW5nIGludmFsaWQgY2h1bmtlZCBlbmNvZGluZyBzY3Jp
cHQgCitQQVNTIFJlZ2lzdGVyaW5nIGludmFsaWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgd2l0
aCBmbHVzaCAKIEZBSUwgUmVnaXN0ZXJpbmcgc2NyaXB0IGluY2x1ZGluZyBwYXJzZSBlcnJvciBh
c3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogUmVnaXN0cmF0aW9uIG9mIHNj
cmlwdCBpbmNsdWRpbmcgcGFyc2UgZXJyb3Igc2hvdWxkIGZhaWwuIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogRkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgaW5jbHVkaW5nIHVuZGVmaW5lZCBlcnJv
ciBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogUmVnaXN0cmF0aW9uIG9m
IHNjcmlwdCBpbmNsdWRpbmcgdW5kZWZpbmVkIGVycm9yIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKIEZBSUwgUmVnaXN0ZXJpbmcgc2NyaXB0IGluY2x1ZGluZyB1bmNhdWdo
dCBleGNlcHRpb24gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IFJlZ2lz
dHJhdGlvbiBvZiBzY3JpcHQgaW5jbHVkaW5nIHVuY2F1Z2h0IGV4Y2VwdGlvbiBzaG91bGQgZmFp
bC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tp
cC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBlM2UwNWQwOTdiMy4uNDgxOTNhNGE1
YTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IHNraXBXYWl0aW5nIHdpdGggYm90
aCBhY3RpdmUgYW5kIHdhaXRpbmcgd29ya2VycyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnd2FpdGluZ193b3JrZXIuc2NyaXB0VVJMJykiCitGQUlMIFRlc3Qgc2tp
cFdhaXRpbmcgd2l0aCBib3RoIGFjdGl2ZSBhbmQgd2FpdGluZyB3b3JrZXJzIGFzc2VydF9lcXVh
bHM6IFdvcmtlciB3aXRoIHVybDIgc2hvdWxkIGJlIHdhaXRpbmcgZXhwZWN0ZWQgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9l
bXB0eS13b3JrZXIuanMiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbXB0eS5qcyIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1l
eHBlY3RlZC50eHQKaW5kZXggNzU0NjM2MDBiOGYuLjA3MTk0YTZjYjQzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRw
cy1leHBlY3RlZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIAotUEFTUyBVbnJlZ2lzdGVyIHRoZW4g
cmVnaXN0ZXIgcmVzb2x2ZXMgdG8gYSBuZXcgdmFsdWUgCi1GQUlMIFVucmVnaXN0ZXIgdGhlbiBy
ZWdpc3RlciByZXNvbHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlv
biBpcyBpbiB1c2UuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3Nl
cnRfZXF1YWxzOiBuZXcgcmVnaXN0cmF0aW9uIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJl
Z2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25d
IiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVy
IHJlc29sdmVzIHRvIGEgbmV3IHZhbHVlIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVq
ZWN0aW9uOiBhc3NlcnRfbm90X2VxdWFsczogcmVnaXN0ZXIgc2hvdWxkIHJlc29sdmUgdG8gYSBu
ZXcgdmFsdWUgZ290IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVW5yZWdpc3Rl
ciB0aGVuIHJlZ2lzdGVyIHJlc29sdmVzIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBpZiB0aGUgcmVn
aXN0cmF0aW9uIGlzIGluIHVzZS4gCiBGQUlMIFJlbG9hZGluZyB0aGUgbGFzdCBjb250cm9sbGVk
IGlmcmFtZSBhZnRlciB1bnJlZ2lzdHJhdGlvbiBzaG91bGQgZW5zdXJlIHRoZSBkZWxldGlvbiBv
ZiB0aGUgcmVnaXN0cmF0aW9uIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9u
OiBhc3NlcnRfZXF1YWxzOiBnZXRSZWdpc3RyYXRpb24gc2hvdWxkIHJldHVybiB1bmRlZmluZWQg
YWZ0ZXIgdW5yZWdpc3RyYXRpb24gZXhwZWN0ZWQgKHVuZGVmaW5lZCkgdW5kZWZpbmVkIGJ1dCBn
b3QgKG9iamVjdCkgbnVsbCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgVW5yZWdpc3Rl
ciB0aGVuIHJlZ2lzdGVyIGRvZXMgbm90IGFmZmVjdCBleGlzdGluZyBjb250cm9sbGVlIGFzc2Vy
dF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBpbnN0YWxs
aW5nIHZlcnNpb24gaXMgbnVsbCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0
IFNlcnZpY2VXb3JrZXJdIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgVW5yZWdpc3Rl
ciB0aGVuIHJlZ2lzdGVyIHJlc3VycmVjdHMgdGhlIHJlZ2lzdHJhdGlvbiBhc3NlcnRfdW5yZWFj
aGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X25vdF9lcXVhbHM6IGRvY3VtZW50IHNo
b3VsZCBoYXZlIGEgY29udHJvbGxlciBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBudWxsIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMzk2MDg4MTM2ODYuLjIyZGYyMDVmNGI1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3VwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVXBk
YXRlIGEgcmVnaXN0cmF0aW9uLiBhc3NlcnRfdGhyb3dzOiBVc2luZyBhIGRpc2FsbG93ZWQgbWlt
ZXR5cGUgc2hvdWxkIG1ha2UgdXBkYXRlKCkgcHJvbWlzZSByZWplY3Qgd2l0aCBhIFNlY3VyaXR5
RXJyb3IuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGU7IH0iIHRocmV3IG9iamVjdCAi
Tm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3Qg
eWV0IGltcGxlbWVudGVkIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9y
OiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gOSwgZXhwZWN0ZWQgMTgKK0ZBSUwgVXBkYXRl
IGEgcmVnaXN0cmF0aW9uLiBhc3NlcnRfdW5yZWFjaGVkOiB1cGRhdGUoKSBzaG91bGQgcmVqZWN0
LiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmgKaW5kZXggOGVlZGU5YmQ0ZDcuLjVhZjNmNDIzYzNlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAg
LTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgICAgICBSZWR1bmRhbnQsCiAgICAgfTsKIAotICAg
IGNvbnN0IFN0cmluZyYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRVUkwuc3Ry
aW5nKCk7IH0KKyAgICBjb25zdCBVUkwmIHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2Ny
aXB0VVJMOyB9CiAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0K
ICAgICB2b2lkIHNldFN0YXRlKFN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCA0YTFhMWI1
ZjQ3NC4uYWQ0MThhMTRiODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTE2NSw2ICsxNjUsMzEg
QEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZW1vdmVSZWdpc3RyYXRpb24oY29uc3Qg
VVJMJiBzY29wZVVSTCwgUmVmPERlZmVycmUKICAgICBzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2Vy
Sm9iOjpjcmVhdGUoKnRoaXMsIFdURk1vdmUocHJvbWlzZSksIFdURk1vdmUoam9iRGF0YSkpKTsK
IH0KIAordm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjp1cGRhdGVSZWdpc3RyYXRpb24oY29u
c3QgVVJMJiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKK3sKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCB8fCAhY29udGV4dC0+c2Vzc2lv
bklEKCkuaXNWYWxpZCgpKSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAg
ICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKEludmFsaWRTdGF0ZUVycm9yKSk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoIW1fc3dDb25uZWN0aW9uKSB7CisgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKElu
dmFsaWRTdGF0ZUVycm9yKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBTZXJ2aWNl
V29ya2VySm9iRGF0YSBqb2JEYXRhKG1fc3dDb25uZWN0aW9uLT5pZGVudGlmaWVyKCkpOworICAg
IGpvYkRhdGEuY2xpZW50Q3JlYXRpb25VUkwgPSBjb250ZXh0LT51cmwoKTsKKyAgICBqb2JEYXRh
LnRvcE9yaWdpbiA9IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVNlY3VyaXR5T3JpZ2luKGNvbnRl
eHQtPnRvcE9yaWdpbigpKTsKKyAgICBqb2JEYXRhLnR5cGUgPSBTZXJ2aWNlV29ya2VySm9iVHlw
ZTo6VXBkYXRlOworICAgIGpvYkRhdGEuc2NvcGVVUkwgPSBzY29wZVVSTDsKKyAgICBqb2JEYXRh
LnNjcmlwdFVSTCA9IHNjcmlwdFVSTDsKKworICAgIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJK
b2I6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShwcm9taXNlKSwgV1RGTW92ZShqb2JEYXRhKSkpOwor
fQorCiB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnNjaGVkdWxlSm9iKFJlZjxTZXJ2aWNl
V29ya2VySm9iPiYmIGpvYikKIHsKICAgICBBU1NFUlQobV9zd0Nvbm5lY3Rpb24pOwpAQCAtMjE1
LDkgKzI0MCwxMyBAQCBwcml2YXRlOgogICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtyZWdpc3Ry
YXRpb24gPSBXVEZNb3ZlKG1fcmVnaXN0cmF0aW9uKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAg
ICByZWdpc3RyYXRpb24tPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCku
dXBkYXRlZm91bmRFdmVudCwgZmFsc2UsIGZhbHNlKSk7CiAgICAgICAgICAgICBjYWxsT25NYWlu
VGhyZWFkKFtyZWdpc3RyYXRpb24gPSBXVEZNb3ZlKHJlZ2lzdHJhdGlvbildICgpIG11dGFibGUg
ewotICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+aW5zdGFsbGluZygpLT5zZXRTdGF0ZShT
ZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGVkKTsKKyAgICAgICAgICAgICAgICByZWdpc3Ry
YXRpb24tPnNldFdhaXRpbmdXb3JrZXIocmVnaXN0cmF0aW9uLT5pbnN0YWxsaW5nKCkpOworICAg
ICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGluZ1dvcmtlcihudWxscHRyKTsK
KyAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPndhaXRpbmcoKS0+c2V0U3RhdGUoU2Vydmlj
ZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCk7CiAgICAgICAgICAgICAgICAgY2FsbE9uTWFpblRo
cmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShyZWdpc3RyYXRpb24pXSAoKSBtdXRhYmxlIHsK
LSAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT53YWl0aW5nKCktPnNldFN0YXRlKFNl
cnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0aW5nKTsKKyAgICAgICAgICAgICAgICAgICAgcmVn
aXN0cmF0aW9uLT5zZXRBY3RpdmVXb3JrZXIocmVnaXN0cmF0aW9uLT53YWl0aW5nKCkpOworICAg
ICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPnNldFdhaXRpbmdXb3JrZXIobnVsbHB0cik7
CisgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+YWN0aXZlKCktPnNldFN0YXRlKFNl
cnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0aW5nKTsKICAgICAgICAgICAgICAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShyZWdpc3RyYXRpb24pXSAoKSBt
dXRhYmxlIHsKICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+YWN0aXZlKCkt
PnNldFN0YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0ZWQpOwogICAgICAgICAgICAg
ICAgICAgICB9KTsKQEAgLTI0Miw2ICsyNzEsOSBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWlu
ZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VySm9iJiBqb2IsCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKKyAgICBBU1NFUlQobV9zd0Nvbm5lY3Rpb24pOworICAg
IFJlZlB0cjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiByZWdpc3RyYXRpb24gPSBtX3N3Q29u
bmVjdGlvbi0+c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihkYXRhLmtleSwgKmNvbnRleHQpOwor
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBwcm9wZXIgc2VsZWN0aW9uIG9mIHNlcnZpY2Ugd29y
a2Vycy4KICAgICBhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gY29udGV4dC0+YWN0aXZlU2Vy
dmljZVdvcmtlcigpOwogICAgIEFTU0VSVChkYXRhLmFjdGl2ZVNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKTsKQEAgLTI1MCwxNSArMjgyLDE2IEBAIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6
am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJKb2ImIGpvYiwKICAgICAg
ICAgYWN0aXZlU2VydmljZVdvcmtlciA9IGNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKTsK
ICAgICB9CiAKKyAgICBpZiAoIXJlZ2lzdHJhdGlvbikKKyAgICAgICAgcmVnaXN0cmF0aW9uID0g
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKCpjb250ZXh0LCAqbV9zd0Nvbm5lY3Rp
b24sIFdURk1vdmUoZGF0YSkpOworCiAgICAgYWN0aXZlU2VydmljZVdvcmtlci0+c2V0U3RhdGUo
U2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpOwotICAgIAotICAgIEFTU0VSVChtX3N3
Q29ubmVjdGlvbik7Ci0gICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOjpjcmVhdGUoKmNvbnRleHQsICptX3N3Q29ubmVjdGlvbiwgV1RGTW92ZShkYXRhKSwg
KmFjdGl2ZVNlcnZpY2VXb3JrZXIpOworICAgIHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGluZ1dv
cmtlcihhY3RpdmVTZXJ2aWNlV29ya2VyKTsKIAotICAgIGpvYi5wcm9taXNlKCkucmVzb2x2ZTxJ
RExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5nZXQo
KSk7CisgICAgam9iLnByb21pc2UoKS5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uPj4oKnJlZ2lzdHJhdGlvbik7CiAKICAgICAvLyBVc2UgYSBtaWNyb3Rhc2sg
YmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBw
cm9taXNlIGFib3ZlIGlzIHJlc29sdmVkLgotICAgIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFk
UXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlckluc3RhbGxN
aWNyb3Rhc2s+KFdURk1vdmUocmVnaXN0cmF0aW9uKSkpOworICAgIE1pY3JvdGFza1F1ZXVlOjpt
YWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxGYWtlU2VydmljZVdvcmtl
ckluc3RhbGxNaWNyb3Rhc2s+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgpKSk7CiB9CiAK
IHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRp
b25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyQ29udGFpbmVyLmgKaW5kZXggZTY5YjRlYzUxYjAuLjUxNDM5ZjJhYjIwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iQ2xpZW50
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25PcHRpb25zLmgiCisjaW5jbHVkZSAiV29ya2VyVHlwZS5o
IgogI2luY2x1ZGUgPHBhbC9TZXNzaW9uSUQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+
CiAKQEAgLTYxLDYgKzYyLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBhZGRSZWdpc3RyYXRpb24o
Y29uc3QgU3RyaW5nJiBzY3JpcHRVUkwsIGNvbnN0IFJlZ2lzdHJhdGlvbk9wdGlvbnMmLCBSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIHJlbW92ZVJlZ2lzdHJhdGlvbihjb25zdCBV
UkwmIHNjb3BlVVJMLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIHVwZGF0ZVJl
Z2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3BlVVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgV29y
a2VyVHlwZSwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAKICAgICB1c2luZyBSZWdpc3RyYXRp
b25Qcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETE51bGxhYmxlPElETEludGVyZmFjZTxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4+OwogICAgIHZvaWQgZ2V0UmVnaXN0cmF0aW9uKGNv
bnN0IFN0cmluZyYgY2xpZW50VVJMLCBSZWdpc3RyYXRpb25Qcm9taXNlJiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkRhdGEuaApp
bmRleCBjNmM5OTM2MjkxMC4uYjRhNjY5NWMyODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCkBAIC03NCw2ICs3NCw3
IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAogICAgICAgICBlbmNvZGVyIDw8IHJlZ2lzdHJhdGlvbk9wdGlvbnM7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgU2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6CisgICAgY2Fz
ZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsKICAgICB9CiB9
CkBAIC0xMTMsNiArMTE0LDcgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySm9iRGF0YT4g
U2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGUKICAgICAgICAgICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2VydmljZVdv
cmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6
VXBkYXRlOgogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKaW5kZXggMDc5ZjNlODQ5
NTUuLmJiMWY3ZGRjY2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckpvYlR5cGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckpvYlR5cGUuaApAQCAtMzIsNiArMzIsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJKb2JUeXBlIHsKICAgICBSZWdpc3Rl
ciwKICAgICBVbnJlZ2lzdGVyLAorICAgIFVwZGF0ZSwKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCA2YTA0ZTdiMGZhZi4uMjc0MWZkNDcz
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKQEAgLTM2LDEwICszNiw5IEBACiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAotU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBTV0NsaWVudENv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYgcmVn
aXN0cmF0aW9uRGF0YSwgUmVmPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCYgY29udGV4dCwgU1dDbGllbnRDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEpCiAgICAgOiBB
Y3RpdmVET01PYmplY3QoJmNvbnRleHQpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbkRhdGEoV1RGTW92
ZShyZWdpc3RyYXRpb25EYXRhKSkKLSAgICAsIG1fc2VydmljZVdvcmtlcihXVEZNb3ZlKHNlcnZp
Y2VXb3JrZXIpKQogICAgICwgbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pCiB7CiAgICAgc3VzcGVu
ZElmTmVlZGVkKCk7CkBAIC01NCwyMyArNTMsNDIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bjo6flNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oKQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uOjppbnN0YWxsaW5nKCkKIHsKLSAgICBpZiAobV9zZXJ2aWNlV29y
a2VyLT5zdGF0ZSgpICE9IFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKQotICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKLSAgICByZXR1cm4gbV9zZXJ2aWNlV29ya2VyLnB0cigpOworICAg
IHJldHVybiBtX2luc3RhbGxpbmdXb3JrZXIuZ2V0KCk7CiB9CiAKIFNlcnZpY2VXb3JrZXIqIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OndhaXRpbmcoKQogewotICAgIGlmIChtX3NlcnZpY2VX
b3JrZXItPnN0YXRlKCkgIT0gU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCkKLSAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgcmV0dXJuIG1fc2VydmljZVdvcmtlci5wdHIoKTsKKyAg
ICByZXR1cm4gbV93YWl0aW5nV29ya2VyLmdldCgpOwogfQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjphY3RpdmUoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3Jr
ZXItPnN0YXRlKCkgIT0gU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcgJiYgbV9zZXJ2
aWNlV29ya2VyLT5zdGF0ZSgpICE9IFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0ZWQpCi0g
ICAgICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiBtX3NlcnZpY2VXb3JrZXIucHRyKCk7
CisgICAgcmV0dXJuIG1fYWN0aXZlV29ya2VyLmdldCgpOworfQorCit2b2lkIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OnNldEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+
JiYgc2VydmljZVdvcmtlcikKK3sKKyAgICBtX2luc3RhbGxpbmdXb3JrZXIgPSBXVEZNb3ZlKHNl
cnZpY2VXb3JrZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdh
aXRpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sKKyAg
ICBtX3dhaXRpbmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2b2lkIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldEFjdGl2ZVdvcmtlcihSZWZQdHI8U2VydmljZVdv
cmtlcj4mJiBzZXJ2aWNlV29ya2VyKQoreworICAgIG1fYWN0aXZlV29ya2VyID0gV1RGTW92ZShz
ZXJ2aWNlV29ya2VyKTsKK30KKworU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbjo6Z2V0TmV3ZXN0V29ya2VyKCkKK3sKKyAgICBpZiAobV9pbnN0YWxsaW5nV29ya2VyKQor
ICAgICAgICByZXR1cm4gbV9pbnN0YWxsaW5nV29ya2VyLmdldCgpOworICAgIGlmIChtX3dhaXRp
bmdXb3JrZXIpCisgICAgICAgIHJldHVybiBtX3dhaXRpbmdXb3JrZXIuZ2V0KCk7CisKKyAgICBy
ZXR1cm4gbV9hY3RpdmVXb3JrZXIuZ2V0KCk7CiB9CiAKIGNvbnN0IFN0cmluZyYgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbjo6c2NvcGUoKSBjb25zdApAQCAtODUsNyArMTAzLDI3IEBAIFNlcnZp
Y2VXb3JrZXJVcGRhdGVWaWFDYWNoZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVW
aWFDYWNoZSgpIGNvbnN0CiAKIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRl
KFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3Qo
RXhjZXB0aW9uKE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBhdXRvKiBj
b250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkgewor
ICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4
Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYXV0byogY29udGFpbmVyID0gY29udGV4dC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpOwor
ICAgIGlmICghY29udGFpbmVyKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24o
SW52YWxpZFN0YXRlRXJyb3IpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8q
IG5ld2VzdFdvcmtlciA9IGdldE5ld2VzdFdvcmtlcigpOworICAgIGlmICghbmV3ZXN0V29ya2Vy
KSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgibmV3ZXN0V29ya2VyIGlzIG51bGwiKSkpOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgLy8gRklYTUU6IFN1cHBvcnQgd29ya2VyIHR5cGVzLgorICAgIGNvbnRh
aW5lci0+dXBkYXRlUmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgbmV3
ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSwgV29ya2VyVHlwZTo6Q2xhc3NpYywgV1RGTW92ZShwcm9t
aXNlKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdpc3RlcihS
ZWY8RGVmZXJyZWRQcm9taXNlPiYmIHByb21pc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCAy
Y2QwZGE2NjQyNi4uZDQ3OTAzNzBmMjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtNTIsMTIg
KzUyLDIwIEBAIHB1YmxpYzoKICAgICBTZXJ2aWNlV29ya2VyKiB3YWl0aW5nKCk7CiAgICAgU2Vy
dmljZVdvcmtlciogYWN0aXZlKCk7CiAKKyAgICB2b2lkIHNldEluc3RhbGxpbmdXb3JrZXIoUmVm
UHRyPFNlcnZpY2VXb3JrZXI+JiYpOworICAgIHZvaWQgc2V0V2FpdGluZ1dvcmtlcihSZWZQdHI8
U2VydmljZVdvcmtlcj4mJik7CisgICAgdm9pZCBzZXRBY3RpdmVXb3JrZXIoUmVmUHRyPFNlcnZp
Y2VXb3JrZXI+JiYpOworCisgICAgU2VydmljZVdvcmtlciogZ2V0TmV3ZXN0V29ya2VyKCk7CisK
ICAgICBjb25zdCBTdHJpbmcmIHNjb3BlKCkgY29uc3Q7CiAgICAgU2VydmljZVdvcmtlclVwZGF0
ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hlKCkgY29uc3Q7CiAKICAgICB2b2lkIHVwZGF0ZShSZWY8
RGVmZXJyZWRQcm9taXNlPiYmKTsKICAgICB2b2lkIHVucmVnaXN0ZXIoUmVmPERlZmVycmVkUHJv
bWlzZT4mJik7CiAKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0KCkgY29uc3QgZmluYWw7CisKICAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CiAgICAg
dXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CiAgICAgCkBAIC02NiwxMCArNzQsOSBAQCBwdWJsaWM6
CiAgICAgdm9pZCB1cGRhdGVTdGF0ZUZyb21TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
blN0YXRlLCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPik7CiAKIHByaXZh
dGU6Ci0gICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiwgU1dDbGllbnRDb25uZWN0aW9uJiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiwg
UmVmPFNlcnZpY2VXb3JrZXI+JiYpOworICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYsIFNXQ2xpZW50Q29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJn
ZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CiAgICAgdm9pZCByZWZFdmVudFRh
cmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KICAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5h
bCB7IGRlcmVmKCk7IH0KIApAQCAtNzcsOCArODQsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIGNh
blN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKIAogICAgIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhIG1fcmVnaXN0cmF0aW9uRGF0YTsKLSAgICBSZWY8U2Vy
dmljZVdvcmtlcj4gbV9zZXJ2aWNlV29ya2VyOwogICAgIFJlZjxTV0NsaWVudENvbm5lY3Rpb24+
IG1fY29ubmVjdGlvbjsKKworICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiBtX2luc3RhbGxpbmdX
b3JrZXI7CisgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXI+IG1fd2FpdGluZ1dvcmtlcjsKKyAgICBS
ZWZQdHI8U2VydmljZVdvcmtlcj4gbV9hY3RpdmVXb3JrZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggNzA0NjJhZmI5ZjkuLjdjOTMx
NDk5ZDcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC04OSw2ICs4OSwxOSBAQCB2b2lk
IFNXQ2xpZW50Q29ubmVjdGlvbjo6cmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aQogCiAgICAgcmVtb3ZlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkluU2VydmVyKHJlZ2lzdHJhdGlvbi5kYXRhKCkua2V5LCByZWdpc3RyYXRpb24uaWRlbnRpZmll
cigpKTsKIH0KKworLy8gRklYTUU6IFRoaXMgbWFwIG9mIHJlZ2lzdHJhdGlvbnMgc2hvdWxkIHJl
YWxseSBiZSBvbiB0aGUgU2VydmljZVdvcmtlckNvbnRhaW5lci4KK1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24qIFNXQ2xpZW50Q29ubmVjdGlvbjo6c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihj
b25zdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uS2V5JiBrZXksIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpIGNvbnN0Cit7CisgICAgYXV0byogcmVnaXN0
cmF0aW9ucyA9IG1fcmVnaXN0cmF0aW9ucy5nZXQoa2V5KTsKKyAgICBpZiAoIXJlZ2lzdHJhdGlv
bnMgfHwgcmVnaXN0cmF0aW9ucy0+aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICBmb3IgKGF1dG8mIHJlZ2lzdHJhdGlvbiA6ICpyZWdpc3RyYXRpb25zKSB7CisgICAgICAg
IGlmIChyZWdpc3RyYXRpb24tPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSA9PSAmc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiByZWdpc3RyYXRpb247CisgICAgfQor
ICAgIHJldHVybiBudWxscHRyOworfQogICAgIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246Ompv
YlJlamVjdGVkSW5TZXJ2ZXIodWludDY0X3Qgam9iSWRlbnRpZmllciwgY29uc3QgRXhjZXB0aW9u
RGF0YSYgZXhjZXB0aW9uRGF0YSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9zZXJ2ZXIvU1dDbGllbnRDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCmluZGV4IGNmYjYyYjRh
OTEyLi5kZmIzMDBhODEyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV0NsaWVudENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXQ2xpZW50Q29ubmVjdGlvbi5oCkBAIC01NSw2ICs1NSw3IEBA
IHB1YmxpYzoKICAgICB2b2lkIGZhaWxlZEZldGNoaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2Im
LCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgdm9pZCBhZGRTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24mKTsKICAgICB2b2lkIHJlbW92ZVNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiYpOworICAgIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24qIHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oY29uc3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbktleSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKSBj
b25zdDsKIAogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlKFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGRlc3RpbmF0aW9uSWRlbnRpZmllciwgUmVm
PFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4mJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc291cmNl
KSA9IDA7CiAgICAgdmlydHVhbCB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApp
bmRleCBmNTlhN2VlZDIyMC4uZjg3OWUxYmQ4YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xOTgsNyArMTk4LDYgQEAg
dm9pZCBTV1NlcnZlcjo6c3RhcnRTY3JpcHRGZXRjaChjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0
YSYgam9iRGF0YSkKIHZvaWQgU1dTZXJ2ZXI6OnNjcmlwdEZldGNoRmluaXNoZWQoQ29ubmVjdGlv
biYgY29ubmVjdGlvbiwgY29uc3QgU2VydmljZVdvcmtlckZldGNoUmVzdWx0JiByZXN1bHQpCiB7
CiAgICAgTE9HKFNlcnZpY2VXb3JrZXIsICJTZXJ2ZXIgaGFuZGxpbmcgc2NyaXB0RmV0Y2hGaW5p
c2hlZCBmb3IgY3VycmVudCBqb2IgJSIgUFJJdTY0ICItJSIgUFJJdTY0ICIgaW4gY2xpZW50Iiwg
cmVzdWx0LmNvbm5lY3Rpb25JZGVudGlmaWVyLCByZXN1bHQuam9iSWRlbnRpZmllcik7Ci0KICAg
ICBBU1NFUlQobV9jb25uZWN0aW9ucy5jb250YWlucyhyZXN1bHQuY29ubmVjdGlvbklkZW50aWZp
ZXIpKTsKIAogICAgIGF1dG8gam9iUXVldWUgPSBtX2pvYlF1ZXVlcy5nZXQocmVzdWx0LnJlZ2lz
dHJhdGlvbktleSk7CkBAIC0yMTEsNyArMjEwLDYgQEAgdm9pZCBTV1NlcnZlcjo6c2NyaXB0RmV0
Y2hGaW5pc2hlZChDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTZXJ2aWNlV29ya2VyRmUK
IHZvaWQgU1dTZXJ2ZXI6OnNjcmlwdENvbnRleHRGYWlsZWRUb1N0YXJ0KENvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmIHJlZ2lzdHJhdGlv
bktleSwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBt
ZXNzYWdlKQogewogICAgIEFTU0VSVChtX2Nvbm5lY3Rpb25zLmNvbnRhaW5zKGNvbm5lY3Rpb24u
aWRlbnRpZmllcigpKSk7Ci0gICAgCiAgICAgaWYgKGF1dG8qIGpvYlF1ZXVlID0gbV9qb2JRdWV1
ZXMuZ2V0KHJlZ2lzdHJhdGlvbktleSkpCiAgICAgICAgIGpvYlF1ZXVlLT5zY3JpcHRDb250ZXh0
RmFpbGVkVG9TdGFydChjb25uZWN0aW9uLCBpZGVudGlmaWVyLCBtZXNzYWdlKTsKIH0KQEAgLTIx
OSw3ICsyMTcsNiBAQCB2b2lkIFNXU2VydmVyOjpzY3JpcHRDb250ZXh0RmFpbGVkVG9TdGFydChD
b25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb25zdCBTZXJ2aWNlVwogdm9pZCBTV1NlcnZlcjo6c2Ny
aXB0Q29udGV4dFN0YXJ0ZWQoQ29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uc3QgU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbktleSYgcmVnaXN0cmF0aW9uS2V5LCBTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciBpZGVudGlmaWVyKQogewogICAgIEFTU0VSVChtX2Nvbm5lY3Rpb25zLmNvbnRhaW5zKGNv
bm5lY3Rpb24uaWRlbnRpZmllcigpKSk7Ci0KICAgICBpZiAoYXV0byogam9iUXVldWUgPSBtX2pv
YlF1ZXVlcy5nZXQocmVnaXN0cmF0aW9uS2V5KSkKICAgICAgICAgam9iUXVldWUtPnNjcmlwdENv
bnRleHRTdGFydGVkKGNvbm5lY3Rpb24sIGlkZW50aWZpZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5j
cHAKaW5kZXggMjI2ZjFhMzFiZmEuLjdhZGY4YTY0YzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAK
QEAgLTU4LDE4ICs1OCwzNSBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnNjcmlwdEZldGNoRmlu
aXNoZWQoU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIGNvbgogICAgIGF1dG8qIHJl
Z2lzdHJhdGlvbiA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7
CiAgICAgQVNTRVJUKHJlZ2lzdHJhdGlvbik7CiAKKyAgICBhdXRvKiBuZXdlc3RXb3JrZXIgPSBy
ZWdpc3RyYXRpb24tPmdldE5ld2VzdFdvcmtlcigpOworCiAgICAgaWYgKCFyZXN1bHQuc2NyaXB0
RXJyb3IuaXNOdWxsKCkpIHsKLSAgICAgICAgcmVqZWN0Q3VycmVudEpvYihFeGNlcHRpb25EYXRh
IHsgVW5rbm93bkVycm9yLCBtYWtlU3RyaW5nKCJTY3JpcHQgVVJMICIsIGpvYi5zY3JpcHRVUkwu
c3RyaW5nKCksICIgZmV0Y2ggcmVzdWx0ZWQgaW4gZXJyb3I6ICIsIHJlc3VsdC5zY3JpcHRFcnJv
ci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKKyAgICAgICAgLy8gSW52b2tlIFJlamVjdCBK
b2IgUHJvbWlzZSB3aXRoIGpvYiBhbmQgVHlwZUVycm9yLgorICAgICAgICBtX3NlcnZlci5yZWpl
Y3RKb2IoZmlyc3RKb2IoKSwgRXhjZXB0aW9uRGF0YSB7IFR5cGVFcnJvciwgbWFrZVN0cmluZygi
U2NyaXB0IFVSTCAiLCBqb2Iuc2NyaXB0VVJMLnN0cmluZygpLCAiIGZldGNoIHJlc3VsdGVkIGlu
IGVycm9yOiAiLCByZXN1bHQuc2NyaXB0RXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7
CiAKLSAgICAgICAgLy8gSWYgbmV3ZXN0V29ya2VyIGlzIG51bGwsIGludm9rZSBDbGVhciBSZWdp
c3RyYXRpb24gYWxnb3JpdGhtIHBhc3NpbmcgdGhpcyByZWdpc3RyYXRpb24gYXMgaXRzIGFyZ3Vt
ZW50LgotICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbi0+Z2V0TmV3ZXN0V29ya2VyKCkpCisgICAg
ICAgIC8vIElmIG5ld2VzdFdvcmtlciBpcyBudWxsLCBpbnZva2UgQ2xlYXIgUmVnaXN0cmF0aW9u
IGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCisgICAgICAg
IGlmICghbmV3ZXN0V29ya2VyKQogICAgICAgICAgICAgY2xlYXJSZWdpc3RyYXRpb24oKnJlZ2lz
dHJhdGlvbik7CiAKKyAgICAgICAgLy8gSW52b2tlIEZpbmlzaCBKb2Igd2l0aCBqb2IgYW5kIGFi
b3J0IHRoZXNlIHN0ZXBzLgorICAgICAgICBmaW5pc2hDdXJyZW50Sm9iKCk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKLSAgICAvLyBGSVhNRTogSWYgdGhlIHNjcmlwdCBkYXRhIG1hdGNoZXMg
Ynl0ZS1mb3ItYnl0ZSB3aXRoIHRoZSBleGlzdGluZyBuZXdlc3RXb3JrZXIsCi0gICAgLy8gdGhl
biByZXNvbHZlIGFuZCBmaW5pc2ggdGhlIGpvYiB3aXRob3V0IGRvaW5nIGFueXRoaW5nIGZ1cnRo
ZXIuCisgICAgLy8gSWYgbmV3ZXN0V29ya2VyIGlzIG5vdCBudWxsLCBuZXdlc3RXb3JrZXIncyBz
Y3JpcHQgdXJsIGVxdWFscyBqb2IncyBzY3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21l
bnRzCisgICAgLy8gZmxhZyBzZXQsIGFuZCBzY3JpcHTigJlzIHNvdXJjZSB0ZXh0IGlzIGEgYnl0
ZS1mb3ItYnl0ZSBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcidzIHNjcmlwdCByZXNvdXJjZSdzIHNv
dXJjZQorICAgIC8vIHRleHQsIHRoZW46CisgICAgaWYgKG5ld2VzdFdvcmtlciAmJiBlcXVhbEln
bm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCksIGpvYi5z
Y3JpcHRVUkwpICYmIHJlc3VsdC5zY3JpcHQgPT0gbmV3ZXN0V29ya2VyLT5zY3JpcHQoKSkgewor
ICAgICAgICAvLyBGSVhNRTogaWYgc2NyaXB0IGlzIGEgY2xhc3NpYyBzY3JpcHQsIGFuZCBzY3Jp
cHQncyBtb2R1bGUgcmVjb3JkJ3MgW1tFQ01BU2NyaXB0Q29kZV1dIGlzIGEgYnl0ZS1mb3ItYnl0
ZQorICAgICAgICAvLyBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcuKAmXMgc2NyaXB0IHJlc291cmNl
J3MgbW9kdWxlIHJlY29yZCdzIFtbRUNNQVNjcmlwdENvZGVdXSBvdGhlcndpc2UuCisKKyAgICAg
ICAgLy8gSW52b2tlIFJlc29sdmUgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIHJlZ2lzdHJhdGlv
bi4KKyAgICAgICAgbV9zZXJ2ZXIucmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihqb2IsIHJlZ2lzdHJh
dGlvbi0+ZGF0YSgpKTsKKworICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBh
bmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9wZXIgd29y
a2VyIHR5cGUgKGNsYXNzaWMgdnMgbW9kdWxlKQogICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihj
b25uZWN0aW9uLCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnNjcmlwdFVSTCwgcmVzdWx0LnNjcmlw
dCwgV29ya2VyVHlwZTo6Q2xhc3NpYyk7CkBAIC03NywxMCArOTQsMTYgQEAgdm9pZCBTV1NlcnZl
ckpvYlF1ZXVlOjpzY3JpcHRGZXRjaEZpbmlzaGVkKFNXU2VydmVyOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBjb24KIAogdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRDb250ZXh0RmFpbGVk
VG9TdGFydChTV1NlcnZlcjo6Q29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKKyAgICBhdXRvKiByZWdpc3RyYXRp
b24gPSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOworICAgIEFT
U0VSVChyZWdpc3RyYXRpb24pOworCiAgICAgLy8gRklYTUU6IEluc3RhbGwgaGFzIGZhaWxlZC4g
UnVuIHRoZSBpbnN0YWxsIGZhaWxlZCBzdWJzdGVwcwogICAgIC8vIFJ1biB0aGUgVXBkYXRlIFdv
cmtlciBTdGF0ZSBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb27igJlzIGluc3RhbGxpbmcg
d29ya2VyIGFuZCByZWR1bmRhbnQgYXMgdGhlIGFyZ3VtZW50cy4KICAgICAvLyBSdW4gdGhlIFVw
ZGF0ZSBSZWdpc3RyYXRpb24gU3RhdGUgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uLCAi
aW5zdGFsbGluZyIgYW5kIG51bGwgYXMgdGhlIGFyZ3VtZW50cy4KKwogICAgIC8vIElmIG5ld2Vz
dFdvcmtlciBpcyBudWxsLCBpbnZva2UgQ2xlYXIgUmVnaXN0cmF0aW9uIGFsZ29yaXRobSBwYXNz
aW5nIHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCisgICAgaWYgKCFyZWdpc3RyYXRpb24t
PmdldE5ld2VzdFdvcmtlcigpKQorICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0
aW9uKTsKIAogICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICAgICBVTlVTRURfUEFSQU0o
bWVzc2FnZSk7CkBAIC0xMTQsNiArMTM3LDkgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpydW5O
ZXh0Sm9iU3luY2hyb25vdXNseSgpCiAgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VW5y
ZWdpc3RlcjoKICAgICAgICAgcnVuVW5yZWdpc3RlckpvYihqb2IpOwogICAgICAgICByZXR1cm47
CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgorICAgICAgICBydW5VcGRh
dGVKb2Ioam9iKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJFTEVBU0VfQVNTRVJU
X05PVF9SRUFDSEVEKCk7CkBAIC0yMDEsNiArMjI3LDcgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVl
OjpjbGVhclJlZ2lzdHJhdGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uKQog
Ly8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0K
IHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJK
b2JEYXRhJiBqb2IpCiB7CisgICAgLy8gTGV0IHJlZ2lzdHJhdGlvbiBiZSB0aGUgcmVzdWx0IG9m
IHJ1bm5pbmcgdGhlIEdldCBSZWdpc3RyYXRpb24gYWxnb3JpdGhtIHBhc3Npbmcgam9i4oCZcyBz
Y29wZSB1cmwgYXMgdGhlIGFyZ3VtZW50LgogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2Vy
dmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAKICAgICAvLyBJZiByZWdp
c3RyYXRpb24gaXMgbnVsbCAoaW4gb3VyIHBhcmxhbmNlICJlbXB0eSIpIG9yIHJlZ2lzdHJhdGlv
buKAmXMgdW5pbnN0YWxsaW5nIGZsYWcgaXMgc2V0LCB0aGVuOgpAQCAtMjA5LDkgKzIzNiwxMSBA
QCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnJ1blVwZGF0ZUpvYihjb25zdCBTZXJ2aWNlV29ya2Vy
Sm9iRGF0YSYgam9iKQogICAgIGlmIChyZWdpc3RyYXRpb24tPmlzVW5pbnN0YWxsaW5nKCkpCiAg
ICAgICAgIHJldHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3Is
IEFTQ0lJTGl0ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlv
biB0aGF0IGlzIHVuaW5zdGFsbGluZyIpIH0pOwogCi0gICAgLy8gSWYgam9iJ3MgdHlwZSBpcyB1
cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXLigJlzIHNjcmlwdCB1cmwgZG9lcyBub3QgZXF1YWwgam9i
4oCZcyBzY3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21lbnRzIGZsYWcgc2V0LCB0aGVu
OgorICAgIC8vIExldCBuZXdlc3RXb3JrZXIgYmUgdGhlIHJlc3VsdCBvZiBydW5uaW5nIEdldCBO
ZXdlc3QgV29ya2VyIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyB0aGUgYXJndW1l
bnQuCiAgICAgYXV0byogbmV3ZXN0V29ya2VyID0gcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3Jr
ZXIoKTsKLSAgICBpZiAobmV3ZXN0V29ya2VyICYmICFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVu
dGlmaWVyKGpvYi5zY3JpcHRVUkwsIG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCkpKQorCisgICAg
Ly8gSWYgam9iJ3MgdHlwZSBpcyB1cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXLigJlzIHNjcmlwdCB1
cmwgZG9lcyBub3QgZXF1YWwgam9i4oCZcyBzY3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJh
Z21lbnRzIGZsYWcgc2V0LCB0aGVuOgorICAgIGlmIChqb2IudHlwZSA9PSBTZXJ2aWNlV29ya2Vy
Sm9iVHlwZTo6VXBkYXRlICYmIG5ld2VzdFdvcmtlciAmJiAhZXF1YWxJZ25vcmluZ0ZyYWdtZW50
SWRlbnRpZmllcihqb2Iuc2NyaXB0VVJMLCBuZXdlc3RXb3JrZXItPnNjcmlwdFVSTCgpKSkKICAg
ICAgICAgcmV0dXJuIHJlamVjdEN1cnJlbnRKb2IoRXhjZXB0aW9uRGF0YSB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJDYW5ub3QgdXBkYXRlIGEgc2VydmljZSB3b3JrZXIgd2l0aCBhIHJlcXVl
c3RlZCBzY3JpcHQgVVJMIHdob3NlIG5ld2VzdCB3b3JrZXIgaGFzIGEgZGlmZmVyZW50IHNjcmlw
dCBVUkwiKSB9KTsKIAogICAgIG1fc2VydmVyLnN0YXJ0U2NyaXB0RmV0Y2goam9iKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326005</attachid>
            <date>2017-11-03 19:58:05 -0700</date>
            <delta_ts>2017-11-03 20:40:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179270-20171103195804.patch</filename>
            <type>text/plain</type>
            <size>37844</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFhZTMxYmEzZGZiZDhj
Yjc1NmJmMGJmNDI4YWMzZWZkZWIzZGRhNC4uYWExYjBhNjA0NGFlNDc5NmU1MmJlYTg5OWQ5NjJk
MzcxMjljMDY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE3LTExLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnVw
ZGF0ZSgpOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNz
ZXJ2aWNlLXdvcmtlci1yZWdpc3RyYXRpb24tdXBkYXRlCisKKyAgICAgICAgV2UgYWxyZWFkeSBo
YWQgc3VwcG9ydCBmb3IgdGhlIFVwZGF0ZSBhbGdvcml0aG0gaW4gU1dTZXJ2ZXJKb2JRdWV1ZSBi
dXQKKyAgICAgICAgdGhpcyBwYXRjaCBlbmhhbmNlcyBvdXIgc3VwcG9ydCBhIGJpdCB0byBnZXQg
dXMgY2xvc2VyIHRvIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN1cGRhdGUtYWxnb3JpdGhtCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySm9iRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6aW5zdGFsbGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp3YWl0aW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFjdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzZXRJbnN0YWxsaW5nV29ya2VyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3Jr
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2V0QWN0
aXZlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OmdldE5ld2VzdFdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOjp1cGRhdGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ckpvYlF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnNjcmlw
dEZldGNoRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JRdWV1ZTo6c2Ny
aXB0Q29udGV4dEZhaWxlZFRvU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JR
dWV1ZTo6cnVuTmV4dEpvYlN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2
ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKToKKwogMjAxNy0xMS0wMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJDb250
YWluZXIuZ2V0UmVnaXN0cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuaAppbmRleCA4ZWVkZTliZDRkNzM0NGQ5MjYyYmEwMTM2MzQyNzE4ODgz
YjRiNWVhLi41YWYzZjQyM2MzZWM0OTdiMzBmYTczMGVhOWUxNzY3NzE5OGFlZTE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgICAgICBSZWR1bmRhbnQsCiAgICAgfTsKIAotICAgIGNvbnN0
IFN0cmluZyYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRVUkwuc3RyaW5nKCk7
IH0KKyAgICBjb25zdCBVUkwmIHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0VVJM
OyB9CiAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KICAgICB2
b2lkIHNldFN0YXRlKFN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBiODdhYWRiN2Q5NWYy
ZDI5NzJkYjM2NDAwODgxNThiYjBlYzczZDUxLi44N2FjYWRiYzAxYzkzNWYyYzRmMTk4YThlNGYx
ZDcyMzcyYmFlNGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0xNjUsNiArMTY1LDMxIEBAIHZv
aWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKGNvbnN0IFVSTCYg
c2NvcGVVUkwsIFJlZjxEZWZlcnJlCiAgICAgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYjo6
Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpLCBXVEZNb3ZlKGpvYkRhdGEpKSk7CiB9CiAK
K3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFVS
TCYgc2NvcGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJUeXBlLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnNlc3Npb25JRCgp
LmlzVmFsaWQoKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJvcikpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFtX3N3Q29ubmVjdGlvbikgeworICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlk
U3RhdGVFcnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU2VydmljZVdvcmtl
ckpvYkRhdGEgam9iRGF0YShtX3N3Q29ubmVjdGlvbi0+aWRlbnRpZmllcigpKTsKKyAgICBqb2JE
YXRhLmNsaWVudENyZWF0aW9uVVJMID0gY29udGV4dC0+dXJsKCk7CisgICAgam9iRGF0YS50b3BP
cmlnaW4gPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbihjb250ZXh0LT50
b3BPcmlnaW4oKSk7CisgICAgam9iRGF0YS50eXBlID0gU2VydmljZVdvcmtlckpvYlR5cGU6OlVw
ZGF0ZTsKKyAgICBqb2JEYXRhLnNjb3BlVVJMID0gc2NvcGVVUkw7CisgICAgam9iRGF0YS5zY3Jp
cHRVUkwgPSBzY3JpcHRVUkw7CisKKyAgICBzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2VySm9iOjpj
cmVhdGUoKnRoaXMsIFdURk1vdmUocHJvbWlzZSksIFdURk1vdmUoam9iRGF0YSkpKTsKK30KKwog
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZUpvYihSZWY8U2VydmljZVdvcmtl
ckpvYj4mJiBqb2IpCiB7CiAgICAgQVNTRVJUKG1fc3dDb25uZWN0aW9uKTsKQEAgLTIwNiw4ICsy
MzEsOSBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbihjb25z
dCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgogICAgICAgICBSZWZQdHI8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChyZXN1
bHQtPmtleSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAgICBhdXRv
JiBjb250ZXh0ID0gKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICAgICAgICAgIGF1dG8g
d29ya2VyID0gU2VydmljZVdvcmtlcjo6Y3JlYXRlKGNvbnRleHQsICpyZXN1bHQtPmFjdGl2ZVNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZXN1bHQtPnNjcmlwdFVSTCk7Ci0gICAgICAgICAgICBy
ZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoY29udGV4dCwg
KnRoaXMsIFdURk1vdmUocmVzdWx0LnZhbHVlKCkpLCBXVEZNb3ZlKHdvcmtlcikpOworICAgICAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgY29uc3RydWN0aW5nIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQg
bWFrZQorICAgICAgICAgICAgLy8gc3VyZSB0aGF0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
b2JqZWN0cyBzdGF5cyBhbGl2ZSBhcyBsb25nIGFzIHRoZWlyIFNXU2VydmVyUmVnaXN0cmF0aW9u
IG9uIHNlcnZlciBzaWRlLgorICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKHJlc3VsdC52YWx1
ZSgpKSk7CiAgICAgICAgIH0KICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgp
KTsKICAgICB9KTsKQEAgLTI1MSw5ICsyNzcsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShtX3JlZ2lzdHJhdGlvbildICgpIG11
dGFibGUgewogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5kaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnVwZGF0ZWZvdW5kRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAg
ICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShyZWdpc3Ry
YXRpb24pXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmluc3Rh
bGxpbmcoKS0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCk7CisgICAg
ICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRXYWl0aW5nV29ya2VyKHJlZ2lzdHJhdGlvbi0+
aW5zdGFsbGluZygpKTsKKyAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPnNldEluc3RhbGxp
bmdXb3JrZXIobnVsbHB0cik7CisgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT53YWl0aW5n
KCktPnNldFN0YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsZWQpOwogICAgICAgICAg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUocmVnaXN0cmF0
aW9uKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+d2Fp
dGluZygpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyk7CisgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0QWN0aXZlV29ya2VyKHJlZ2lzdHJhdGlv
bi0+d2FpdGluZygpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRXYWl0
aW5nV29ya2VyKG51bGxwdHIpOworICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmFj
dGl2ZSgpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyk7CiAgICAg
ICAgICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUo
cmVnaXN0cmF0aW9uKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZWdp
c3RyYXRpb24tPmFjdGl2ZSgpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZh
dGVkKTsKICAgICAgICAgICAgICAgICAgICAgfSk7CkBAIC0yNzgsNiArMzA4LDggQEAgdm9pZCBT
ZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2Vydmlj
ZVdvcmtlckpvYiYgam9iLAogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgUmVmUHRyPFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5n
ZXQoZGF0YS5rZXkpOworCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBwcm9wZXIgc2VsZWN0aW9u
IG9mIHNlcnZpY2Ugd29ya2Vycy4KICAgICBhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gY29u
dGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpOwogICAgIEFTU0VSVChkYXRhLmFjdGl2ZVNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKTsKQEAgLTI4NiwxNCArMzE4LDE2IEBAIHZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJK
b2ImIGpvYiwKICAgICAgICAgYWN0aXZlU2VydmljZVdvcmtlciA9IGNvbnRleHQtPmFjdGl2ZVNl
cnZpY2VXb3JrZXIoKTsKICAgICB9CiAKLSAgICBhY3RpdmVTZXJ2aWNlV29ya2VyLT5zZXRTdGF0
ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGluZyk7CisgICAgaWYgKCFyZWdpc3RyYXRp
b24pCisgICAgICAgIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNy
ZWF0ZSgqY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZGF0YSkpOwogCi0gICAgYXV0byByZWdpc3Ry
YXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoKmNvbnRleHQsICp0aGlz
LCBXVEZNb3ZlKGRhdGEpLCAqYWN0aXZlU2VydmljZVdvcmtlcik7CisgICAgYWN0aXZlU2Vydmlj
ZVdvcmtlci0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpOworICAg
IHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGluZ1dvcmtlcihhY3RpdmVTZXJ2aWNlV29ya2VyKTsK
IAotICAgIGpvYi5wcm9taXNlKCkucmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbik7CisgICAgam9iLnByb21pc2UoKS5yZXNvbHZlPElE
TEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4oKnJlZ2lzdHJhdGlvbik7CiAK
ICAgICAvLyBVc2UgYSBtaWNyb3Rhc2sgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlz
IGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcm9taXNlIGFib3ZlIGlzIHJlc29sdmVkLgotICAgIE1p
Y3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxG
YWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNyb3Rhc2s+KFdURk1vdmUocmVnaXN0cmF0aW9uKSkp
OworICAgIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtl
X3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNyb3Rhc2s+KHJlZ2lzdHJhdGlvbi5y
ZWxlYXNlTm9uTnVsbCgpKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9i
UmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBi
b29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZjczNWI3NDBmNzFm
ZWYzNDlkOTRhNjRkYzYwZjg4NTYwNTY3Y2FjZi4uN2MxNGQzN2JiZDcwODAyZDkyYWVhMTVkMmI1
NmU0ZjNmMTNkMDAyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5o
IgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC02MSw2ICs2Miw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0VVJMLCBjb25zdCBS
ZWdpc3RyYXRpb25PcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBy
ZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwg
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
U3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpv
YkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9i
RGF0YS5oCmluZGV4IGM2Yzk5MzYyOTEwZWZmOWNkYzYyZjg0NGM0MTQzNzM4NzUwMjBhOTAuLmI0
YTY2OTVjMjgxZTEzMGU4YmU3MGMyMTNmOTMwNzhmZmQ5N2E3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCkBAIC03
NCw2ICs3NCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYkRhdGE6OmVuY29kZShFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAogICAgICAgICBlbmNvZGVyIDw8IHJlZ2lzdHJhdGlvbk9wdGlvbnM7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6
CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsK
ICAgICB9CiB9CkBAIC0xMTMsNiArMTE0LDcgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
Sm9iRGF0YT4gU2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGUKICAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2Ug
U2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6CisgICAgY2FzZSBTZXJ2aWNlV29ya2Vy
Sm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKaW5kZXgg
MDc5ZjNlODQ5NTU0MTE1ZTJmNmI2MzNkYzUxMmI3ZmYyMWFjZTlhMy4uYmIxZjdkZGNjZDEwNmUz
Y2U1NGFkY2I3MmViMmZkMjlmMDA4MzMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKQEAgLTMyLDYgKzMyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VySm9iVHlwZSB7CiAg
ICAgUmVnaXN0ZXIsCiAgICAgVW5yZWdpc3RlciwKKyAgICBVcGRhdGUsCiB9OwogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggMDZhMDU0ZTdlZjE1
YzQwZTU1MGVlODdkMmZlNWY2M2NjMzg4MDIwOC4uM2EzODEzZTI3YWNlNTE1OTA1M2YzNzE5YjQ5
MDQ3Nzc0ZTlmNGExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzYsMTAgKzM2LDkg
QEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQs
IFJlZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmIGNvbnRhaW5lciwgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEmJiByZWdpc3RyYXRpb25EYXRhLCBSZWY8U2VydmljZVdvcmtlcj4mJiBz
ZXJ2aWNlV29ya2VyKQorU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8U2VydmljZVdv
cmtlckNvbnRhaW5lcj4mJiBjb250YWluZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRh
JiYgcmVnaXN0cmF0aW9uRGF0YSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAg
ICAsIG1fcmVnaXN0cmF0aW9uRGF0YShXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKQotICAgICwg
bV9zZXJ2aWNlV29ya2VyKFdURk1vdmUoc2VydmljZVdvcmtlcikpCiAgICAgLCBtX2NvbnRhaW5l
cihXVEZNb3ZlKGNvbnRhaW5lcikpCiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC01Mywy
MyArNTIsNDIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6flNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24oKQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpp
bnN0YWxsaW5nKCkKIHsKLSAgICBpZiAobV9zZXJ2aWNlV29ya2VyLT5zdGF0ZSgpICE9IFNlcnZp
Y2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAg
ICByZXR1cm4gbV9zZXJ2aWNlV29ya2VyLnB0cigpOworICAgIHJldHVybiBtX2luc3RhbGxpbmdX
b3JrZXIuZ2V0KCk7CiB9CiAKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OndhaXRpbmcoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0gU2Vy
dmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgcmV0dXJuIG1fc2VydmljZVdvcmtlci5wdHIoKTsKKyAgICByZXR1cm4gbV93YWl0aW5nV29y
a2VyLmdldCgpOwogfQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjphY3RpdmUoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0gU2Vydmlj
ZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcgJiYgbV9zZXJ2aWNlV29ya2VyLT5zdGF0ZSgpICE9
IFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0ZWQpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIHJldHVybiBtX3NlcnZpY2VXb3JrZXIucHRyKCk7CisgICAgcmV0dXJuIG1fYWN0aXZl
V29ya2VyLmdldCgpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldElu
c3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sK
KyAgICBtX2luc3RhbGxpbmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2
b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3JrZXIoUmVmUHRyPFNl
cnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sKKyAgICBtX3dhaXRpbmdXb3JrZXIgPSBX
VEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OnNldEFjdGl2ZVdvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJiBzZXJ2aWNlV29ya2Vy
KQoreworICAgIG1fYWN0aXZlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29ya2VyKTsKK30KKwor
U2VydmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0TmV3ZXN0V29ya2Vy
KCkKK3sKKyAgICBpZiAobV9pbnN0YWxsaW5nV29ya2VyKQorICAgICAgICByZXR1cm4gbV9pbnN0
YWxsaW5nV29ya2VyLmdldCgpOworICAgIGlmIChtX3dhaXRpbmdXb3JrZXIpCisgICAgICAgIHJl
dHVybiBtX3dhaXRpbmdXb3JrZXIuZ2V0KCk7CisKKyAgICByZXR1cm4gbV9hY3RpdmVXb3JrZXIu
Z2V0KCk7CiB9CiAKIGNvbnN0IFN0cmluZyYgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2Nv
cGUoKSBjb25zdApAQCAtODQsNyArMTAyLDI3IEBAIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSgpIGNvbnN0CiAKIHZv
aWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlKFJlZjxEZWZlcnJlZFByb21pc2U+
JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKE5vdFN1cHBvcnRl
ZEVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBu
b3QgeWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkgeworICAgICAgICBBU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVF
cnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogY29udGFpbmVyID0g
Y29udGV4dC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpOworICAgIGlmICghY29udGFpbmVyKSB7
CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IpKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IGdldE5l
d2VzdFdvcmtlcigpOworICAgIGlmICghbmV3ZXN0V29ya2VyKSB7CisgICAgICAgIHByb21pc2Ut
PnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgibmV3ZXN0
V29ya2VyIGlzIG51bGwiKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklY
TUU6IFN1cHBvcnQgd29ya2VyIHR5cGVzLgorICAgIGNvbnRhaW5lci0+dXBkYXRlUmVnaXN0cmF0
aW9uKG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwo
KSwgV29ya2VyVHlwZTo6Q2xhc3NpYywgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdpc3RlcihSZWY8RGVmZXJyZWRQcm9taXNlPiYm
IHByb21pc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCBiZTdlZmJhYjQ1MjBhMTAzMzhiMzlk
ZTZmNzAyMzdkMzBkODk3ZDJmLi5lNjU4YTVmYjEyYTI4OWMxMzkxOTE5N2NjN2U5NmQyMmZkNTQy
MTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTUzLDYgKzUzLDEyIEBAIHB1YmxpYzoKICAg
ICBTZXJ2aWNlV29ya2VyKiB3YWl0aW5nKCk7CiAgICAgU2VydmljZVdvcmtlciogYWN0aXZlKCk7
CiAKKyAgICB2b2lkIHNldEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYp
OworICAgIHZvaWQgc2V0V2FpdGluZ1dvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJik7Cisg
ICAgdm9pZCBzZXRBY3RpdmVXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYpOworCisgICAg
U2VydmljZVdvcmtlciogZ2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBjb25zdCBTdHJpbmcmIHNj
b3BlKCkgY29uc3Q7CiAgICAgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNh
Y2hlKCkgY29uc3Q7CiAKQEAgLTY3LDcgKzczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRl
U3RhdGVGcm9tU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJ2aWNlV29y
a2VyQ29udGFpbmVyPiYmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBSZWY8U2Vy
dmljZVdvcmtlcj4mJik7CisgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYsIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRU
YXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CkBAIC03OCw4ICs4NCwxMSBA
QCBwcml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0IGZpbmFsOwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgbV9yZWdpc3Ry
YXRpb25EYXRhOwotICAgIFJlZjxTZXJ2aWNlV29ya2VyPiBtX3NlcnZpY2VXb3JrZXI7CiAgICAg
UmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+IG1fY29udGFpbmVyOworCisgICAgUmVmUHRyPFNl
cnZpY2VXb3JrZXI+IG1faW5zdGFsbGluZ1dvcmtlcjsKKyAgICBSZWZQdHI8U2VydmljZVdvcmtl
cj4gbV93YWl0aW5nV29ya2VyOworICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiBtX2FjdGl2ZVdv
cmtlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCmlu
ZGV4IDIyNmYxYTMxYmZhOWQ3MDhjOGFjOTZmNTVmNGZkZjlkZjEyMjdkMGIuLjVlMDE1ZmMwZjdi
MjA4MDkyYTVmZDBjMGU3OGVhNDAyOWU3ZTcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcApAQCAt
NTgsMTggKzU4LDM1IEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0RmV0Y2hGaW5pc2hl
ZChTV1NlcnZlcjo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAgYXV0byogcmVnaXN0
cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKICAg
ICBBU1NFUlQocmVnaXN0cmF0aW9uKTsKIAorICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IHJlZ2lz
dHJhdGlvbi0+Z2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBpZiAoIXJlc3VsdC5zY3JpcHRFcnJv
ci5pc051bGwoKSkgewotICAgICAgICByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBV
bmtub3duRXJyb3IsIG1ha2VTdHJpbmcoIlNjcmlwdCBVUkwgIiwgam9iLnNjcmlwdFVSTC5zdHJp
bmcoKSwgIiBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogIiwgcmVzdWx0LnNjcmlwdEVycm9yLmxv
Y2FsaXplZERlc2NyaXB0aW9uKCkpIH0pOworICAgICAgICAvLyBJbnZva2UgUmVqZWN0IEpvYiBQ
cm9taXNlIHdpdGggam9iIGFuZCBUeXBlRXJyb3IuCisgICAgICAgIG1fc2VydmVyLnJlamVjdEpv
YihmaXJzdEpvYigpLCBFeGNlcHRpb25EYXRhIHsgVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJTY3Jp
cHQgVVJMICIsIGpvYi5zY3JpcHRVUkwuc3RyaW5nKCksICIgZmV0Y2ggcmVzdWx0ZWQgaW4gZXJy
b3I6ICIsIHJlc3VsdC5zY3JpcHRFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKIAot
ICAgICAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbnVsbCwgaW52b2tlIENsZWFyIFJlZ2lzdHJh
dGlvbiBhbGdvcml0aG0gcGFzc2luZyB0aGlzIHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQu
Ci0gICAgICAgIGlmICghcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIoKSkKKyAgICAgICAg
Ly8gSWYgbmV3ZXN0V29ya2VyIGlzIG51bGwsIGludm9rZSBDbGVhciBSZWdpc3RyYXRpb24gYWxn
b3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uIGFzIGl0cyBhcmd1bWVudC4KKyAgICAgICAgaWYg
KCFuZXdlc3RXb3JrZXIpCiAgICAgICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0
aW9uKTsKIAorICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBhbmQgYWJvcnQg
dGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBJZiB0aGUgc2NyaXB0IGRhdGEgbWF0Y2hlcyBieXRl
LWZvci1ieXRlIHdpdGggdGhlIGV4aXN0aW5nIG5ld2VzdFdvcmtlciwKLSAgICAvLyB0aGVuIHJl
c29sdmUgYW5kIGZpbmlzaCB0aGUgam9iIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgZnVydGhlci4K
KyAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbm90IG51bGwsIG5ld2VzdFdvcmtlcidzIHNjcmlw
dCB1cmwgZXF1YWxzIGpvYidzIHNjcmlwdCB1cmwgd2l0aCB0aGUgZXhjbHVkZSBmcmFnbWVudHMK
KyAgICAvLyBmbGFnIHNldCwgYW5kIHNjcmlwdCdzIHNvdXJjZSB0ZXh0IGlzIGEgYnl0ZS1mb3It
Ynl0ZSBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcidzIHNjcmlwdCByZXNvdXJjZSdzIHNvdXJjZQor
ICAgIC8vIHRleHQsIHRoZW46CisgICAgaWYgKG5ld2VzdFdvcmtlciAmJiBlcXVhbElnbm9yaW5n
RnJhZ21lbnRJZGVudGlmaWVyKG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCksIGpvYi5zY3JpcHRV
UkwpICYmIHJlc3VsdC5zY3JpcHQgPT0gbmV3ZXN0V29ya2VyLT5zY3JpcHQoKSkgeworICAgICAg
ICAvLyBGSVhNRTogaWYgc2NyaXB0IGlzIGEgY2xhc3NpYyBzY3JpcHQsIGFuZCBzY3JpcHQncyBt
b2R1bGUgcmVjb3JkJ3MgW1tFQ01BU2NyaXB0Q29kZV1dIGlzIGEgYnl0ZS1mb3ItYnl0ZQorICAg
ICAgICAvLyBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcuKAmXMgc2NyaXB0IHJlc291cmNlJ3MgbW9k
dWxlIHJlY29yZCdzIFtbRUNNQVNjcmlwdENvZGVdXSBvdGhlcndpc2UuCisKKyAgICAgICAgLy8g
SW52b2tlIFJlc29sdmUgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIHJlZ2lzdHJhdGlvbi4KKyAg
ICAgICAgbV9zZXJ2ZXIucmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihqb2IsIHJlZ2lzdHJhdGlvbi0+
ZGF0YSgpKTsKKworICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9wZXIgd29ya2VyIHR5
cGUgKGNsYXNzaWMgdnMgbW9kdWxlKQogICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihjb25uZWN0
aW9uLCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnNjcmlwdFVSTCwgcmVzdWx0LnNjcmlwdCwgV29y
a2VyVHlwZTo6Q2xhc3NpYyk7CkBAIC03NywxMCArOTQsMTYgQEAgdm9pZCBTV1NlcnZlckpvYlF1
ZXVlOjpzY3JpcHRGZXRjaEZpbmlzaGVkKFNXU2VydmVyOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBjb24KIAogdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRDb250ZXh0RmFpbGVkVG9TdGFy
dChTV1NlcnZlcjo6Q29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBt
X3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOworICAgIEFTU0VSVChy
ZWdpc3RyYXRpb24pOworCiAgICAgLy8gRklYTUU6IEluc3RhbGwgaGFzIGZhaWxlZC4gUnVuIHRo
ZSBpbnN0YWxsIGZhaWxlZCBzdWJzdGVwcwogICAgIC8vIFJ1biB0aGUgVXBkYXRlIFdvcmtlciBT
dGF0ZSBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb27igJlzIGluc3RhbGxpbmcgd29ya2Vy
IGFuZCByZWR1bmRhbnQgYXMgdGhlIGFyZ3VtZW50cy4KICAgICAvLyBSdW4gdGhlIFVwZGF0ZSBS
ZWdpc3RyYXRpb24gU3RhdGUgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uLCAiaW5zdGFs
bGluZyIgYW5kIG51bGwgYXMgdGhlIGFyZ3VtZW50cy4KKwogICAgIC8vIElmIG5ld2VzdFdvcmtl
ciBpcyBudWxsLCBpbnZva2UgQ2xlYXIgUmVnaXN0cmF0aW9uIGFsZ29yaXRobSBwYXNzaW5nIHJl
Z2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCisgICAgaWYgKCFyZWdpc3RyYXRpb24tPmdldE5l
d2VzdFdvcmtlcigpKQorICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0aW9uKTsK
IAogICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICAgICBVTlVTRURfUEFSQU0obWVzc2Fn
ZSk7CkBAIC0xMTQsNiArMTM3LDkgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpydW5OZXh0Sm9i
U3luY2hyb25vdXNseSgpCiAgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VW5yZWdpc3Rl
cjoKICAgICAgICAgcnVuVW5yZWdpc3RlckpvYihqb2IpOwogICAgICAgICByZXR1cm47CisgICAg
Y2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgorICAgICAgICBydW5VcGRhdGVKb2Io
am9iKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9S
RUFDSEVEKCk7CkBAIC0yMDEsNiArMjI3LDcgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpjbGVh
clJlZ2lzdHJhdGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uKQogLy8gaHR0
cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0KIHZvaWQg
U1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRh
JiBqb2IpCiB7CisgICAgLy8gTGV0IHJlZ2lzdHJhdGlvbiBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5p
bmcgdGhlIEdldCBSZWdpc3RyYXRpb24gYWxnb3JpdGhtIHBhc3Npbmcgam9i4oCZcyBzY29wZSB1
cmwgYXMgdGhlIGFyZ3VtZW50LgogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLmdl
dFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAKICAgICAvLyBJZiByZWdpc3RyYXRp
b24gaXMgbnVsbCAoaW4gb3VyIHBhcmxhbmNlICJlbXB0eSIpIG9yIHJlZ2lzdHJhdGlvbuKAmXMg
dW5pbnN0YWxsaW5nIGZsYWcgaXMgc2V0LCB0aGVuOgpAQCAtMjA5LDkgKzIzNiwxMSBAQCB2b2lk
IFNXU2VydmVySm9iUXVldWU6OnJ1blVwZGF0ZUpvYihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0
YSYgam9iKQogICAgIGlmIChyZWdpc3RyYXRpb24tPmlzVW5pbnN0YWxsaW5nKCkpCiAgICAgICAg
IHJldHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiB0aGF0
IGlzIHVuaW5zdGFsbGluZyIpIH0pOwogCi0gICAgLy8gSWYgam9iJ3MgdHlwZSBpcyB1cGRhdGUs
IGFuZCBuZXdlc3RXb3JrZXLigJlzIHNjcmlwdCB1cmwgZG9lcyBub3QgZXF1YWwgam9i4oCZcyBz
Y3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21lbnRzIGZsYWcgc2V0LCB0aGVuOgorICAg
IC8vIExldCBuZXdlc3RXb3JrZXIgYmUgdGhlIHJlc3VsdCBvZiBydW5uaW5nIEdldCBOZXdlc3Qg
V29ya2VyIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyB0aGUgYXJndW1lbnQuCiAg
ICAgYXV0byogbmV3ZXN0V29ya2VyID0gcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIoKTsK
LSAgICBpZiAobmV3ZXN0V29ya2VyICYmICFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVy
KGpvYi5zY3JpcHRVUkwsIG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCkpKQorCisgICAgLy8gSWYg
am9iJ3MgdHlwZSBpcyB1cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXIncyBzY3JpcHQgdXJsIGRvZXMg
bm90IGVxdWFsIGpvYuKAmXMgc2NyaXB0IHVybCB3aXRoIHRoZSBleGNsdWRlIGZyYWdtZW50cyBm
bGFnIHNldCwgdGhlbjoKKyAgICBpZiAoam9iLnR5cGUgPT0gU2VydmljZVdvcmtlckpvYlR5cGU6
OlVwZGF0ZSAmJiBuZXdlc3RXb3JrZXIgJiYgIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZp
ZXIoam9iLnNjcmlwdFVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSkpCiAgICAgICAgIHJl
dHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHdpdGggYSByZXF1ZXN0ZWQgc2Ny
aXB0IFVSTCB3aG9zZSBuZXdlc3Qgd29ya2VyIGhhcyBhIGRpZmZlcmVudCBzY3JpcHQgVVJMIikg
fSk7CiAKICAgICBtX3NlcnZlci5zdGFydFNjcmlwdEZldGNoKGpvYik7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCBkNWZlYTQ5YThkODJkMzU2ZDg3NjU1MWMxMTg5ZmE1N2E4YmVi
MDY0Li4wM2E4YmQwZDY5NTZkNjkxZGE2M2IxY2ZmMDQzYTJhMDIxZWY3ZTQ2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNy0xMS0wMyAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uLnVwZGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xNzkyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0cyBub3cgdGhhdCBtb3JlIGFyZSBw
YXNzaW5nIG9yIGF0IGxlYXN0IGZhaWxpbmcgbGF0ZXIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLWFmZmVjdC1vdGhl
ci1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0td2l0aC1yZWRpcmVj
dC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJv
bS13YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC5odHRwcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10
aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3Rl
ZC50eHQ6CisKIDIwMTctMTEtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgog
CiAgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyLmdldFJlZ2lzdHJhdGlv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90aGVyLXJlZ2lz
dHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1hZmZl
Y3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxZDQwNWNmNzM2
Y2MwNDQxNzk5NTQyNjk2YmJiMmRhYjE2OTc5YjZiLi40OTFhMDliZTQxMWYxMzUzNTBkNWEzOTAx
ZmFiZmEzY2ZhZGU1YjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1hZmZl
Y3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGFpbS1hZmZlY3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIGNsYWltKCkgc2hvdWxkIGFmZmVjdCB0aGUgb3Jp
Z2luYWxseSBjb250cm9sbGluZyByZWdpc3RyYXRpb24uIGFzc2VydF9lcXVhbHM6IFNob3VsZCBi
ZSB0aGUgc2FtZSByZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uXSIKK0ZBSUwgY2xhaW0oKSBzaG91bGQgYWZmZWN0IHRoZSBvcmlnaW5hbGx5
IGNvbnRyb2xsaW5nIHJlZ2lzdHJhdGlvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFBhc3NpbmcgTWVzc2Fn
ZVBvcnQgb2JqZWN0cyB0byBwb3N0TWVzc2FnZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0td2l0aC1yZWRpcmVjdC5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4
cGVjdGVkLnR4dAppbmRleCAyMDFkNTkyYzYyYjc1MjIxNTcxMTlhMDJmNDgxNzE5Zjc1OGJmMGQw
Li40MGNkMTNmNjIzNGViMDI0MDU1NTI4ZDMxYzU3ODcxMzBjMjQ3M2M2IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogVW5oYW5kbGVk
IFByb21pc2UgUmVqZWN0aW9uOiBOb3RTdXBwb3J0ZWRFcnJvcjogU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQKK0NPTlNPTEUgTUVTU0FHRTogbGlu
ZSAyNzogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBJbnZhbGlkU3RhdGVFcnJvcjogbmV3
ZXN0V29ya2VyIGlzIG51bGwKICAgCiAKIEZBSUwgQ2xhaW0gd29ya3MgYWZ0ZXIgcmVkaXJlY3Rp
b24gdG8gYW5vdGhlciBvcmlnaW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInVw
ZGF0ZWQiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggZDZlMDEwNDhmOWUyZTNjYjlhMzU0MGI2ZmNlZDYzNzg0YTJiMjk0Ny4uYWFkNzg1
OWI0MmFlZjg1NWVhNTY2YmRlMGI2MzdkNjQyZmE3ZmQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKIAogUEFTUyBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMgcmVk
aXJlY3RzIAotRkFJTCBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMgcmVkaXJlY3RzIGFuZCBjYW4g
YmUgdXBkYXRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBk
YXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCitQQVNTIGltcG9ydFNjcmlwdHMoKSBzdXBwb3J0cyBy
ZWRpcmVjdHMgYW5kIGNhbiBiZSB1cGRhdGVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzMyZTEwZTE0
ZDRiMTE5NWYwNzllYWU4ZjY0MjQ2NmQ3OTc4ZmUyOS4uMTU2NjU1Nzc2NjhmZGZlMGQ0NTAyMDYy
ZjdmZmNmN2JiMWY2NzcyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUt
cmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRp
cGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogCi1GQUlM
IFN1YnNlcXVlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlv
biBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9l
cXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgU3Vic2VxdWVudCByZWdpc3RyYXRpb25zIHJlc29sdmUgdG8g
dGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCAKIEZBSUwgU3Vic2VxdWVudCByZWdpc3RyYXRp
b25zIGZyb20gYSBkaWZmZXJlbnQgaWZyYW1lIHJlc29sdmUgdG8gdGhlIGRpZmZlcmVudCByZWdp
c3RyYXRpb24gb2JqZWN0IGJ1dCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBh
bmQgd29ya2VycyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0
X2VxdWFsczogaW5zdGFsbGluZyB3b3JrZXIgc2hvdWxkIGJlIG51bGwgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCi1GQUlMIENvbmN1cnJlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1l
IHJlZ2lzdHJhdGlvbiBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rp
b246IGFzc2VydF9lcXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJl
Z2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25d
IiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ29uY3VycmVudCByZWdpc3RyYXRpb25z
IHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZDA5NTI3YjIwOGVkZjg3NWU4YTM2MDA3MDRmMWFhNWY3OTAzZGNkZi4uNGNlNGUxZDYyNGY4NDk2
MTU5NzNmMGE2ZDQ5ZmIwZTZkM2ZiZDMxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
bXVsdGlwbGUtdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1G
QUlMIFRyaWdnZXIgbXVsdGlwbGUgdXBkYXRlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIgorUEFTUyBUcmlnZ2Vy
IG11bHRpcGxlIHVwZGF0ZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0
bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjA0OTk5NDUzYWVjMmUzNzI0ZGI4Zjk4ZWYxMWYzY2M0
ZWM0NzAwOC4uY2ZkMTBhZDQ3NmExYzg0NDVkNjkzMDhlNDExMTE2ODAwODY5NTE3ZiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJvbS13YWl0aW5nLXNlcnZpY2V3
b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNz
YWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAogCi1GQUlMIENsaWVudC5wb3N0TWVzc2FnZSgpIGZyb20gd2FpdGluZyBzZXJ2
aWNld29ya2VyLiBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0
X2VxdWFsczogc2hvdWxkIGJlIHNhbWUgcmVnaXN0cmF0aW9uIGV4cGVjdGVkIG9iamVjdCAiW29i
amVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3Qg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJ
TCBDbGllbnQucG9zdE1lc3NhZ2UoKSBmcm9tIHdhaXRpbmcgc2VydmljZXdvcmtlci4gYXNzZXJ0
X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IG1lc3NhZ2Ug
ZXZlbnQgc291cmNlIHNob3VsZCBiZSBjb3JyZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmpl
Y3QgIltvYmplY3QgU2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYTU1MTcwZWU4
NTM1NTAzN2IyYWE1MTA1YWRiNzQwMWE3Njk4Zjg2ZC4uMDQ4OTQxN2RmNzIyODk2MWZiZDQyMmRl
MDRjZjBmMjY3MzUzYjUyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMTAsNSArMTAsNSBAQCBGQUlMIHJlYWR5IG9uIGFuIGlmcmFtZSB3aG9zZSBw
YXJlbnQgcmVnaXN0ZXJzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHByb21pc2VfdGVzdAogRkFJTCBy
ZWFkeSBvbiBhbiBpZnJhbWUgdGhhdCBpbnN0YWxscyBhIG5ldyBzZXJ2aWNlIHdvcmtlciBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3du
RXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgogRkFJ
TCByZWFkeSBhZnRlciBhIGxvbmdlciBtYXRjaGVkIHJlZ2lzdHJhdGlvbiByZWdpc3RlcmVkIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25v
d25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCiBG
QUlMIGFjY2VzcyByZWFkeSBhZnRlciBpdCBoYXMgYmVlbiByZXNvbHZlZCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6IHNl
cnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgotRkFJTCBhY2Nlc3Mg
cmVhZHkgb24gdW5pbnN0YWxsaW5nIHJlZ2lzdHJhdGlvbiB0aGF0IGlzIHJlc3VycmVjdGVkIGFz
c2VydF9lcXVhbHM6IGV4aXN0aW5nIHJlZ2lzdHJhdGlvbiBzaG91bGQgYmUgcmVzdXJyZWN0ZWQg
ZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQg
Z290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIKK0ZBSUwgYWNj
ZXNzIHJlYWR5IG9uIHVuaW5zdGFsbGluZyByZWdpc3RyYXRpb24gdGhhdCBpcyByZXN1cnJlY3Rl
ZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJV
bmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVk
IgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGFlMDlkMTM4NzJmY2FlYThkNDc1OTYxMDhlMzk1M2U0
OWVhMDBlYTEuLmQzYTdkZDg0NWUxZTRjYmYyMzk0N2U5N2MwM2JhMDgwZGNlNDdlMjQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFJlZ2lzdGVyaW5nIGludmFsaWQg
Y2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9mIGlu
dmFsaWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgc2hvdWxkIGZhaWwuIGZ1bmN0aW9uICJmdW5j
dGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJVbmtub3duRXJyb3I6IFNjcmlwdCBV
UkwgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL2ludmFsaWQtY2h1bmtlZC1lbmNvZGluZy5weSBmZXRjaCByZXN1bHRlZCBpbiBl
cnJvcjogY2Fubm90IHBhcnNlIHJlc3BvbnNlIiAoIlVua25vd25FcnJvciIpIGV4cGVjdGVkIG9i
amVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIFJlZ2lzdGVyaW5nIGludmFsaWQg
Y2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgd2l0aCBmbHVzaCBhc3NlcnRfdGhyb3dzOiBSZWdpc3Ry
YXRpb24gb2YgaW52YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBzaG91bGQgZmFpbC4gZnVu
Y3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25FcnJv
cjogU2NyaXB0IFVSTCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvaW52YWxpZC1jaHVua2VkLWVuY29kaW5nLXdpdGgtZmx1c2gu
cHkgZmV0Y2ggcmVzdWx0ZWQgaW4gZXJyb3I6IGNhbm5vdCBwYXJzZSByZXNwb25zZSIgKCJVbmtu
b3duRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorUEFT
UyBSZWdpc3RlcmluZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IAorUEFTUyBSZWdp
c3RlcmluZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IHdpdGggZmx1c2ggCiBGQUlM
IFJlZ2lzdGVyaW5nIHNjcmlwdCBpbmNsdWRpbmcgcGFyc2UgZXJyb3IgYXNzZXJ0X3VucmVhY2hl
ZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBvZiBzY3JpcHQgaW5jbHVkaW5n
IHBhcnNlIGVycm9yIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwg
UmVnaXN0ZXJpbmcgc2NyaXB0IGluY2x1ZGluZyB1bmRlZmluZWQgZXJyb3IgYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBvZiBzY3JpcHQgaW5jbHVk
aW5nIHVuZGVmaW5lZCBlcnJvciBzaG91bGQgZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CiBGQUlMIFJlZ2lzdGVyaW5nIHNjcmlwdCBpbmNsdWRpbmcgdW5jYXVnaHQgZXhjZXB0aW9uIGFz
c2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBSZWdpc3RyYXRpb24gb2Ygc2Ny
aXB0IGluY2x1ZGluZyB1bmNhdWdodCBleGNlcHRpb24gc2hvdWxkIGZhaWwuIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5n
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRw
cy1leHBlY3RlZC50eHQKaW5kZXggZTNlMDVkMDk3YjNmYWYxNWJmOWUyYzYwNTBkNTdmZjNhNTY4
YmRmMC4uNDgxOTNhNGE1YTI1MWUzZGQ2NzAwNWY2MjdkMWJlZGJlODRjZjJiYyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0x
LDMgKzEsMyBAQAogCi1GQUlMIFRlc3Qgc2tpcFdhaXRpbmcgd2l0aCBib3RoIGFjdGl2ZSBhbmQg
d2FpdGluZyB3b3JrZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICd3YWl0aW5nX3dvcmtlci5zY3JpcHRVUkwnKSIKK0ZBSUwgVGVzdCBza2lwV2FpdGluZyB3aXRo
IGJvdGggYWN0aXZlIGFuZCB3YWl0aW5nIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogV29ya2VyIHdp
dGggdXJsMiBzaG91bGQgYmUgd2FpdGluZyBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5q
cyIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LmpzIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCA4MGMzNTI1OTcwNjBjZWRhYWIwMTFlMDg0Zjk3NmMwOGY5ODExN2VjLi5iZGIxOWFlMTEx
ZDRhZGMzM2VlMmE3MjAzYWQ5NmI1OTM2ZTIxMjYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50
eHQKQEAgLTEsNyArMSw3IEBACiAKIAotUEFTUyBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVz
b2x2ZXMgdG8gYSBuZXcgdmFsdWUgCi1GQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNv
bHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2Uu
IGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBu
ZXcgcmVnaXN0cmF0aW9uIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK0ZBSUwgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVyIHJlc29sdmVzIHRv
IGEgbmV3IHZhbHVlIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3Nl
cnRfbm90X2VxdWFsczogcmVnaXN0ZXIgc2hvdWxkIHJlc29sdmUgdG8gYSBuZXcgdmFsdWUgZ290
IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVW5yZWdpc3RlciB0aGVuIHJlZ2lz
dGVyIHJlc29sdmVzIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBpZiB0aGUgcmVnaXN0cmF0aW9uIGlz
IGluIHVzZS4gCiBQQVNTIFJlbG9hZGluZyB0aGUgbGFzdCBjb250cm9sbGVkIGlmcmFtZSBhZnRl
ciB1bnJlZ2lzdHJhdGlvbiBzaG91bGQgZW5zdXJlIHRoZSBkZWxldGlvbiBvZiB0aGUgcmVnaXN0
cmF0aW9uIAogRkFJTCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgZG9lcyBub3QgYWZmZWN0IGV4
aXN0aW5nIGNvbnRyb2xsZWUgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246
IGFzc2VydF9lcXVhbHM6IGluc3RhbGxpbmcgdmVyc2lvbiBpcyBudWxsIGV4cGVjdGVkIG51bGwg
YnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFjaGFi
bGUgY29kZQogRkFJTCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzdXJyZWN0cyB0aGUgcmVn
aXN0cmF0aW9uIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRf
bm90X2VxdWFsczogZG9jdW1lbnQgc2hvdWxkIGhhdmUgYSBjb250cm9sbGVyIGdvdCBkaXNhbGxv
d2VkIHZhbHVlIG51bGwgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAzOTYwODgxMzY4NjJhZjRhNzU5ODQ3
ZDc1YjgwMDVmYjQ3YjFlZmFlLi4yMmRmMjA1ZjRiNWZiNGM2OTM4NzRhMmRmMTJlNmVlNzc3YmEy
MTMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEsMyArMSwzIEBACiAKLUZBSUwgVXBkYXRlIGEgcmVnaXN0cmF0aW9uLiBhc3NlcnRfdGhyb3dz
OiBVc2luZyBhIGRpc2FsbG93ZWQgbWltZXR5cGUgc2hvdWxkIG1ha2UgdXBkYXRlKCkgcHJvbWlz
ZSByZWplY3Qgd2l0aCBhIFNlY3VyaXR5RXJyb3IuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRo
cm93IGU7IH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIiB0aGF0IGlzIG5vdCBhIERP
TUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gOSwg
ZXhwZWN0ZWQgMTgKK0ZBSUwgVXBkYXRlIGEgcmVnaXN0cmF0aW9uLiBhc3NlcnRfdW5yZWFjaGVk
OiB1cGRhdGUoKSBzaG91bGQgcmVqZWN0LiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326009</attachid>
            <date>2017-11-03 20:40:02 -0700</date>
            <delta_ts>2017-11-03 20:53:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179270-20171103204001.patch</filename>
            <type>text/plain</type>
            <size>39334</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFhZTMxYmEzZGZiZDhj
Yjc1NmJmMGJmNDI4YWMzZWZkZWIzZGRhNC4uYWExYjBhNjA0NGFlNDc5NmU1MmJlYTg5OWQ5NjJk
MzcxMjljMDY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE3LTExLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnVw
ZGF0ZSgpOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNz
ZXJ2aWNlLXdvcmtlci1yZWdpc3RyYXRpb24tdXBkYXRlCisKKyAgICAgICAgV2UgYWxyZWFkeSBo
YWQgc3VwcG9ydCBmb3IgdGhlIFVwZGF0ZSBhbGdvcml0aG0gaW4gU1dTZXJ2ZXJKb2JRdWV1ZSBi
dXQKKyAgICAgICAgdGhpcyBwYXRjaCBlbmhhbmNlcyBvdXIgc3VwcG9ydCBhIGJpdCB0byBnZXQg
dXMgY2xvc2VyIHRvIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN1cGRhdGUtYWxnb3JpdGhtCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySm9iRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6aW5zdGFsbGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp3YWl0aW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFjdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzZXRJbnN0YWxsaW5nV29ya2VyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3Jr
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2V0QWN0
aXZlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OmdldE5ld2VzdFdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOjp1cGRhdGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ckpvYlF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnNjcmlw
dEZldGNoRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JRdWV1ZTo6c2Ny
aXB0Q29udGV4dEZhaWxlZFRvU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JR
dWV1ZTo6cnVuTmV4dEpvYlN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2
ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKToKKwogMjAxNy0xMS0wMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJDb250
YWluZXIuZ2V0UmVnaXN0cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuaAppbmRleCA4ZWVkZTliZDRkNzM0NGQ5MjYyYmEwMTM2MzQyNzE4ODgz
YjRiNWVhLi41YWYzZjQyM2MzZWM0OTdiMzBmYTczMGVhOWUxNzY3NzE5OGFlZTE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgICAgICBSZWR1bmRhbnQsCiAgICAgfTsKIAotICAgIGNvbnN0
IFN0cmluZyYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRVUkwuc3RyaW5nKCk7
IH0KKyAgICBjb25zdCBVUkwmIHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0VVJM
OyB9CiAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KICAgICB2
b2lkIHNldFN0YXRlKFN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBiODdhYWRiN2Q5NWYy
ZDI5NzJkYjM2NDAwODgxNThiYjBlYzczZDUxLi44N2FjYWRiYzAxYzkzNWYyYzRmMTk4YThlNGYx
ZDcyMzcyYmFlNGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0xNjUsNiArMTY1LDMxIEBAIHZv
aWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKGNvbnN0IFVSTCYg
c2NvcGVVUkwsIFJlZjxEZWZlcnJlCiAgICAgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYjo6
Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpLCBXVEZNb3ZlKGpvYkRhdGEpKSk7CiB9CiAK
K3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFVS
TCYgc2NvcGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJUeXBlLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnNlc3Npb25JRCgp
LmlzVmFsaWQoKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJvcikpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFtX3N3Q29ubmVjdGlvbikgeworICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlk
U3RhdGVFcnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU2VydmljZVdvcmtl
ckpvYkRhdGEgam9iRGF0YShtX3N3Q29ubmVjdGlvbi0+aWRlbnRpZmllcigpKTsKKyAgICBqb2JE
YXRhLmNsaWVudENyZWF0aW9uVVJMID0gY29udGV4dC0+dXJsKCk7CisgICAgam9iRGF0YS50b3BP
cmlnaW4gPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbihjb250ZXh0LT50
b3BPcmlnaW4oKSk7CisgICAgam9iRGF0YS50eXBlID0gU2VydmljZVdvcmtlckpvYlR5cGU6OlVw
ZGF0ZTsKKyAgICBqb2JEYXRhLnNjb3BlVVJMID0gc2NvcGVVUkw7CisgICAgam9iRGF0YS5zY3Jp
cHRVUkwgPSBzY3JpcHRVUkw7CisKKyAgICBzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2VySm9iOjpj
cmVhdGUoKnRoaXMsIFdURk1vdmUocHJvbWlzZSksIFdURk1vdmUoam9iRGF0YSkpKTsKK30KKwog
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZUpvYihSZWY8U2VydmljZVdvcmtl
ckpvYj4mJiBqb2IpCiB7CiAgICAgQVNTRVJUKG1fc3dDb25uZWN0aW9uKTsKQEAgLTIwNiw4ICsy
MzEsOSBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbihjb25z
dCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgogICAgICAgICBSZWZQdHI8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChyZXN1
bHQtPmtleSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAgICBhdXRv
JiBjb250ZXh0ID0gKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICAgICAgICAgIGF1dG8g
d29ya2VyID0gU2VydmljZVdvcmtlcjo6Y3JlYXRlKGNvbnRleHQsICpyZXN1bHQtPmFjdGl2ZVNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZXN1bHQtPnNjcmlwdFVSTCk7Ci0gICAgICAgICAgICBy
ZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoY29udGV4dCwg
KnRoaXMsIFdURk1vdmUocmVzdWx0LnZhbHVlKCkpLCBXVEZNb3ZlKHdvcmtlcikpOworICAgICAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgY29uc3RydWN0aW5nIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQg
bWFrZQorICAgICAgICAgICAgLy8gc3VyZSB0aGF0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
b2JqZWN0cyBzdGF5cyBhbGl2ZSBhcyBsb25nIGFzIHRoZWlyIFNXU2VydmVyUmVnaXN0cmF0aW9u
IG9uIHNlcnZlciBzaWRlLgorICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKHJlc3VsdC52YWx1
ZSgpKSk7CiAgICAgICAgIH0KICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgp
KTsKICAgICB9KTsKQEAgLTI1MSw5ICsyNzcsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShtX3JlZ2lzdHJhdGlvbildICgpIG11
dGFibGUgewogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5kaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnVwZGF0ZWZvdW5kRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAg
ICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShyZWdpc3Ry
YXRpb24pXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmluc3Rh
bGxpbmcoKS0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCk7CisgICAg
ICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRXYWl0aW5nV29ya2VyKHJlZ2lzdHJhdGlvbi0+
aW5zdGFsbGluZygpKTsKKyAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPnNldEluc3RhbGxp
bmdXb3JrZXIobnVsbHB0cik7CisgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT53YWl0aW5n
KCktPnNldFN0YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsZWQpOwogICAgICAgICAg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUocmVnaXN0cmF0
aW9uKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+d2Fp
dGluZygpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyk7CisgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0QWN0aXZlV29ya2VyKHJlZ2lzdHJhdGlv
bi0+d2FpdGluZygpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRXYWl0
aW5nV29ya2VyKG51bGxwdHIpOworICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmFj
dGl2ZSgpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyk7CiAgICAg
ICAgICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUo
cmVnaXN0cmF0aW9uKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZWdp
c3RyYXRpb24tPmFjdGl2ZSgpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZh
dGVkKTsKICAgICAgICAgICAgICAgICAgICAgfSk7CkBAIC0yNzgsNiArMzA4LDggQEAgdm9pZCBT
ZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2Vydmlj
ZVdvcmtlckpvYiYgam9iLAogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgUmVmUHRyPFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5n
ZXQoZGF0YS5rZXkpOworCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBwcm9wZXIgc2VsZWN0aW9u
IG9mIHNlcnZpY2Ugd29ya2Vycy4KICAgICBhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gY29u
dGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpOwogICAgIEFTU0VSVChkYXRhLmFjdGl2ZVNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKTsKQEAgLTI4NiwxNCArMzE4LDE2IEBAIHZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJK
b2ImIGpvYiwKICAgICAgICAgYWN0aXZlU2VydmljZVdvcmtlciA9IGNvbnRleHQtPmFjdGl2ZVNl
cnZpY2VXb3JrZXIoKTsKICAgICB9CiAKLSAgICBhY3RpdmVTZXJ2aWNlV29ya2VyLT5zZXRTdGF0
ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGluZyk7CisgICAgaWYgKCFyZWdpc3RyYXRp
b24pCisgICAgICAgIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNy
ZWF0ZSgqY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZGF0YSkpOwogCi0gICAgYXV0byByZWdpc3Ry
YXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoKmNvbnRleHQsICp0aGlz
LCBXVEZNb3ZlKGRhdGEpLCAqYWN0aXZlU2VydmljZVdvcmtlcik7CisgICAgYWN0aXZlU2Vydmlj
ZVdvcmtlci0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpOworICAg
IHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGluZ1dvcmtlcihhY3RpdmVTZXJ2aWNlV29ya2VyKTsK
IAotICAgIGpvYi5wcm9taXNlKCkucmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbik7CisgICAgam9iLnByb21pc2UoKS5yZXNvbHZlPElE
TEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4oKnJlZ2lzdHJhdGlvbik7CiAK
ICAgICAvLyBVc2UgYSBtaWNyb3Rhc2sgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlz
IGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcm9taXNlIGFib3ZlIGlzIHJlc29sdmVkLgotICAgIE1p
Y3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxG
YWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNyb3Rhc2s+KFdURk1vdmUocmVnaXN0cmF0aW9uKSkp
OworICAgIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtl
X3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNyb3Rhc2s+KHJlZ2lzdHJhdGlvbi5y
ZWxlYXNlTm9uTnVsbCgpKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9i
UmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBi
b29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZjczNWI3NDBmNzFm
ZWYzNDlkOTRhNjRkYzYwZjg4NTYwNTY3Y2FjZi4uN2MxNGQzN2JiZDcwODAyZDkyYWVhMTVkMmI1
NmU0ZjNmMTNkMDAyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5o
IgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC02MSw2ICs2Miw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0VVJMLCBjb25zdCBS
ZWdpc3RyYXRpb25PcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBy
ZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwg
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
U3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpv
Yi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5j
cHAKaW5kZXggYzM1ZDM1NzIyMWYzMDI1MjNlMDdkZWFkMjA1MTRjMmIzMTc5ZWNlZS4uNTg4YWU0
MjA4NmE0YmZlMTM1MDg4YjBkN2MzNmZhYzg0ZTUwNWQ5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlJl
c291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlckpvYkRhdGEuaCIKQEAgLTEwMCw2ICsxMDEsMTQgQEAgdm9pZCBTZXJ2aWNl
V29ya2VySm9iOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYKICAgICBBU1NFUlQobV9zY3JpcHRMb2FkZXIpOwogCiAgICAgbV9sYXN0UmVz
cG9uc2UgPSByZXNwb25zZTsKKyAgICAvLyBFeHRyYWN0IGEgTUlNRSB0eXBlIGZyb20gdGhlIHJl
c3BvbnNl4oCZcyBoZWFkZXIgbGlzdC4gSWYgdGhpcyBNSU1FIHR5cGUgKGlnbm9yaW5nIHBhcmFt
ZXRlcnMpIGlzIG5vdCBhIEphdmFTY3JpcHQgTUlNRSB0eXBlLCB0aGVuOgorICAgIGlmICghTUlN
RVR5cGVSZWdpc3RyeTo6aXNTdXBwb3J0ZWRKYXZhU2NyaXB0TUlNRVR5cGUocmVzcG9uc2UubWlt
ZVR5cGUoKSkpIHsKKyAgICAgICAgLy8gSW52b2tlIFJlamVjdCBKb2IgUHJvbWlzZSB3aXRoIGpv
YiBhbmQgIlNlY3VyaXR5RXJyb3IiIERPTUV4Y2VwdGlvbi4KKyAgICAgICAgcHJvbWlzZSgpLnJl
amVjdChFeGNlcHRpb24geyBTZWN1cml0eUVycm9yLCBBU0NJSUxpdGVyYWwoIk1JTUUgVHlwZSBp
cyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZSIpIH0pOworICAgICAgICAvLyBBc3luY2hyb25v
dXNseSBjb21wbGV0ZSB0aGVzZSBzdGVwcyB3aXRoIGEgbmV0d29yayBlcnJvci4KKyAgICAgICAg
bV9jbGllbnQtPmpvYkZhaWxlZExvYWRpbmdTY3JpcHQoKnRoaXMsIFJlc291cmNlRXJyb3IgeyBl
cnJvckRvbWFpbldlYktpdEludGVybmFsLCAwLCByZXNwb25zZS51cmwoKSwgQVNDSUlMaXRlcmFs
KCJVbmV4cGVjdGVkIE1JTUUgdHlwZSIpIH0pOworICAgICAgICBtX3NjcmlwdExvYWRlciA9IG51
bGxwdHI7CisgICAgfQogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJKb2I6Om5vdGlmeUZpbmlzaGVk
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VySm9iRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJKb2JEYXRhLmgKaW5kZXggYzZjOTkzNjI5MTBlZmY5Y2RjNjJmODQ0YzQxNDM3Mzg3NTAyMGE5
MC4uYjRhNjY5NWMyODFlMTMwZThiZTcwYzIxM2Y5MzA3OGZmZDk3YTc3MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmgK
QEAgLTc0LDYgKzc0LDcgQEAgdm9pZCBTZXJ2aWNlV29ya2VySm9iRGF0YTo6ZW5jb2RlKEVuY29k
ZXImIGVuY29kZXIpIGNvbnN0CiAgICAgICAgIGVuY29kZXIgPDwgcmVnaXN0cmF0aW9uT3B0aW9u
czsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VW5yZWdp
c3RlcjoKKyAgICBjYXNlIFNlcnZpY2VXb3JrZXJKb2JUeXBlOjpVcGRhdGU6CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIH0KQEAgLTExMyw2ICsxMTQsNyBAQCBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VX
b3JrZXJKb2JEYXRhPiBTZXJ2aWNlV29ya2VySm9iRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZQogICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VW5yZWdpc3RlcjoKKyAgICBjYXNlIFNlcnZpY2VX
b3JrZXJKb2JUeXBlOjpVcGRhdGU6CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYlR5cGUuaApp
bmRleCAwNzlmM2U4NDk1NTQxMTVlMmY2YjYzM2RjNTEyYjdmZjIxYWNlOWEzLi5iYjFmN2RkY2Nk
MTA2ZTNjZTU0YWRjYjcyZWIyZmQyOWYwMDgzMzMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYlR5cGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYlR5cGUuaApAQCAtMzIsNiArMzIs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBlbnVtIGNsYXNzIFNlcnZpY2VXb3JrZXJKb2JUeXBl
IHsKICAgICBSZWdpc3RlciwKICAgICBVbnJlZ2lzdGVyLAorICAgIFVwZGF0ZSwKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcAppbmRleCAwNmEwNTRl
N2VmMTVjNDBlNTUwZWU4N2QyZmU1ZjYzY2MzODgwMjA4Li4zYTM4MTNlMjdhY2U1MTU5MDUzZjM3
MTliNDkwNDc3NzRlOWY0YTExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCkBAIC0zNiwxMCAr
MzYsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYgY29udGFpbmVyLCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uRGF0YSYmIHJlZ2lzdHJhdGlvbkRhdGEsIFJlZjxTZXJ2aWNlV29ya2Vy
PiYmIHNlcnZpY2VXb3JrZXIpCitTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJlZjxTZXJ2
aWNlV29ya2VyQ29udGFpbmVyPiYmIGNvbnRhaW5lciwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGEmJiByZWdpc3RyYXRpb25EYXRhKQogICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0
KQogICAgICwgbV9yZWdpc3RyYXRpb25EYXRhKFdURk1vdmUocmVnaXN0cmF0aW9uRGF0YSkpCi0g
ICAgLCBtX3NlcnZpY2VXb3JrZXIoV1RGTW92ZShzZXJ2aWNlV29ya2VyKSkKICAgICAsIG1fY29u
dGFpbmVyKFdURk1vdmUoY29udGFpbmVyKSkKIHsKICAgICBzdXNwZW5kSWZOZWVkZWQoKTsKQEAg
LTUzLDIzICs1Miw0MiBAQCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp+U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbigpCiAKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246Omluc3RhbGxpbmcoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0g
U2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpCi0gICAgICAgIHJldHVybiBudWxscHRy
OwotICAgIHJldHVybiBtX3NlcnZpY2VXb3JrZXIucHRyKCk7CisgICAgcmV0dXJuIG1faW5zdGFs
bGluZ1dvcmtlci5nZXQoKTsKIH0KIAogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6d2FpdGluZygpCiB7Ci0gICAgaWYgKG1fc2VydmljZVdvcmtlci0+c3RhdGUoKSAh
PSBTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGVkKQotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICByZXR1cm4gbV9zZXJ2aWNlV29ya2VyLnB0cigpOworICAgIHJldHVybiBtX3dhaXRp
bmdXb3JrZXIuZ2V0KCk7CiB9CiAKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OmFjdGl2ZSgpCiB7Ci0gICAgaWYgKG1fc2VydmljZVdvcmtlci0+c3RhdGUoKSAhPSBT
ZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyAmJiBtX3NlcnZpY2VXb3JrZXItPnN0YXRl
KCkgIT0gU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRlZCkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgcmV0dXJuIG1fc2VydmljZVdvcmtlci5wdHIoKTsKKyAgICByZXR1cm4gbV9h
Y3RpdmVXb3JrZXIuZ2V0KCk7Cit9CisKK3ZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
c2V0SW5zdGFsbGluZ1dvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJiBzZXJ2aWNlV29ya2Vy
KQoreworICAgIG1faW5zdGFsbGluZ1dvcmtlciA9IFdURk1vdmUoc2VydmljZVdvcmtlcik7Cit9
CisKK3ZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2V0V2FpdGluZ1dvcmtlcihSZWZQ
dHI8U2VydmljZVdvcmtlcj4mJiBzZXJ2aWNlV29ya2VyKQoreworICAgIG1fd2FpdGluZ1dvcmtl
ciA9IFdURk1vdmUoc2VydmljZVdvcmtlcik7Cit9CisKK3ZvaWQgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6c2V0QWN0aXZlV29ya2VyKFJlZlB0cjxTZXJ2aWNlV29ya2VyPiYmIHNlcnZpY2VX
b3JrZXIpCit7CisgICAgbV9hY3RpdmVXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOwor
fQorCitTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXROZXdlc3RX
b3JrZXIoKQoreworICAgIGlmIChtX2luc3RhbGxpbmdXb3JrZXIpCisgICAgICAgIHJldHVybiBt
X2luc3RhbGxpbmdXb3JrZXIuZ2V0KCk7CisgICAgaWYgKG1fd2FpdGluZ1dvcmtlcikKKyAgICAg
ICAgcmV0dXJuIG1fd2FpdGluZ1dvcmtlci5nZXQoKTsKKworICAgIHJldHVybiBtX2FjdGl2ZVdv
cmtlci5nZXQoKTsKIH0KIAogY29uc3QgU3RyaW5nJiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjpzY29wZSgpIGNvbnN0CkBAIC04NCw3ICsxMDIsMjcgQEAgU2VydmljZVdvcmtlclVwZGF0ZVZp
YUNhY2hlIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZVZpYUNhY2hlKCkgY29uc3QK
IAogdm9pZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUoUmVmPERlZmVycmVkUHJv
bWlzZT4mJiBwcm9taXNlKQogewotICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oTm90U3Vw
cG9ydGVkRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBk
YXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQiKSkpOworICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0KSB7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKEludmFsaWRT
dGF0ZUVycm9yKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvKiBjb250YWlu
ZXIgPSBjb250ZXh0LT5zZXJ2aWNlV29ya2VyQ29udGFpbmVyKCk7CisgICAgaWYgKCFjb250YWlu
ZXIpIHsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJv
cikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogbmV3ZXN0V29ya2VyID0g
Z2V0TmV3ZXN0V29ya2VyKCk7CisgICAgaWYgKCFuZXdlc3RXb3JrZXIpIHsKKyAgICAgICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJvciwgQVNDSUlMaXRlcmFsKCJu
ZXdlc3RXb3JrZXIgaXMgbnVsbCIpKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICAv
LyBGSVhNRTogU3VwcG9ydCB3b3JrZXIgdHlwZXMuCisgICAgY29udGFpbmVyLT51cGRhdGVSZWdp
c3RyYXRpb24obV9yZWdpc3RyYXRpb25EYXRhLnNjb3BlVVJMLCBuZXdlc3RXb3JrZXItPnNjcmlw
dFVSTCgpLCBXb3JrZXJUeXBlOjpDbGFzc2ljLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAogdm9p
ZCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1bnJlZ2lzdGVyKFJlZjxEZWZlcnJlZFByb21p
c2U+JiYgcHJvbWlzZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4IGJlN2VmYmFiNDUyMGExMDMz
OGIzOWRlNmY3MDIzN2QzMGQ4OTdkMmYuLmU2NThhNWZiMTJhMjg5YzEzOTE5MTk3Y2M3ZTk2ZDIy
ZmQ1NDIxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtNTMsNiArNTMsMTIgQEAgcHVibGlj
OgogICAgIFNlcnZpY2VXb3JrZXIqIHdhaXRpbmcoKTsKICAgICBTZXJ2aWNlV29ya2VyKiBhY3Rp
dmUoKTsKIAorICAgIHZvaWQgc2V0SW5zdGFsbGluZ1dvcmtlcihSZWZQdHI8U2VydmljZVdvcmtl
cj4mJik7CisgICAgdm9pZCBzZXRXYWl0aW5nV29ya2VyKFJlZlB0cjxTZXJ2aWNlV29ya2VyPiYm
KTsKKyAgICB2b2lkIHNldEFjdGl2ZVdvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJik7CisK
KyAgICBTZXJ2aWNlV29ya2VyKiBnZXROZXdlc3RXb3JrZXIoKTsKKwogICAgIGNvbnN0IFN0cmlu
ZyYgc2NvcGUoKSBjb25zdDsKICAgICBTZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUgdXBkYXRl
VmlhQ2FjaGUoKSBjb25zdDsKIApAQCAtNjcsNyArNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCB1
cGRhdGVTdGF0ZUZyb21TZXJ2ZXIoU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblN0YXRlLCBzdGQ6
Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyPik7CiAKIHByaXZhdGU6Ci0gICAgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcnZp
Y2VXb3JrZXJDb250YWluZXI+JiYsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYsIFJl
ZjxTZXJ2aWNlV29ya2VyPiYmKTsKKyAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8U2VydmljZVdvcmtlckNvbnRhaW5lcj4mJiwgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJik7CiAKICAgICBFdmVudFRhcmdldEludGVyZmFjZSBl
dmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsOwogICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbDsKQEAgLTc4LDggKzg0
LDExIEBAIHByaXZhdGU6CiAgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KCkgY29uc3QgZmluYWw7CiAKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSBtX3Jl
Z2lzdHJhdGlvbkRhdGE7Ci0gICAgUmVmPFNlcnZpY2VXb3JrZXI+IG1fc2VydmljZVdvcmtlcjsK
ICAgICBSZWY8U2VydmljZVdvcmtlckNvbnRhaW5lcj4gbV9jb250YWluZXI7CisKKyAgICBSZWZQ
dHI8U2VydmljZVdvcmtlcj4gbV9pbnN0YWxsaW5nV29ya2VyOworICAgIFJlZlB0cjxTZXJ2aWNl
V29ya2VyPiBtX3dhaXRpbmdXb3JrZXI7CisgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXI+IG1fYWN0
aXZlV29ya2VyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5j
cHAKaW5kZXggMjI2ZjFhMzFiZmE5ZDcwOGM4YWM5NmY1NWY0ZmRmOWRmMTIyN2QwYi4uNWUwMTVm
YzBmN2IyMDgwOTJhNWZkMGMwZTc4ZWE0MDI5ZTdlNzBkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3Bw
CkBAIC01OCwxOCArNTgsMzUgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRGZXRjaEZp
bmlzaGVkKFNXU2VydmVyOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBjb24KICAgICBhdXRvKiBy
ZWdpc3RyYXRpb24gPSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkp
OwogICAgIEFTU0VSVChyZWdpc3RyYXRpb24pOwogCisgICAgYXV0byogbmV3ZXN0V29ya2VyID0g
cmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIoKTsKKwogICAgIGlmICghcmVzdWx0LnNjcmlw
dEVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgIHJlamVjdEN1cnJlbnRKb2IoRXhjZXB0aW9uRGF0
YSB7IFVua25vd25FcnJvciwgbWFrZVN0cmluZygiU2NyaXB0IFVSTCAiLCBqb2Iuc2NyaXB0VVJM
LnN0cmluZygpLCAiIGZldGNoIHJlc3VsdGVkIGluIGVycm9yOiAiLCByZXN1bHQuc2NyaXB0RXJy
b3IubG9jYWxpemVkRGVzY3JpcHRpb24oKSkgfSk7CisgICAgICAgIC8vIEludm9rZSBSZWplY3Qg
Sm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIFR5cGVFcnJvci4KKyAgICAgICAgbV9zZXJ2ZXIucmVq
ZWN0Sm9iKGZpcnN0Sm9iKCksIEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIG1ha2VTdHJpbmco
IlNjcmlwdCBVUkwgIiwgam9iLnNjcmlwdFVSTC5zdHJpbmcoKSwgIiBmZXRjaCByZXN1bHRlZCBp
biBlcnJvcjogIiwgcmVzdWx0LnNjcmlwdEVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpIH0p
OwogCi0gICAgICAgIC8vIElmIG5ld2VzdFdvcmtlciBpcyBudWxsLCBpbnZva2UgQ2xlYXIgUmVn
aXN0cmF0aW9uIGFsZ29yaXRobSBwYXNzaW5nIHRoaXMgcmVnaXN0cmF0aW9uIGFzIGl0cyBhcmd1
bWVudC4KLSAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24tPmdldE5ld2VzdFdvcmtlcigpKQorICAg
ICAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbnVsbCwgaW52b2tlIENsZWFyIFJlZ2lzdHJhdGlv
biBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb24gYXMgaXRzIGFyZ3VtZW50LgorICAgICAg
ICBpZiAoIW5ld2VzdFdvcmtlcikKICAgICAgICAgICAgIGNsZWFyUmVnaXN0cmF0aW9uKCpyZWdp
c3RyYXRpb24pOwogCisgICAgICAgIC8vIEludm9rZSBGaW5pc2ggSm9iIHdpdGggam9iIGFuZCBh
Ym9ydCB0aGVzZSBzdGVwcy4KKyAgICAgICAgZmluaXNoQ3VycmVudEpvYigpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQogCi0gICAgLy8gRklYTUU6IElmIHRoZSBzY3JpcHQgZGF0YSBtYXRjaGVz
IGJ5dGUtZm9yLWJ5dGUgd2l0aCB0aGUgZXhpc3RpbmcgbmV3ZXN0V29ya2VyLAotICAgIC8vIHRo
ZW4gcmVzb2x2ZSBhbmQgZmluaXNoIHRoZSBqb2Igd2l0aG91dCBkb2luZyBhbnl0aGluZyBmdXJ0
aGVyLgorICAgIC8vIElmIG5ld2VzdFdvcmtlciBpcyBub3QgbnVsbCwgbmV3ZXN0V29ya2VyJ3Mg
c2NyaXB0IHVybCBlcXVhbHMgam9iJ3Mgc2NyaXB0IHVybCB3aXRoIHRoZSBleGNsdWRlIGZyYWdt
ZW50cworICAgIC8vIGZsYWcgc2V0LCBhbmQgc2NyaXB0J3Mgc291cmNlIHRleHQgaXMgYSBieXRl
LWZvci1ieXRlIG1hdGNoIHdpdGggbmV3ZXN0V29ya2VyJ3Mgc2NyaXB0IHJlc291cmNlJ3Mgc291
cmNlCisgICAgLy8gdGV4dCwgdGhlbjoKKyAgICBpZiAobmV3ZXN0V29ya2VyICYmIGVxdWFsSWdu
b3JpbmdGcmFnbWVudElkZW50aWZpZXIobmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSwgam9iLnNj
cmlwdFVSTCkgJiYgcmVzdWx0LnNjcmlwdCA9PSBuZXdlc3RXb3JrZXItPnNjcmlwdCgpKSB7Cisg
ICAgICAgIC8vIEZJWE1FOiBpZiBzY3JpcHQgaXMgYSBjbGFzc2ljIHNjcmlwdCwgYW5kIHNjcmlw
dCdzIG1vZHVsZSByZWNvcmQncyBbW0VDTUFTY3JpcHRDb2RlXV0gaXMgYSBieXRlLWZvci1ieXRl
CisgICAgICAgIC8vIG1hdGNoIHdpdGggbmV3ZXN0V29ya2Vy4oCZcyBzY3JpcHQgcmVzb3VyY2Un
cyBtb2R1bGUgcmVjb3JkJ3MgW1tFQ01BU2NyaXB0Q29kZV1dIG90aGVyd2lzZS4KKworICAgICAg
ICAvLyBJbnZva2UgUmVzb2x2ZSBKb2IgUHJvbWlzZSB3aXRoIGpvYiBhbmQgcmVnaXN0cmF0aW9u
LgorICAgICAgICBtX3NlcnZlci5yZXNvbHZlUmVnaXN0cmF0aW9uSm9iKGpvYiwgcmVnaXN0cmF0
aW9uLT5kYXRhKCkpOworCisgICAgICAgIC8vIEludm9rZSBGaW5pc2ggSm9iIHdpdGggam9iIGFu
ZCBhYm9ydCB0aGVzZSBzdGVwcy4KKyAgICAgICAgZmluaXNoQ3VycmVudEpvYigpOworICAgICAg
ICByZXR1cm47CisgICAgfQogCiAgICAgLy8gRklYTUU6IFN1cHBvcnQgdGhlIHByb3BlciB3b3Jr
ZXIgdHlwZSAoY2xhc3NpYyB2cyBtb2R1bGUpCiAgICAgbV9zZXJ2ZXIudXBkYXRlV29ya2VyKGNv
bm5lY3Rpb24sIG1fcmVnaXN0cmF0aW9uS2V5LCBqb2Iuc2NyaXB0VVJMLCByZXN1bHQuc2NyaXB0
LCBXb3JrZXJUeXBlOjpDbGFzc2ljKTsKQEAgLTc3LDEwICs5NCwxNiBAQCB2b2lkIFNXU2VydmVy
Sm9iUXVldWU6OnNjcmlwdEZldGNoRmluaXNoZWQoU1dTZXJ2ZXI6OkNvbm5lY3Rpb24mIGNvbm5l
Y3Rpb24sIGNvbgogCiB2b2lkIFNXU2VydmVySm9iUXVldWU6OnNjcmlwdENvbnRleHRGYWlsZWRU
b1N0YXJ0KFNXU2VydmVyOjpDb25uZWN0aW9uJiwgU2VydmljZVdvcmtlcklkZW50aWZpZXIgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogeworICAgIGF1dG8qIHJlZ2lzdHJhdGlv
biA9IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CisgICAgQVNT
RVJUKHJlZ2lzdHJhdGlvbik7CisKICAgICAvLyBGSVhNRTogSW5zdGFsbCBoYXMgZmFpbGVkLiBS
dW4gdGhlIGluc3RhbGwgZmFpbGVkIHN1YnN0ZXBzCiAgICAgLy8gUnVuIHRoZSBVcGRhdGUgV29y
a2VyIFN0YXRlIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbuKAmXMgaW5zdGFsbGluZyB3
b3JrZXIgYW5kIHJlZHVuZGFudCBhcyB0aGUgYXJndW1lbnRzLgogICAgIC8vIFJ1biB0aGUgVXBk
YXRlIFJlZ2lzdHJhdGlvbiBTdGF0ZSBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb24sICJp
bnN0YWxsaW5nIiBhbmQgbnVsbCBhcyB0aGUgYXJndW1lbnRzLgorCiAgICAgLy8gSWYgbmV3ZXN0
V29ya2VyIGlzIG51bGwsIGludm9rZSBDbGVhciBSZWdpc3RyYXRpb24gYWxnb3JpdGhtIHBhc3Np
bmcgcmVnaXN0cmF0aW9uIGFzIGl0cyBhcmd1bWVudC4KKyAgICBpZiAoIXJlZ2lzdHJhdGlvbi0+
Z2V0TmV3ZXN0V29ya2VyKCkpCisgICAgICAgIGNsZWFyUmVnaXN0cmF0aW9uKCpyZWdpc3RyYXRp
b24pOwogCiAgICAgVU5VU0VEX1BBUkFNKGlkZW50aWZpZXIpOwogICAgIFVOVVNFRF9QQVJBTSht
ZXNzYWdlKTsKQEAgLTExNCw2ICsxMzcsOSBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnJ1bk5l
eHRKb2JTeW5jaHJvbm91c2x5KCkKICAgICBjYXNlIFNlcnZpY2VXb3JrZXJKb2JUeXBlOjpVbnJl
Z2lzdGVyOgogICAgICAgICBydW5VbnJlZ2lzdGVySm9iKGpvYik7CiAgICAgICAgIHJldHVybjsK
KyAgICBjYXNlIFNlcnZpY2VXb3JrZXJKb2JUeXBlOjpVcGRhdGU6CisgICAgICAgIHJ1blVwZGF0
ZUpvYihqb2IpOworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgUkVMRUFTRV9BU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKQEAgLTIwMSw2ICsyMjcsNyBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6
OmNsZWFyUmVnaXN0cmF0aW9uKFNXU2VydmVyUmVnaXN0cmF0aW9uJiByZWdpc3RyYXRpb24pCiAv
LyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8jdXBkYXRlLWFsZ29yaXRobQog
dm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpydW5VcGRhdGVKb2IoY29uc3QgU2VydmljZVdvcmtlckpv
YkRhdGEmIGpvYikKIHsKKyAgICAvLyBMZXQgcmVnaXN0cmF0aW9uIGJlIHRoZSByZXN1bHQgb2Yg
cnVubmluZyB0aGUgR2V0IFJlZ2lzdHJhdGlvbiBhbGdvcml0aG0gcGFzc2luZyBqb2LigJlzIHNj
b3BlIHVybCBhcyB0aGUgYXJndW1lbnQuCiAgICAgYXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2
ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKIAogICAgIC8vIElmIHJlZ2lz
dHJhdGlvbiBpcyBudWxsIChpbiBvdXIgcGFybGFuY2UgImVtcHR5Iikgb3IgcmVnaXN0cmF0aW9u
4oCZcyB1bmluc3RhbGxpbmcgZmxhZyBpcyBzZXQsIHRoZW46CkBAIC0yMDksOSArMjM2LDExIEBA
IHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJK
b2JEYXRhJiBqb2IpCiAgICAgaWYgKHJlZ2lzdHJhdGlvbi0+aXNVbmluc3RhbGxpbmcoKSkKICAg
ICAgICAgcmV0dXJuIHJlamVjdEN1cnJlbnRKb2IoRXhjZXB0aW9uRGF0YSB7IFR5cGVFcnJvciwg
QVNDSUlMaXRlcmFsKCJDYW5ub3QgdXBkYXRlIGEgc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9u
IHRoYXQgaXMgdW5pbnN0YWxsaW5nIikgfSk7CiAKLSAgICAvLyBJZiBqb2IncyB0eXBlIGlzIHVw
ZGF0ZSwgYW5kIG5ld2VzdFdvcmtlcuKAmXMgc2NyaXB0IHVybCBkb2VzIG5vdCBlcXVhbCBqb2Li
gJlzIHNjcmlwdCB1cmwgd2l0aCB0aGUgZXhjbHVkZSBmcmFnbWVudHMgZmxhZyBzZXQsIHRoZW46
CisgICAgLy8gTGV0IG5ld2VzdFdvcmtlciBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcgR2V0IE5l
d2VzdCBXb3JrZXIgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uIGFzIHRoZSBhcmd1bWVu
dC4KICAgICBhdXRvKiBuZXdlc3RXb3JrZXIgPSByZWdpc3RyYXRpb24tPmdldE5ld2VzdFdvcmtl
cigpOwotICAgIGlmIChuZXdlc3RXb3JrZXIgJiYgIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50
aWZpZXIoam9iLnNjcmlwdFVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSkpCisKKyAgICAv
LyBJZiBqb2IncyB0eXBlIGlzIHVwZGF0ZSwgYW5kIG5ld2VzdFdvcmtlcidzIHNjcmlwdCB1cmwg
ZG9lcyBub3QgZXF1YWwgam9i4oCZcyBzY3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21l
bnRzIGZsYWcgc2V0LCB0aGVuOgorICAgIGlmIChqb2IudHlwZSA9PSBTZXJ2aWNlV29ya2VySm9i
VHlwZTo6VXBkYXRlICYmIG5ld2VzdFdvcmtlciAmJiAhZXF1YWxJZ25vcmluZ0ZyYWdtZW50SWRl
bnRpZmllcihqb2Iuc2NyaXB0VVJMLCBuZXdlc3RXb3JrZXItPnNjcmlwdFVSTCgpKSkKICAgICAg
ICAgcmV0dXJuIHJlamVjdEN1cnJlbnRKb2IoRXhjZXB0aW9uRGF0YSB7IFR5cGVFcnJvciwgQVND
SUlMaXRlcmFsKCJDYW5ub3QgdXBkYXRlIGEgc2VydmljZSB3b3JrZXIgd2l0aCBhIHJlcXVlc3Rl
ZCBzY3JpcHQgVVJMIHdob3NlIG5ld2VzdCB3b3JrZXIgaGFzIGEgZGlmZmVyZW50IHNjcmlwdCBV
UkwiKSB9KTsKIAogICAgIG1fc2VydmVyLnN0YXJ0U2NyaXB0RmV0Y2goam9iKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQ1ZmVhNDlhOGQ4MmQzNTZkODc2NTUxYzExODlmYTU3
YThiZWIwNjQuLjAzYThiZDBkNjk1NmQ2OTFkYTYzYjFjZmYwNDNhMmEwMjFlZjdlNDYgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE3LTExLTAzICBD
aHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIG5vdyB0aGF0IG1vcmUg
YXJlIHBhc3Npbmcgb3IgYXQgbGVhc3QgZmFpbGluZyBsYXRlci4KKworICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0
LW90aGVyLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJl
ZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2Fn
ZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFk
eS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lz
dGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKwogMjAxNy0xMS0wMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CiAKICAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJDb250YWluZXIuZ2V0UmVnaXN0
cmF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1hZmZlY3Qtb3RoZXIt
cmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWlt
LWFmZmVjdC1vdGhlci1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDFkNDA1
Y2Y3MzZjYzA0NDE3OTk1NDI2OTZiYmIyZGFiMTY5NzliNmIuLjQ5MWEwOWJlNDExZjEzNTM1MGQ1
YTM5MDFmYWJmYTNjZmFkZTViODEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWlt
LWFmZmVjdC1vdGhlci1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsYWltLWFmZmVjdC1vdGhlci1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0
ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgY2xhaW0oKSBzaG91bGQgYWZmZWN0IHRo
ZSBvcmlnaW5hbGx5IGNvbnRyb2xsaW5nIHJlZ2lzdHJhdGlvbi4gYXNzZXJ0X2VxdWFsczogU2hv
dWxkIGJlIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25dIgorRkFJTCBjbGFpbSgpIHNob3VsZCBhZmZlY3QgdGhlIG9yaWdp
bmFsbHkgY29udHJvbGxpbmcgcmVnaXN0cmF0aW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogUGFzc2luZyBN
ZXNzYWdlUG9ydCBvYmplY3RzIHRvIHBvc3RNZXNzYWdlIGlzIG5vdCB5ZXQgc3VwcG9ydGVkIgog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdpdGgtcmVkaXJlY3QuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IDIwMWQ1OTJjNjJiNzUyMjE1NzExOWEwMmY0ODE3MTlmNzU4
YmYwZDAuLjQwY2QxM2Y2MjM0ZWIwMjQwNTU1MjhkMzFjNTc4NzEzMGMyNDczYzYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdpdGgtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLXdpdGgtcmVkaXJlY3QuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBVbmhh
bmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IE5vdFN1cHBvcnRlZEVycm9yOiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uOjp1cGRhdGUgbm90IHlldCBpbXBsZW1lbnRlZAorQ09OU09MRSBNRVNTQUdF
OiBsaW5lIDI3OiBVbmhhbmRsZWQgUHJvbWlzZSBSZWplY3Rpb246IEludmFsaWRTdGF0ZUVycm9y
OiBuZXdlc3RXb3JrZXIgaXMgbnVsbAogICAKIAogRkFJTCBDbGFpbSB3b3JrcyBhZnRlciByZWRp
cmVjdGlvbiB0byBhbm90aGVyIG9yaWdpbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5n
KSAidXBkYXRlZCIgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBzLWV4cGVj
dGVkLnR4dAppbmRleCBkNmUwMTA0OGY5ZTJlM2NiOWEzNTQwYjZmY2VkNjM3ODRhMmIyOTQ3Li5h
YWQ3ODU5YjQyYWVmODU1ZWE1NjZiZGUwYjYzN2Q2NDJmYTdmZDQyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtcmVkaXJlY3QuaHR0cHMtZXhw
ZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiBQQVNTIGltcG9ydFNjcmlwdHMoKSBzdXBwb3J0
cyByZWRpcmVjdHMgCi1GQUlMIGltcG9ydFNjcmlwdHMoKSBzdXBwb3J0cyByZWRpcmVjdHMgYW5k
IGNhbiBiZSB1cGRhdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIk5vdFN1cHBvcnRlZEVycm9yOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
Ojp1cGRhdGUgbm90IHlldCBpbXBsZW1lbnRlZCIKK1BBU1MgaW1wb3J0U2NyaXB0cygpIHN1cHBv
cnRzIHJlZGlyZWN0cyBhbmQgY2FuIGJlIHVwZGF0ZWQgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAzMzJl
MTBlMTRkNGIxMTk1ZjA3OWVhZThmNjQyNDY2ZDc5NzhmZTI5Li4xNTY2NTU3NzY2OGZkZmUwZDQ1
MDIwNjJmN2ZmY2Y3YmIxZjY3NzJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0
aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
bXVsdGlwbGUtcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiAK
LUZBSUwgU3Vic2VxdWVudCByZWdpc3RyYXRpb25zIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0
cmF0aW9uIG9iamVjdCBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNz
ZXJ0X2VxdWFsczogcmVnaXN0ZXIgc2hvdWxkIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0cmF0
aW9uIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIg
YnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBTdWJzZXF1ZW50IHJlZ2lzdHJhdGlvbnMgcmVzb2x2
ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gb2JqZWN0IAogRkFJTCBTdWJzZXF1ZW50IHJlZ2lz
dHJhdGlvbnMgZnJvbSBhIGRpZmZlcmVudCBpZnJhbWUgcmVzb2x2ZSB0byB0aGUgZGlmZmVyZW50
IHJlZ2lzdHJhdGlvbiBvYmplY3QgYnV0IHRoZXkgcmVmZXIgdG8gdGhlIHNhbWUgcmVnaXN0cmF0
aW9uIGFuZCB3b3JrZXJzIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBh
c3NlcnRfZXF1YWxzOiBpbnN0YWxsaW5nIHdvcmtlciBzaG91bGQgYmUgbnVsbCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJdIiBSZWFjaGVkIHVucmVh
Y2hhYmxlIGNvZGUKLUZBSUwgQ29uY3VycmVudCByZWdpc3RyYXRpb25zIHJlc29sdmUgdG8gdGhl
IHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJl
amVjdGlvbjogYXNzZXJ0X2VxdWFsczogcmVnaXN0ZXIgc2hvdWxkIHJlc29sdmUgdG8gdGhlIHNh
bWUgcmVnaXN0cmF0aW9uIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDb25jdXJyZW50IHJlZ2lzdHJh
dGlvbnMgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gb2JqZWN0IAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCBkMDk1MjdiMjA4ZWRmODc1ZThhMzYwMDcwNGYxYWE1Zjc5MDNkY2RmLi40Y2U0ZTFkNjI0
Zjg0OTYxNTk3M2YwYTZkNDlmYjBlNmQzZmJkMzEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgVHJpZ2dlciBtdWx0aXBsZSB1cGRhdGVzLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCitQQVNTIFRy
aWdnZXIgbXVsdGlwbGUgdXBkYXRlcy4gCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29y
a2VyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAyMDQ5OTk0NTNhZWMyZTM3MjRkYjhmOThlZjEx
ZjNjYzRlYzQ3MDA4Li5jZmQxMGFkNDc2YTFjODQ0NWQ2OTMwOGU0MTExMTY4MDA4Njk1MTdmIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2Vy
dmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9z
dG1lc3NhZ2UtZnJvbS13YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDQgKzEsNCBAQAogCiAKLUZBSUwgQ2xpZW50LnBvc3RNZXNzYWdlKCkgZnJvbSB3YWl0aW5n
IHNlcnZpY2V3b3JrZXIuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBh
c3NlcnRfZXF1YWxzOiBzaG91bGQgYmUgc2FtZSByZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2JqZWN0
ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAiW29i
amVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitGQUlMIENsaWVudC5wb3N0TWVzc2FnZSgpIGZyb20gd2FpdGluZyBzZXJ2aWNld29ya2VyLiBh
c3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogbWVz
c2FnZSBldmVudCBzb3VyY2Ugc2hvdWxkIGJlIGNvcnJlY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290
IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBhNTUx
NzBlZTg1MzU1MDM3YjJhYTUxMDVhZGI3NDAxYTc2OThmODZkLi4wNDg5NDE3ZGY3MjI4OTYxZmJk
NDIyZGUwNGNmMGYyNjczNTNiNTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFk
eS5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMt
ZXhwZWN0ZWQudHh0CkBAIC0xMCw1ICsxMCw1IEBAIEZBSUwgcmVhZHkgb24gYW4gaWZyYW1lIHdo
b3NlIHBhcmVudCByZWdpc3RlcnMgYSBuZXcgc2VydmljZSB3b3JrZXIgcHJvbWlzZV90ZXN0CiBG
QUlMIHJlYWR5IG9uIGFuIGlmcmFtZSB0aGF0IGluc3RhbGxzIGEgbmV3IHNlcnZpY2Ugd29ya2Vy
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVu
a25vd25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQi
CiBGQUlMIHJlYWR5IGFmdGVyIGEgbG9uZ2VyIG1hdGNoZWQgcmVnaXN0cmF0aW9uIHJlZ2lzdGVy
ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VW5rbm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJlYWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRl
ZCIKIEZBSUwgYWNjZXNzIHJlYWR5IGFmdGVyIGl0IGhhcyBiZWVuIHJlc29sdmVkIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJv
cjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCi1GQUlMIGFj
Y2VzcyByZWFkeSBvbiB1bmluc3RhbGxpbmcgcmVnaXN0cmF0aW9uIHRoYXQgaXMgcmVzdXJyZWN0
ZWQgYXNzZXJ0X2VxdWFsczogZXhpc3RpbmcgcmVnaXN0cmF0aW9uIHNob3VsZCBiZSByZXN1cnJl
Y3RlZCBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0i
IGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIgorRkFJ
TCBhY2Nlc3MgcmVhZHkgb24gdW5pbnN0YWxsaW5nIHJlZ2lzdHJhdGlvbiB0aGF0IGlzIHJlc3Vy
cmVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlVua25vd25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVt
ZW50ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3Jp
cHQuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNj
cmlwdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYWUwOWQxMzg3MmZjYWVhOGQ0NzU5NjEwOGUz
OTUzZTQ5ZWEwMGVhMS4uZDNhN2RkODQ1ZTFlNGNiZjIzOTQ3ZTk3YzAzYmEwODBkY2U0N2UyNCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKLUZBSUwgUmVnaXN0ZXJpbmcgaW52
YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBhc3NlcnRfdGhyb3dzOiBSZWdpc3RyYXRpb24g
b2YgaW52YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBzaG91bGQgZmFpbC4gZnVuY3Rpb24g
ImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25FcnJvcjogU2Ny
aXB0IFVSTCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvaW52YWxpZC1jaHVua2VkLWVuY29kaW5nLnB5IGZldGNoIHJlc3VsdGVk
IGluIGVycm9yOiBjYW5ub3QgcGFyc2UgcmVzcG9uc2UiICgiVW5rbm93bkVycm9yIikgZXhwZWN0
ZWQgb2JqZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKLUZBSUwgUmVnaXN0ZXJpbmcgaW52
YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCB3aXRoIGZsdXNoIGFzc2VydF90aHJvd3M6IFJl
Z2lzdHJhdGlvbiBvZiBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IHNob3VsZCBmYWls
LiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVW5rbm93
bkVycm9yOiBTY3JpcHQgVVJMIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbnZhbGlkLWNodW5rZWQtZW5jb2Rpbmctd2l0aC1m
bHVzaC5weSBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogY2Fubm90IHBhcnNlIHJlc3BvbnNlIiAo
IlVua25vd25FcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIp
CitQQVNTIFJlZ2lzdGVyaW5nIGludmFsaWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgCitQQVNT
IFJlZ2lzdGVyaW5nIGludmFsaWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgd2l0aCBmbHVzaCAK
IEZBSUwgUmVnaXN0ZXJpbmcgc2NyaXB0IGluY2x1ZGluZyBwYXJzZSBlcnJvciBhc3NlcnRfdW5y
ZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogUmVnaXN0cmF0aW9uIG9mIHNjcmlwdCBpbmNs
dWRpbmcgcGFyc2UgZXJyb3Igc2hvdWxkIGZhaWwuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQog
RkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgaW5jbHVkaW5nIHVuZGVmaW5lZCBlcnJvciBhc3NlcnRf
dW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogUmVnaXN0cmF0aW9uIG9mIHNjcmlwdCBp
bmNsdWRpbmcgdW5kZWZpbmVkIGVycm9yIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVhY2hhYmxl
IGNvZGUKIEZBSUwgUmVnaXN0ZXJpbmcgc2NyaXB0IGluY2x1ZGluZyB1bmNhdWdodCBleGNlcHRp
b24gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBv
ZiBzY3JpcHQgaW5jbHVkaW5nIHVuY2F1Z2h0IGV4Y2VwdGlvbiBzaG91bGQgZmFpbC4gUmVhY2hl
ZCB1bnJlYWNoYWJsZSBjb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdh
aXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5n
Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBlM2UwNWQwOTdiM2ZhZjE1YmY5ZTJjNjA1MGQ1N2Zm
M2E1NjhiZGYwLi40ODE5M2E0YTVhMjUxZTNkZDY3MDA1ZjYyN2QxYmVkYmU4NGNmMmJjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBza2lwV2FpdGluZyB3aXRoIGJvdGggYWN0aXZl
IGFuZCB3YWl0aW5nIHdvcmtlcnMgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3dhaXRpbmdfd29ya2VyLnNjcmlwdFVSTCcpIgorRkFJTCBUZXN0IHNraXBXYWl0aW5n
IHdpdGggYm90aCBhY3RpdmUgYW5kIHdhaXRpbmcgd29ya2VycyBhc3NlcnRfZXF1YWxzOiBXb3Jr
ZXIgd2l0aCB1cmwyIHNob3VsZCBiZSB3YWl0aW5nIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9z
dDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1wdHktd29y
a2VyLmpzIiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvZW1wdHkuanMiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDgwYzM1MjU5NzA2MGNlZGFhYjAxMWUwODRmOTc2YzA4Zjk4MTE3ZWMuLmJkYjE5
YWUxMTFkNGFkYzMzZWUyYTcyMDNhZDk2YjU5MzZlMjEyNjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSw3ICsxLDcgQEAKIAogCi1QQVNTIFVucmVnaXN0ZXIgdGhlbiByZWdpc3Rl
ciByZXNvbHZlcyB0byBhIG5ldyB2YWx1ZSAKLUZBSUwgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVy
IHJlc29sdmVzIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBpZiB0aGUgcmVnaXN0cmF0aW9uIGlzIGlu
IHVzZS4gYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVh
bHM6IG5ldyByZWdpc3RyYXRpb24gc2hvdWxkIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0cmF0
aW9uIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIg
YnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzb2x2
ZXMgdG8gYSBuZXcgdmFsdWUgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246
IGFzc2VydF9ub3RfZXF1YWxzOiByZWdpc3RlciBzaG91bGQgcmVzb2x2ZSB0byBhIG5ldyB2YWx1
ZSBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBVbnJlZ2lzdGVyIHRoZW4g
cmVnaXN0ZXIgcmVzb2x2ZXMgdG8gdGhlIG9yaWdpbmFsIHZhbHVlIGlmIHRoZSByZWdpc3RyYXRp
b24gaXMgaW4gdXNlLiAKIFBBU1MgUmVsb2FkaW5nIHRoZSBsYXN0IGNvbnRyb2xsZWQgaWZyYW1l
IGFmdGVyIHVucmVnaXN0cmF0aW9uIHNob3VsZCBlbnN1cmUgdGhlIGRlbGV0aW9uIG9mIHRoZSBy
ZWdpc3RyYXRpb24gCiBGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciBkb2VzIG5vdCBhZmZl
Y3QgZXhpc3RpbmcgY29udHJvbGxlZSBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVj
dGlvbjogYXNzZXJ0X2VxdWFsczogaW5zdGFsbGluZyB2ZXJzaW9uIGlzIG51bGwgZXhwZWN0ZWQg
bnVsbCBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCiBGQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXN1cnJlY3RzIHRo
ZSByZWdpc3RyYXRpb24gYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFz
c2VydF9ub3RfZXF1YWxzOiBkb2N1bWVudCBzaG91bGQgaGF2ZSBhIGNvbnRyb2xsZXIgZ290IGRp
c2FsbG93ZWQgdmFsdWUgbnVsbCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDM5NjA4ODEzNjg2MmFmNGE3
NTk4NDdkNzViODAwNWZiNDdiMWVmYWUuLjFiODA3NTI0ZjVhNGRiYzZmODIxZWY5ZjE4NzFjNTBj
NjNmZWY4NTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBVcGRhdGUgYSByZWdpc3RyYXRpb24uIGFzc2VydF90
aHJvd3M6IFVzaW5nIGEgZGlzYWxsb3dlZCBtaW1ldHlwZSBzaG91bGQgbWFrZSB1cGRhdGUoKSBw
cm9taXNlIHJlamVjdCB3aXRoIGEgU2VjdXJpdHlFcnJvci4gZnVuY3Rpb24gImZ1bmN0aW9uICgp
IHsgdGhyb3cgZTsgfSIgdGhyZXcgb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQiIHRoYXQgaXMgbm90
IGEgRE9NRXhjZXB0aW9uIFNlY3VyaXR5RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0
byA5LCBleHBlY3RlZCAxOAorRkFJTCBVcGRhdGUgYSByZWdpc3RyYXRpb24uIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQ2Fu
bm90IHVwZGF0ZSBhIG51bGwvbm9uZXhpc3RlbnQgc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9u
IgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326011</attachid>
            <date>2017-11-03 20:53:15 -0700</date>
            <delta_ts>2017-11-05 12:00:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179270-20171103205314.patch</filename>
            <type>text/plain</type>
            <size>39876</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjFhZTMxYmEzZGZiZDhj
Yjc1NmJmMGJmNDI4YWMzZWZkZWIzZGRhNC4uYWExYjBhNjA0NGFlNDc5NmU1MmJlYTg5OWQ5NjJk
MzcxMjljMDY4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE3LTExLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnVw
ZGF0ZSgpOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9TZXJ2aWNlV29ya2VyLyNz
ZXJ2aWNlLXdvcmtlci1yZWdpc3RyYXRpb24tdXBkYXRlCisKKyAgICAgICAgV2UgYWxyZWFkeSBo
YWQgc3VwcG9ydCBmb3IgdGhlIFVwZGF0ZSBhbGdvcml0aG0gaW4gU1dTZXJ2ZXJKb2JRdWV1ZSBi
dXQKKyAgICAgICAgdGhpcyBwYXRjaCBlbmhhbmNlcyBvdXIgc3VwcG9ydCBhIGJpdCB0byBnZXQg
dXMgY2xvc2VyIHRvIHRoZSBzcGVjaWZpY2F0aW9uOgorICAgICAgICAtIGh0dHBzOi8vdzNjLmdp
dGh1Yi5pby9TZXJ2aWNlV29ya2VyLyN1cGRhdGUtYWxnb3JpdGhtCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLCByZWJhc2VsaW5lZCBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIHdvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckNv
bnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2
aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24pOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmg6CisgICAgICAgICog
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JEYXRhLmg6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VySm9iRGF0YTo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhOjpkZWNvZGUpOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6aW5zdGFsbGluZyk6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp3YWl0aW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmFjdGl2ZSk6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzZXRJbnN0YWxsaW5nV29ya2VyKToKKyAg
ICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3Jr
ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2V0QWN0
aXZlV29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OmdldE5ld2VzdFdvcmtlcik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOjp1cGRhdGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZl
ckpvYlF1ZXVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNXU2VydmVySm9iUXVldWU6OnNjcmlw
dEZldGNoRmluaXNoZWQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JRdWV1ZTo6c2Ny
aXB0Q29udGV4dEZhaWxlZFRvU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JR
dWV1ZTo6cnVuTmV4dEpvYlN5bmNocm9ub3VzbHkpOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2
ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKToKKwogMjAxNy0xMS0wMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJDb250
YWluZXIuZ2V0UmVnaXN0cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuaAppbmRleCA4ZWVkZTliZDRkNzM0NGQ5MjYyYmEwMTM2MzQyNzE4ODgz
YjRiNWVhLi41YWYzZjQyM2MzZWM0OTdiMzBmYTczMGVhOWUxNzY3NzE5OGFlZTE3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmgKQEAgLTU5LDcg
KzU5LDcgQEAgcHVibGljOgogICAgICAgICBSZWR1bmRhbnQsCiAgICAgfTsKIAotICAgIGNvbnN0
IFN0cmluZyYgc2NyaXB0VVJMKCkgY29uc3QgeyByZXR1cm4gbV9zY3JpcHRVUkwuc3RyaW5nKCk7
IH0KKyAgICBjb25zdCBVUkwmIHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0VVJM
OyB9CiAKICAgICBTdGF0ZSBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KICAgICB2
b2lkIHNldFN0YXRlKFN0YXRlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBiODdhYWRiN2Q5NWYy
ZDI5NzJkYjM2NDAwODgxNThiYjBlYzczZDUxLi44N2FjYWRiYzAxYzkzNWYyYzRmMTk4YThlNGYx
ZDcyMzcyYmFlNGIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC0xNjUsNiArMTY1LDMxIEBAIHZv
aWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVtb3ZlUmVnaXN0cmF0aW9uKGNvbnN0IFVSTCYg
c2NvcGVVUkwsIFJlZjxEZWZlcnJlCiAgICAgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYjo6
Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpLCBXVEZNb3ZlKGpvYkRhdGEpKSk7CiB9CiAK
K3ZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6dXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0IFVS
TCYgc2NvcGVVUkwsIGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBXb3JrZXJUeXBlLCBSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmIHByb21pc2UpCit7CisgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKKyAgICBpZiAoIWNvbnRleHQgfHwgIWNvbnRleHQtPnNlc3Npb25JRCgp
LmlzVmFsaWQoKSkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJv
bWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJvcikpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgaWYgKCFtX3N3Q29ubmVjdGlvbikgeworICAgICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlk
U3RhdGVFcnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgU2VydmljZVdvcmtl
ckpvYkRhdGEgam9iRGF0YShtX3N3Q29ubmVjdGlvbi0+aWRlbnRpZmllcigpKTsKKyAgICBqb2JE
YXRhLmNsaWVudENyZWF0aW9uVVJMID0gY29udGV4dC0+dXJsKCk7CisgICAgam9iRGF0YS50b3BP
cmlnaW4gPSBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21TZWN1cml0eU9yaWdpbihjb250ZXh0LT50
b3BPcmlnaW4oKSk7CisgICAgam9iRGF0YS50eXBlID0gU2VydmljZVdvcmtlckpvYlR5cGU6OlVw
ZGF0ZTsKKyAgICBqb2JEYXRhLnNjb3BlVVJMID0gc2NvcGVVUkw7CisgICAgam9iRGF0YS5zY3Jp
cHRVUkwgPSBzY3JpcHRVUkw7CisKKyAgICBzY2hlZHVsZUpvYihTZXJ2aWNlV29ya2VySm9iOjpj
cmVhdGUoKnRoaXMsIFdURk1vdmUocHJvbWlzZSksIFdURk1vdmUoam9iRGF0YSkpKTsKK30KKwog
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpzY2hlZHVsZUpvYihSZWY8U2VydmljZVdvcmtl
ckpvYj4mJiBqb2IpCiB7CiAgICAgQVNTRVJUKG1fc3dDb25uZWN0aW9uKTsKQEAgLTIwNiw4ICsy
MzEsOSBAQCB2b2lkIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmdldFJlZ2lzdHJhdGlvbihjb25z
dCBTdHJpbmcmIGNsaWVudFVSTCwgUmVmPERlZmVycgogICAgICAgICBSZWZQdHI8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChyZXN1
bHQtPmtleSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKSB7CiAgICAgICAgICAgICBhdXRv
JiBjb250ZXh0ID0gKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICAgICAgICAgIGF1dG8g
d29ya2VyID0gU2VydmljZVdvcmtlcjo6Y3JlYXRlKGNvbnRleHQsICpyZXN1bHQtPmFjdGl2ZVNl
cnZpY2VXb3JrZXJJZGVudGlmaWVyLCByZXN1bHQtPnNjcmlwdFVSTCk7Ci0gICAgICAgICAgICBy
ZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoY29udGV4dCwg
KnRoaXMsIFdURk1vdmUocmVzdWx0LnZhbHVlKCkpLCBXVEZNb3ZlKHdvcmtlcikpOworICAgICAg
ICAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBub3QgYmUgY29uc3RydWN0aW5nIFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gb2JqZWN0cyBoZXJlLiBJbnN0ZWFkLCB3ZSBzaG91bGQg
bWFrZQorICAgICAgICAgICAgLy8gc3VyZSB0aGF0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
b2JqZWN0cyBzdGF5cyBhbGl2ZSBhcyBsb25nIGFzIHRoZWlyIFNXU2VydmVyUmVnaXN0cmF0aW9u
IG9uIHNlcnZlciBzaWRlLgorICAgICAgICAgICAgcmVnaXN0cmF0aW9uID0gU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKHJlc3VsdC52YWx1
ZSgpKSk7CiAgICAgICAgIH0KICAgICAgICAgcHJvbWlzZS0+cmVzb2x2ZTxJRExJbnRlcmZhY2U8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgp
KTsKICAgICB9KTsKQEAgLTI1MSw5ICsyNzcsMTMgQEAgcHJpdmF0ZToKICAgICAgICAgY2FsbE9u
TWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShtX3JlZ2lzdHJhdGlvbildICgpIG11
dGFibGUgewogICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5kaXNwYXRjaEV2ZW50KEV2ZW50Ojpj
cmVhdGUoZXZlbnROYW1lcygpLnVwZGF0ZWZvdW5kRXZlbnQsIGZhbHNlLCBmYWxzZSkpOwogICAg
ICAgICAgICAgY2FsbE9uTWFpblRocmVhZChbcmVnaXN0cmF0aW9uID0gV1RGTW92ZShyZWdpc3Ry
YXRpb24pXSAoKSBtdXRhYmxlIHsKLSAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmluc3Rh
bGxpbmcoKS0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCk7CisgICAg
ICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRXYWl0aW5nV29ya2VyKHJlZ2lzdHJhdGlvbi0+
aW5zdGFsbGluZygpKTsKKyAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPnNldEluc3RhbGxp
bmdXb3JrZXIobnVsbHB0cik7CisgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT53YWl0aW5n
KCktPnNldFN0YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsZWQpOwogICAgICAgICAg
ICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUocmVnaXN0cmF0
aW9uKV0gKCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+d2Fp
dGluZygpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyk7CisgICAg
ICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0QWN0aXZlV29ya2VyKHJlZ2lzdHJhdGlv
bi0+d2FpdGluZygpKTsKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRXYWl0
aW5nV29ya2VyKG51bGxwdHIpOworICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPmFj
dGl2ZSgpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZhdGluZyk7CiAgICAg
ICAgICAgICAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUo
cmVnaXN0cmF0aW9uKV0gKCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICByZWdp
c3RyYXRpb24tPmFjdGl2ZSgpLT5zZXRTdGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6QWN0aXZh
dGVkKTsKICAgICAgICAgICAgICAgICAgICAgfSk7CkBAIC0yNzgsNiArMzA4LDggQEAgdm9pZCBT
ZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2Vydmlj
ZVdvcmtlckpvYiYgam9iLAogICAgICAgICByZXR1cm47CiAgICAgfQogCisgICAgUmVmUHRyPFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5n
ZXQoZGF0YS5rZXkpOworCiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBwcm9wZXIgc2VsZWN0aW9u
IG9mIHNlcnZpY2Ugd29ya2Vycy4KICAgICBhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gY29u
dGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpOwogICAgIEFTU0VSVChkYXRhLmFjdGl2ZVNlcnZp
Y2VXb3JrZXJJZGVudGlmaWVyKTsKQEAgLTI4NiwxNCArMzE4LDE2IEBAIHZvaWQgU2VydmljZVdv
cmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoUmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJK
b2ImIGpvYiwKICAgICAgICAgYWN0aXZlU2VydmljZVdvcmtlciA9IGNvbnRleHQtPmFjdGl2ZVNl
cnZpY2VXb3JrZXIoKTsKICAgICB9CiAKLSAgICBhY3RpdmVTZXJ2aWNlV29ya2VyLT5zZXRTdGF0
ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGluZyk7CisgICAgaWYgKCFyZWdpc3RyYXRp
b24pCisgICAgICAgIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNy
ZWF0ZSgqY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZGF0YSkpOwogCi0gICAgYXV0byByZWdpc3Ry
YXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpjcmVhdGUoKmNvbnRleHQsICp0aGlz
LCBXVEZNb3ZlKGRhdGEpLCAqYWN0aXZlU2VydmljZVdvcmtlcik7CisgICAgYWN0aXZlU2Vydmlj
ZVdvcmtlci0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpOworICAg
IHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGluZ1dvcmtlcihhY3RpdmVTZXJ2aWNlV29ya2VyKTsK
IAotICAgIGpvYi5wcm9taXNlKCkucmVzb2x2ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbik7CisgICAgam9iLnByb21pc2UoKS5yZXNvbHZlPElE
TEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPj4oKnJlZ2lzdHJhdGlvbik7CiAK
ICAgICAvLyBVc2UgYSBtaWNyb3Rhc2sgYmVjYXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlz
IGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcm9taXNlIGFib3ZlIGlzIHJlc29sdmVkLgotICAgIE1p
Y3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxG
YWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNyb3Rhc2s+KFdURk1vdmUocmVnaXN0cmF0aW9uKSkp
OworICAgIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtl
X3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNyb3Rhc2s+KHJlZ2lzdHJhdGlvbi5y
ZWxlYXNlTm9uTnVsbCgpKSk7CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9i
UmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBi
b29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXggZjczNWI3NDBmNzFm
ZWYzNDlkOTRhNjRkYzYwZjg4NTYwNTY3Y2FjZi4uN2MxNGQzN2JiZDcwODAyZDkyYWVhMTVkMmI1
NmU0ZjNmMTNkMDAyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uT3B0aW9ucy5o
IgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+CiAj
aW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC02MSw2ICs2Miw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0VVJMLCBjb25zdCBS
ZWdpc3RyYXRpb25PcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CiAgICAgdm9pZCBy
ZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJik7CisgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwg
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBjbGllbnRVUkwsIFJl
ZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdXBkYXRlUmVnaXN0cmF0aW9uKGNvbnN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
U3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50aWZpZXI+Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpv
Yi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5j
cHAKaW5kZXggYzM1ZDM1NzIyMWYzMDI1MjNlMDdkZWFkMjA1MTRjMmIzMTc5ZWNlZS4uZTJkNGE4
MWMzNzFkZThlZjhkNTk1YjUyNjc0ZTZmYmRlYjRlZWUyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMjksNiArMjks
NyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkpTRE9NUHJvbWlz
ZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlJl
c291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAi
U2VydmljZVdvcmtlckpvYkRhdGEuaCIKQEAgLTEwMCw2ICsxMDEsMTQgQEAgdm9pZCBTZXJ2aWNl
V29ya2VySm9iOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3Vy
Y2VSZXNwb25zZSYKICAgICBBU1NFUlQobV9zY3JpcHRMb2FkZXIpOwogCiAgICAgbV9sYXN0UmVz
cG9uc2UgPSByZXNwb25zZTsKKyAgICAvLyBFeHRyYWN0IGEgTUlNRSB0eXBlIGZyb20gdGhlIHJl
c3BvbnNlJ3MgaGVhZGVyIGxpc3QuIElmIHRoaXMgTUlNRSB0eXBlIChpZ25vcmluZyBwYXJhbWV0
ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZSwgdGhlbjoKKyAgICBpZiAoIU1JTUVU
eXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHJlc3BvbnNlLm1pbWVU
eXBlKCkpKSB7CisgICAgICAgIC8vIEludm9rZSBSZWplY3QgSm9iIFByb21pc2Ugd2l0aCBqb2Ig
YW5kICJTZWN1cml0eUVycm9yIiBET01FeGNlcHRpb24uCisgICAgICAgIHByb21pc2UoKS5yZWpl
Y3QoRXhjZXB0aW9uIHsgU2VjdXJpdHlFcnJvciwgQVNDSUlMaXRlcmFsKCJNSU1FIFR5cGUgaXMg
bm90IGEgSmF2YVNjcmlwdCBNSU1FIHR5cGUiKSB9KTsKKyAgICAgICAgLy8gQXN5bmNocm9ub3Vz
bHkgY29tcGxldGUgdGhlc2Ugc3RlcHMgd2l0aCBhIG5ldHdvcmsgZXJyb3IuCisgICAgICAgIG1f
Y2xpZW50LT5qb2JGYWlsZWRMb2FkaW5nU2NyaXB0KCp0aGlzLCBSZXNvdXJjZUVycm9yIHsgZXJy
b3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVzcG9uc2UudXJsKCksIEFTQ0lJTGl0ZXJhbCgi
VW5leHBlY3RlZCBNSU1FIHR5cGUiKSB9KTsKKyAgICAgICAgbV9zY3JpcHRMb2FkZXIgPSBudWxs
cHRyOworICAgIH0KIH0KIAogdm9pZCBTZXJ2aWNlV29ya2VySm9iOjpub3RpZnlGaW5pc2hlZCgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckpvYkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Sm9iRGF0YS5oCmluZGV4IGM2Yzk5MzYyOTEwZWZmOWNkYzYyZjg0NGM0MTQzNzM4NzUwMjBhOTAu
LmI0YTY2OTVjMjgxZTEzMGU4YmU3MGMyMTNmOTMwNzhmZmQ5N2E3NzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCkBA
IC03NCw2ICs3NCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYkRhdGE6OmVuY29kZShFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAogICAgICAgICBlbmNvZGVyIDw8IHJlZ2lzdHJhdGlvbk9wdGlvbnM7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0
ZXI6CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVh
azsKICAgICB9CiB9CkBAIC0xMTMsNiArMTE0LDcgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VySm9iRGF0YT4gU2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGUK
ICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgU2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6CisgICAgY2FzZSBTZXJ2aWNlV29y
a2VySm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKaW5k
ZXggMDc5ZjNlODQ5NTU0MTE1ZTJmNmI2MzNkYzUxMmI3ZmYyMWFjZTlhMy4uYmIxZjdkZGNjZDEw
NmUzY2U1NGFkY2I3MmViMmZkMjlmMDA4MzMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKQEAgLTMyLDYgKzMyLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VySm9iVHlwZSB7
CiAgICAgUmVnaXN0ZXIsCiAgICAgVW5yZWdpc3RlciwKKyAgICBVcGRhdGUsCiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggMDZhMDU0ZTdl
ZjE1YzQwZTU1MGVlODdkMmZlNWY2M2NjMzg4MDIwOC4uM2EzODEzZTI3YWNlNTE1OTA1M2YzNzE5
YjQ5MDQ3Nzc0ZTlmNGExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzYsMTAgKzM2
LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQsIFJlZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmIGNvbnRhaW5lciwgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGEmJiByZWdpc3RyYXRpb25EYXRhLCBSZWY8U2VydmljZVdvcmtlcj4m
JiBzZXJ2aWNlV29ya2VyKQorU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8U2Vydmlj
ZVdvcmtlckNvbnRhaW5lcj4mJiBjb250YWluZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhJiYgcmVnaXN0cmF0aW9uRGF0YSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkK
ICAgICAsIG1fcmVnaXN0cmF0aW9uRGF0YShXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKQotICAg
ICwgbV9zZXJ2aWNlV29ya2VyKFdURk1vdmUoc2VydmljZVdvcmtlcikpCiAgICAgLCBtX2NvbnRh
aW5lcihXVEZNb3ZlKGNvbnRhaW5lcikpCiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC01
MywyMyArNTIsNDIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6flNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24oKQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
OjppbnN0YWxsaW5nKCkKIHsKLSAgICBpZiAobV9zZXJ2aWNlV29ya2VyLT5zdGF0ZSgpICE9IFNl
cnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsK
LSAgICByZXR1cm4gbV9zZXJ2aWNlV29ya2VyLnB0cigpOworICAgIHJldHVybiBtX2luc3RhbGxp
bmdXb3JrZXIuZ2V0KCk7CiB9CiAKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OndhaXRpbmcoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0g
U2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7
Ci0gICAgcmV0dXJuIG1fc2VydmljZVdvcmtlci5wdHIoKTsKKyAgICByZXR1cm4gbV93YWl0aW5n
V29ya2VyLmdldCgpOwogfQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uOjphY3RpdmUoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0gU2Vy
dmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcgJiYgbV9zZXJ2aWNlV29ya2VyLT5zdGF0ZSgp
ICE9IFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0ZWQpCi0gICAgICAgIHJldHVybiBudWxs
cHRyOwotICAgIHJldHVybiBtX3NlcnZpY2VXb3JrZXIucHRyKCk7CisgICAgcmV0dXJuIG1fYWN0
aXZlV29ya2VyLmdldCgpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNl
dEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikK
K3sKKyAgICBtX2luc3RhbGxpbmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQor
Cit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3JrZXIoUmVmUHRy
PFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sKKyAgICBtX3dhaXRpbmdXb3JrZXIg
PSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OnNldEFjdGl2ZVdvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJiBzZXJ2aWNlV29y
a2VyKQoreworICAgIG1fYWN0aXZlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29ya2VyKTsKK30K
KworU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0TmV3ZXN0V29y
a2VyKCkKK3sKKyAgICBpZiAobV9pbnN0YWxsaW5nV29ya2VyKQorICAgICAgICByZXR1cm4gbV9p
bnN0YWxsaW5nV29ya2VyLmdldCgpOworICAgIGlmIChtX3dhaXRpbmdXb3JrZXIpCisgICAgICAg
IHJldHVybiBtX3dhaXRpbmdXb3JrZXIuZ2V0KCk7CisKKyAgICByZXR1cm4gbV9hY3RpdmVXb3Jr
ZXIuZ2V0KCk7CiB9CiAKIGNvbnN0IFN0cmluZyYgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
c2NvcGUoKSBjb25zdApAQCAtODQsNyArMTAyLDI3IEBAIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFD
YWNoZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSgpIGNvbnN0CiAK
IHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlKFJlZjxEZWZlcnJlZFByb21p
c2U+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKE5vdFN1cHBv
cnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0
ZSBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkgeworICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3Rh
dGVFcnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogY29udGFpbmVy
ID0gY29udGV4dC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpOworICAgIGlmICghY29udGFpbmVy
KSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3Ip
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IGdl
dE5ld2VzdFdvcmtlcigpOworICAgIGlmICghbmV3ZXN0V29ya2VyKSB7CisgICAgICAgIHByb21p
c2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgibmV3
ZXN0V29ya2VyIGlzIG51bGwiKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8g
RklYTUU6IFN1cHBvcnQgd29ya2VyIHR5cGVzLgorICAgIGNvbnRhaW5lci0+dXBkYXRlUmVnaXN0
cmF0aW9uKG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRV
UkwoKSwgV29ya2VyVHlwZTo6Q2xhc3NpYywgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdpc3RlcihSZWY8RGVmZXJyZWRQcm9taXNl
PiYmIHByb21pc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCBiZTdlZmJhYjQ1MjBhMTAzMzhi
MzlkZTZmNzAyMzdkMzBkODk3ZDJmLi5lNjU4YTVmYjEyYTI4OWMxMzkxOTE5N2NjN2U5NmQyMmZk
NTQyMTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTUzLDYgKzUzLDEyIEBAIHB1YmxpYzoK
ICAgICBTZXJ2aWNlV29ya2VyKiB3YWl0aW5nKCk7CiAgICAgU2VydmljZVdvcmtlciogYWN0aXZl
KCk7CiAKKyAgICB2b2lkIHNldEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+
JiYpOworICAgIHZvaWQgc2V0V2FpdGluZ1dvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJik7
CisgICAgdm9pZCBzZXRBY3RpdmVXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYpOworCisg
ICAgU2VydmljZVdvcmtlciogZ2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBjb25zdCBTdHJpbmcm
IHNjb3BlKCkgY29uc3Q7CiAgICAgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZp
YUNhY2hlKCkgY29uc3Q7CiAKQEAgLTY3LDcgKzczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBk
YXRlU3RhdGVGcm9tU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pOwogCiBwcml2YXRlOgotICAgIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJ2aWNl
V29ya2VyQ29udGFpbmVyPiYmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBSZWY8
U2VydmljZVdvcmtlcj4mJik7CisgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYsIFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZl
bnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKICAgICBTY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CkBAIC03OCw4ICs4NCwx
MSBAQCBwcml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigp
IGNvbnN0IGZpbmFsOwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgbV9yZWdp
c3RyYXRpb25EYXRhOwotICAgIFJlZjxTZXJ2aWNlV29ya2VyPiBtX3NlcnZpY2VXb3JrZXI7CiAg
ICAgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+IG1fY29udGFpbmVyOworCisgICAgUmVmUHRy
PFNlcnZpY2VXb3JrZXI+IG1faW5zdGFsbGluZ1dvcmtlcjsKKyAgICBSZWZQdHI8U2VydmljZVdv
cmtlcj4gbV93YWl0aW5nV29ya2VyOworICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiBtX2FjdGl2
ZVdvcmtlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3Bw
CmluZGV4IDIyNmYxYTMxYmZhOWQ3MDhjOGFjOTZmNTVmNGZkZjlkZjEyMjdkMGIuLjVlMDE1ZmMw
ZjdiMjA4MDkyYTVmZDBjMGU3OGVhNDAyOWU3ZTcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcApA
QCAtNTgsMTggKzU4LDM1IEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0RmV0Y2hGaW5p
c2hlZChTV1NlcnZlcjo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAgYXV0byogcmVn
aXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsK
ICAgICBBU1NFUlQocmVnaXN0cmF0aW9uKTsKIAorICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IHJl
Z2lzdHJhdGlvbi0+Z2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBpZiAoIXJlc3VsdC5zY3JpcHRF
cnJvci5pc051bGwoKSkgewotICAgICAgICByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEg
eyBVbmtub3duRXJyb3IsIG1ha2VTdHJpbmcoIlNjcmlwdCBVUkwgIiwgam9iLnNjcmlwdFVSTC5z
dHJpbmcoKSwgIiBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogIiwgcmVzdWx0LnNjcmlwdEVycm9y
LmxvY2FsaXplZERlc2NyaXB0aW9uKCkpIH0pOworICAgICAgICAvLyBJbnZva2UgUmVqZWN0IEpv
YiBQcm9taXNlIHdpdGggam9iIGFuZCBUeXBlRXJyb3IuCisgICAgICAgIG1fc2VydmVyLnJlamVj
dEpvYihmaXJzdEpvYigpLCBFeGNlcHRpb25EYXRhIHsgVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJT
Y3JpcHQgVVJMICIsIGpvYi5zY3JpcHRVUkwuc3RyaW5nKCksICIgZmV0Y2ggcmVzdWx0ZWQgaW4g
ZXJyb3I6ICIsIHJlc3VsdC5zY3JpcHRFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsK
IAotICAgICAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbnVsbCwgaW52b2tlIENsZWFyIFJlZ2lz
dHJhdGlvbiBhbGdvcml0aG0gcGFzc2luZyB0aGlzIHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1l
bnQuCi0gICAgICAgIGlmICghcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIoKSkKKyAgICAg
ICAgLy8gSWYgbmV3ZXN0V29ya2VyIGlzIG51bGwsIGludm9rZSBDbGVhciBSZWdpc3RyYXRpb24g
YWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uIGFzIGl0cyBhcmd1bWVudC4KKyAgICAgICAg
aWYgKCFuZXdlc3RXb3JrZXIpCiAgICAgICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0
cmF0aW9uKTsKIAorICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBhbmQgYWJv
cnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBJZiB0aGUgc2NyaXB0IGRhdGEgbWF0Y2hlcyBi
eXRlLWZvci1ieXRlIHdpdGggdGhlIGV4aXN0aW5nIG5ld2VzdFdvcmtlciwKLSAgICAvLyB0aGVu
IHJlc29sdmUgYW5kIGZpbmlzaCB0aGUgam9iIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgZnVydGhl
ci4KKyAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbm90IG51bGwsIG5ld2VzdFdvcmtlcidzIHNj
cmlwdCB1cmwgZXF1YWxzIGpvYidzIHNjcmlwdCB1cmwgd2l0aCB0aGUgZXhjbHVkZSBmcmFnbWVu
dHMKKyAgICAvLyBmbGFnIHNldCwgYW5kIHNjcmlwdCdzIHNvdXJjZSB0ZXh0IGlzIGEgYnl0ZS1m
b3ItYnl0ZSBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcidzIHNjcmlwdCByZXNvdXJjZSdzIHNvdXJj
ZQorICAgIC8vIHRleHQsIHRoZW46CisgICAgaWYgKG5ld2VzdFdvcmtlciAmJiBlcXVhbElnbm9y
aW5nRnJhZ21lbnRJZGVudGlmaWVyKG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCksIGpvYi5zY3Jp
cHRVUkwpICYmIHJlc3VsdC5zY3JpcHQgPT0gbmV3ZXN0V29ya2VyLT5zY3JpcHQoKSkgeworICAg
ICAgICAvLyBGSVhNRTogaWYgc2NyaXB0IGlzIGEgY2xhc3NpYyBzY3JpcHQsIGFuZCBzY3JpcHQn
cyBtb2R1bGUgcmVjb3JkJ3MgW1tFQ01BU2NyaXB0Q29kZV1dIGlzIGEgYnl0ZS1mb3ItYnl0ZQor
ICAgICAgICAvLyBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcuKAmXMgc2NyaXB0IHJlc291cmNlJ3Mg
bW9kdWxlIHJlY29yZCdzIFtbRUNNQVNjcmlwdENvZGVdXSBvdGhlcndpc2UuCisKKyAgICAgICAg
Ly8gSW52b2tlIFJlc29sdmUgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIHJlZ2lzdHJhdGlvbi4K
KyAgICAgICAgbV9zZXJ2ZXIucmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihqb2IsIHJlZ2lzdHJhdGlv
bi0+ZGF0YSgpKTsKKworICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBhbmQg
YWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9wZXIgd29ya2Vy
IHR5cGUgKGNsYXNzaWMgdnMgbW9kdWxlKQogICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihjb25u
ZWN0aW9uLCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnNjcmlwdFVSTCwgcmVzdWx0LnNjcmlwdCwg
V29ya2VyVHlwZTo6Q2xhc3NpYyk7CkBAIC03NywxMCArOTQsMTYgQEAgdm9pZCBTV1NlcnZlckpv
YlF1ZXVlOjpzY3JpcHRGZXRjaEZpbmlzaGVkKFNXU2VydmVyOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBjb24KIAogdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRDb250ZXh0RmFpbGVkVG9T
dGFydChTV1NlcnZlcjo6Q29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24g
PSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOworICAgIEFTU0VS
VChyZWdpc3RyYXRpb24pOworCiAgICAgLy8gRklYTUU6IEluc3RhbGwgaGFzIGZhaWxlZC4gUnVu
IHRoZSBpbnN0YWxsIGZhaWxlZCBzdWJzdGVwcwogICAgIC8vIFJ1biB0aGUgVXBkYXRlIFdvcmtl
ciBTdGF0ZSBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb27igJlzIGluc3RhbGxpbmcgd29y
a2VyIGFuZCByZWR1bmRhbnQgYXMgdGhlIGFyZ3VtZW50cy4KICAgICAvLyBSdW4gdGhlIFVwZGF0
ZSBSZWdpc3RyYXRpb24gU3RhdGUgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uLCAiaW5z
dGFsbGluZyIgYW5kIG51bGwgYXMgdGhlIGFyZ3VtZW50cy4KKwogICAgIC8vIElmIG5ld2VzdFdv
cmtlciBpcyBudWxsLCBpbnZva2UgQ2xlYXIgUmVnaXN0cmF0aW9uIGFsZ29yaXRobSBwYXNzaW5n
IHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCisgICAgaWYgKCFyZWdpc3RyYXRpb24tPmdl
dE5ld2VzdFdvcmtlcigpKQorICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0aW9u
KTsKIAogICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICAgICBVTlVTRURfUEFSQU0obWVz
c2FnZSk7CkBAIC0xMTQsNiArMTM3LDkgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpydW5OZXh0
Sm9iU3luY2hyb25vdXNseSgpCiAgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VW5yZWdp
c3RlcjoKICAgICAgICAgcnVuVW5yZWdpc3RlckpvYihqb2IpOwogICAgICAgICByZXR1cm47Cisg
ICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgorICAgICAgICBydW5VcGRhdGVK
b2Ioam9iKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJFTEVBU0VfQVNTRVJUX05P
VF9SRUFDSEVEKCk7CkBAIC0yMDEsNiArMjI3LDcgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpj
bGVhclJlZ2lzdHJhdGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uKQogLy8g
aHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0KIHZv
aWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JE
YXRhJiBqb2IpCiB7CisgICAgLy8gTGV0IHJlZ2lzdHJhdGlvbiBiZSB0aGUgcmVzdWx0IG9mIHJ1
bm5pbmcgdGhlIEdldCBSZWdpc3RyYXRpb24gYWxnb3JpdGhtIHBhc3Npbmcgam9i4oCZcyBzY29w
ZSB1cmwgYXMgdGhlIGFyZ3VtZW50LgogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVy
LmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAKICAgICAvLyBJZiByZWdpc3Ry
YXRpb24gaXMgbnVsbCAoaW4gb3VyIHBhcmxhbmNlICJlbXB0eSIpIG9yIHJlZ2lzdHJhdGlvbuKA
mXMgdW5pbnN0YWxsaW5nIGZsYWcgaXMgc2V0LCB0aGVuOgpAQCAtMjA5LDkgKzIzNiwxMSBAQCB2
b2lkIFNXU2VydmVySm9iUXVldWU6OnJ1blVwZGF0ZUpvYihjb25zdCBTZXJ2aWNlV29ya2VySm9i
RGF0YSYgam9iKQogICAgIGlmIChyZWdpc3RyYXRpb24tPmlzVW5pbnN0YWxsaW5nKCkpCiAgICAg
ICAgIHJldHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIEFT
Q0lJTGl0ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiB0
aGF0IGlzIHVuaW5zdGFsbGluZyIpIH0pOwogCi0gICAgLy8gSWYgam9iJ3MgdHlwZSBpcyB1cGRh
dGUsIGFuZCBuZXdlc3RXb3JrZXLigJlzIHNjcmlwdCB1cmwgZG9lcyBub3QgZXF1YWwgam9i4oCZ
cyBzY3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21lbnRzIGZsYWcgc2V0LCB0aGVuOgor
ICAgIC8vIExldCBuZXdlc3RXb3JrZXIgYmUgdGhlIHJlc3VsdCBvZiBydW5uaW5nIEdldCBOZXdl
c3QgV29ya2VyIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyB0aGUgYXJndW1lbnQu
CiAgICAgYXV0byogbmV3ZXN0V29ya2VyID0gcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIo
KTsKLSAgICBpZiAobmV3ZXN0V29ya2VyICYmICFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlm
aWVyKGpvYi5zY3JpcHRVUkwsIG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCkpKQorCisgICAgLy8g
SWYgam9iJ3MgdHlwZSBpcyB1cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXIncyBzY3JpcHQgdXJsIGRv
ZXMgbm90IGVxdWFsIGpvYuKAmXMgc2NyaXB0IHVybCB3aXRoIHRoZSBleGNsdWRlIGZyYWdtZW50
cyBmbGFnIHNldCwgdGhlbjoKKyAgICBpZiAoam9iLnR5cGUgPT0gU2VydmljZVdvcmtlckpvYlR5
cGU6OlVwZGF0ZSAmJiBuZXdlc3RXb3JrZXIgJiYgIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50
aWZpZXIoam9iLnNjcmlwdFVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSkpCiAgICAgICAg
IHJldHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIEFTQ0lJ
TGl0ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHdpdGggYSByZXF1ZXN0ZWQg
c2NyaXB0IFVSTCB3aG9zZSBuZXdlc3Qgd29ya2VyIGhhcyBhIGRpZmZlcmVudCBzY3JpcHQgVVJM
IikgfSk7CiAKICAgICBtX3NlcnZlci5zdGFydFNjcmlwdEZldGNoKGpvYik7CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBkNWZlYTQ5YThkODJkMzU2ZDg3NjU1MWMxMTg5ZmE1N2E4
YmViMDY0Li4xZDM3ZTAzZTJmZDc5ZTRiNjNiZDYzNDRmY2M5YmU5ZDk1ZjFiYjdmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxNy0xMS0wMyAgQ2hy
aXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLnVwZGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0cyBub3cgdGhhdCBtb3JlIGFy
ZSBwYXNzaW5nIG9yIGF0IGxlYXN0IGZhaWxpbmcgbGF0ZXIuCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsYWltLWFmZmVjdC1v
dGhlci1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0td2l0aC1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRw
cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2Ut
ZnJvbS13YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHku
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC5odHRwcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rl
ci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgSSBpbnZlc3RpZ2F0ZWQgdGhpcyB0ZXN0IGFuZCBpdCBpcyBz
dGlsbCBmYWlsaW5nIGxhdGVyIG9uIGJlY2F1c2Ugd2UgY2xlYXIgcmVnaXN0cmF0aW9ucyB0b28K
KyAgICAgICAgYWdncmVzc2l2ZWx5IG9uIHRoZSBTdG9yYWdlUHJvY2VzcyBzaWRlIHdlIGFyZSBz
dXBwb3NlZCB0byBtYWtlIHN1cmUgdGhlIHJlZ2lzdHJhdGlvbiBkb2VzCisgICAgICAgIG5vdCBo
YXZlIGEgbmV3ZXN0V29ya2VyIGJlZm9yZSBjbGVhcmluZyBpdCB3aGVuIGEgc2NyaXB0IGZldGNo
IGZhaWxzIG9yIGEgc2NyaXB0IHN5bnRheCBlcnJvcgorICAgICAgICBvY2N1cnMuIFdlIHByb3Bl
cmx5IGhhdmUgdGhvc2UgaWYgKCFuZXdlc3RXb3JrZXIpIGNoZWNrcyBpbiB0aGUgY29kZSBidXQg
c2VydmljZSB3b3JrZXJzCisgICAgICAgIGFyZSBub3QgeWV0IHBvcHVsYXRlZCBvbiB0aGUgU1dT
ZXJ2ZXJSZWdpc3RyYXRpb24gb2JqZWN0IHNvIFNXU2VydmVyUmVnaXN0cmF0aW9uOjpnZXROZXdl
c3RXb3JrZXIoKQorICAgICAgICBhbHdhc3kgcmV0dXJucyBudWxsLgorCiAyMDE3LTExLTAzICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBsZW1lbnQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lci5nZXRSZWdpc3RyYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2NsYWltLWFmZmVjdC1vdGhlci1yZWdpc3RyYXRpb24uaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90aGVyLXJlZ2lzdHJhdGlvbi5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggMWQ0MDVjZjczNmNjMDQ0MTc5OTU0MjY5NmJiYjJkYWIx
Njk3OWI2Yi4uNDkxYTA5YmU0MTFmMTM1MzUwZDVhMzkwMWZhYmZhM2NmYWRlNWI4MSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90aGVyLXJlZ2lzdHJhdGlvbi5o
dHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90
aGVyLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAot
RkFJTCBjbGFpbSgpIHNob3VsZCBhZmZlY3QgdGhlIG9yaWdpbmFsbHkgY29udHJvbGxpbmcgcmVn
aXN0cmF0aW9uLiBhc3NlcnRfZXF1YWxzOiBTaG91bGQgYmUgdGhlIHNhbWUgcmVnaXN0cmF0aW9u
IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0
IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iCitGQUlMIGNs
YWltKCkgc2hvdWxkIGFmZmVjdCB0aGUgb3JpZ2luYWxseSBjb250cm9sbGluZyByZWdpc3RyYXRp
b24uIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBQYXNzaW5nIE1lc3NhZ2VQb3J0IG9iamVjdHMgdG8gcG9zdE1l
c3NhZ2UgaXMgbm90IHlldCBzdXBwb3J0ZWQiCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsYWltLXdpdGgtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvY2xhaW0td2l0aC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjAxZDU5
MmM2MmI3NTIyMTU3MTE5YTAyZjQ4MTcxOWY3NThiZjBkMC4uNDBjZDEzZjYyMzRlYjAyNDA1NTUy
OGQzMWM1Nzg3MTMwYzI0NzNjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0t
d2l0aC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xhaW0td2l0aC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACi1D
T05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjogTm90
U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0
IGltcGxlbWVudGVkCitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IFVuaGFuZGxlZCBQcm9taXNl
IFJlamVjdGlvbjogSW52YWxpZFN0YXRlRXJyb3I6IG5ld2VzdFdvcmtlciBpcyBudWxsCiAgIAog
CiBGQUlMIENsYWltIHdvcmtzIGFmdGVyIHJlZGlyZWN0aW9uIHRvIGFub3RoZXIgb3JpZ2luIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJ1cGRhdGVkIiBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0LXNjcmlw
dHMtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1wb3J0
LXNjcmlwdHMtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGQ2ZTAxMDQ4ZjllMmUz
Y2I5YTM1NDBiNmZjZWQ2Mzc4NGEyYjI5NDcuLmFhZDc4NTliNDJhZWY4NTVlYTU2NmJkZTBiNjM3
ZDY0MmZhN2ZkNDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRz
LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBv
cnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAK
IFBBU1MgaW1wb3J0U2NyaXB0cygpIHN1cHBvcnRzIHJlZGlyZWN0cyAKLUZBSUwgaW1wb3J0U2Ny
aXB0cygpIHN1cHBvcnRzIHJlZGlyZWN0cyBhbmQgY2FuIGJlIHVwZGF0ZWQgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJy
b3I6IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVk
IgorUEFTUyBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMgcmVkaXJlY3RzIGFuZCBjYW4gYmUgdXBk
YXRlZCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtcmVnaXN0ZXIu
aHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtcmVnaXN0ZXIu
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDMzMmUxMGUxNGQ0YjExOTVmMDc5ZWFlOGY2NDI0NjZk
Nzk3OGZlMjkuLjE1NjY1NTc3NjY4ZmRmZTBkNDUwMjA2MmY3ZmZjZjdiYjFmNjc3MmMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBl
Y3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIAotRkFJTCBTdWJzZXF1ZW50IHJlZ2lzdHJhdGlv
bnMgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gb2JqZWN0IGFzc2VydF91bnJlYWNo
ZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiByZWdpc3RlciBzaG91bGQg
cmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIFN1
YnNlcXVlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBv
YmplY3QgCiBGQUlMIFN1YnNlcXVlbnQgcmVnaXN0cmF0aW9ucyBmcm9tIGEgZGlmZmVyZW50IGlm
cmFtZSByZXNvbHZlIHRvIHRoZSBkaWZmZXJlbnQgcmVnaXN0cmF0aW9uIG9iamVjdCBidXQgdGhl
eSByZWZlciB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gYW5kIHdvcmtlcnMgYXNzZXJ0X3VucmVh
Y2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IGluc3RhbGxpbmcgd29y
a2VyIHNob3VsZCBiZSBudWxsIGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIltvYmplY3Qg
U2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDb25jdXJyZW50
IHJlZ2lzdHJhdGlvbnMgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gb2JqZWN0IGFz
c2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiByZWdp
c3RlciBzaG91bGQgcmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2Jq
ZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAi
W29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCitQQVNTIENvbmN1cnJlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1lIHJl
Z2lzdHJhdGlvbiBvYmplY3QgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRp
cGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBs
ZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGQwOTUyN2IyMDhlZGY4NzVlOGEzNjAw
NzA0ZjFhYTVmNzkwM2RjZGYuLjRjZTRlMWQ2MjRmODQ5NjE1OTczZjBhNmQ0OWZiMGU2ZDNmYmQz
MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUcmlnZ2VyIG11bHRpcGxlIHVw
ZGF0ZXMuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIk5vdFN1cHBvcnRlZEVycm9yOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUg
bm90IHlldCBpbXBsZW1lbnRlZCIKK1BBU1MgVHJpZ2dlciBtdWx0aXBsZSB1cGRhdGVzLiAKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJvbS13YWl0aW5nLXNl
cnZpY2V3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1l
c3NhZ2UtZnJvbS13YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4
IDIwNDk5OTQ1M2FlYzJlMzcyNGRiOGY5OGVmMTFmM2NjNGVjNDcwMDguLmNmZDEwYWQ0NzZhMWM4
NDQ1ZDY5MzA4ZTQxMTExNjgwMDg2OTUxN2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Bvc3RtZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2Vydmlj
ZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIAotRkFJTCBDbGll
bnQucG9zdE1lc3NhZ2UoKSBmcm9tIHdhaXRpbmcgc2VydmljZXdvcmtlci4gYXNzZXJ0X3VucmVh
Y2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IHNob3VsZCBiZSBzYW1l
IHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgQ2xpZW50LnBvc3RNZXNzYWdlKCkg
ZnJvbSB3YWl0aW5nIHNlcnZpY2V3b3JrZXIuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQg
cmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBtZXNzYWdlIGV2ZW50IHNvdXJjZSBzaG91bGQgYmUg
Y29ycmVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3Jr
ZXJdIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHku
aHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGE1NTE3MGVlODUzNTUwMzdiMmFhNTEwNWFkYjc0MDFh
NzY5OGY4NmQuLjA0ODk0MTdkZjcyMjg5NjFmYmQ0MjJkZTA0Y2YwZjI2NzM1M2I1MmQgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEwLDUgKzEwLDUg
QEAgRkFJTCByZWFkeSBvbiBhbiBpZnJhbWUgd2hvc2UgcGFyZW50IHJlZ2lzdGVycyBhIG5ldyBz
ZXJ2aWNlIHdvcmtlciBwcm9taXNlX3Rlc3QKIEZBSUwgcmVhZHkgb24gYW4gaWZyYW1lIHRoYXQg
aW5zdGFsbHMgYSBuZXcgc2VydmljZSB3b3JrZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJl
YWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIKIEZBSUwgcmVhZHkgYWZ0ZXIgYSBsb25nZXIg
bWF0Y2hlZCByZWdpc3RyYXRpb24gcmVnaXN0ZXJlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIu
cmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgogRkFJTCBhY2Nlc3MgcmVhZHkgYWZ0ZXIg
aXQgaGFzIGJlZW4gcmVzb2x2ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBzZXJ2aWNlV29ya2VyLnJlYWR5KCkgaXMg
bm90IHlldCBpbXBsZW1lbnRlZCIKLUZBSUwgYWNjZXNzIHJlYWR5IG9uIHVuaW5zdGFsbGluZyBy
ZWdpc3RyYXRpb24gdGhhdCBpcyByZXN1cnJlY3RlZCBhc3NlcnRfZXF1YWxzOiBleGlzdGluZyBy
ZWdpc3RyYXRpb24gc2hvdWxkIGJlIHJlc3VycmVjdGVkIGV4cGVjdGVkIG9iamVjdCAiW29iamVj
dCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iCitGQUlMIGFjY2VzcyByZWFkeSBvbiB1bmluc3RhbGxp
bmcgcmVnaXN0cmF0aW9uIHRoYXQgaXMgcmVzdXJyZWN0ZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVW5rbm93bkVycm9yOiBzZXJ2aWNlV29y
a2VyLnJlYWR5KCkgaXMgbm90IHlldCBpbXBsZW1lbnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVnaXN0cmF0aW9uLXNjcmlwdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRl
eCBhZTA5ZDEzODcyZmNhZWE4ZDQ3NTk2MTA4ZTM5NTNlNDllYTAwZWExLi5kM2E3ZGQ4NDVlMWU0
Y2JmMjM5NDdlOTdjMDNiYTA4MGRjZTQ3ZTI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDYgQEAKIAotRkFJTCBSZWdpc3RlcmluZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0
IGFzc2VydF90aHJvd3M6IFJlZ2lzdHJhdGlvbiBvZiBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcg
c2NyaXB0IHNob3VsZCBmYWlsLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRo
cmV3IG9iamVjdCAiVW5rbm93bkVycm9yOiBTY3JpcHQgVVJMIGh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbnZhbGlkLWNodW5r
ZWQtZW5jb2RpbmcucHkgZmV0Y2ggcmVzdWx0ZWQgaW4gZXJyb3I6IGNhbm5vdCBwYXJzZSByZXNw
b25zZSIgKCJVbmtub3duRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBl
RXJyb3IiKQotRkFJTCBSZWdpc3RlcmluZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0
IHdpdGggZmx1c2ggYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9mIGludmFsaWQgY2h1bmtl
ZCBlbmNvZGluZyBzY3JpcHQgc2hvdWxkIGZhaWwuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRo
cm93IGUgfSIgdGhyZXcgb2JqZWN0ICJVbmtub3duRXJyb3I6IFNjcmlwdCBVUkwgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lu
dmFsaWQtY2h1bmtlZC1lbmNvZGluZy13aXRoLWZsdXNoLnB5IGZldGNoIHJlc3VsdGVkIGluIGVy
cm9yOiBjYW5ub3QgcGFyc2UgcmVzcG9uc2UiICgiVW5rbm93bkVycm9yIikgZXhwZWN0ZWQgb2Jq
ZWN0ICJUeXBlRXJyb3IiICgiVHlwZUVycm9yIikKK1BBU1MgUmVnaXN0ZXJpbmcgaW52YWxpZCBj
aHVua2VkIGVuY29kaW5nIHNjcmlwdCAKK1BBU1MgUmVnaXN0ZXJpbmcgaW52YWxpZCBjaHVua2Vk
IGVuY29kaW5nIHNjcmlwdCB3aXRoIGZsdXNoIAogRkFJTCBSZWdpc3RlcmluZyBzY3JpcHQgaW5j
bHVkaW5nIHBhcnNlIGVycm9yIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVk
OiBSZWdpc3RyYXRpb24gb2Ygc2NyaXB0IGluY2x1ZGluZyBwYXJzZSBlcnJvciBzaG91bGQgZmFp
bC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIFJlZ2lzdGVyaW5nIHNjcmlwdCBpbmNs
dWRpbmcgdW5kZWZpbmVkIGVycm9yIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVj
dGVkOiBSZWdpc3RyYXRpb24gb2Ygc2NyaXB0IGluY2x1ZGluZyB1bmRlZmluZWQgZXJyb3Igc2hv
dWxkIGZhaWwuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJTCBSZWdpc3RlcmluZyBzY3Jp
cHQgaW5jbHVkaW5nIHVuY2F1Z2h0IGV4Y2VwdGlvbiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQg
aGF2ZSByZWplY3RlZDogUmVnaXN0cmF0aW9uIG9mIHNjcmlwdCBpbmNsdWRpbmcgdW5jYXVnaHQg
ZXhjZXB0aW9uIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGUz
ZTA1ZDA5N2IzZmFmMTViZjllMmM2MDUwZDU3ZmYzYTU2OGJkZjAuLjQ4MTkzYTRhNWEyNTFlM2Rk
NjcwMDVmNjI3ZDFiZWRiZTg0Y2YyYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Nr
aXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tp
cC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0
IHNraXBXYWl0aW5nIHdpdGggYm90aCBhY3RpdmUgYW5kIHdhaXRpbmcgd29ya2VycyBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IG51bGwgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAnd2FpdGluZ193b3JrZXIuc2NyaXB0
VVJMJykiCitGQUlMIFRlc3Qgc2tpcFdhaXRpbmcgd2l0aCBib3RoIGFjdGl2ZSBhbmQgd2FpdGlu
ZyB3b3JrZXJzIGFzc2VydF9lcXVhbHM6IFdvcmtlciB3aXRoIHVybDIgc2hvdWxkIGJlIHdhaXRp
bmcgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9lbXB0eS13b3JrZXIuanMiIGJ1dCBnb3QgImh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9lbXB0
eS5qcyIKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJl
Z2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXIt
dGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggODBjMzUyNTk3MDYwY2VkYWFi
MDExZTA4NGY5NzZjMDhmOTgxMTdlYy4uYmRiMTlhZTExMWQ0YWRjMzNlZTJhNzIwM2FkOTZiNTkz
NmUyMTI2MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJl
Z2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lz
dGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDcgKzEsNyBAQAogCiAK
LVBBU1MgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVyIHJlc29sdmVzIHRvIGEgbmV3IHZhbHVlIAot
RkFJTCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzb2x2ZXMgdG8gdGhlIG9yaWdpbmFsIHZh
bHVlIGlmIHRoZSByZWdpc3RyYXRpb24gaXMgaW4gdXNlLiBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4
cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogbmV3IHJlZ2lzdHJhdGlvbiBzaG91bGQg
cmVzb2x2ZSB0byB0aGUgc2FtZSByZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitGQUlMIFVu
cmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byBhIG5ldyB2YWx1ZSBhc3NlcnRfdW5y
ZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X25vdF9lcXVhbHM6IHJlZ2lzdGVy
IHNob3VsZCByZXNvbHZlIHRvIGEgbmV3IHZhbHVlIGdvdCBkaXNhbGxvd2VkIHZhbHVlIG9iamVj
dCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitQQVNTIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byB0aGUgb3Jp
Z2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2UuIAogUEFTUyBSZWxvYWRp
bmcgdGhlIGxhc3QgY29udHJvbGxlZCBpZnJhbWUgYWZ0ZXIgdW5yZWdpc3RyYXRpb24gc2hvdWxk
IGVuc3VyZSB0aGUgZGVsZXRpb24gb2YgdGhlIHJlZ2lzdHJhdGlvbiAKIEZBSUwgVW5yZWdpc3Rl
ciB0aGVuIHJlZ2lzdGVyIGRvZXMgbm90IGFmZmVjdCBleGlzdGluZyBjb250cm9sbGVlIGFzc2Vy
dF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBpbnN0YWxs
aW5nIHZlcnNpb24gaXMgbnVsbCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0
IFNlcnZpY2VXb3JrZXJdIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgVW5yZWdpc3Rl
ciB0aGVuIHJlZ2lzdGVyIHJlc3VycmVjdHMgdGhlIHJlZ2lzdHJhdGlvbiBhc3NlcnRfdW5yZWFj
aGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X25vdF9lcXVhbHM6IGRvY3VtZW50IHNo
b3VsZCBoYXZlIGEgY29udHJvbGxlciBnb3QgZGlzYWxsb3dlZCB2YWx1ZSBudWxsIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0
dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMzk2MDg4MTM2ODYyYWY0YTc1OTg0N2Q3NWI4MDA1ZmI0N2IxZWZhZS4uMWI4
MDc1MjRmNWE0ZGJjNmY4MjFlZjlmMTg3MWM1MGM2M2ZlZjg1NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFVw
ZGF0ZSBhIHJlZ2lzdHJhdGlvbi4gYXNzZXJ0X3Rocm93czogVXNpbmcgYSBkaXNhbGxvd2VkIG1p
bWV0eXBlIHNob3VsZCBtYWtlIHVwZGF0ZSgpIHByb21pc2UgcmVqZWN0IHdpdGggYSBTZWN1cml0
eUVycm9yLiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyB0aHJvdyBlOyB9IiB0aHJldyBvYmplY3Qg
Ik5vdFN1cHBvcnRlZEVycm9yOiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGUgbm90
IHlldCBpbXBsZW1lbnRlZCIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gU2VjdXJpdHlFcnJv
cjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIDksIGV4cGVjdGVkIDE4CitGQUlMIFVwZGF0
ZSBhIHJlZ2lzdHJhdGlvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBDYW5ub3QgdXBkYXRlIGEgbnVsbC9ub25leGlzdGVu
dCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb24iCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326071</attachid>
            <date>2017-11-05 12:00:16 -0800</date>
            <delta_ts>2017-11-05 12:01:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179270-20171105120015.patch</filename>
            <type>text/plain</type>
            <size>41612</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhjMmJhNTMxOWFiYmM2
NWU5ZDYyNjcxZDM2ZGRkZjBhOWVlNTQ4NS4uOGY0MTY4OTBjZTJjZDc5ODRhY2FkZjE5MDY5NWYz
MTcxMjc1ZjhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE3LTExLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBG
YWJsZXQuCisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24udXBk
YXRlKCk6CisgICAgICAgIC0gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3Nl
cnZpY2Utd29ya2VyLXJlZ2lzdHJhdGlvbi11cGRhdGUKKworICAgICAgICBXZSBhbHJlYWR5IGhh
ZCBzdXBwb3J0IGZvciB0aGUgVXBkYXRlIGFsZ29yaXRobSBpbiBTV1NlcnZlckpvYlF1ZXVlIGJ1
dAorICAgICAgICB0aGlzIHBhdGNoIGVuaGFuY2VzIG91ciBzdXBwb3J0IGEgYml0IHRvIGdldCB1
cyBjbG9zZXIgdG8gdGhlIHNwZWNpZmljYXRpb246CisgICAgICAgIC0gaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjp1cGRhdGVSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJKb2JUeXBlLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjppbnN0YWxsaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OndhaXRpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6YWN0aXZlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldEluc3RhbGxpbmdXb3JrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2V0V2FpdGluZ1dvcmtl
cik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzZXRBY3Rp
dmVXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
Z2V0TmV3ZXN0V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OnVwZGF0ZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
Sm9iUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0
RmV0Y2hGaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlckpvYlF1ZXVlOjpzY3Jp
cHRDb250ZXh0RmFpbGVkVG9TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlckpvYlF1
ZXVlOjpydW5OZXh0Sm9iU3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZl
ckpvYlF1ZXVlOjpydW5VcGRhdGVKb2IpOgorCiAyMDE3LTExLTA0ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgY29kZSB0aGF0IG1hcHMgYSBD
b21wb3NpdGVPcGVyYXRvciBhbmQgQmxlbmRNb2RlIHRvIGEgQ0dCbGVuZE1vZGUgaW50byBhIGhl
bHBlciBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyLmgKaW5kZXggOGVlZGU5YmQ0ZDczNDRkOTI2MmJhMDEzNjM0MjcxODg4M2I0YjVlYS4u
NWFmM2Y0MjNjM2VjNDk3YjMwZmE3MzBlYTllMTc2NzcxOThhZWUxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCkBAIC01OSw3ICs1OSw3IEBA
IHB1YmxpYzoKICAgICAgICAgUmVkdW5kYW50LAogICAgIH07CiAKLSAgICBjb25zdCBTdHJpbmcm
IHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0VVJMLnN0cmluZygpOyB9CisgICAg
Y29uc3QgVVJMJiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdFVSTDsgfQogCiAg
ICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgdm9pZCBzZXRT
dGF0ZShTdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5kZXggYjg3YWFkYjdkOTVmMmQyOTcyZGIz
NjQwMDg4MTU4YmIwZWM3M2Q1MS4uYzRhMWVjYzhlMGEyZWY2ZTM0ZmI5ZDRkOWM1MmZiZGE5YzAz
YzdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtMTY1LDYgKzE2NSwzMSBAQCB2b2lkIFNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3BlVVJM
LCBSZWY8RGVmZXJyZQogICAgIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJKb2I6OmNyZWF0ZSgq
dGhpcywgV1RGTW92ZShwcm9taXNlKSwgV1RGTW92ZShqb2JEYXRhKSkpOwogfQogCit2b2lkIFNl
cnZpY2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3Bl
VVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgV29ya2VyVHlwZSwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJiBwcm9taXNlKQoreworICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5zZXNzaW9uSUQoKS5pc1ZhbGlk
KCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHByb21pc2UtPnJl
amVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmICghbV9zd0Nvbm5lY3Rpb24pIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJy
b3IpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFNlcnZpY2VXb3JrZXJKb2JEYXRh
IGpvYkRhdGEobV9zd0Nvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSk7CisgICAgam9iRGF0YS5jbGll
bnRDcmVhdGlvblVSTCA9IGNvbnRleHQtPnVybCgpOworICAgIGpvYkRhdGEudG9wT3JpZ2luID0g
U2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4oY29udGV4dC0+dG9wT3JpZ2lu
KCkpOworICAgIGpvYkRhdGEudHlwZSA9IFNlcnZpY2VXb3JrZXJKb2JUeXBlOjpVcGRhdGU7Cisg
ICAgam9iRGF0YS5zY29wZVVSTCA9IHNjb3BlVVJMOworICAgIGpvYkRhdGEuc2NyaXB0VVJMID0g
c2NyaXB0VVJMOworCisgICAgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYjo6Y3JlYXRlKCp0
aGlzLCBXVEZNb3ZlKHByb21pc2UpLCBXVEZNb3ZlKGpvYkRhdGEpKSk7Cit9CisKIHZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVKb2IoUmVmPFNlcnZpY2VXb3JrZXJKb2I+JiYg
am9iKQogewogICAgIEFTU0VSVChtX3N3Q29ubmVjdGlvbik7CkBAIC0yMDYsOCArMjMxLDkgQEAg
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5n
JiBjbGllbnRVUkwsIFJlZjxEZWZlcnIKICAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVzdWx0LT5rZXkp
OwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbikgewogICAgICAgICAgICAgYXV0byYgY29udGV4
dCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgICAgICAgICBhdXRvIHdvcmtlciA9
IFNlcnZpY2VXb3JrZXI6OmNyZWF0ZShjb250ZXh0LCAqcmVzdWx0LT5hY3RpdmVTZXJ2aWNlV29y
a2VySWRlbnRpZmllciwgcmVzdWx0LT5zY3JpcHRVUkwpOwotICAgICAgICAgICAgcmVnaXN0cmF0
aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBX
VEZNb3ZlKHJlc3VsdC52YWx1ZSgpKSwgV1RGTW92ZSh3b3JrZXIpKTsKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbm90IGJlIGNvbnN0cnVjdGluZyBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uIG9iamVjdHMgaGVyZS4gSW5zdGVhZCwgd2Ugc2hvdWxkIG1ha2UKKyAg
ICAgICAgICAgIC8vIHN1cmUgdGhhdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdHMg
c3RheXMgYWxpdmUgYXMgbG9uZyBhcyB0aGVpciBTV1NlcnZlclJlZ2lzdHJhdGlvbiBvbiBzZXJ2
ZXIgc2lkZS4KKyAgICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OmNyZWF0ZShjb250ZXh0LCAqdGhpcywgV1RGTW92ZShyZXN1bHQudmFsdWUoKSkpOwog
ICAgICAgICB9CiAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+PihyZWdpc3RyYXRpb24ucmVsZWFzZU5vbk51bGwoKSk7CiAgICAg
fSk7CkBAIC0yNTEsOSArMjc3LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUobV9yZWdpc3RyYXRpb24pXSAoKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS51cGRhdGVmb3VuZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAgICAgICAgICAg
IGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUocmVnaXN0cmF0aW9uKV0g
KCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5pbnN0YWxsaW5nKCkt
PnNldFN0YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsZWQpOworICAgICAgICAgICAg
ICAgIHJlZ2lzdHJhdGlvbi0+c2V0V2FpdGluZ1dvcmtlcihyZWdpc3RyYXRpb24tPmluc3RhbGxp
bmcoKSk7CisgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRJbnN0YWxsaW5nV29ya2Vy
KG51bGxwdHIpOworICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+d2FpdGluZygpLT5zZXRT
dGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGVkKTsKICAgICAgICAgICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFtyZWdpc3RyYXRpb24gPSBXVEZNb3ZlKHJlZ2lzdHJhdGlvbildICgp
IG11dGFibGUgewotICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPndhaXRpbmcoKS0+
c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcpOworICAgICAgICAgICAg
ICAgICAgICByZWdpc3RyYXRpb24tPnNldEFjdGl2ZVdvcmtlcihyZWdpc3RyYXRpb24tPndhaXRp
bmcoKSk7CisgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0V2FpdGluZ1dvcmtl
cihudWxscHRyKTsKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5hY3RpdmUoKS0+
c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcpOwogICAgICAgICAgICAg
ICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtyZWdpc3RyYXRpb24gPSBXVEZNb3ZlKHJlZ2lzdHJh
dGlvbildICgpIG11dGFibGUgewogICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9u
LT5hY3RpdmUoKS0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRlZCk7CiAg
ICAgICAgICAgICAgICAgICAgIH0pOwpAQCAtMjg2LDE0ICszMTYsMTcgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtl
ckpvYiYgam9iLAogICAgICAgICBhY3RpdmVTZXJ2aWNlV29ya2VyID0gY29udGV4dC0+YWN0aXZl
U2VydmljZVdvcmtlcigpOwogICAgIH0KIAotICAgIGFjdGl2ZVNlcnZpY2VXb3JrZXItPnNldFN0
YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKTsKKyAgICBSZWZQdHI8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChk
YXRhLmtleSk7CisgICAgaWYgKCFyZWdpc3RyYXRpb24pCisgICAgICAgIHJlZ2lzdHJhdGlvbiA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNyZWF0ZSgqY29udGV4dCwgKnRoaXMsIFdURk1v
dmUoZGF0YSkpOwogCi0gICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOjpjcmVhdGUoKmNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKGRhdGEpLCAqYWN0aXZlU2Vy
dmljZVdvcmtlcik7CisgICAgYWN0aXZlU2VydmljZVdvcmtlci0+c2V0U3RhdGUoU2VydmljZVdv
cmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpOworICAgIHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGlu
Z1dvcmtlcihhY3RpdmVTZXJ2aWNlV29ya2VyKTsKIAotICAgIGpvYi5wcm9taXNlKCkucmVzb2x2
ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbik7
CisgICAgam9iLnByb21pc2UoKS5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uPj4oKnJlZ2lzdHJhdGlvbik7CiAKICAgICAvLyBVc2UgYSBtaWNyb3Rhc2sgYmVj
YXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcm9t
aXNlIGFib3ZlIGlzIHJlc29sdmVkLgotICAgIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVl
dWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNy
b3Rhc2s+KFdURk1vdmUocmVnaXN0cmF0aW9uKSkpOworICAgIE1pY3JvdGFza1F1ZXVlOjptYWlu
VGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlcklu
c3RhbGxNaWNyb3Rhc2s+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgpKSk7CiB9CiAKIHZv
aWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25S
ZXN1bHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KQpA
QCAtMzM3LDEwICszNzAsMTMgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGaW5p
c2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBjb24KICAgICBtX3N3Q29u
bmVjdGlvbi0+ZmluaXNoZWRGZXRjaGluZ1NjcmlwdChqb2IsIHNjcmlwdCk7CiB9CiAKLXZvaWQg
U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29y
a2VySm9iJiBqb2IsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjpqb2JGYWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpv
YiwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IsIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiYm
IGV4Y2VwdGlvbikKIHsKICAgICBMT0coU2VydmljZVdvcmtlciwgIlNldmljZVdvcmtlckNvbnRh
aW5lciAlcCBmYWlsZWQgZmV0Y2hpbmcgc2NyaXB0IGZvciBqb2IgJSIgUFJJdTY0LCB0aGlzLCBq
b2IuZGF0YSgpLmlkZW50aWZpZXIoKSk7CiAKKyAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICBq
b2IucHJvbWlzZSgpLnJlamVjdCgqZXhjZXB0aW9uKTsKKwogICAgIG1fc3dDb25uZWN0aW9uLT5m
YWlsZWRGZXRjaGluZ1NjcmlwdChqb2IsIGVycm9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXgg
ZjczNWI3NDBmNzFmZWYzNDlkOTRhNjRkYzYwZjg4NTYwNTY3Y2FjZi4uN2MxNGQzN2JiZDcwODAy
ZDkyYWVhMTVkMmI1NmU0ZjNmMTNkMDAyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0zNSw2ICszNSw3
IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxwYWwvU2Vz
c2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC02MSw2ICs2Miw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0
VVJMLCBjb25zdCBSZWdpc3RyYXRpb25PcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7
CiAgICAgdm9pZCByZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJM
JiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBj
bGllbnRVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdXBkYXRlUmVnaXN0
cmF0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uU3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50
aWZpZXI+Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckpvYi5jcHAKaW5kZXggYzM1ZDM1NzIyMWYzMDI1MjNlMDdkZWFkMjA1MTRjMmIzMTc5
ZWNlZS4uMWI5MWI4N2YxNzQzZmRkNzIyYWNmY2ExYWE0MzRiZjk4NDdjNzMxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApA
QCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUg
IkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgog
I2luY2x1ZGUgIlJlc291cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgi
CiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEuaCIKQEAgLTEwMCw2ICsxMDEsMTUgQEAg
dm9pZCBTZXJ2aWNlV29ya2VySm9iOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYKICAgICBBU1NFUlQobV9zY3JpcHRMb2FkZXIpOwogCiAg
ICAgbV9sYXN0UmVzcG9uc2UgPSByZXNwb25zZTsKKyAgICAvLyBFeHRyYWN0IGEgTUlNRSB0eXBl
IGZyb20gdGhlIHJlc3BvbnNlJ3MgaGVhZGVyIGxpc3QuIElmIHRoaXMgTUlNRSB0eXBlIChpZ25v
cmluZyBwYXJhbWV0ZXJzKSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZSwgdGhlbjoKKyAg
ICBpZiAoIU1JTUVUeXBlUmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHJl
c3BvbnNlLm1pbWVUeXBlKCkpKSB7CisgICAgICAgIC8vIEludm9rZSBSZWplY3QgSm9iIFByb21p
c2Ugd2l0aCBqb2IgYW5kICJTZWN1cml0eUVycm9yIiBET01FeGNlcHRpb24uCisgICAgICAgIEV4
Y2VwdGlvbiBleGNlcHRpb24geyBTZWN1cml0eUVycm9yLCBBU0NJSUxpdGVyYWwoIk1JTUUgVHlw
ZSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZSIpIH07CisgICAgICAgIC8vIEFzeW5jaHJv
bm91c2x5IGNvbXBsZXRlIHRoZXNlIHN0ZXBzIHdpdGggYSBuZXR3b3JrIGVycm9yLgorICAgICAg
ICBSZXNvdXJjZUVycm9yIGVycm9yIHsgZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVz
cG9uc2UudXJsKCksIEFTQ0lJTGl0ZXJhbCgiVW5leHBlY3RlZCBNSU1FIHR5cGUiKSB9OworICAg
ICAgICBtX2NsaWVudC0+am9iRmFpbGVkTG9hZGluZ1NjcmlwdCgqdGhpcywgV1RGTW92ZShlcnJv
ciksIFdURk1vdmUoZXhjZXB0aW9uKSk7CisgICAgICAgIG1fc2NyaXB0TG9hZGVyID0gbnVsbHB0
cjsKKyAgICB9CiB9CiAKIHZvaWQgU2VydmljZVdvcmtlckpvYjo6bm90aWZ5RmluaXNoZWQoKQpA
QCAtMTEwLDcgKzEyMCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYjo6bm90aWZ5RmluaXNoZWQo
KQogICAgIGlmICghbV9zY3JpcHRMb2FkZXItPmZhaWxlZCgpKQogICAgICAgICBtX2NsaWVudC0+
am9iRmluaXNoZWRMb2FkaW5nU2NyaXB0KCp0aGlzLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkp
OwogICAgIGVsc2UKLSAgICAgICAgbV9jbGllbnQtPmpvYkZhaWxlZExvYWRpbmdTY3JpcHQoKnRo
aXMsIG1fc2NyaXB0TG9hZGVyLT5lcnJvcigpKTsKKyAgICAgICAgbV9jbGllbnQtPmpvYkZhaWxl
ZExvYWRpbmdTY3JpcHQoKnRoaXMsIG1fc2NyaXB0TG9hZGVyLT5lcnJvcigpLCBzdGQ6Om51bGxv
cHQpOwogCiAgICAgbV9zY3JpcHRMb2FkZXIgPSBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKaW5k
ZXggODU4NTcxYjYwZDg2MzgyNDRhM2YzMmQ2YmU3MTdlY2Q1YjMzMjgwNS4uNjk4YWRmZjMyMWVi
ODNjMjc5YmRlMzQzNmZmZGY5ZjZiZTVlNzRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCkBAIC00NCw3ICs0
NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoVW5yZWdpc3Ry
YXRpb25SZXN1bHQoU2VydmljZVdvcmtlckpvYiYsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1bHQp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29y
a2VySm9iJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQo
U2VydmljZVdvcmtlckpvYiYsIGNvbnN0IFN0cmluZyYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQg
am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VF
cnJvciYpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgam9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2
aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VFcnJvciYsIHN0ZDo6b3B0aW9uYWw8RXhjZXB0
aW9uPiYmKSA9IDA7CiAKICAgICB2aXJ0dWFsIHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVy
KCkgPSAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckpvYkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VySm9iRGF0YS5oCmluZGV4IGM2Yzk5MzYyOTEwZWZmOWNkYzYyZjg0NGM0MTQzNzM4
NzUwMjBhOTAuLmI0YTY2OTVjMjgxZTEzMGU4YmU3MGMyMTNmOTMwNzhmZmQ5N2E3NzMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9i
RGF0YS5oCkBAIC03NCw2ICs3NCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYkRhdGE6OmVuY29k
ZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAogICAgICAgICBlbmNvZGVyIDw8IHJlZ2lzdHJhdGlv
bk9wdGlvbnM7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2VydmljZVdvcmtlckpvYlR5cGU6
OlVucmVnaXN0ZXI6CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgogICAg
ICAgICBicmVhazsKICAgICB9CiB9CkBAIC0xMTMsNiArMTE0LDcgQEAgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VySm9iRGF0YT4gU2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZShEZWNvZGVy
JiBkZWNvZGUKICAgICAgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGJyZWFr
OwogICAgIGNhc2UgU2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6CisgICAgY2FzZSBT
ZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsKICAgICB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9i
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JU
eXBlLmgKaW5kZXggMDc5ZjNlODQ5NTU0MTE1ZTJmNmI2MzNkYzUxMmI3ZmYyMWFjZTlhMy4uYmIx
ZjdkZGNjZDEwNmUzY2U1NGFkY2I3MmViMmZkMjlmMDA4MzMzMSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKQEAgLTMy
LDYgKzMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2Vy
Sm9iVHlwZSB7CiAgICAgUmVnaXN0ZXIsCiAgICAgVW5yZWdpc3RlciwKKyAgICBVcGRhdGUsCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXgg
MDZhMDU0ZTdlZjE1YzQwZTU1MGVlODdkMmZlNWY2M2NjMzg4MDIwOC4uM2EzODEzZTI3YWNlNTE1
OTA1M2YzNzE5YjQ5MDQ3Nzc0ZTlmNGExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAt
MzYsMTAgKzM2LDkgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIFJlZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmIGNvbnRhaW5lciwgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJiByZWdpc3RyYXRpb25EYXRhLCBSZWY8U2Vydmlj
ZVdvcmtlcj4mJiBzZXJ2aWNlV29ya2VyKQorU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBS
ZWY8U2VydmljZVdvcmtlckNvbnRhaW5lcj4mJiBjb250YWluZXIsIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25EYXRhJiYgcmVnaXN0cmF0aW9uRGF0YSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgm
Y29udGV4dCkKICAgICAsIG1fcmVnaXN0cmF0aW9uRGF0YShXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRh
dGEpKQotICAgICwgbV9zZXJ2aWNlV29ya2VyKFdURk1vdmUoc2VydmljZVdvcmtlcikpCiAgICAg
LCBtX2NvbnRhaW5lcihXVEZNb3ZlKGNvbnRhaW5lcikpCiB7CiAgICAgc3VzcGVuZElmTmVlZGVk
KCk7CkBAIC01MywyMyArNTIsNDIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6flNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24oKQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOjppbnN0YWxsaW5nKCkKIHsKLSAgICBpZiAobV9zZXJ2aWNlV29ya2VyLT5zdGF0
ZSgpICE9IFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKQotICAgICAgICByZXR1cm4g
bnVsbHB0cjsKLSAgICByZXR1cm4gbV9zZXJ2aWNlV29ya2VyLnB0cigpOworICAgIHJldHVybiBt
X2luc3RhbGxpbmdXb3JrZXIuZ2V0KCk7CiB9CiAKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OndhaXRpbmcoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0
YXRlKCkgIT0gU2VydmljZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCkKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgcmV0dXJuIG1fc2VydmljZVdvcmtlci5wdHIoKTsKKyAgICByZXR1cm4g
bV93YWl0aW5nV29ya2VyLmdldCgpOwogfQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uOjphY3RpdmUoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRl
KCkgIT0gU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcgJiYgbV9zZXJ2aWNlV29ya2Vy
LT5zdGF0ZSgpICE9IFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0ZWQpCi0gICAgICAgIHJl
dHVybiBudWxscHRyOwotICAgIHJldHVybiBtX3NlcnZpY2VXb3JrZXIucHRyKCk7CisgICAgcmV0
dXJuIG1fYWN0aXZlV29ya2VyLmdldCgpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OnNldEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2Vydmlj
ZVdvcmtlcikKK3sKKyAgICBtX2luc3RhbGxpbmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3Jr
ZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3Jr
ZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sKKyAgICBtX3dhaXRp
bmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OnNldEFjdGl2ZVdvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJiBz
ZXJ2aWNlV29ya2VyKQoreworICAgIG1fYWN0aXZlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29y
a2VyKTsKK30KKworU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0
TmV3ZXN0V29ya2VyKCkKK3sKKyAgICBpZiAobV9pbnN0YWxsaW5nV29ya2VyKQorICAgICAgICBy
ZXR1cm4gbV9pbnN0YWxsaW5nV29ya2VyLmdldCgpOworICAgIGlmIChtX3dhaXRpbmdXb3JrZXIp
CisgICAgICAgIHJldHVybiBtX3dhaXRpbmdXb3JrZXIuZ2V0KCk7CisKKyAgICByZXR1cm4gbV9h
Y3RpdmVXb3JrZXIuZ2V0KCk7CiB9CiAKIGNvbnN0IFN0cmluZyYgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbjo6c2NvcGUoKSBjb25zdApAQCAtODQsNyArMTAyLDI3IEBAIFNlcnZpY2VXb3JrZXJV
cGRhdGVWaWFDYWNoZSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSgp
IGNvbnN0CiAKIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlKFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9u
KE5vdFN1cHBvcnRlZEVycm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBhdXRvKiBjb250ZXh0ID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOworICAgIGlmICghY29udGV4dCkgeworICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJ
bnZhbGlkU3RhdGVFcnJvcikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byog
Y29udGFpbmVyID0gY29udGV4dC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpOworICAgIGlmICgh
Y29udGFpbmVyKSB7CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0
YXRlRXJyb3IpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIG5ld2VzdFdv
cmtlciA9IGdldE5ld2VzdFdvcmtlcigpOworICAgIGlmICghbmV3ZXN0V29ya2VyKSB7CisgICAg
ICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgibmV3ZXN0V29ya2VyIGlzIG51bGwiKSkpOworICAgICAgICByZXR1cm47CisgICAgfQor
CisgICAgLy8gRklYTUU6IFN1cHBvcnQgd29ya2VyIHR5cGVzLgorICAgIGNvbnRhaW5lci0+dXBk
YXRlUmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgbmV3ZXN0V29ya2Vy
LT5zY3JpcHRVUkwoKSwgV29ya2VyVHlwZTo6Q2xhc3NpYywgV1RGTW92ZShwcm9taXNlKSk7CiB9
CiAKIHZvaWQgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdpc3RlcihSZWY8RGVmZXJy
ZWRQcm9taXNlPiYmIHByb21pc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCBiZTdlZmJhYjQ1
MjBhMTAzMzhiMzlkZTZmNzAyMzdkMzBkODk3ZDJmLi5lNjU4YTVmYjEyYTI4OWMxMzkxOTE5N2Nj
N2U5NmQyMmZkNTQyMTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTUzLDYgKzUzLDEyIEBA
IHB1YmxpYzoKICAgICBTZXJ2aWNlV29ya2VyKiB3YWl0aW5nKCk7CiAgICAgU2VydmljZVdvcmtl
ciogYWN0aXZlKCk7CiAKKyAgICB2b2lkIHNldEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZp
Y2VXb3JrZXI+JiYpOworICAgIHZvaWQgc2V0V2FpdGluZ1dvcmtlcihSZWZQdHI8U2VydmljZVdv
cmtlcj4mJik7CisgICAgdm9pZCBzZXRBY3RpdmVXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+
JiYpOworCisgICAgU2VydmljZVdvcmtlciogZ2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBjb25z
dCBTdHJpbmcmIHNjb3BlKCkgY29uc3Q7CiAgICAgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hl
IHVwZGF0ZVZpYUNhY2hlKCkgY29uc3Q7CiAKQEAgLTY3LDcgKzczLDcgQEAgcHVibGljOgogICAg
IHZvaWQgdXBkYXRlU3RhdGVGcm9tU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0
ZSwgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pOwogCiBwcml2YXRlOgot
ICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJl
ZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YSYmLCBSZWY8U2VydmljZVdvcmtlcj4mJik7CisgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYs
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgRXZlbnRUYXJnZXRJbnRl
cmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKICAgICBTY3JpcHRFeGVj
dXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CkBAIC03
OCw4ICs4NCwxMSBAQCBwcml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGNvbnN0IGZpbmFsOwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEgbV9yZWdpc3RyYXRpb25EYXRhOwotICAgIFJlZjxTZXJ2aWNlV29ya2VyPiBtX3NlcnZpY2VX
b3JrZXI7CiAgICAgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+IG1fY29udGFpbmVyOworCisg
ICAgUmVmUHRyPFNlcnZpY2VXb3JrZXI+IG1faW5zdGFsbGluZ1dvcmtlcjsKKyAgICBSZWZQdHI8
U2VydmljZVdvcmtlcj4gbV93YWl0aW5nV29ya2VyOworICAgIFJlZlB0cjxTZXJ2aWNlV29ya2Vy
PiBtX2FjdGl2ZVdvcmtlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9i
UXVldWUuY3BwCmluZGV4IDIyNmYxYTMxYmZhOWQ3MDhjOGFjOTZmNTVmNGZkZjlkZjEyMjdkMGIu
LjVlMDE1ZmMwZjdiMjA4MDkyYTVmZDBjMGU3OGVhNDAyOWU3ZTcwZGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1
ZXVlLmNwcApAQCAtNTgsMTggKzU4LDM1IEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0
RmV0Y2hGaW5pc2hlZChTV1NlcnZlcjo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAg
YXV0byogcmVnaXN0cmF0aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0
aW9uS2V5KTsKICAgICBBU1NFUlQocmVnaXN0cmF0aW9uKTsKIAorICAgIGF1dG8qIG5ld2VzdFdv
cmtlciA9IHJlZ2lzdHJhdGlvbi0+Z2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBpZiAoIXJlc3Vs
dC5zY3JpcHRFcnJvci5pc051bGwoKSkgewotICAgICAgICByZWplY3RDdXJyZW50Sm9iKEV4Y2Vw
dGlvbkRhdGEgeyBVbmtub3duRXJyb3IsIG1ha2VTdHJpbmcoIlNjcmlwdCBVUkwgIiwgam9iLnNj
cmlwdFVSTC5zdHJpbmcoKSwgIiBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogIiwgcmVzdWx0LnNj
cmlwdEVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCkpIH0pOworICAgICAgICAvLyBJbnZva2Ug
UmVqZWN0IEpvYiBQcm9taXNlIHdpdGggam9iIGFuZCBUeXBlRXJyb3IuCisgICAgICAgIG1fc2Vy
dmVyLnJlamVjdEpvYihmaXJzdEpvYigpLCBFeGNlcHRpb25EYXRhIHsgVHlwZUVycm9yLCBtYWtl
U3RyaW5nKCJTY3JpcHQgVVJMICIsIGpvYi5zY3JpcHRVUkwuc3RyaW5nKCksICIgZmV0Y2ggcmVz
dWx0ZWQgaW4gZXJyb3I6ICIsIHJlc3VsdC5zY3JpcHRFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlv
bigpKSB9KTsKIAotICAgICAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbnVsbCwgaW52b2tlIENs
ZWFyIFJlZ2lzdHJhdGlvbiBhbGdvcml0aG0gcGFzc2luZyB0aGlzIHJlZ2lzdHJhdGlvbiBhcyBp
dHMgYXJndW1lbnQuCi0gICAgICAgIGlmICghcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIo
KSkKKyAgICAgICAgLy8gSWYgbmV3ZXN0V29ya2VyIGlzIG51bGwsIGludm9rZSBDbGVhciBSZWdp
c3RyYXRpb24gYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uIGFzIGl0cyBhcmd1bWVudC4K
KyAgICAgICAgaWYgKCFuZXdlc3RXb3JrZXIpCiAgICAgICAgICAgICBjbGVhclJlZ2lzdHJhdGlv
bigqcmVnaXN0cmF0aW9uKTsKIAorICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpv
YiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIEZJWE1FOiBJZiB0aGUgc2NyaXB0IGRhdGEg
bWF0Y2hlcyBieXRlLWZvci1ieXRlIHdpdGggdGhlIGV4aXN0aW5nIG5ld2VzdFdvcmtlciwKLSAg
ICAvLyB0aGVuIHJlc29sdmUgYW5kIGZpbmlzaCB0aGUgam9iIHdpdGhvdXQgZG9pbmcgYW55dGhp
bmcgZnVydGhlci4KKyAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbm90IG51bGwsIG5ld2VzdFdv
cmtlcidzIHNjcmlwdCB1cmwgZXF1YWxzIGpvYidzIHNjcmlwdCB1cmwgd2l0aCB0aGUgZXhjbHVk
ZSBmcmFnbWVudHMKKyAgICAvLyBmbGFnIHNldCwgYW5kIHNjcmlwdCdzIHNvdXJjZSB0ZXh0IGlz
IGEgYnl0ZS1mb3ItYnl0ZSBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcidzIHNjcmlwdCByZXNvdXJj
ZSdzIHNvdXJjZQorICAgIC8vIHRleHQsIHRoZW46CisgICAgaWYgKG5ld2VzdFdvcmtlciAmJiBl
cXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCks
IGpvYi5zY3JpcHRVUkwpICYmIHJlc3VsdC5zY3JpcHQgPT0gbmV3ZXN0V29ya2VyLT5zY3JpcHQo
KSkgeworICAgICAgICAvLyBGSVhNRTogaWYgc2NyaXB0IGlzIGEgY2xhc3NpYyBzY3JpcHQsIGFu
ZCBzY3JpcHQncyBtb2R1bGUgcmVjb3JkJ3MgW1tFQ01BU2NyaXB0Q29kZV1dIGlzIGEgYnl0ZS1m
b3ItYnl0ZQorICAgICAgICAvLyBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcuKAmXMgc2NyaXB0IHJl
c291cmNlJ3MgbW9kdWxlIHJlY29yZCdzIFtbRUNNQVNjcmlwdENvZGVdXSBvdGhlcndpc2UuCisK
KyAgICAgICAgLy8gSW52b2tlIFJlc29sdmUgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIHJlZ2lz
dHJhdGlvbi4KKyAgICAgICAgbV9zZXJ2ZXIucmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihqb2IsIHJl
Z2lzdHJhdGlvbi0+ZGF0YSgpKTsKKworICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRo
IGpvYiBhbmQgYWJvcnQgdGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9w
ZXIgd29ya2VyIHR5cGUgKGNsYXNzaWMgdnMgbW9kdWxlKQogICAgIG1fc2VydmVyLnVwZGF0ZVdv
cmtlcihjb25uZWN0aW9uLCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnNjcmlwdFVSTCwgcmVzdWx0
LnNjcmlwdCwgV29ya2VyVHlwZTo6Q2xhc3NpYyk7CkBAIC03NywxMCArOTQsMTYgQEAgdm9pZCBT
V1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRGZXRjaEZpbmlzaGVkKFNXU2VydmVyOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uLCBjb24KIAogdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRDb250ZXh0
RmFpbGVkVG9TdGFydChTV1NlcnZlcjo6Q29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKKyAgICBhdXRvKiByZWdp
c3RyYXRpb24gPSBtX3NlcnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOwor
ICAgIEFTU0VSVChyZWdpc3RyYXRpb24pOworCiAgICAgLy8gRklYTUU6IEluc3RhbGwgaGFzIGZh
aWxlZC4gUnVuIHRoZSBpbnN0YWxsIGZhaWxlZCBzdWJzdGVwcwogICAgIC8vIFJ1biB0aGUgVXBk
YXRlIFdvcmtlciBTdGF0ZSBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb27igJlzIGluc3Rh
bGxpbmcgd29ya2VyIGFuZCByZWR1bmRhbnQgYXMgdGhlIGFyZ3VtZW50cy4KICAgICAvLyBSdW4g
dGhlIFVwZGF0ZSBSZWdpc3RyYXRpb24gU3RhdGUgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0
aW9uLCAiaW5zdGFsbGluZyIgYW5kIG51bGwgYXMgdGhlIGFyZ3VtZW50cy4KKwogICAgIC8vIElm
IG5ld2VzdFdvcmtlciBpcyBudWxsLCBpbnZva2UgQ2xlYXIgUmVnaXN0cmF0aW9uIGFsZ29yaXRo
bSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCisgICAgaWYgKCFyZWdpc3Ry
YXRpb24tPmdldE5ld2VzdFdvcmtlcigpKQorICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVn
aXN0cmF0aW9uKTsKIAogICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICAgICBVTlVTRURf
UEFSQU0obWVzc2FnZSk7CkBAIC0xMTQsNiArMTM3LDkgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVl
OjpydW5OZXh0Sm9iU3luY2hyb25vdXNseSgpCiAgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlw
ZTo6VW5yZWdpc3RlcjoKICAgICAgICAgcnVuVW5yZWdpc3RlckpvYihqb2IpOwogICAgICAgICBy
ZXR1cm47CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgorICAgICAgICBy
dW5VcGRhdGVKb2Ioam9iKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJFTEVBU0Vf
QVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0yMDEsNiArMjI3LDcgQEAgdm9pZCBTV1NlcnZlckpv
YlF1ZXVlOjpjbGVhclJlZ2lzdHJhdGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0
aW9uKQogLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdv
cml0aG0KIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKGNvbnN0IFNlcnZpY2VX
b3JrZXJKb2JEYXRhJiBqb2IpCiB7CisgICAgLy8gTGV0IHJlZ2lzdHJhdGlvbiBiZSB0aGUgcmVz
dWx0IG9mIHJ1bm5pbmcgdGhlIEdldCBSZWdpc3RyYXRpb24gYWxnb3JpdGhtIHBhc3Npbmcgam9i
4oCZcyBzY29wZSB1cmwgYXMgdGhlIGFyZ3VtZW50LgogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9
IG1fc2VydmVyLmdldFJlZ2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAKICAgICAvLyBJ
ZiByZWdpc3RyYXRpb24gaXMgbnVsbCAoaW4gb3VyIHBhcmxhbmNlICJlbXB0eSIpIG9yIHJlZ2lz
dHJhdGlvbuKAmXMgdW5pbnN0YWxsaW5nIGZsYWcgaXMgc2V0LCB0aGVuOgpAQCAtMjA5LDkgKzIz
NiwxMSBAQCB2b2lkIFNXU2VydmVySm9iUXVldWU6OnJ1blVwZGF0ZUpvYihjb25zdCBTZXJ2aWNl
V29ya2VySm9iRGF0YSYgam9iKQogICAgIGlmIChyZWdpc3RyYXRpb24tPmlzVW5pbnN0YWxsaW5n
KCkpCiAgICAgICAgIHJldHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBl
RXJyb3IsIEFTQ0lJTGl0ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lz
dHJhdGlvbiB0aGF0IGlzIHVuaW5zdGFsbGluZyIpIH0pOwogCi0gICAgLy8gSWYgam9iJ3MgdHlw
ZSBpcyB1cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXLigJlzIHNjcmlwdCB1cmwgZG9lcyBub3QgZXF1
YWwgam9i4oCZcyBzY3JpcHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21lbnRzIGZsYWcgc2V0
LCB0aGVuOgorICAgIC8vIExldCBuZXdlc3RXb3JrZXIgYmUgdGhlIHJlc3VsdCBvZiBydW5uaW5n
IEdldCBOZXdlc3QgV29ya2VyIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyB0aGUg
YXJndW1lbnQuCiAgICAgYXV0byogbmV3ZXN0V29ya2VyID0gcmVnaXN0cmF0aW9uLT5nZXROZXdl
c3RXb3JrZXIoKTsKLSAgICBpZiAobmV3ZXN0V29ya2VyICYmICFlcXVhbElnbm9yaW5nRnJhZ21l
bnRJZGVudGlmaWVyKGpvYi5zY3JpcHRVUkwsIG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCkpKQor
CisgICAgLy8gSWYgam9iJ3MgdHlwZSBpcyB1cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXIncyBzY3Jp
cHQgdXJsIGRvZXMgbm90IGVxdWFsIGpvYuKAmXMgc2NyaXB0IHVybCB3aXRoIHRoZSBleGNsdWRl
IGZyYWdtZW50cyBmbGFnIHNldCwgdGhlbjoKKyAgICBpZiAoam9iLnR5cGUgPT0gU2VydmljZVdv
cmtlckpvYlR5cGU6OlVwZGF0ZSAmJiBuZXdlc3RXb3JrZXIgJiYgIWVxdWFsSWdub3JpbmdGcmFn
bWVudElkZW50aWZpZXIoam9iLnNjcmlwdFVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSkp
CiAgICAgICAgIHJldHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJy
b3IsIEFTQ0lJTGl0ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHdpdGggYSBy
ZXF1ZXN0ZWQgc2NyaXB0IFVSTCB3aG9zZSBuZXdlc3Qgd29ya2VyIGhhcyBhIGRpZmZlcmVudCBz
Y3JpcHQgVVJMIikgfSk7CiAKICAgICBtX3NlcnZlci5zdGFydFNjcmlwdEZldGNoKGpvYik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlZjMzZGI0MjM5N2ZkODgwMGI2YTI0OWE5
YTEwMGZiYTIyYTBkYzZlLi5mYjUzNjk4YjdkYjU2NWJiM2MyZGZkZDc4ZWUwZTMyZmI1ZDJjYzUy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxNy0x
MS0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnVwZGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzkyNzAKKworICAgICAgICBSZXZpZXdlZCBi
eSBZb3Vlbm4gRmFibGV0LgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIG5vdyB0aGF0
IG1vcmUgYXJlIHBhc3Npbmcgb3IgYXQgbGVhc3QgZmFpbGluZyBsYXRlci4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0t
YWZmZWN0LW90aGVyLXJlZ2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13
aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGly
ZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0
bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91
bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICBJIGludmVzdGlnYXRlZCB0aGlzIHRlc3QgYW5k
IGl0IGlzIHN0aWxsIGZhaWxpbmcgbGF0ZXIgb24gYmVjYXVzZSB3ZSBjbGVhciByZWdpc3RyYXRp
b25zIHRvbworICAgICAgICBhZ2dyZXNzaXZlbHkgb24gdGhlIFN0b3JhZ2VQcm9jZXNzIHNpZGUg
d2UgYXJlIHN1cHBvc2VkIHRvIG1ha2Ugc3VyZSB0aGUgcmVnaXN0cmF0aW9uIGRvZXMKKyAgICAg
ICAgbm90IGhhdmUgYSBuZXdlc3RXb3JrZXIgYmVmb3JlIGNsZWFyaW5nIGl0IHdoZW4gYSBzY3Jp
cHQgZmV0Y2ggZmFpbHMgb3IgYSBzY3JpcHQgc3ludGF4IGVycm9yCisgICAgICAgIG9jY3Vycy4g
V2UgcHJvcGVybHkgaGF2ZSB0aG9zZSBpZiAoIW5ld2VzdFdvcmtlcikgY2hlY2tzIGluIHRoZSBj
b2RlIGJ1dCBzZXJ2aWNlIHdvcmtlcnMKKyAgICAgICAgYXJlIG5vdCB5ZXQgcG9wdWxhdGVkIG9u
IHRoZSBTV1NlcnZlclJlZ2lzdHJhdGlvbiBvYmplY3Qgc28gU1dTZXJ2ZXJSZWdpc3RyYXRpb246
OmdldE5ld2VzdFdvcmtlcigpCisgICAgICAgIGFsd2FzeSByZXR1cm5zIG51bGwuCisKIDIwMTct
MTEtMDQgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbmRleCBw
cm9wZXJ0aWVzIG9uIGNyb3NzIG9yaWdpbiBXaW5kb3cgb2JqZWN0cyBzaG91bGQgYmUgZW51bWVy
YWJsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90aGVyLXJl
Z2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1h
ZmZlY3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxZDQwNWNm
NzM2Y2MwNDQxNzk5NTQyNjk2YmJiMmRhYjE2OTc5YjZiLi40OTFhMDliZTQxMWYxMzUzNTBkNWEz
OTAxZmFiZmEzY2ZhZGU1YjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1h
ZmZlY3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGFpbS1hZmZlY3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKIAogCi1GQUlMIGNsYWltKCkgc2hvdWxkIGFmZmVjdCB0aGUg
b3JpZ2luYWxseSBjb250cm9sbGluZyByZWdpc3RyYXRpb24uIGFzc2VydF9lcXVhbHM6IFNob3Vs
ZCBiZSB0aGUgc2FtZSByZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uXSIKK0ZBSUwgY2xhaW0oKSBzaG91bGQgYWZmZWN0IHRoZSBvcmlnaW5h
bGx5IGNvbnRyb2xsaW5nIHJlZ2lzdHJhdGlvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFBhc3NpbmcgTWVz
c2FnZVBvcnQgb2JqZWN0cyB0byBwb3N0TWVzc2FnZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIKIApk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0td2l0aC1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBz
LWV4cGVjdGVkLnR4dAppbmRleCAyMDFkNTkyYzYyYjc1MjIxNTcxMTlhMDJmNDgxNzE5Zjc1OGJm
MGQwLi40MGNkMTNmNjIzNGViMDI0MDU1NTI4ZDMxYzU3ODcxMzBjMjQ3M2M2IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogVW5oYW5k
bGVkIFByb21pc2UgUmVqZWN0aW9uOiBOb3RTdXBwb3J0ZWRFcnJvcjogU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQKK0NPTlNPTEUgTUVTU0FHRTog
bGluZSAyNzogVW5oYW5kbGVkIFByb21pc2UgUmVqZWN0aW9uOiBJbnZhbGlkU3RhdGVFcnJvcjog
bmV3ZXN0V29ya2VyIGlzIG51bGwKICAgCiAKIEZBSUwgQ2xhaW0gd29ya3MgYWZ0ZXIgcmVkaXJl
Y3Rpb24gdG8gYW5vdGhlciBvcmlnaW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykg
InVwZGF0ZWQiIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggZDZlMDEwNDhmOWUyZTNjYjlhMzU0MGI2ZmNlZDYzNzg0YTJiMjk0Ny4uYWFk
Nzg1OWI0MmFlZjg1NWVhNTY2YmRlMGI2MzdkNjQyZmE3ZmQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvaW1wb3J0LXNjcmlwdHMtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBzLWV4cGVj
dGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogUEFTUyBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMg
cmVkaXJlY3RzIAotRkFJTCBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMgcmVkaXJlY3RzIGFuZCBj
YW4gYmUgdXBkYXRlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJOb3RTdXBwb3J0ZWRFcnJvcjogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
dXBkYXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCitQQVNTIGltcG9ydFNjcmlwdHMoKSBzdXBwb3J0
cyByZWRpcmVjdHMgYW5kIGNhbiBiZSB1cGRhdGVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9tdWx0aXBsZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzMyZTEw
ZTE0ZDRiMTE5NWYwNzllYWU4ZjY0MjQ2NmQ3OTc4ZmUyOS4uMTU2NjU1Nzc2NjhmZGZlMGQ0NTAy
MDYyZjdmZmNmN2JiMWY2NzcyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlw
bGUtcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211
bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogCi1G
QUlMIFN1YnNlcXVlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJh
dGlvbiBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2Vy
dF9lcXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlv
biBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1
dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgU3Vic2VxdWVudCByZWdpc3RyYXRpb25zIHJlc29sdmUg
dG8gdGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCAKIEZBSUwgU3Vic2VxdWVudCByZWdpc3Ry
YXRpb25zIGZyb20gYSBkaWZmZXJlbnQgaWZyYW1lIHJlc29sdmUgdG8gdGhlIGRpZmZlcmVudCBy
ZWdpc3RyYXRpb24gb2JqZWN0IGJ1dCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlv
biBhbmQgd29ya2VycyBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNz
ZXJ0X2VxdWFsczogaW5zdGFsbGluZyB3b3JrZXIgc2hvdWxkIGJlIG51bGwgZXhwZWN0ZWQgbnVs
bCBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCi1GQUlMIENvbmN1cnJlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBz
YW1lIHJlZ2lzdHJhdGlvbiBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWpl
Y3Rpb246IGFzc2VydF9lcXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1l
IHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ29uY3VycmVudCByZWdpc3RyYXRp
b25zIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCAKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggZDA5NTI3YjIwOGVkZjg3NWU4YTM2MDA3MDRmMWFhNWY3OTAzZGNkZi4uNGNlNGUxZDYyNGY4
NDk2MTU5NzNmMGE2ZDQ5ZmIwZTZkM2ZiZDMxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9tdWx0aXBsZS11cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIFRyaWdnZXIgbXVsdGlwbGUgdXBkYXRlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIgorUEFTUyBUcmln
Z2VyIG11bHRpcGxlIHVwZGF0ZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9w
b3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtl
ci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMjA0OTk5NDUzYWVjMmUzNzI0ZGI4Zjk4ZWYxMWYz
Y2M0ZWM0NzAwOC4uY2ZkMTBhZDQ3NmExYzg0NDVkNjkzMDhlNDExMTE2ODAwODY5NTE3ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJvbS13YWl0aW5nLXNlcnZp
Y2V3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3Rt
ZXNzYWdlLWZyb20td2FpdGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MSw0ICsxLDQgQEAKIAogCi1GQUlMIENsaWVudC5wb3N0TWVzc2FnZSgpIGZyb20gd2FpdGluZyBz
ZXJ2aWNld29ya2VyLiBhc3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNz
ZXJ0X2VxdWFsczogc2hvdWxkIGJlIHNhbWUgcmVnaXN0cmF0aW9uIGV4cGVjdGVkIG9iamVjdCAi
W29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltvYmpl
Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQor
RkFJTCBDbGllbnQucG9zdE1lc3NhZ2UoKSBmcm9tIHdhaXRpbmcgc2VydmljZXdvcmtlci4gYXNz
ZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IG1lc3Nh
Z2UgZXZlbnQgc291cmNlIHNob3VsZCBiZSBjb3JyZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBv
YmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYTU1MTcw
ZWU4NTM1NTAzN2IyYWE1MTA1YWRiNzQwMWE3Njk4Zjg2ZC4uMDQ4OTQxN2RmNzIyODk2MWZiZDQy
MmRlMDRjZjBmMjY3MzUzYjUyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHku
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMTAsNSArMTAsNSBAQCBGQUlMIHJlYWR5IG9uIGFuIGlmcmFtZSB3aG9z
ZSBwYXJlbnQgcmVnaXN0ZXJzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHByb21pc2VfdGVzdAogRkFJ
TCByZWFkeSBvbiBhbiBpZnJhbWUgdGhhdCBpbnN0YWxscyBhIG5ldyBzZXJ2aWNlIHdvcmtlciBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtu
b3duRXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgog
RkFJTCByZWFkeSBhZnRlciBhIGxvbmdlciBtYXRjaGVkIHJlZ2lzdHJhdGlvbiByZWdpc3RlcmVk
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVu
a25vd25FcnJvcjogc2VydmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQi
CiBGQUlMIGFjY2VzcyByZWFkeSBhZnRlciBpdCBoYXMgYmVlbiByZXNvbHZlZCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6
IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgotRkFJTCBhY2Nl
c3MgcmVhZHkgb24gdW5pbnN0YWxsaW5nIHJlZ2lzdHJhdGlvbiB0aGF0IGlzIHJlc3VycmVjdGVk
IGFzc2VydF9lcXVhbHM6IGV4aXN0aW5nIHJlZ2lzdHJhdGlvbiBzaG91bGQgYmUgcmVzdXJyZWN0
ZWQgZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBi
dXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIKK0ZBSUwg
YWNjZXNzIHJlYWR5IG9uIHVuaW5zdGFsbGluZyByZWdpc3RyYXRpb24gdGhhdCBpcyByZXN1cnJl
Y3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJVbmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVu
dGVkIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3Jp
cHQuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGFlMDlkMTM4NzJmY2FlYThkNDc1OTYxMDhlMzk1
M2U0OWVhMDBlYTEuLmQzYTdkZDg0NWUxZTRjYmYyMzk0N2U5N2MwM2JhMDgwZGNlNDdlMjQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0
cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFJlZ2lzdGVyaW5nIGludmFs
aWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9m
IGludmFsaWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgc2hvdWxkIGZhaWwuIGZ1bmN0aW9uICJm
dW5jdGlvbiAoKSB7IHRocm93IGUgfSIgdGhyZXcgb2JqZWN0ICJVbmtub3duRXJyb3I6IFNjcmlw
dCBVUkwgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL2ludmFsaWQtY2h1bmtlZC1lbmNvZGluZy5weSBmZXRjaCByZXN1bHRlZCBp
biBlcnJvcjogY2Fubm90IHBhcnNlIHJlc3BvbnNlIiAoIlVua25vd25FcnJvciIpIGV4cGVjdGVk
IG9iamVjdCAiVHlwZUVycm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIFJlZ2lzdGVyaW5nIGludmFs
aWQgY2h1bmtlZCBlbmNvZGluZyBzY3JpcHQgd2l0aCBmbHVzaCBhc3NlcnRfdGhyb3dzOiBSZWdp
c3RyYXRpb24gb2YgaW52YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBzaG91bGQgZmFpbC4g
ZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25F
cnJvcjogU2NyaXB0IFVSTCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW52YWxpZC1jaHVua2VkLWVuY29kaW5nLXdpdGgtZmx1
c2gucHkgZmV0Y2ggcmVzdWx0ZWQgaW4gZXJyb3I6IGNhbm5vdCBwYXJzZSByZXNwb25zZSIgKCJV
bmtub3duRXJyb3IiKSBleHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQor
UEFTUyBSZWdpc3RlcmluZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IAorUEFTUyBS
ZWdpc3RlcmluZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IHdpdGggZmx1c2ggCiBG
QUlMIFJlZ2lzdGVyaW5nIHNjcmlwdCBpbmNsdWRpbmcgcGFyc2UgZXJyb3IgYXNzZXJ0X3VucmVh
Y2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBvZiBzY3JpcHQgaW5jbHVk
aW5nIHBhcnNlIGVycm9yIHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZB
SUwgUmVnaXN0ZXJpbmcgc2NyaXB0IGluY2x1ZGluZyB1bmRlZmluZWQgZXJyb3IgYXNzZXJ0X3Vu
cmVhY2hlZDogU2hvdWxkIGhhdmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBvZiBzY3JpcHQgaW5j
bHVkaW5nIHVuZGVmaW5lZCBlcnJvciBzaG91bGQgZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBj
b2RlCiBGQUlMIFJlZ2lzdGVyaW5nIHNjcmlwdCBpbmNsdWRpbmcgdW5jYXVnaHQgZXhjZXB0aW9u
IGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBSZWdpc3RyYXRpb24gb2Yg
c2NyaXB0IGluY2x1ZGluZyB1bmNhdWdodCBleGNlcHRpb24gc2hvdWxkIGZhaWwuIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0
aW5nLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5o
dHRwcy1leHBlY3RlZC50eHQKaW5kZXggZTNlMDVkMDk3YjNmYWYxNWJmOWUyYzYwNTBkNTdmZjNh
NTY4YmRmMC4uNDgxOTNhNGE1YTI1MWUzZGQ2NzAwNWY2MjdkMWJlZGJlODRjZjJiYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3Qgc2tpcFdhaXRpbmcgd2l0aCBib3RoIGFjdGl2ZSBh
bmQgd2FpdGluZyB3b3JrZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0
aW5nICd3YWl0aW5nX3dvcmtlci5zY3JpcHRVUkwnKSIKK0ZBSUwgVGVzdCBza2lwV2FpdGluZyB3
aXRoIGJvdGggYWN0aXZlIGFuZCB3YWl0aW5nIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogV29ya2Vy
IHdpdGggdXJsMiBzaG91bGQgYmUgd2FpdGluZyBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6
OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtl
ci5qcyIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LmpzIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvdW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4
dAppbmRleCA4MGMzNTI1OTcwNjBjZWRhYWIwMTFlMDg0Zjk3NmMwOGY5ODExN2VjLi5iZGIxOWFl
MTExZDRhZGMzM2VlMmE3MjAzYWQ5NmI1OTM2ZTIxMjYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci91bnJlZ2lzdGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTEsNyArMSw3IEBACiAKIAotUEFTUyBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIg
cmVzb2x2ZXMgdG8gYSBuZXcgdmFsdWUgCi1GQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciBy
ZXNvbHZlcyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1
c2UuIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxz
OiBuZXcgcmVnaXN0cmF0aW9uIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlv
biBleHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1
dCBnb3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKK0ZBSUwgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVyIHJlc29sdmVz
IHRvIGEgbmV3IHZhbHVlIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBh
c3NlcnRfbm90X2VxdWFsczogcmVnaXN0ZXIgc2hvdWxkIHJlc29sdmUgdG8gYSBuZXcgdmFsdWUg
Z290IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVW5yZWdpc3RlciB0aGVuIHJl
Z2lzdGVyIHJlc29sdmVzIHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBpZiB0aGUgcmVnaXN0cmF0aW9u
IGlzIGluIHVzZS4gCiBQQVNTIFJlbG9hZGluZyB0aGUgbGFzdCBjb250cm9sbGVkIGlmcmFtZSBh
ZnRlciB1bnJlZ2lzdHJhdGlvbiBzaG91bGQgZW5zdXJlIHRoZSBkZWxldGlvbiBvZiB0aGUgcmVn
aXN0cmF0aW9uIAogRkFJTCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgZG9lcyBub3QgYWZmZWN0
IGV4aXN0aW5nIGNvbnRyb2xsZWUgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rp
b246IGFzc2VydF9lcXVhbHM6IGluc3RhbGxpbmcgdmVyc2lvbiBpcyBudWxsIGV4cGVjdGVkIG51
bGwgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFj
aGFibGUgY29kZQogRkFJTCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzdXJyZWN0cyB0aGUg
cmVnaXN0cmF0aW9uIGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3Nl
cnRfbm90X2VxdWFsczogZG9jdW1lbnQgc2hvdWxkIGhhdmUgYSBjb250cm9sbGVyIGdvdCBkaXNh
bGxvd2VkIHZhbHVlIG51bGwgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAzOTYwODgxMzY4NjJhZjRhNzU5
ODQ3ZDc1YjgwMDVmYjQ3YjFlZmFlLi4xYjgwNzUyNGY1YTRkYmM2ZjgyMWVmOWYxODcxYzUwYzYz
ZmVmODU1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVXBkYXRlIGEgcmVnaXN0cmF0aW9uLiBhc3NlcnRfdGhy
b3dzOiBVc2luZyBhIGRpc2FsbG93ZWQgbWltZXR5cGUgc2hvdWxkIG1ha2UgdXBkYXRlKCkgcHJv
bWlzZSByZWplY3Qgd2l0aCBhIFNlY3VyaXR5RXJyb3IuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7
IHRocm93IGU7IH0iIHRocmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIiB0aGF0IGlzIG5vdCBh
IERPTUV4Y2VwdGlvbiBTZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8g
OSwgZXhwZWN0ZWQgMTgKK0ZBSUwgVXBkYXRlIGEgcmVnaXN0cmF0aW9uLiBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IENhbm5v
dCB1cGRhdGUgYSBudWxsL25vbmV4aXN0ZW50IHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiIK
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>326072</attachid>
            <date>2017-11-05 12:01:35 -0800</date>
            <delta_ts>2017-11-05 12:01:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-179270-20171105120134.patch</filename>
            <type>text/plain</type>
            <size>42110</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI0NDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhjMmJhNTMxOWFiYmM2
NWU5ZDYyNjcxZDM2ZGRkZjBhOWVlNTQ4NS4uOGY0MTY4OTBjZTJjZDc5ODRhY2FkZjE5MDY5NWYz
MTcxMjc1ZjhmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE3LTExLTAzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24udXBkYXRlKCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE3OTI3MAorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBG
YWJsZXQuCisKKyAgICAgICAgSW1wbGVtZW50IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24udXBk
YXRlKCk6CisgICAgICAgIC0gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3Nl
cnZpY2Utd29ya2VyLXJlZ2lzdHJhdGlvbi11cGRhdGUKKworICAgICAgICBXZSBhbHJlYWR5IGhh
ZCBzdXBwb3J0IGZvciB0aGUgVXBkYXRlIGFsZ29yaXRobSBpbiBTV1NlcnZlckpvYlF1ZXVlIGJ1
dAorICAgICAgICB0aGlzIHBhdGNoIGVuaGFuY2VzIG91ciBzdXBwb3J0IGEgYml0IHRvIGdldCB1
cyBjbG9zZXIgdG8gdGhlIHNwZWNpZmljYXRpb246CisgICAgICAgIC0gaHR0cHM6Ly93M2MuZ2l0
aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0KKworICAgICAgICBObyBuZXcg
dGVzdHMsIHJlYmFzZWxpbmVkIGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ29u
dGFpbmVyOjp1cGRhdGVSZWdpc3RyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckNvbnRhaW5lcjo6Z2V0UmVnaXN0cmF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OmpvYlJlc29sdmVkV2l0aFJlZ2lzdHJhdGlvbik6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkRhdGEuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNlcnZpY2VXb3JrZXJKb2JEYXRhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
U2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJKb2JUeXBlLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjppbnN0YWxsaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OndhaXRpbmcpOgorICAgICAgICAoV2Vi
Q29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6YWN0aXZlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldEluc3RhbGxpbmdXb3JrZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2V0V2FpdGluZ1dvcmtl
cik6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpzZXRBY3Rp
dmVXb3JrZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6
Z2V0TmV3ZXN0V29ya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OnVwZGF0ZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24uaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVy
Sm9iUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0
RmV0Y2hGaW5pc2hlZCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlckpvYlF1ZXVlOjpzY3Jp
cHRDb250ZXh0RmFpbGVkVG9TdGFydCk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZlckpvYlF1
ZXVlOjpydW5OZXh0Sm9iU3luY2hyb25vdXNseSk6CisgICAgICAgIChXZWJDb3JlOjpTV1NlcnZl
ckpvYlF1ZXVlOjpydW5VcGRhdGVKb2IpOgorCiAyMDE3LTExLTA0ICBTaW1vbiBGcmFzZXIgIDxz
aW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgY29kZSB0aGF0IG1hcHMgYSBD
b21wb3NpdGVPcGVyYXRvciBhbmQgQmxlbmRNb2RlIHRvIGEgQ0dCbGVuZE1vZGUgaW50byBhIGhl
bHBlciBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyLmgKaW5kZXggOGVlZGU5YmQ0ZDczNDRkOTI2MmJhMDEzNjM0MjcxODg4M2I0YjVlYS4u
NWFmM2Y0MjNjM2VjNDk3YjMwZmE3MzBlYTllMTc2NzcxOThhZWUxNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5oCkBAIC01OSw3ICs1OSw3IEBA
IHB1YmxpYzoKICAgICAgICAgUmVkdW5kYW50LAogICAgIH07CiAKLSAgICBjb25zdCBTdHJpbmcm
IHNjcmlwdFVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0VVJMLnN0cmluZygpOyB9CisgICAg
Y29uc3QgVVJMJiBzY3JpcHRVUkwoKSBjb25zdCB7IHJldHVybiBtX3NjcmlwdFVSTDsgfQogCiAg
ICAgU3RhdGUgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9CiAgICAgdm9pZCBzZXRT
dGF0ZShTdGF0ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKaW5kZXggYjg3YWFkYjdkOTVmMmQyOTcyZGIz
NjQwMDg4MTU4YmIwZWM3M2Q1MS4uYzRhMWVjYzhlMGEyZWY2ZTM0ZmI5ZDRkOWM1MmZiZGE5YzAz
YzdhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAtMTY1LDYgKzE2NSwzMSBAQCB2b2lkIFNlcnZp
Y2VXb3JrZXJDb250YWluZXI6OnJlbW92ZVJlZ2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3BlVVJM
LCBSZWY8RGVmZXJyZQogICAgIHNjaGVkdWxlSm9iKFNlcnZpY2VXb3JrZXJKb2I6OmNyZWF0ZSgq
dGhpcywgV1RGTW92ZShwcm9taXNlKSwgV1RGTW92ZShqb2JEYXRhKSkpOwogfQogCit2b2lkIFNl
cnZpY2VXb3JrZXJDb250YWluZXI6OnVwZGF0ZVJlZ2lzdHJhdGlvbihjb25zdCBVUkwmIHNjb3Bl
VVJMLCBjb25zdCBVUkwmIHNjcmlwdFVSTCwgV29ya2VyVHlwZSwgUmVmPERlZmVycmVkUHJvbWlz
ZT4mJiBwcm9taXNlKQoreworICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250
ZXh0KCk7CisgICAgaWYgKCFjb250ZXh0IHx8ICFjb250ZXh0LT5zZXNzaW9uSUQoKS5pc1ZhbGlk
KCkpIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHByb21pc2UtPnJl
amVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IpKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGlmICghbV9zd0Nvbm5lY3Rpb24pIHsKKyAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CisgICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJy
b3IpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFNlcnZpY2VXb3JrZXJKb2JEYXRh
IGpvYkRhdGEobV9zd0Nvbm5lY3Rpb24tPmlkZW50aWZpZXIoKSk7CisgICAgam9iRGF0YS5jbGll
bnRDcmVhdGlvblVSTCA9IGNvbnRleHQtPnVybCgpOworICAgIGpvYkRhdGEudG9wT3JpZ2luID0g
U2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tU2VjdXJpdHlPcmlnaW4oY29udGV4dC0+dG9wT3JpZ2lu
KCkpOworICAgIGpvYkRhdGEudHlwZSA9IFNlcnZpY2VXb3JrZXJKb2JUeXBlOjpVcGRhdGU7Cisg
ICAgam9iRGF0YS5zY29wZVVSTCA9IHNjb3BlVVJMOworICAgIGpvYkRhdGEuc2NyaXB0VVJMID0g
c2NyaXB0VVJMOworCisgICAgc2NoZWR1bGVKb2IoU2VydmljZVdvcmtlckpvYjo6Y3JlYXRlKCp0
aGlzLCBXVEZNb3ZlKHByb21pc2UpLCBXVEZNb3ZlKGpvYkRhdGEpKSk7Cit9CisKIHZvaWQgU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6c2NoZWR1bGVKb2IoUmVmPFNlcnZpY2VXb3JrZXJKb2I+JiYg
am9iKQogewogICAgIEFTU0VSVChtX3N3Q29ubmVjdGlvbik7CkBAIC0yMDYsOCArMjMxLDkgQEAg
dm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5n
JiBjbGllbnRVUkwsIFJlZjxEZWZlcnIKICAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24+IHJlZ2lzdHJhdGlvbiA9IG1fcmVnaXN0cmF0aW9ucy5nZXQocmVzdWx0LT5rZXkp
OwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbikgewogICAgICAgICAgICAgYXV0byYgY29udGV4
dCA9ICpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgICAgICAgICBhdXRvIHdvcmtlciA9
IFNlcnZpY2VXb3JrZXI6OmNyZWF0ZShjb250ZXh0LCAqcmVzdWx0LT5hY3RpdmVTZXJ2aWNlV29y
a2VySWRlbnRpZmllciwgcmVzdWx0LT5zY3JpcHRVUkwpOwotICAgICAgICAgICAgcmVnaXN0cmF0
aW9uID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBX
VEZNb3ZlKHJlc3VsdC52YWx1ZSgpKSwgV1RGTW92ZSh3b3JrZXIpKTsKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbm90IGJlIGNvbnN0cnVjdGluZyBTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uIG9iamVjdHMgaGVyZS4gSW5zdGVhZCwgd2Ugc2hvdWxkIG1ha2UKKyAg
ICAgICAgICAgIC8vIHN1cmUgdGhhdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIG9iamVjdHMg
c3RheXMgYWxpdmUgYXMgbG9uZyBhcyB0aGVpciBTV1NlcnZlclJlZ2lzdHJhdGlvbiBvbiBzZXJ2
ZXIgc2lkZS4KKyAgICAgICAgICAgIHJlZ2lzdHJhdGlvbiA9IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OmNyZWF0ZShjb250ZXh0LCAqdGhpcywgV1RGTW92ZShyZXN1bHQudmFsdWUoKSkpOwog
ICAgICAgICB9CiAgICAgICAgIHByb21pc2UtPnJlc29sdmU8SURMSW50ZXJmYWNlPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+PihyZWdpc3RyYXRpb24ucmVsZWFzZU5vbk51bGwoKSk7CiAgICAg
fSk7CkBAIC0yNTEsOSArMjc3LDEzIEBAIHByaXZhdGU6CiAgICAgICAgIGNhbGxPbk1haW5UaHJl
YWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUobV9yZWdpc3RyYXRpb24pXSAoKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+ZGlzcGF0Y2hFdmVudChFdmVudDo6Y3JlYXRlKGV2
ZW50TmFtZXMoKS51cGRhdGVmb3VuZEV2ZW50LCBmYWxzZSwgZmFsc2UpKTsKICAgICAgICAgICAg
IGNhbGxPbk1haW5UaHJlYWQoW3JlZ2lzdHJhdGlvbiA9IFdURk1vdmUocmVnaXN0cmF0aW9uKV0g
KCkgbXV0YWJsZSB7Ci0gICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5pbnN0YWxsaW5nKCkt
PnNldFN0YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsZWQpOworICAgICAgICAgICAg
ICAgIHJlZ2lzdHJhdGlvbi0+c2V0V2FpdGluZ1dvcmtlcihyZWdpc3RyYXRpb24tPmluc3RhbGxp
bmcoKSk7CisgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5zZXRJbnN0YWxsaW5nV29ya2Vy
KG51bGxwdHIpOworICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+d2FpdGluZygpLT5zZXRT
dGF0ZShTZXJ2aWNlV29ya2VyOjpTdGF0ZTo6SW5zdGFsbGVkKTsKICAgICAgICAgICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFtyZWdpc3RyYXRpb24gPSBXVEZNb3ZlKHJlZ2lzdHJhdGlvbildICgp
IG11dGFibGUgewotICAgICAgICAgICAgICAgICAgICByZWdpc3RyYXRpb24tPndhaXRpbmcoKS0+
c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcpOworICAgICAgICAgICAg
ICAgICAgICByZWdpc3RyYXRpb24tPnNldEFjdGl2ZVdvcmtlcihyZWdpc3RyYXRpb24tPndhaXRp
bmcoKSk7CisgICAgICAgICAgICAgICAgICAgIHJlZ2lzdHJhdGlvbi0+c2V0V2FpdGluZ1dvcmtl
cihudWxscHRyKTsKKyAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9uLT5hY3RpdmUoKS0+
c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcpOwogICAgICAgICAgICAg
ICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtyZWdpc3RyYXRpb24gPSBXVEZNb3ZlKHJlZ2lzdHJh
dGlvbildICgpIG11dGFibGUgewogICAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmF0aW9u
LT5hY3RpdmUoKS0+c2V0U3RhdGUoU2VydmljZVdvcmtlcjo6U3RhdGU6OkFjdGl2YXRlZCk7CiAg
ICAgICAgICAgICAgICAgICAgIH0pOwpAQCAtMjg2LDE0ICszMTYsMTcgQEAgdm9pZCBTZXJ2aWNl
V29ya2VyQ29udGFpbmVyOjpqb2JSZXNvbHZlZFdpdGhSZWdpc3RyYXRpb24oU2VydmljZVdvcmtl
ckpvYiYgam9iLAogICAgICAgICBhY3RpdmVTZXJ2aWNlV29ya2VyID0gY29udGV4dC0+YWN0aXZl
U2VydmljZVdvcmtlcigpOwogICAgIH0KIAotICAgIGFjdGl2ZVNlcnZpY2VXb3JrZXItPnNldFN0
YXRlKFNlcnZpY2VXb3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKTsKKyAgICBSZWZQdHI8U2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbj4gcmVnaXN0cmF0aW9uID0gbV9yZWdpc3RyYXRpb25zLmdldChk
YXRhLmtleSk7CisgICAgaWYgKCFyZWdpc3RyYXRpb24pCisgICAgICAgIHJlZ2lzdHJhdGlvbiA9
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmNyZWF0ZSgqY29udGV4dCwgKnRoaXMsIFdURk1v
dmUoZGF0YSkpOwogCi0gICAgYXV0byByZWdpc3RyYXRpb24gPSBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uOjpjcmVhdGUoKmNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKGRhdGEpLCAqYWN0aXZlU2Vy
dmljZVdvcmtlcik7CisgICAgYWN0aXZlU2VydmljZVdvcmtlci0+c2V0U3RhdGUoU2VydmljZVdv
cmtlcjo6U3RhdGU6Okluc3RhbGxpbmcpOworICAgIHJlZ2lzdHJhdGlvbi0+c2V0SW5zdGFsbGlu
Z1dvcmtlcihhY3RpdmVTZXJ2aWNlV29ya2VyKTsKIAotICAgIGpvYi5wcm9taXNlKCkucmVzb2x2
ZTxJRExJbnRlcmZhY2U8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4+KHJlZ2lzdHJhdGlvbik7
CisgICAgam9iLnByb21pc2UoKS5yZXNvbHZlPElETEludGVyZmFjZTxTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uPj4oKnJlZ2lzdHJhdGlvbik7CiAKICAgICAvLyBVc2UgYSBtaWNyb3Rhc2sgYmVj
YXVzZSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGlzIGlzIGV4ZWN1dGVkIGFmdGVyIHRoZSBwcm9t
aXNlIGFib3ZlIGlzIHJlc29sdmVkLgotICAgIE1pY3JvdGFza1F1ZXVlOjptYWluVGhyZWFkUXVl
dWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlckluc3RhbGxNaWNy
b3Rhc2s+KFdURk1vdmUocmVnaXN0cmF0aW9uKSkpOworICAgIE1pY3JvdGFza1F1ZXVlOjptYWlu
VGhyZWFkUXVldWUoKS5hcHBlbmQoc3RkOjptYWtlX3VuaXF1ZTxGYWtlU2VydmljZVdvcmtlcklu
c3RhbGxNaWNyb3Rhc2s+KHJlZ2lzdHJhdGlvbi5yZWxlYXNlTm9uTnVsbCgpKSk7CiB9CiAKIHZv
aWQgU2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25S
ZXN1bHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBib29sIHVucmVnaXN0cmF0aW9uUmVzdWx0KQpA
QCAtMzM3LDEwICszNzAsMTMgQEAgdm9pZCBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpqb2JGaW5p
c2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpvYiYgam9iLCBjb24KICAgICBtX3N3Q29u
bmVjdGlvbi0+ZmluaXNoZWRGZXRjaGluZ1NjcmlwdChqb2IsIHNjcmlwdCk7CiB9CiAKLXZvaWQg
U2VydmljZVdvcmtlckNvbnRhaW5lcjo6am9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29y
a2VySm9iJiBqb2IsIGNvbnN0IFJlc291cmNlRXJyb3ImIGVycm9yKQordm9pZCBTZXJ2aWNlV29y
a2VyQ29udGFpbmVyOjpqb2JGYWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImIGpv
YiwgY29uc3QgUmVzb3VyY2VFcnJvciYgZXJyb3IsIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiYm
IGV4Y2VwdGlvbikKIHsKICAgICBMT0coU2VydmljZVdvcmtlciwgIlNldmljZVdvcmtlckNvbnRh
aW5lciAlcCBmYWlsZWQgZmV0Y2hpbmcgc2NyaXB0IGZvciBqb2IgJSIgUFJJdTY0LCB0aGlzLCBq
b2IuZGF0YSgpLmlkZW50aWZpZXIoKSk7CiAKKyAgICBpZiAoZXhjZXB0aW9uKQorICAgICAgICBq
b2IucHJvbWlzZSgpLnJlamVjdCgqZXhjZXB0aW9uKTsKKwogICAgIG1fc3dDb25uZWN0aW9uLT5m
YWlsZWRGZXRjaGluZ1NjcmlwdChqb2IsIGVycm9yKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmgKaW5kZXgg
ZjczNWI3NDBmNzFmZWYzNDlkOTRhNjRkYzYwZjg4NTYwNTY3Y2FjZi4uMWUyMjYwMDBkYWMwYWFk
MTcwZTFiY2NhOTAyMzFlNTc5NDIwMzVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5oCkBAIC0zNSw2ICszNSw3
IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkNsaWVudC5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uT3B0aW9ucy5oIgorI2luY2x1ZGUgIldvcmtlclR5cGUuaCIKICNpbmNsdWRlIDxwYWwvU2Vz
c2lvbklELmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgogCkBAIC02MSw2ICs2Miw3IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgYWRkUmVnaXN0cmF0aW9uKGNvbnN0IFN0cmluZyYgc2NyaXB0
VVJMLCBjb25zdCBSZWdpc3RyYXRpb25PcHRpb25zJiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7
CiAgICAgdm9pZCByZW1vdmVSZWdpc3RyYXRpb24oY29uc3QgVVJMJiBzY29wZVVSTCwgUmVmPERl
ZmVycmVkUHJvbWlzZT4mJik7CisgICAgdm9pZCB1cGRhdGVSZWdpc3RyYXRpb24oY29uc3QgVVJM
JiBzY29wZVVSTCwgY29uc3QgVVJMJiBzY3JpcHRVUkwsIFdvcmtlclR5cGUsIFJlZjxEZWZlcnJl
ZFByb21pc2U+JiYpOwogCiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb24oY29uc3QgU3RyaW5nJiBj
bGllbnRVUkwsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOwogICAgIHZvaWQgdXBkYXRlUmVnaXN0
cmF0aW9uKGNvbnN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25LZXkmLCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uU3RhdGUsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlcklkZW50
aWZpZXI+Jik7CkBAIC04NCw3ICs4Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBqb2JSZXNvbHZl
ZFdpdGhVbnJlZ2lzdHJhdGlvblJlc3VsdChTZXJ2aWNlV29ya2VySm9iJiwgYm9vbCB1bnJlZ2lz
dHJhdGlvblJlc3VsdCkgZmluYWw7CiAgICAgdm9pZCBzdGFydFNjcmlwdEZldGNoRm9ySm9iKFNl
cnZpY2VXb3JrZXJKb2ImKSBmaW5hbDsKICAgICB2b2lkIGpvYkZpbmlzaGVkTG9hZGluZ1Njcmlw
dChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgU3RyaW5nJikgZmluYWw7Ci0gICAgdm9pZCBqb2JG
YWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJKb2ImLCBjb25zdCBSZXNvdXJjZUVycm9y
JikgZmluYWw7CisgICAgdm9pZCBqb2JGYWlsZWRMb2FkaW5nU2NyaXB0KFNlcnZpY2VXb3JrZXJK
b2ImLCBjb25zdCBSZXNvdXJjZUVycm9yJiwgc3RkOjpvcHRpb25hbDxFeGNlcHRpb24+JiYpIGZp
bmFsOwogCiAgICAgdm9pZCBqb2JEaWRGaW5pc2goU2VydmljZVdvcmtlckpvYiYpOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYi5jcHAK
aW5kZXggYzM1ZDM1NzIyMWYzMDI1MjNlMDdkZWFkMjA1MTRjMmIzMTc5ZWNlZS4uMWI5MWI4N2Yx
NzQzZmRkNzIyYWNmY2ExYWE0MzRiZjk4NDdjNzMxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iLmNwcApAQCAtMjksNiArMjksNyBA
QAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURl
ZmVycmVkLmgiCisjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2luY2x1ZGUgIlJlc291
cmNlRXJyb3IuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJlc3BvbnNlLmgiCiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckpvYkRhdGEuaCIKQEAgLTEwMCw2ICsxMDEsMTUgQEAgdm9pZCBTZXJ2aWNlV29y
a2VySm9iOjpkaWRSZWNlaXZlUmVzcG9uc2UodW5zaWduZWQgbG9uZywgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYKICAgICBBU1NFUlQobV9zY3JpcHRMb2FkZXIpOwogCiAgICAgbV9sYXN0UmVzcG9u
c2UgPSByZXNwb25zZTsKKyAgICAvLyBFeHRyYWN0IGEgTUlNRSB0eXBlIGZyb20gdGhlIHJlc3Bv
bnNlJ3MgaGVhZGVyIGxpc3QuIElmIHRoaXMgTUlNRSB0eXBlIChpZ25vcmluZyBwYXJhbWV0ZXJz
KSBpcyBub3QgYSBKYXZhU2NyaXB0IE1JTUUgdHlwZSwgdGhlbjoKKyAgICBpZiAoIU1JTUVUeXBl
UmVnaXN0cnk6OmlzU3VwcG9ydGVkSmF2YVNjcmlwdE1JTUVUeXBlKHJlc3BvbnNlLm1pbWVUeXBl
KCkpKSB7CisgICAgICAgIC8vIEludm9rZSBSZWplY3QgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5k
ICJTZWN1cml0eUVycm9yIiBET01FeGNlcHRpb24uCisgICAgICAgIEV4Y2VwdGlvbiBleGNlcHRp
b24geyBTZWN1cml0eUVycm9yLCBBU0NJSUxpdGVyYWwoIk1JTUUgVHlwZSBpcyBub3QgYSBKYXZh
U2NyaXB0IE1JTUUgdHlwZSIpIH07CisgICAgICAgIC8vIEFzeW5jaHJvbm91c2x5IGNvbXBsZXRl
IHRoZXNlIHN0ZXBzIHdpdGggYSBuZXR3b3JrIGVycm9yLgorICAgICAgICBSZXNvdXJjZUVycm9y
IGVycm9yIHsgZXJyb3JEb21haW5XZWJLaXRJbnRlcm5hbCwgMCwgcmVzcG9uc2UudXJsKCksIEFT
Q0lJTGl0ZXJhbCgiVW5leHBlY3RlZCBNSU1FIHR5cGUiKSB9OworICAgICAgICBtX2NsaWVudC0+
am9iRmFpbGVkTG9hZGluZ1NjcmlwdCgqdGhpcywgV1RGTW92ZShlcnJvciksIFdURk1vdmUoZXhj
ZXB0aW9uKSk7CisgICAgICAgIG1fc2NyaXB0TG9hZGVyID0gbnVsbHB0cjsKKyAgICB9CiB9CiAK
IHZvaWQgU2VydmljZVdvcmtlckpvYjo6bm90aWZ5RmluaXNoZWQoKQpAQCAtMTEwLDcgKzEyMCw3
IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYjo6bm90aWZ5RmluaXNoZWQoKQogICAgIGlmICghbV9z
Y3JpcHRMb2FkZXItPmZhaWxlZCgpKQogICAgICAgICBtX2NsaWVudC0+am9iRmluaXNoZWRMb2Fk
aW5nU2NyaXB0KCp0aGlzLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogICAgIGVsc2UKLSAg
ICAgICAgbV9jbGllbnQtPmpvYkZhaWxlZExvYWRpbmdTY3JpcHQoKnRoaXMsIG1fc2NyaXB0TG9h
ZGVyLT5lcnJvcigpKTsKKyAgICAgICAgbV9jbGllbnQtPmpvYkZhaWxlZExvYWRpbmdTY3JpcHQo
KnRoaXMsIG1fc2NyaXB0TG9hZGVyLT5lcnJvcigpLCBzdGQ6Om51bGxvcHQpOwogCiAgICAgbV9z
Y3JpcHRMb2FkZXIgPSBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iQ2xpZW50LmgKaW5kZXggODU4NTcxYjYwZDg2
MzgyNDRhM2YzMmQ2YmU3MTdlY2Q1YjMzMjgwNS4uNjk4YWRmZjMyMWViODNjMjc5YmRlMzQzNmZm
ZGY5ZjZiZTVlNzRlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJKb2JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckpvYkNsaWVudC5oCkBAIC00NCw3ICs0NCw3IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIHZvaWQgam9iUmVzb2x2ZWRXaXRoVW5yZWdpc3RyYXRpb25SZXN1bHQoU2Vy
dmljZVdvcmtlckpvYiYsIGJvb2wgdW5yZWdpc3RyYXRpb25SZXN1bHQpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgc3RhcnRTY3JpcHRGZXRjaEZvckpvYihTZXJ2aWNlV29ya2VySm9iJikgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBqb2JGaW5pc2hlZExvYWRpbmdTY3JpcHQoU2VydmljZVdvcmtlckpv
YiYsIGNvbnN0IFN0cmluZyYpID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgam9iRmFpbGVkTG9hZGlu
Z1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwgY29uc3QgUmVzb3VyY2VFcnJvciYpID0gMDsKKyAg
ICB2aXJ0dWFsIHZvaWQgam9iRmFpbGVkTG9hZGluZ1NjcmlwdChTZXJ2aWNlV29ya2VySm9iJiwg
Y29uc3QgUmVzb3VyY2VFcnJvciYsIHN0ZDo6b3B0aW9uYWw8RXhjZXB0aW9uPiYmKSA9IDA7CiAK
ICAgICB2aXJ0dWFsIHVpbnQ2NF90IGNvbm5lY3Rpb25JZGVudGlmaWVyKCkgPSAwOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckpvYkRh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0
YS5oCmluZGV4IGM2Yzk5MzYyOTEwZWZmOWNkYzYyZjg0NGM0MTQzNzM4NzUwMjBhOTAuLmI0YTY2
OTVjMjgxZTEzMGU4YmU3MGMyMTNmOTMwNzhmZmQ5N2E3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iRGF0YS5oCkBAIC03NCw2
ICs3NCw3IEBAIHZvaWQgU2VydmljZVdvcmtlckpvYkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNv
ZGVyKSBjb25zdAogICAgICAgICBlbmNvZGVyIDw8IHJlZ2lzdHJhdGlvbk9wdGlvbnM7CiAgICAg
ICAgIGJyZWFrOwogICAgIGNhc2UgU2VydmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6Cisg
ICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsKICAg
ICB9CiB9CkBAIC0xMTMsNiArMTE0LDcgQEAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VySm9i
RGF0YT4gU2VydmljZVdvcmtlckpvYkRhdGE6OmRlY29kZShEZWNvZGVyJiBkZWNvZGUKICAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgU2Vy
dmljZVdvcmtlckpvYlR5cGU6OlVucmVnaXN0ZXI6CisgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9i
VHlwZTo6VXBkYXRlOgogICAgICAgICBicmVhazsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VySm9iVHlwZS5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKaW5kZXggMDc5
ZjNlODQ5NTU0MTE1ZTJmNmI2MzNkYzUxMmI3ZmYyMWFjZTlhMy4uYmIxZjdkZGNjZDEwNmUzY2U1
NGFkY2I3MmViMmZkMjlmMDA4MzMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJKb2JUeXBlLmgKQEAgLTMyLDYgKzMyLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogZW51bSBjbGFzcyBTZXJ2aWNlV29ya2VySm9iVHlwZSB7CiAgICAg
UmVnaXN0ZXIsCiAgICAgVW5yZWdpc3RlciwKKyAgICBVcGRhdGUsCiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5jcHAKaW5kZXggMDZhMDU0ZTdlZjE1YzQw
ZTU1MGVlODdkMmZlNWY2M2NjMzg4MDIwOC4uM2EzODEzZTI3YWNlNTE1OTA1M2YzNzE5YjQ5MDQ3
Nzc0ZTlmNGExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmNwcApAQCAtMzYsMTAgKzM2LDkgQEAK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIFJl
ZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmIGNvbnRhaW5lciwgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbkRhdGEmJiByZWdpc3RyYXRpb25EYXRhLCBSZWY8U2VydmljZVdvcmtlcj4mJiBzZXJ2
aWNlV29ya2VyKQorU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBSZWY8U2VydmljZVdvcmtl
ckNvbnRhaW5lcj4mJiBjb250YWluZXIsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhJiYg
cmVnaXN0cmF0aW9uRGF0YSkKICAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKICAgICAs
IG1fcmVnaXN0cmF0aW9uRGF0YShXVEZNb3ZlKHJlZ2lzdHJhdGlvbkRhdGEpKQotICAgICwgbV9z
ZXJ2aWNlV29ya2VyKFdURk1vdmUoc2VydmljZVdvcmtlcikpCiAgICAgLCBtX2NvbnRhaW5lcihX
VEZNb3ZlKGNvbnRhaW5lcikpCiB7CiAgICAgc3VzcGVuZElmTmVlZGVkKCk7CkBAIC01MywyMyAr
NTIsNDIgQEAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6flNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24oKQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjppbnN0
YWxsaW5nKCkKIHsKLSAgICBpZiAobV9zZXJ2aWNlV29ya2VyLT5zdGF0ZSgpICE9IFNlcnZpY2VX
b3JrZXI6OlN0YXRlOjpJbnN0YWxsaW5nKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBy
ZXR1cm4gbV9zZXJ2aWNlV29ya2VyLnB0cigpOworICAgIHJldHVybiBtX2luc3RhbGxpbmdXb3Jr
ZXIuZ2V0KCk7CiB9CiAKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OndhaXRpbmcoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0gU2Vydmlj
ZVdvcmtlcjo6U3RhdGU6Okluc3RhbGxlZCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAg
cmV0dXJuIG1fc2VydmljZVdvcmtlci5wdHIoKTsKKyAgICByZXR1cm4gbV93YWl0aW5nV29ya2Vy
LmdldCgpOwogfQogCiBTZXJ2aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjph
Y3RpdmUoKQogewotICAgIGlmIChtX3NlcnZpY2VXb3JrZXItPnN0YXRlKCkgIT0gU2VydmljZVdv
cmtlcjo6U3RhdGU6OkFjdGl2YXRpbmcgJiYgbV9zZXJ2aWNlV29ya2VyLT5zdGF0ZSgpICE9IFNl
cnZpY2VXb3JrZXI6OlN0YXRlOjpBY3RpdmF0ZWQpCi0gICAgICAgIHJldHVybiBudWxscHRyOwot
ICAgIHJldHVybiBtX3NlcnZpY2VXb3JrZXIucHRyKCk7CisgICAgcmV0dXJuIG1fYWN0aXZlV29y
a2VyLmdldCgpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldEluc3Rh
bGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sKKyAg
ICBtX2luc3RhbGxpbmdXb3JrZXIgPSBXVEZNb3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2b2lk
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnNldFdhaXRpbmdXb3JrZXIoUmVmUHRyPFNlcnZp
Y2VXb3JrZXI+JiYgc2VydmljZVdvcmtlcikKK3sKKyAgICBtX3dhaXRpbmdXb3JrZXIgPSBXVEZN
b3ZlKHNlcnZpY2VXb3JrZXIpOworfQorCit2b2lkIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OnNldEFjdGl2ZVdvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJiBzZXJ2aWNlV29ya2VyKQor
eworICAgIG1fYWN0aXZlV29ya2VyID0gV1RGTW92ZShzZXJ2aWNlV29ya2VyKTsKK30KKworU2Vy
dmljZVdvcmtlciogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6Z2V0TmV3ZXN0V29ya2VyKCkK
K3sKKyAgICBpZiAobV9pbnN0YWxsaW5nV29ya2VyKQorICAgICAgICByZXR1cm4gbV9pbnN0YWxs
aW5nV29ya2VyLmdldCgpOworICAgIGlmIChtX3dhaXRpbmdXb3JrZXIpCisgICAgICAgIHJldHVy
biBtX3dhaXRpbmdXb3JrZXIuZ2V0KCk7CisKKyAgICByZXR1cm4gbV9hY3RpdmVXb3JrZXIuZ2V0
KCk7CiB9CiAKIGNvbnN0IFN0cmluZyYgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6c2NvcGUo
KSBjb25zdApAQCAtODQsNyArMTAyLDI3IEBAIFNlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZSBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjp1cGRhdGVWaWFDYWNoZSgpIGNvbnN0CiAKIHZvaWQg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYg
cHJvbWlzZSkKIHsKLSAgICBwcm9taXNlLT5yZWplY3QoRXhjZXB0aW9uKE5vdFN1cHBvcnRlZEVy
cm9yLCBBU0NJSUxpdGVyYWwoIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnVwZGF0ZSBub3Qg
eWV0IGltcGxlbWVudGVkIikpKTsKKyAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOworICAgIGlmICghY29udGV4dCkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgcHJvbWlzZS0+cmVqZWN0KEV4Y2VwdGlvbihJbnZhbGlkU3RhdGVFcnJv
cikpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogY29udGFpbmVyID0gY29u
dGV4dC0+c2VydmljZVdvcmtlckNvbnRhaW5lcigpOworICAgIGlmICghY29udGFpbmVyKSB7Cisg
ICAgICAgIHByb21pc2UtPnJlamVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IpKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IGdldE5ld2Vz
dFdvcmtlcigpOworICAgIGlmICghbmV3ZXN0V29ya2VyKSB7CisgICAgICAgIHByb21pc2UtPnJl
amVjdChFeGNlcHRpb24oSW52YWxpZFN0YXRlRXJyb3IsIEFTQ0lJTGl0ZXJhbCgibmV3ZXN0V29y
a2VyIGlzIG51bGwiKSkpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgLy8gRklYTUU6
IFN1cHBvcnQgd29ya2VyIHR5cGVzLgorICAgIGNvbnRhaW5lci0+dXBkYXRlUmVnaXN0cmF0aW9u
KG1fcmVnaXN0cmF0aW9uRGF0YS5zY29wZVVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSwg
V29ya2VyVHlwZTo6Q2xhc3NpYywgV1RGTW92ZShwcm9taXNlKSk7CiB9CiAKIHZvaWQgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbjo6dW5yZWdpc3RlcihSZWY8RGVmZXJyZWRQcm9taXNlPiYmIHBy
b21pc2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCBiZTdlZmJhYjQ1MjBhMTAzMzhiMzlkZTZm
NzAyMzdkMzBkODk3ZDJmLi5lNjU4YTVmYjEyYTI4OWMxMzkxOTE5N2NjN2U5NmQyMmZkNTQyMTMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTUzLDYgKzUzLDEyIEBAIHB1YmxpYzoKICAgICBT
ZXJ2aWNlV29ya2VyKiB3YWl0aW5nKCk7CiAgICAgU2VydmljZVdvcmtlciogYWN0aXZlKCk7CiAK
KyAgICB2b2lkIHNldEluc3RhbGxpbmdXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYpOwor
ICAgIHZvaWQgc2V0V2FpdGluZ1dvcmtlcihSZWZQdHI8U2VydmljZVdvcmtlcj4mJik7CisgICAg
dm9pZCBzZXRBY3RpdmVXb3JrZXIoUmVmUHRyPFNlcnZpY2VXb3JrZXI+JiYpOworCisgICAgU2Vy
dmljZVdvcmtlciogZ2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBjb25zdCBTdHJpbmcmIHNjb3Bl
KCkgY29uc3Q7CiAgICAgU2VydmljZVdvcmtlclVwZGF0ZVZpYUNhY2hlIHVwZGF0ZVZpYUNhY2hl
KCkgY29uc3Q7CiAKQEAgLTY3LDcgKzczLDcgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlU3Rh
dGVGcm9tU2VydmVyKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25TdGF0ZSwgc3RkOjpvcHRpb25h
bDxTZXJ2aWNlV29ya2VySWRlbnRpZmllcj4pOwogCiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJ2aWNlV29ya2Vy
Q29udGFpbmVyPiYmLCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmLCBSZWY8U2Vydmlj
ZVdvcmtlcj4mJik7CisgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgUmVmPFNlcnZpY2VXb3JrZXJDb250YWluZXI+JiYsIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhJiYpOwogCiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJn
ZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7CkBAIC03OCw4ICs4NCwxMSBAQCBw
cml2YXRlOgogICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0
IGZpbmFsOwogCiAgICAgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgbV9yZWdpc3RyYXRp
b25EYXRhOwotICAgIFJlZjxTZXJ2aWNlV29ya2VyPiBtX3NlcnZpY2VXb3JrZXI7CiAgICAgUmVm
PFNlcnZpY2VXb3JrZXJDb250YWluZXI+IG1fY29udGFpbmVyOworCisgICAgUmVmUHRyPFNlcnZp
Y2VXb3JrZXI+IG1faW5zdGFsbGluZ1dvcmtlcjsKKyAgICBSZWZQdHI8U2VydmljZVdvcmtlcj4g
bV93YWl0aW5nV29ya2VyOworICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyPiBtX2FjdGl2ZVdvcmtl
cjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVySm9iUXVldWUuY3BwCmluZGV4
IDIyNmYxYTMxYmZhOWQ3MDhjOGFjOTZmNTVmNGZkZjlkZjEyMjdkMGIuLjVlMDE1ZmMwZjdiMjA4
MDkyYTVmZDBjMGU3OGVhNDAyOWU3ZTcwZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcApAQCAtNTgs
MTggKzU4LDM1IEBAIHZvaWQgU1dTZXJ2ZXJKb2JRdWV1ZTo6c2NyaXB0RmV0Y2hGaW5pc2hlZChT
V1NlcnZlcjo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgY29uCiAgICAgYXV0byogcmVnaXN0cmF0
aW9uID0gbV9zZXJ2ZXIuZ2V0UmVnaXN0cmF0aW9uKG1fcmVnaXN0cmF0aW9uS2V5KTsKICAgICBB
U1NFUlQocmVnaXN0cmF0aW9uKTsKIAorICAgIGF1dG8qIG5ld2VzdFdvcmtlciA9IHJlZ2lzdHJh
dGlvbi0+Z2V0TmV3ZXN0V29ya2VyKCk7CisKICAgICBpZiAoIXJlc3VsdC5zY3JpcHRFcnJvci5p
c051bGwoKSkgewotICAgICAgICByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBVbmtu
b3duRXJyb3IsIG1ha2VTdHJpbmcoIlNjcmlwdCBVUkwgIiwgam9iLnNjcmlwdFVSTC5zdHJpbmco
KSwgIiBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogIiwgcmVzdWx0LnNjcmlwdEVycm9yLmxvY2Fs
aXplZERlc2NyaXB0aW9uKCkpIH0pOworICAgICAgICAvLyBJbnZva2UgUmVqZWN0IEpvYiBQcm9t
aXNlIHdpdGggam9iIGFuZCBUeXBlRXJyb3IuCisgICAgICAgIG1fc2VydmVyLnJlamVjdEpvYihm
aXJzdEpvYigpLCBFeGNlcHRpb25EYXRhIHsgVHlwZUVycm9yLCBtYWtlU3RyaW5nKCJTY3JpcHQg
VVJMICIsIGpvYi5zY3JpcHRVUkwuc3RyaW5nKCksICIgZmV0Y2ggcmVzdWx0ZWQgaW4gZXJyb3I6
ICIsIHJlc3VsdC5zY3JpcHRFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpKSB9KTsKIAotICAg
ICAgICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbnVsbCwgaW52b2tlIENsZWFyIFJlZ2lzdHJhdGlv
biBhbGdvcml0aG0gcGFzc2luZyB0aGlzIHJlZ2lzdHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCi0g
ICAgICAgIGlmICghcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIoKSkKKyAgICAgICAgLy8g
SWYgbmV3ZXN0V29ya2VyIGlzIG51bGwsIGludm9rZSBDbGVhciBSZWdpc3RyYXRpb24gYWxnb3Jp
dGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uIGFzIGl0cyBhcmd1bWVudC4KKyAgICAgICAgaWYgKCFu
ZXdlc3RXb3JrZXIpCiAgICAgICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0aW9u
KTsKIAorICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBhbmQgYWJvcnQgdGhl
c2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAotICAgIC8vIEZJWE1FOiBJZiB0aGUgc2NyaXB0IGRhdGEgbWF0Y2hlcyBieXRlLWZv
ci1ieXRlIHdpdGggdGhlIGV4aXN0aW5nIG5ld2VzdFdvcmtlciwKLSAgICAvLyB0aGVuIHJlc29s
dmUgYW5kIGZpbmlzaCB0aGUgam9iIHdpdGhvdXQgZG9pbmcgYW55dGhpbmcgZnVydGhlci4KKyAg
ICAvLyBJZiBuZXdlc3RXb3JrZXIgaXMgbm90IG51bGwsIG5ld2VzdFdvcmtlcidzIHNjcmlwdCB1
cmwgZXF1YWxzIGpvYidzIHNjcmlwdCB1cmwgd2l0aCB0aGUgZXhjbHVkZSBmcmFnbWVudHMKKyAg
ICAvLyBmbGFnIHNldCwgYW5kIHNjcmlwdCdzIHNvdXJjZSB0ZXh0IGlzIGEgYnl0ZS1mb3ItYnl0
ZSBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcidzIHNjcmlwdCByZXNvdXJjZSdzIHNvdXJjZQorICAg
IC8vIHRleHQsIHRoZW46CisgICAgaWYgKG5ld2VzdFdvcmtlciAmJiBlcXVhbElnbm9yaW5nRnJh
Z21lbnRJZGVudGlmaWVyKG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCksIGpvYi5zY3JpcHRVUkwp
ICYmIHJlc3VsdC5zY3JpcHQgPT0gbmV3ZXN0V29ya2VyLT5zY3JpcHQoKSkgeworICAgICAgICAv
LyBGSVhNRTogaWYgc2NyaXB0IGlzIGEgY2xhc3NpYyBzY3JpcHQsIGFuZCBzY3JpcHQncyBtb2R1
bGUgcmVjb3JkJ3MgW1tFQ01BU2NyaXB0Q29kZV1dIGlzIGEgYnl0ZS1mb3ItYnl0ZQorICAgICAg
ICAvLyBtYXRjaCB3aXRoIG5ld2VzdFdvcmtlcuKAmXMgc2NyaXB0IHJlc291cmNlJ3MgbW9kdWxl
IHJlY29yZCdzIFtbRUNNQVNjcmlwdENvZGVdXSBvdGhlcndpc2UuCisKKyAgICAgICAgLy8gSW52
b2tlIFJlc29sdmUgSm9iIFByb21pc2Ugd2l0aCBqb2IgYW5kIHJlZ2lzdHJhdGlvbi4KKyAgICAg
ICAgbV9zZXJ2ZXIucmVzb2x2ZVJlZ2lzdHJhdGlvbkpvYihqb2IsIHJlZ2lzdHJhdGlvbi0+ZGF0
YSgpKTsKKworICAgICAgICAvLyBJbnZva2UgRmluaXNoIEpvYiB3aXRoIGpvYiBhbmQgYWJvcnQg
dGhlc2Ugc3RlcHMuCisgICAgICAgIGZpbmlzaEN1cnJlbnRKb2IoKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KIAogICAgIC8vIEZJWE1FOiBTdXBwb3J0IHRoZSBwcm9wZXIgd29ya2VyIHR5cGUg
KGNsYXNzaWMgdnMgbW9kdWxlKQogICAgIG1fc2VydmVyLnVwZGF0ZVdvcmtlcihjb25uZWN0aW9u
LCBtX3JlZ2lzdHJhdGlvbktleSwgam9iLnNjcmlwdFVSTCwgcmVzdWx0LnNjcmlwdCwgV29ya2Vy
VHlwZTo6Q2xhc3NpYyk7CkBAIC03NywxMCArOTQsMTYgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVl
OjpzY3JpcHRGZXRjaEZpbmlzaGVkKFNXU2VydmVyOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBj
b24KIAogdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpzY3JpcHRDb250ZXh0RmFpbGVkVG9TdGFydChT
V1NlcnZlcjo6Q29ubmVjdGlvbiYsIFNlcnZpY2VXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSkKIHsKKyAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBtX3Nl
cnZlci5nZXRSZWdpc3RyYXRpb24obV9yZWdpc3RyYXRpb25LZXkpOworICAgIEFTU0VSVChyZWdp
c3RyYXRpb24pOworCiAgICAgLy8gRklYTUU6IEluc3RhbGwgaGFzIGZhaWxlZC4gUnVuIHRoZSBp
bnN0YWxsIGZhaWxlZCBzdWJzdGVwcwogICAgIC8vIFJ1biB0aGUgVXBkYXRlIFdvcmtlciBTdGF0
ZSBhbGdvcml0aG0gcGFzc2luZyByZWdpc3RyYXRpb27igJlzIGluc3RhbGxpbmcgd29ya2VyIGFu
ZCByZWR1bmRhbnQgYXMgdGhlIGFyZ3VtZW50cy4KICAgICAvLyBSdW4gdGhlIFVwZGF0ZSBSZWdp
c3RyYXRpb24gU3RhdGUgYWxnb3JpdGhtIHBhc3NpbmcgcmVnaXN0cmF0aW9uLCAiaW5zdGFsbGlu
ZyIgYW5kIG51bGwgYXMgdGhlIGFyZ3VtZW50cy4KKwogICAgIC8vIElmIG5ld2VzdFdvcmtlciBp
cyBudWxsLCBpbnZva2UgQ2xlYXIgUmVnaXN0cmF0aW9uIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lz
dHJhdGlvbiBhcyBpdHMgYXJndW1lbnQuCisgICAgaWYgKCFyZWdpc3RyYXRpb24tPmdldE5ld2Vz
dFdvcmtlcigpKQorICAgICAgICBjbGVhclJlZ2lzdHJhdGlvbigqcmVnaXN0cmF0aW9uKTsKIAog
ICAgIFVOVVNFRF9QQVJBTShpZGVudGlmaWVyKTsKICAgICBVTlVTRURfUEFSQU0obWVzc2FnZSk7
CkBAIC0xMTQsNiArMTM3LDkgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpydW5OZXh0Sm9iU3lu
Y2hyb25vdXNseSgpCiAgICAgY2FzZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VW5yZWdpc3RlcjoK
ICAgICAgICAgcnVuVW5yZWdpc3RlckpvYihqb2IpOwogICAgICAgICByZXR1cm47CisgICAgY2Fz
ZSBTZXJ2aWNlV29ya2VySm9iVHlwZTo6VXBkYXRlOgorICAgICAgICBydW5VcGRhdGVKb2Ioam9i
KTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KIAogICAgIFJFTEVBU0VfQVNTRVJUX05PVF9SRUFD
SEVEKCk7CkBAIC0yMDEsNiArMjI3LDcgQEAgdm9pZCBTV1NlcnZlckpvYlF1ZXVlOjpjbGVhclJl
Z2lzdHJhdGlvbihTV1NlcnZlclJlZ2lzdHJhdGlvbiYgcmVnaXN0cmF0aW9uKQogLy8gaHR0cHM6
Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3VwZGF0ZS1hbGdvcml0aG0KIHZvaWQgU1dT
ZXJ2ZXJKb2JRdWV1ZTo6cnVuVXBkYXRlSm9iKGNvbnN0IFNlcnZpY2VXb3JrZXJKb2JEYXRhJiBq
b2IpCiB7CisgICAgLy8gTGV0IHJlZ2lzdHJhdGlvbiBiZSB0aGUgcmVzdWx0IG9mIHJ1bm5pbmcg
dGhlIEdldCBSZWdpc3RyYXRpb24gYWxnb3JpdGhtIHBhc3Npbmcgam9i4oCZcyBzY29wZSB1cmwg
YXMgdGhlIGFyZ3VtZW50LgogICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IG1fc2VydmVyLmdldFJl
Z2lzdHJhdGlvbihtX3JlZ2lzdHJhdGlvbktleSk7CiAKICAgICAvLyBJZiByZWdpc3RyYXRpb24g
aXMgbnVsbCAoaW4gb3VyIHBhcmxhbmNlICJlbXB0eSIpIG9yIHJlZ2lzdHJhdGlvbuKAmXMgdW5p
bnN0YWxsaW5nIGZsYWcgaXMgc2V0LCB0aGVuOgpAQCAtMjA5LDkgKzIzNiwxMSBAQCB2b2lkIFNX
U2VydmVySm9iUXVldWU6OnJ1blVwZGF0ZUpvYihjb25zdCBTZXJ2aWNlV29ya2VySm9iRGF0YSYg
am9iKQogICAgIGlmIChyZWdpc3RyYXRpb24tPmlzVW5pbnN0YWxsaW5nKCkpCiAgICAgICAgIHJl
dHVybiByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIEFTQ0lJTGl0
ZXJhbCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiB0aGF0IGlz
IHVuaW5zdGFsbGluZyIpIH0pOwogCi0gICAgLy8gSWYgam9iJ3MgdHlwZSBpcyB1cGRhdGUsIGFu
ZCBuZXdlc3RXb3JrZXLigJlzIHNjcmlwdCB1cmwgZG9lcyBub3QgZXF1YWwgam9i4oCZcyBzY3Jp
cHQgdXJsIHdpdGggdGhlIGV4Y2x1ZGUgZnJhZ21lbnRzIGZsYWcgc2V0LCB0aGVuOgorICAgIC8v
IExldCBuZXdlc3RXb3JrZXIgYmUgdGhlIHJlc3VsdCBvZiBydW5uaW5nIEdldCBOZXdlc3QgV29y
a2VyIGFsZ29yaXRobSBwYXNzaW5nIHJlZ2lzdHJhdGlvbiBhcyB0aGUgYXJndW1lbnQuCiAgICAg
YXV0byogbmV3ZXN0V29ya2VyID0gcmVnaXN0cmF0aW9uLT5nZXROZXdlc3RXb3JrZXIoKTsKLSAg
ICBpZiAobmV3ZXN0V29ya2VyICYmICFlcXVhbElnbm9yaW5nRnJhZ21lbnRJZGVudGlmaWVyKGpv
Yi5zY3JpcHRVUkwsIG5ld2VzdFdvcmtlci0+c2NyaXB0VVJMKCkpKQorCisgICAgLy8gSWYgam9i
J3MgdHlwZSBpcyB1cGRhdGUsIGFuZCBuZXdlc3RXb3JrZXIncyBzY3JpcHQgdXJsIGRvZXMgbm90
IGVxdWFsIGpvYuKAmXMgc2NyaXB0IHVybCB3aXRoIHRoZSBleGNsdWRlIGZyYWdtZW50cyBmbGFn
IHNldCwgdGhlbjoKKyAgICBpZiAoam9iLnR5cGUgPT0gU2VydmljZVdvcmtlckpvYlR5cGU6OlVw
ZGF0ZSAmJiBuZXdlc3RXb3JrZXIgJiYgIWVxdWFsSWdub3JpbmdGcmFnbWVudElkZW50aWZpZXIo
am9iLnNjcmlwdFVSTCwgbmV3ZXN0V29ya2VyLT5zY3JpcHRVUkwoKSkpCiAgICAgICAgIHJldHVy
biByZWplY3RDdXJyZW50Sm9iKEV4Y2VwdGlvbkRhdGEgeyBUeXBlRXJyb3IsIEFTQ0lJTGl0ZXJh
bCgiQ2Fubm90IHVwZGF0ZSBhIHNlcnZpY2Ugd29ya2VyIHdpdGggYSByZXF1ZXN0ZWQgc2NyaXB0
IFVSTCB3aG9zZSBuZXdlc3Qgd29ya2VyIGhhcyBhIGRpZmZlcmVudCBzY3JpcHQgVVJMIikgfSk7
CiAKICAgICBtX3NlcnZlci5zdGFydFNjcmlwdEZldGNoKGpvYik7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwppbmRleCBlZjMzZGI0MjM5N2ZkODgwMGI2YTI0OWE5YTEwMGZiYTIyYTBkYzZl
Li5mYjUzNjk4YjdkYjU2NWJiM2MyZGZkZDc4ZWUwZTMyZmI1ZDJjYzUyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxNy0xMS0wMyAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLnVwZGF0ZSgpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNzkyNzAKKworICAgICAgICBSZXZpZXdlZCBieSBZb3Vlbm4gRmFibGV0
LgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIG5vdyB0aGF0IG1vcmUgYXJlIHBhc3Np
bmcgb3IgYXQgbGVhc3QgZmFpbGluZyBsYXRlci4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90aGVyLXJl
Z2lzdHJhdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0
dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211
bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9tLXdh
aXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lzdGVyLXRoZW4t
cmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0OgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICBJIGludmVzdGlnYXRlZCB0aGlzIHRlc3QgYW5kIGl0IGlzIHN0aWxsIGZh
aWxpbmcgbGF0ZXIgb24gYmVjYXVzZSB3ZSBjbGVhciByZWdpc3RyYXRpb25zIHRvbworICAgICAg
ICBhZ2dyZXNzaXZlbHkgb24gdGhlIFN0b3JhZ2VQcm9jZXNzIHNpZGUgd2UgYXJlIHN1cHBvc2Vk
IHRvIG1ha2Ugc3VyZSB0aGUgcmVnaXN0cmF0aW9uIGRvZXMKKyAgICAgICAgbm90IGhhdmUgYSBu
ZXdlc3RXb3JrZXIgYmVmb3JlIGNsZWFyaW5nIGl0IHdoZW4gYSBzY3JpcHQgZmV0Y2ggZmFpbHMg
b3IgYSBzY3JpcHQgc3ludGF4IGVycm9yCisgICAgICAgIG9jY3Vycy4gV2UgcHJvcGVybHkgaGF2
ZSB0aG9zZSBpZiAoIW5ld2VzdFdvcmtlcikgY2hlY2tzIGluIHRoZSBjb2RlIGJ1dCBzZXJ2aWNl
IHdvcmtlcnMKKyAgICAgICAgYXJlIG5vdCB5ZXQgcG9wdWxhdGVkIG9uIHRoZSBTV1NlcnZlclJl
Z2lzdHJhdGlvbiBvYmplY3Qgc28gU1dTZXJ2ZXJSZWdpc3RyYXRpb246OmdldE5ld2VzdFdvcmtl
cigpCisgICAgICAgIGFsd2FzeSByZXR1cm5zIG51bGwuCisKIDIwMTctMTEtMDQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBJbmRleCBwcm9wZXJ0aWVzIG9uIGNy
b3NzIG9yaWdpbiBXaW5kb3cgb2JqZWN0cyBzaG91bGQgYmUgZW51bWVyYWJsZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xhaW0tYWZmZWN0LW90aGVyLXJlZ2lzdHJhdGlvbi5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1hZmZlY3Qtb3RoZXItcmVn
aXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCAxZDQwNWNmNzM2Y2MwNDQxNzk5NTQy
Njk2YmJiMmRhYjE2OTc5YjZiLi40OTFhMDliZTQxMWYxMzUzNTBkNWEzOTAxZmFiZmEzY2ZhZGU1
YjgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFpbS1hZmZlY3Qtb3RoZXItcmVn
aXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGFp
bS1hZmZlY3Qtb3RoZXItcmVnaXN0cmF0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAogCi1GQUlMIGNsYWltKCkgc2hvdWxkIGFmZmVjdCB0aGUgb3JpZ2luYWxseSBjb250
cm9sbGluZyByZWdpc3RyYXRpb24uIGFzc2VydF9lcXVhbHM6IFNob3VsZCBiZSB0aGUgc2FtZSBy
ZWdpc3RyYXRpb24gZXhwZWN0ZWQgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25dIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
XSIKK0ZBSUwgY2xhaW0oKSBzaG91bGQgYWZmZWN0IHRoZSBvcmlnaW5hbGx5IGNvbnRyb2xsaW5n
IHJlZ2lzdHJhdGlvbi4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFBhc3NpbmcgTWVzc2FnZVBvcnQgb2JqZWN0
cyB0byBwb3N0TWVzc2FnZSBpcyBub3QgeWV0IHN1cHBvcnRlZCIKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY2xhaW0td2l0aC1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApp
bmRleCAyMDFkNTkyYzYyYjc1MjIxNTcxMTlhMDJmNDgxNzE5Zjc1OGJmMGQwLi40MGNkMTNmNjIz
NGViMDI0MDU1NTI4ZDMxYzU3ODcxMzBjMjQ3M2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGFpbS13aXRoLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogVW5oYW5kbGVkIFByb21pc2UgUmVq
ZWN0aW9uOiBOb3RTdXBwb3J0ZWRFcnJvcjogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBk
YXRlIG5vdCB5ZXQgaW1wbGVtZW50ZWQKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAyNzogVW5oYW5k
bGVkIFByb21pc2UgUmVqZWN0aW9uOiBJbnZhbGlkU3RhdGVFcnJvcjogbmV3ZXN0V29ya2VyIGlz
IG51bGwKICAgCiAKIEZBSUwgQ2xhaW0gd29ya3MgYWZ0ZXIgcmVkaXJlY3Rpb24gdG8gYW5vdGhl
ciBvcmlnaW4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgInVwZGF0ZWQiIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9p
bXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9pbXBvcnQtc2NyaXB0cy1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZDZl
MDEwNDhmOWUyZTNjYjlhMzU0MGI2ZmNlZDYzNzg0YTJiMjk0Ny4uYWFkNzg1OWI0MmFlZjg1NWVh
NTY2YmRlMGI2MzdkNjQyZmE3ZmQ0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvaW1w
b3J0LXNjcmlwdHMtcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2ltcG9ydC1zY3JpcHRzLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAogUEFTUyBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMgcmVkaXJlY3RzIAotRkFJ
TCBpbXBvcnRTY3JpcHRzKCkgc3VwcG9ydHMgcmVkaXJlY3RzIGFuZCBjYW4gYmUgdXBkYXRlZCBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJOb3RT
dXBwb3J0ZWRFcnJvcjogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjo6dXBkYXRlIG5vdCB5ZXQg
aW1wbGVtZW50ZWQiCitQQVNTIGltcG9ydFNjcmlwdHMoKSBzdXBwb3J0cyByZWRpcmVjdHMgYW5k
IGNhbiBiZSB1cGRhdGVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBs
ZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBs
ZS1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggMzMyZTEwZTE0ZDRiMTE5NWYwNzll
YWU4ZjY0MjQ2NmQ3OTc4ZmUyOS4uMTU2NjU1Nzc2NjhmZGZlMGQ0NTAyMDYyZjdmZmNmN2JiMWY2
NzcyYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtcmVnaXN0ZXIuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL211bHRpcGxlLXJlZ2lzdGVy
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogCi1GQUlMIFN1YnNlcXVlbnQg
cmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBvYmplY3QgYXNz
ZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IHJlZ2lz
dGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmpl
Y3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJb
b2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK1BBU1MgU3Vic2VxdWVudCByZWdpc3RyYXRpb25zIHJlc29sdmUgdG8gdGhlIHNhbWUgcmVn
aXN0cmF0aW9uIG9iamVjdCAKIEZBSUwgU3Vic2VxdWVudCByZWdpc3RyYXRpb25zIGZyb20gYSBk
aWZmZXJlbnQgaWZyYW1lIHJlc29sdmUgdG8gdGhlIGRpZmZlcmVudCByZWdpc3RyYXRpb24gb2Jq
ZWN0IGJ1dCB0aGV5IHJlZmVyIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBhbmQgd29ya2VycyBh
c3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogaW5z
dGFsbGluZyB3b3JrZXIgc2hvdWxkIGJlIG51bGwgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVj
dCAiW29iamVjdCBTZXJ2aWNlV29ya2VyXSIgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlM
IENvbmN1cnJlbnQgcmVnaXN0cmF0aW9ucyByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlv
biBvYmplY3QgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9l
cXVhbHM6IHJlZ2lzdGVyIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBl
eHBlY3RlZCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBn
b3Qgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVu
cmVhY2hhYmxlIGNvZGUKK1BBU1MgQ29uY3VycmVudCByZWdpc3RyYXRpb25zIHJlc29sdmUgdG8g
dGhlIHNhbWUgcmVnaXN0cmF0aW9uIG9iamVjdCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvbXVsdGlwbGUtdXBkYXRlLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL211bHRpcGxlLXVwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZDA5NTI3YjIwOGVk
Zjg3NWU4YTM2MDA3MDRmMWFhNWY3OTAzZGNkZi4uNGNlNGUxZDYyNGY4NDk2MTU5NzNmMGE2ZDQ5
ZmIwZTZkM2ZiZDMxMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvbXVsdGlwbGUtdXBk
YXRlLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9tdWx0aXBsZS11
cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlMIFRyaWdnZXIg
bXVsdGlwbGUgdXBkYXRlcy4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b246OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIgorUEFTUyBUcmlnZ2VyIG11bHRpcGxlIHVw
ZGF0ZXMuIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9wb3N0bWVzc2FnZS1mcm9t
LXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9wb3N0bWVzc2FnZS1mcm9tLXdhaXRpbmctc2VydmljZXdvcmtlci5odHRwcy1leHBlY3Rl
ZC50eHQKaW5kZXggMjA0OTk5NDUzYWVjMmUzNzI0ZGI4Zjk4ZWYxMWYzY2M0ZWM0NzAwOC4uY2Zk
MTBhZDQ3NmExYzg0NDVkNjkzMDhlNDExMTE2ODAwODY5NTE3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcG9zdG1lc3NhZ2UtZnJvbS13YWl0aW5nLXNlcnZpY2V3b3JrZXIuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Bvc3RtZXNzYWdlLWZyb20td2Fp
dGluZy1zZXJ2aWNld29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAog
Ci1GQUlMIENsaWVudC5wb3N0TWVzc2FnZSgpIGZyb20gd2FpdGluZyBzZXJ2aWNld29ya2VyLiBh
c3NlcnRfdW5yZWFjaGVkOiB1bmV4cGVjdGVkIHJlamVjdGlvbjogYXNzZXJ0X2VxdWFsczogc2hv
dWxkIGJlIHNhbWUgcmVnaXN0cmF0aW9uIGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uXSIgYnV0IGdvdCBvYmplY3QgIltvYmplY3QgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorRkFJTCBDbGllbnQucG9z
dE1lc3NhZ2UoKSBmcm9tIHdhaXRpbmcgc2VydmljZXdvcmtlci4gYXNzZXJ0X3VucmVhY2hlZDog
dW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVhbHM6IG1lc3NhZ2UgZXZlbnQgc291cmNl
IHNob3VsZCBiZSBjb3JyZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIltvYmplY3Qg
U2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZWFkeS5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYTU1MTcwZWU4NTM1NTAzN2IyYWE1
MTA1YWRiNzQwMWE3Njk4Zjg2ZC4uMDQ4OTQxN2RmNzIyODk2MWZiZDQyMmRlMDRjZjBmMjY3MzUz
YjUyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVhZHkuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlYWR5Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAt
MTAsNSArMTAsNSBAQCBGQUlMIHJlYWR5IG9uIGFuIGlmcmFtZSB3aG9zZSBwYXJlbnQgcmVnaXN0
ZXJzIGEgbmV3IHNlcnZpY2Ugd29ya2VyIHByb21pc2VfdGVzdAogRkFJTCByZWFkeSBvbiBhbiBp
ZnJhbWUgdGhhdCBpbnN0YWxscyBhIG5ldyBzZXJ2aWNlIHdvcmtlciBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6IHNlcnZp
Y2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgogRkFJTCByZWFkeSBhZnRl
ciBhIGxvbmdlciBtYXRjaGVkIHJlZ2lzdHJhdGlvbiByZWdpc3RlcmVkIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlVua25vd25FcnJvcjogc2Vy
dmljZVdvcmtlci5yZWFkeSgpIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQiCiBGQUlMIGFjY2VzcyBy
ZWFkeSBhZnRlciBpdCBoYXMgYmVlbiByZXNvbHZlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6IHNlcnZpY2VXb3JrZXIu
cmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgotRkFJTCBhY2Nlc3MgcmVhZHkgb24gdW5p
bnN0YWxsaW5nIHJlZ2lzdHJhdGlvbiB0aGF0IGlzIHJlc3VycmVjdGVkIGFzc2VydF9lcXVhbHM6
IGV4aXN0aW5nIHJlZ2lzdHJhdGlvbiBzaG91bGQgYmUgcmVzdXJyZWN0ZWQgZXhwZWN0ZWQgb2Jq
ZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBidXQgZ290IG9iamVjdCAi
W29iamVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uXSIKK0ZBSUwgYWNjZXNzIHJlYWR5IG9u
IHVuaW5zdGFsbGluZyByZWdpc3RyYXRpb24gdGhhdCBpcyByZXN1cnJlY3RlZCBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJVbmtub3duRXJyb3I6
IHNlcnZpY2VXb3JrZXIucmVhZHkoKSBpcyBub3QgeWV0IGltcGxlbWVudGVkIgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZWdpc3RyYXRpb24tc2NyaXB0Lmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IGFlMDlkMTM4NzJmY2FlYThkNDc1OTYxMDhlMzk1M2U0OWVhMDBlYTEuLmQz
YTdkZDg0NWUxZTRjYmYyMzk0N2U5N2MwM2JhMDgwZGNlNDdlMjQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3JlZ2lzdHJhdGlvbi1zY3JpcHQuaHR0cHMtZXhwZWN0ZWQudHh0
CkBAIC0xLDYgKzEsNiBAQAogCi1GQUlMIFJlZ2lzdGVyaW5nIGludmFsaWQgY2h1bmtlZCBlbmNv
ZGluZyBzY3JpcHQgYXNzZXJ0X3Rocm93czogUmVnaXN0cmF0aW9uIG9mIGludmFsaWQgY2h1bmtl
ZCBlbmNvZGluZyBzY3JpcHQgc2hvdWxkIGZhaWwuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRo
cm93IGUgfSIgdGhyZXcgb2JqZWN0ICJVbmtub3duRXJyb3I6IFNjcmlwdCBVUkwgaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2lu
dmFsaWQtY2h1bmtlZC1lbmNvZGluZy5weSBmZXRjaCByZXN1bHRlZCBpbiBlcnJvcjogY2Fubm90
IHBhcnNlIHJlc3BvbnNlIiAoIlVua25vd25FcnJvciIpIGV4cGVjdGVkIG9iamVjdCAiVHlwZUVy
cm9yIiAoIlR5cGVFcnJvciIpCi1GQUlMIFJlZ2lzdGVyaW5nIGludmFsaWQgY2h1bmtlZCBlbmNv
ZGluZyBzY3JpcHQgd2l0aCBmbHVzaCBhc3NlcnRfdGhyb3dzOiBSZWdpc3RyYXRpb24gb2YgaW52
YWxpZCBjaHVua2VkIGVuY29kaW5nIHNjcmlwdCBzaG91bGQgZmFpbC4gZnVuY3Rpb24gImZ1bmN0
aW9uICgpIHsgdGhyb3cgZSB9IiB0aHJldyBvYmplY3QgIlVua25vd25FcnJvcjogU2NyaXB0IFVS
TCBodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvaW52YWxpZC1jaHVua2VkLWVuY29kaW5nLXdpdGgtZmx1c2gucHkgZmV0Y2ggcmVz
dWx0ZWQgaW4gZXJyb3I6IGNhbm5vdCBwYXJzZSByZXNwb25zZSIgKCJVbmtub3duRXJyb3IiKSBl
eHBlY3RlZCBvYmplY3QgIlR5cGVFcnJvciIgKCJUeXBlRXJyb3IiKQorUEFTUyBSZWdpc3Rlcmlu
ZyBpbnZhbGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IAorUEFTUyBSZWdpc3RlcmluZyBpbnZh
bGlkIGNodW5rZWQgZW5jb2Rpbmcgc2NyaXB0IHdpdGggZmx1c2ggCiBGQUlMIFJlZ2lzdGVyaW5n
IHNjcmlwdCBpbmNsdWRpbmcgcGFyc2UgZXJyb3IgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhh
dmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBvZiBzY3JpcHQgaW5jbHVkaW5nIHBhcnNlIGVycm9y
IHNob3VsZCBmYWlsLiBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKIEZBSUwgUmVnaXN0ZXJpbmcg
c2NyaXB0IGluY2x1ZGluZyB1bmRlZmluZWQgZXJyb3IgYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxk
IGhhdmUgcmVqZWN0ZWQ6IFJlZ2lzdHJhdGlvbiBvZiBzY3JpcHQgaW5jbHVkaW5nIHVuZGVmaW5l
ZCBlcnJvciBzaG91bGQgZmFpbC4gUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCiBGQUlMIFJlZ2lz
dGVyaW5nIHNjcmlwdCBpbmNsdWRpbmcgdW5jYXVnaHQgZXhjZXB0aW9uIGFzc2VydF91bnJlYWNo
ZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiBSZWdpc3RyYXRpb24gb2Ygc2NyaXB0IGluY2x1ZGlu
ZyB1bmNhdWdodCBleGNlcHRpb24gc2hvdWxkIGZhaWwuIFJlYWNoZWQgdW5yZWFjaGFibGUgY29k
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3NraXAtd2FpdGluZy5odHRwcy1leHBlY3RlZC50
eHQKaW5kZXggZTNlMDVkMDk3YjNmYWYxNWJmOWUyYzYwNTBkNTdmZjNhNTY4YmRmMC4uNDgxOTNh
NGE1YTI1MWUzZGQ2NzAwNWY2MjdkMWJlZGJlODRjZjJiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvc2tpcC13YWl0aW5nLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9za2lwLXdhaXRpbmcuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIFRlc3Qgc2tpcFdhaXRpbmcgd2l0aCBib3RoIGFjdGl2ZSBhbmQgd2FpdGluZyB3b3Jr
ZXJzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd3YWl0aW5nX3dv
cmtlci5zY3JpcHRVUkwnKSIKK0ZBSUwgVGVzdCBza2lwV2FpdGluZyB3aXRoIGJvdGggYWN0aXZl
IGFuZCB3YWl0aW5nIHdvcmtlcnMgYXNzZXJ0X2VxdWFsczogV29ya2VyIHdpdGggdXJsMiBzaG91
bGQgYmUgd2FpdGluZyBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2VtcHR5LXdvcmtlci5qcyIgYnV0IGdvdCAi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL2VtcHR5LmpzIgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lz
dGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
dW5yZWdpc3Rlci10aGVuLXJlZ2lzdGVyLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA4MGMzNTI1
OTcwNjBjZWRhYWIwMTFlMDg0Zjk3NmMwOGY5ODExN2VjLi5iZGIxOWFlMTExZDRhZGMzM2VlMmE3
MjAzYWQ5NmI1OTM2ZTIxMjYwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci91bnJlZ2lz
dGVyLXRoZW4tcmVnaXN0ZXIuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3VucmVnaXN0ZXItdGhlbi1yZWdpc3Rlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNyAr
MSw3IEBACiAKIAotUEFTUyBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzb2x2ZXMgdG8gYSBu
ZXcgdmFsdWUgCi1GQUlMIFVucmVnaXN0ZXIgdGhlbiByZWdpc3RlciByZXNvbHZlcyB0byB0aGUg
b3JpZ2luYWwgdmFsdWUgaWYgdGhlIHJlZ2lzdHJhdGlvbiBpcyBpbiB1c2UuIGFzc2VydF91bnJl
YWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfZXF1YWxzOiBuZXcgcmVnaXN0cmF0
aW9uIHNob3VsZCByZXNvbHZlIHRvIHRoZSBzYW1lIHJlZ2lzdHJhdGlvbiBleHBlY3RlZCBvYmpl
Y3QgIltvYmplY3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbl0iIGJ1dCBnb3Qgb2JqZWN0ICJb
b2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVkIHVucmVhY2hhYmxlIGNv
ZGUKK0ZBSUwgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVyIHJlc29sdmVzIHRvIGEgbmV3IHZhbHVl
IGFzc2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfbm90X2VxdWFs
czogcmVnaXN0ZXIgc2hvdWxkIHJlc29sdmUgdG8gYSBuZXcgdmFsdWUgZ290IGRpc2FsbG93ZWQg
dmFsdWUgb2JqZWN0ICJbb2JqZWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25dIiBSZWFjaGVk
IHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgVW5yZWdpc3RlciB0aGVuIHJlZ2lzdGVyIHJlc29sdmVz
IHRvIHRoZSBvcmlnaW5hbCB2YWx1ZSBpZiB0aGUgcmVnaXN0cmF0aW9uIGlzIGluIHVzZS4gCiBQ
QVNTIFJlbG9hZGluZyB0aGUgbGFzdCBjb250cm9sbGVkIGlmcmFtZSBhZnRlciB1bnJlZ2lzdHJh
dGlvbiBzaG91bGQgZW5zdXJlIHRoZSBkZWxldGlvbiBvZiB0aGUgcmVnaXN0cmF0aW9uIAogRkFJ
TCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgZG9lcyBub3QgYWZmZWN0IGV4aXN0aW5nIGNvbnRy
b2xsZWUgYXNzZXJ0X3VucmVhY2hlZDogdW5leHBlY3RlZCByZWplY3Rpb246IGFzc2VydF9lcXVh
bHM6IGluc3RhbGxpbmcgdmVyc2lvbiBpcyBudWxsIGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmpl
Y3QgIltvYmplY3QgU2VydmljZVdvcmtlcl0iIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQogRkFJ
TCBVbnJlZ2lzdGVyIHRoZW4gcmVnaXN0ZXIgcmVzdXJyZWN0cyB0aGUgcmVnaXN0cmF0aW9uIGFz
c2VydF91bnJlYWNoZWQ6IHVuZXhwZWN0ZWQgcmVqZWN0aW9uOiBhc3NlcnRfbm90X2VxdWFsczog
ZG9jdW1lbnQgc2hvdWxkIGhhdmUgYSBjb250cm9sbGVyIGdvdCBkaXNhbGxvd2VkIHZhbHVlIG51
bGwgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvdXBkYXRlLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCAzOTYwODgxMzY4NjJhZjRhNzU5ODQ3ZDc1YjgwMDVmYjQ3
YjFlZmFlLi4xYjgwNzUyNGY1YTRkYmM2ZjgyMWVmOWYxODcxYzUwYzYzZmVmODU1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci91cGRhdGUuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3VwZGF0ZS5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBA
CiAKLUZBSUwgVXBkYXRlIGEgcmVnaXN0cmF0aW9uLiBhc3NlcnRfdGhyb3dzOiBVc2luZyBhIGRp
c2FsbG93ZWQgbWltZXR5cGUgc2hvdWxkIG1ha2UgdXBkYXRlKCkgcHJvbWlzZSByZWplY3Qgd2l0
aCBhIFNlY3VyaXR5RXJyb3IuIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7IHRocm93IGU7IH0iIHRo
cmV3IG9iamVjdCAiTm90U3VwcG9ydGVkRXJyb3I6IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246
OnVwZGF0ZSBub3QgeWV0IGltcGxlbWVudGVkIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBT
ZWN1cml0eUVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gOSwgZXhwZWN0ZWQgMTgK
K0ZBSUwgVXBkYXRlIGEgcmVnaXN0cmF0aW9uLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IENhbm5vdCB1cGRhdGUgYSBudWxs
L25vbmV4aXN0ZW50IHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiIKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>