<?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>232455</bug_id>
          
          <creation_ts>2021-10-28 14:39:45 -0700</creation_ts>
          <short_desc>Add support for PushSubscriptionChangeEvent</short_desc>
          <delta_ts>2022-02-10 16:45:50 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Nham">nham</reporter>
          <assigned_to name="Ben Nham">nham</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>nham</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tomac</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1809837</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-10-28 14:39:45 -0700</bug_when>
    <thetext>We should import the PushSubscriptionChangeEvent IDL and add relevant tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809838</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-28 14:40:24 -0700</bug_when>
    <thetext>&lt;rdar://problem/84778954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809839</commentid>
    <comment_count>2</comment_count>
      <attachid>442743</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-10-28 14:44:41 -0700</bug_when>
    <thetext>Created attachment 442743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809850</commentid>
    <comment_count>3</comment_count>
      <attachid>442747</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-10-28 14:58:37 -0700</bug_when>
    <thetext>Created attachment 442747
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1809997</commentid>
    <comment_count>4</comment_count>
      <attachid>442747</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-29 01:02:23 -0700</bug_when>
    <thetext>Comment on attachment 442747
Patch

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

&gt; Source/WebCore/ChangeLog:20
&gt; +        ServiceWorkerRegistration::ref/deref to be exported.

Can you give more info on why is it bad to export ref/deref?

&gt; Source/WebCore/Modules/push-api/PushSubscription.h:65
&gt; +    RefPtr&lt;ServiceWorkerRegistration&gt; m_serviceWorkerRegistration;

I do not think this is progress here.
We now have to deal with the fact that m_serviceWorkerRegistration can be null, while, as I understand it, it should never be null in practice.

If the issue is testing, I guess we could add something like a ServiceWorkerInternals::schedulePushSubscriptionChangeEvent that would take data necessary to call SWContextManager::singleton().firePushSubscriptionChangeEvent.
We would no longer need to construct PushSubscription from internals.
Instead, we would get these objects using the normal code path of receiving a PushSubscriptionChangeEvent.
Once we have them, we can create synthetic PushSubscriptionChangeEvent based on them.

&gt; Source/WebCore/Modules/push-api/PushSubscriptionChangeEventInit.idl:26
&gt; +typedef (BufferSource or USVString) PushMessageDataInit;

Not needed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810110</commentid>
    <comment_count>5</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-10-29 09:51:38 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #4)
&gt; Comment on attachment 442747 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=442747&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:20
&gt; &gt; +        ServiceWorkerRegistration::ref/deref to be exported.
&gt; 
&gt; Can you give more info on why is it bad to export ref/deref?

I was trying to cut down on the number of symbols exported purely for testing.

&gt; &gt; Source/WebCore/Modules/push-api/PushSubscription.h:65
&gt; &gt; +    RefPtr&lt;ServiceWorkerRegistration&gt; m_serviceWorkerRegistration;
&gt; 
&gt; I do not think this is progress here.
&gt; We now have to deal with the fact that m_serviceWorkerRegistration can be
&gt; null, while, as I understand it, it should never be null in practice.

When we fire a PushSubscriptionChangeEvent, it contains two PushSubscriptions: the old one and possibly the new one. For instance, we would fire it when you revisit an origin and we&apos;ve already unregistered the PushSubscription in the background, e.g. if you&apos;ve sent too many silent pushes. (This behavior is similar to Firefox&apos;s.)

In this case, the it seems like the old PushSubscription object should not be associated with a ServiceWorkerRegistration, since it&apos;s already been unsubscribed. This is the case where ServiceWorkerRegistration would be null.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1810411</commentid>
    <comment_count>6</comment_count>
      <attachid>442747</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-30 02:15:28 -0700</bug_when>
    <thetext>Comment on attachment 442747
Patch

OK, sounds good to use a RefPtr.

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

&gt; Source/WebCore/Modules/push-api/PushSubscription.cpp:101
&gt; +        promise.resolve(false);

According spec, we should most probably queue a task to resolve the promise with false.
This is probably testable with using callback ordering of unsubscribe promise, Promise.resolve() and Promise(resolve =&gt; setTimeout(resolve, 0)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813244</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-11-09 11:29:49 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #6)
&gt; Comment on attachment 442747 [details]
&gt; Patch
&gt; 
&gt; OK, sounds good to use a RefPtr.
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=442747&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/push-api/PushSubscription.cpp:101
&gt; &gt; +        promise.resolve(false);
&gt; 
&gt; According spec, we should most probably queue a task to resolve the promise
&gt; with false.
&gt; This is probably testable with using callback ordering of unsubscribe
&gt; promise, Promise.resolve() and Promise(resolve =&gt; setTimeout(resolve, 0)).

I talked to Chris and Antoine about this and they said the Promise handler should already run in a separate microtask (see resolvePromise in PromiseOperations.js). So I don&apos;t think we additionally need to call `promise.resolve` in its own microtask. I also wrote quick test case to verify with PushSubscription.unsubscribe and it passed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813245</commentid>
    <comment_count>8</comment_count>
      <attachid>442747</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-09 11:33:50 -0800</bug_when>
    <thetext>Comment on attachment 442747
Patch

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

&gt;&gt;&gt; Source/WebCore/Modules/push-api/PushSubscription.cpp:101
&gt;&gt;&gt; +        promise.resolve(false);
&gt;&gt; 
&gt;&gt; According spec, we should most probably queue a task to resolve the promise with false.
&gt;&gt; This is probably testable with using callback ordering of unsubscribe promise, Promise.resolve() and Promise(resolve =&gt; setTimeout(resolve, 0)).
&gt; 
&gt; I talked to Chris and Antoine about this and they said the Promise handler should already run in a separate microtask (see resolvePromise in PromiseOperations.js). So I don&apos;t think we additionally need to call `promise.resolve` in its own microtask. I also wrote quick test case to verify with PushSubscription.unsubscribe and it passed.

@Youenn: The spec seems to say:
&quot;If the push subscription has already been deactivated, resolve promise with false and terminate these steps.&quot;

Where did you see that we should queue a task to resolve the promise? Your comment does not seem to match my reading of the spec text.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813247</commentid>
    <comment_count>9</comment_count>
      <attachid>442747</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-09 11:44:46 -0800</bug_when>
    <thetext>Comment on attachment 442747
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/Modules/push-api/PushSubscription.cpp:101
&gt;&gt;&gt;&gt; +        promise.resolve(false);
&gt;&gt;&gt; 
&gt;&gt;&gt; According spec, we should most probably queue a task to resolve the promise with false.
&gt;&gt;&gt; This is probably testable with using callback ordering of unsubscribe promise, Promise.resolve() and Promise(resolve =&gt; setTimeout(resolve, 0)).
&gt;&gt; 
&gt;&gt; I talked to Chris and Antoine about this and they said the Promise handler should already run in a separate microtask (see resolvePromise in PromiseOperations.js). So I don&apos;t think we additionally need to call `promise.resolve` in its own microtask. I also wrote quick test case to verify with PushSubscription.unsubscribe and it passed.
&gt; 
&gt; @Youenn: The spec seems to say:
&gt; &quot;If the push subscription has already been deactivated, resolve promise with false and terminate these steps.&quot;
&gt; 
&gt; Where did you see that we should queue a task to resolve the promise? Your comment does not seem to match my reading of the spec text.

Never mind, I think I get it now. The spec says:
- Return promise and continue the following steps asynchronously.
- If the push subscription has already been deactivated, resolve promise with false and terminate these steps.

Because of the previous step, the promise resolution should indeed happen asynchronously</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813326</commentid>
    <comment_count>10</comment_count>
      <attachid>443728</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-11-09 14:14:02 -0800</bug_when>
    <thetext>Created attachment 443728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813333</commentid>
    <comment_count>11</comment_count>
      <attachid>443729</attachid>
    <who name="Ben Nham">nham</who>
    <bug_when>2021-11-09 14:22:31 -0800</bug_when>
    <thetext>Created attachment 443729
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1813469</commentid>
    <comment_count>12</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-11-09 21:23:12 -0800</bug_when>
    <thetext>Committed r285564 (244072@main): &lt;https://commits.webkit.org/244072@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 443729.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442743</attachid>
            <date>2021-10-28 14:44:41 -0700</date>
            <delta_ts>2022-02-10 16:45:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232455-20211028144440.patch</filename>
            <type>text/plain</type>
            <size>60688</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FkNjY4YzY0OGQyNTY4
MjA5NjQ4NjA0YjIzZjJmNmIxMjUzMDE1NS4uNzgyNDIzNjUzM2VkOTg4YjhjYjVhNTZiNDliMjg4
YTEyZGE0OTY5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIxLTEwLTI4ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB0aGUgUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IG9iamVjdC4gSSBwbGFuIHRvIGFkZCBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAg
b25wdXNoc3Vic2NyaXB0aW9uY2hhbmdlIGV2ZW50IGhhbmRsZXIgaW4gYSBsYXRlciBwYXRjaC4K
KworICAgICAgICBXaGlsZSB3b3JraW5nIG9uIHRoaXMsIGl0IHNlZW1lZCByZWFzb25hYmxlIHRv
IGJlIGFibGUgdG8gY3JlYXRlIHB1c2ggc3Vic2NyaXB0aW9ucyB0aGF0CisgICAgICAgIGFyZW4n
dCBhc3NvY2lhdGVkIHdpdGggYW55IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gKGZvciBzdWJz
Y3JpcHRpb25zIHRoYXQgYXJlIHJldHVybmVkCisgICAgICAgIHZpYSB0aGUgb2xkU3Vic2NyaXB0
aW9uIHByb3BlcnR5IGFuZCBhcmUgdGhlcmVmb3JlIGFscmVhZHkgdW5zdWJzY3JpYmVkKS4gU28g
SSBhZGRlZCBhCisgICAgICAgIFB1c2hTdWJzY3JpcHRpb24gY29uc3RydWN0b3IgdG8gYWxsb3cg
Zm9yIHRoaXMuCisKKyAgICAgICAgVGVzdHM6IGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sCisKKyAgICAgICAgKiBDTWFr
ZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2Ny
aXB0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb246OlB1c2hTdWJz
Y3JpcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3Jp
YmUpOgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5oOgorICAg
ICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OlB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsLgorICAgICAgICAq
IE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbDogQ29waWVk
IGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24uaWRsLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50SW5pdC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwuCisgICAgICAgICogTW9kdWxlcy9wdXNo
LWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRs
LgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
Lmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2Ny
aXB0aW9uKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckludGVybmFsczo6Y3JlYXRl
UHVzaFN1YnNjcmlwdGlvbik6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJu
YWxzLmg6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKwog
MjAyMS0xMC0yNiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbR1BVIFByb2Nlc3NdIGBEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmdldENUTWAgc2hvdWxk
IGluY2x1ZGUgdGhlIGRldmljZSBzY2FsZSBmYWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXgg
YmNjODE4Zjk3OGM4YzRiYjk1M2ZlMjI5ZGI4YzIxOGNkYWJiNmMxOS4uNGQxNGIyNDU4ZjkyOGY5
MmQ1MGM2Y2YxODRiYTU2NDBiYTg3ZmEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUwOSw2
ICs1MDksOCBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmlkbAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFBlcm1p
c3Npb25TdGF0ZS5pZGwKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRs
CisgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsCisg
ICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbAog
ICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkpTT04uaWRsCiAgICAgTW9kdWxl
cy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5pZGwKICAgICBNb2R1bGVzL3B1c2gt
YXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGEwOWMyOThiOGRlYjU0MjBhYWU3
NDk2YWFhYmU2Mjg0NDA2YmIzMzkuLjc1NWNlMzMxMGQ0NjkxNTcxOTI0OGVjZGY5NjhjYTVhYmE2
NDRmYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtNDMyLDYgKzQzMiw4IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkv
UHVzaE1hbmFnZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNz
YWdlRGF0YS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFBlcm1pc3Np
b25TdGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlw
dGlvbi5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoU3Vic2NyaXB0aW9uSlNPTi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggODIyZmM4NWExMTZl
YWU2Y2E1MDRiNmI1MTZlMWVhMjY4ODIwNDBjMS4uZTM2ZDU1MDc4ZWQ4N2FlMDQ5Y2VhNDFmZGIz
MjE4OGYxOWFhYTcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
b3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QKQEAgLTE2MjMsNiArMTYyMywxMCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hQZXJtaXNzaW9uU3RhdGUuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hQZXJtaXNzaW9u
U3RhdGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQ
dXNoU3Vic2NyaXB0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnRJbml0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUHVzaFN1YnNjcmlwdGlvbkpTT04uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRpb25KU09OLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkOTI0YWJlOWE3N2Y3NzlkYzIy
NTZlOTNlZmQzMzIwMDRmNTU2OThlLi44MmZmNTQwNTVhMjc5NTc0YzNmNjZjZTVjNmFmMGJkNzRi
NzA5YWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM2MCw2ICszNjAsOCBA
QCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoTWVzc2FnZURhdGEuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcHVzaC1hcGkvUHVz
aFBlcm1pc3Npb25TdGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25KU09OLmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5p
dC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNo
U3Vic2NyaXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1
YnNjcmlwdGlvbi5jcHAKaW5kZXggZTA1MDQ0ZGQyN2M5OGExOTkzOTAyOWJiMzkzMjcyODAzY2Nl
ZTIyOS4uNTU1MzliMDE4NzhiMGNkMDdlY2I2ZWRjY2MwNmEzNTdjODNiMjU5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3Bw
CkBAIC0zOCw3ICszOCwxNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19B
TExPQ0FURURfSU1QTChQdXNoU3Vic2NyaXB0aW9uKTsKIAotUHVzaFN1YnNjcmlwdGlvbjo6UHVz
aFN1YnNjcmlwdGlvbihSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4mJiByZWdpc3RyYXRp
b24sIFN0cmluZyYmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBp
cmF0aW9uVGltZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2VydmVyVkFQSURQdWJsaWNLZXksIFZlY3Rv
cjx1aW50OF90PiYmIGNsaWVudEVDREhQdWJsaWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIHNoYXJl
ZEF1dGhlbnRpY2F0aW9uU2VjcmV0KQorUHVzaFN1YnNjcmlwdGlvbjo6UHVzaFN1YnNjcmlwdGlv
bihTdHJpbmcmJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJh
dGlvblRpbWUsIFZlY3Rvcjx1aW50OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBWZWN0b3I8
dWludDhfdD4mJiBjbGllbnRFQ0RIUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBzaGFyZWRB
dXRoZW50aWNhdGlvblNlY3JldCkKKyAgICA6IG1fZW5kcG9pbnQoV1RGTW92ZShlbmRwb2ludCkp
CisgICAgLCBtX2V4cGlyYXRpb25UaW1lKGV4cGlyYXRpb25UaW1lKQorICAgICwgbV9vcHRpb25z
KFB1c2hTdWJzY3JpcHRpb25PcHRpb25zOjpjcmVhdGUoV1RGTW92ZShzZXJ2ZXJWQVBJRFB1Ymxp
Y0tleSkpKQorICAgICwgbV9jbGllbnRFQ0RIUHVibGljS2V5KFdURk1vdmUoY2xpZW50RUNESFB1
YmxpY0tleSkpCisgICAgLCBtX3NoYXJlZEF1dGhlbnRpY2F0aW9uU2VjcmV0KFdURk1vdmUoc2hh
cmVkQXV0aGVudGljYXRpb25TZWNyZXQpKQoreworfQorCitQdXNoU3Vic2NyaXB0aW9uOjpQdXNo
U3Vic2NyaXB0aW9uKFJlZlB0cjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiYmIHJlZ2lzdHJh
dGlvbiwgU3RyaW5nJiYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4
cGlyYXRpb25UaW1lLCBWZWN0b3I8dWludDhfdD4mJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVj
dG9yPHVpbnQ4X3Q+JiYgY2xpZW50RUNESFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2hh
cmVkQXV0aGVudGljYXRpb25TZWNyZXQpCiAgICAgOiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oV1RGTW92ZShyZWdpc3RyYXRpb24pKQogICAgICwgbV9lbmRwb2ludChXVEZNb3ZlKGVuZHBv
aW50KSkKICAgICAsIG1fZXhwaXJhdGlvblRpbWUoZXhwaXJhdGlvblRpbWUpCkBAIC04OCw2ICs5
NywxMSBAQCBFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+IFB1c2hTdWJzY3Jp
cHRpb246OmdldEtleShQdXNoRW5jcnlwdGlvbktleQogCiB2b2lkIFB1c2hTdWJzY3JpcHRpb246
OnVuc3Vic2NyaWJlKERPTVByb21pc2VEZWZlcnJlZDxJRExCb29sZWFuPiYmIHByb21pc2UpCiB7
CisgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pIHsKKyAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIG1fc2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi0+dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2UoV1RGTW92ZShw
cm9taXNlKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uLmgKaW5kZXggY2I4ODc0OGU2NjU0NjdkMzY1ZjBmOGI2ZTEwMGRmMWU4
NTRkNWM5ZC4uM2JmZjY5YzY1OTkxNTllNzliYTgxYTNjMDgwNmYxMTRkYWIzN2UyMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmgK
QEAgLTU5LDkgKzU5LDEwIEBAIHB1YmxpYzoKICAgICBQdXNoU3Vic2NyaXB0aW9uSlNPTiB0b0pT
T04oKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCBQdXNoU3Vic2NyaXB0
aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiYmLCBTdHJpbmcmJiBlbmRwb2ludCwg
c3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUsIFZlY3Rvcjx1aW50
OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBjbGllbnRFQ0RI
UHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBhdXRoKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBQ
dXNoU3Vic2NyaXB0aW9uKFN0cmluZyYmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGlt
ZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2VydmVyVkFQSURQdWJs
aWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIGNsaWVudEVDREhQdWJsaWNLZXksIFZlY3Rvcjx1aW50
OF90PiYmIGF1dGgpOworICAgIFB1c2hTdWJzY3JpcHRpb24oUmVmUHRyPFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24+JiYsIFN0cmluZyYmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGlt
ZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2VydmVyVkFQSURQdWJs
aWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIGNsaWVudEVDREhQdWJsaWNLZXksIFZlY3Rvcjx1aW50
OF90PiYmIGF1dGgpOwogCi0gICAgUmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IG1fc2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjsKKyAgICBSZWZQdHI8U2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbj4gbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOwogICAgIFN0cmluZyBtX2VuZHBvaW50
OwogICAgIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IG1fZXhwaXJhdGlvblRpbWU7CiAg
ICAgUmVmPFB1c2hTdWJzY3JpcHRpb25PcHRpb25zPiBtX29wdGlvbnM7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY4NzBhNzRiMmYwODkxMmMxZGE2NzAxOGU4ODBh
NjkzNTc3YWUyZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcApAQCAtMCwwICsxLDYxIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudC5oIgorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVk
ZSAiUHVzaFN1YnNjcmlwdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCk7CisKK1JlZjxQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQ+IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQmJiBpbml0aWFsaXplciwg
SXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICBhdXRvIG5ld1N1YnNjcmlwdGlvbiA9IGluaXRp
YWxpemVyLm5ld1N1YnNjcmlwdGlvbjsKKyAgICBhdXRvIG9sZFN1YnNjcmlwdGlvbiA9IGluaXRp
YWxpemVyLm9sZFN1YnNjcmlwdGlvbjsKKyAgICByZXR1cm4gY3JlYXRlKHR5cGUsIFdURk1vdmUo
aW5pdGlhbGl6ZXIpLCBXVEZNb3ZlKG5ld1N1YnNjcmlwdGlvbiksIFdURk1vdmUob2xkU3Vic2Ny
aXB0aW9uKSwgaXNUcnVzdGVkKTsKK30KKworUmVmPFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dD4gUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGluaXRpYWxpemVyLCBSZWZQdHI8UHVzaFN1YnNj
cmlwdGlvbj4mJiBuZXdTdWJzY3JpcHRpb24sIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9s
ZFN1YnNjcmlwdGlvbiwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQodHlwZSwgV1RGTW92ZShpbml0aWFs
aXplciksIFdURk1vdmUobmV3U3Vic2NyaXB0aW9uKSwgV1RGTW92ZShvbGRTdWJzY3JpcHRpb24p
LCBpc1RydXN0ZWQpKTsKK30KKworUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2
ZW50SW5pdCYmIGV2ZW50SW5pdCwgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+JiYgbmV3U3Vic2Ny
aXB0aW9uLCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBvbGRTdWJzY3JpcHRpb24sIElzVHJ1
c3RlZCBpc1RydXN0ZWQpCisgICAgOiBFeHRlbmRhYmxlRXZlbnQodHlwZSwgV1RGTW92ZShldmVu
dEluaXQpLCBpc1RydXN0ZWQpCisgICAgLCBtX25ld1N1YnNjcmlwdGlvbihXVEZNb3ZlKG5ld1N1
YnNjcmlwdGlvbikpCisgICAgLCBtX29sZFN1YnNjcmlwdGlvbihXVEZNb3ZlKG9sZFN1YnNjcmlw
dGlvbikpCit7Cit9CisKK1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudDo6flB1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudCgpID0gZGVmYXVsdDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTE2OTY1ZTE1MDZjMjk5YzhjZTg5YjAzNjI4ZGU5OTI5N2MyNzA1MAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiRXh0
ZW5kYWJsZUV2ZW50LmgiCisjaW5jbHVkZSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5p
dC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCBmaW5hbCA6IHB1YmxpYyBFeHRlbmRhYmxlRXZlbnQgeworICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KTsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21T
dHJpbmcmLCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0JiYsIElzVHJ1c3RlZCA9IElz
VHJ1c3RlZDo6Tm8pOworICAgIHN0YXRpYyBSZWY8UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVuZGFibGVFdmVudEluaXQmJiwgUmVmUHRy
PFB1c2hTdWJzY3JpcHRpb24+JiYgbmV3U3Vic2NyaXB0aW9uLCBSZWZQdHI8UHVzaFN1YnNjcmlw
dGlvbj4mJiBvbGRTdWJzY3JpcHRpb24sIElzVHJ1c3RlZCk7CisgICAgflB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCgpOworCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbnRlcmZhY2VU
eXBlOyB9CisgICAgUHVzaFN1YnNjcmlwdGlvbiogbmV3U3Vic2NyaXB0aW9uKCkgeyByZXR1cm4g
bV9uZXdTdWJzY3JpcHRpb24uZ2V0KCk7IH0KKyAgICBQdXNoU3Vic2NyaXB0aW9uKiBvbGRTdWJz
Y3JpcHRpb24oKSB7IHJldHVybiBtX29sZFN1YnNjcmlwdGlvbi5nZXQoKTsgfQorCitwcml2YXRl
OgorICAgIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgRXh0
ZW5kYWJsZUV2ZW50SW5pdCYmLCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBuZXdTdWJzY3Jp
cHRpb24sIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNjcmlwdGlvbiwgSXNUcnVz
dGVkKTsKKworICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBtX25ld1N1YnNjcmlwdGlvbjsK
KyAgICBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gbV9vbGRTdWJzY3JpcHRpb247Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTViYTg2YTc1YmNjZDI4
ZTYwZDBiZjA2NmJiNzY4ODY1NzYzMmE4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbApAQCAt
MCwwICsxLDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09S
S0VSLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UHVzaEFQSUVuYWJsZWQsCisgICAgRXhwb3J0TWFj
cm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyLAorICAgIEpTR2Vu
ZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0cnVj
dG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJ
bml0IGV2ZW50SW5pdERpY3QpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQdXNoU3Vic2NyaXB0
aW9uPyBuZXdTdWJzY3JpcHRpb247CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFB1c2hTdWJzY3Jp
cHRpb24/IG9sZFN1YnNjcmlwdGlvbjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5p
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmYwZmZiZjA0NmM0ZmM2NmUwMmQzZGE1N2E1Njc3M2FmNWY2MGUyN2YK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRl
ICJFeHRlbmRhYmxlRXZlbnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
UHVzaFN1YnNjcmlwdGlvbjsKKworc3RydWN0IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudElu
aXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKKyAgICBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4g
bmV3U3Vic2NyaXB0aW9uOworICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBvbGRTdWJzY3Jp
cHRpb247Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gt
YXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42ZjQwMGVmYTM5MWEzMzRkNDAyZDZhMTRkNzMyZTkzN2Y5YTRhY2Y0Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnRJbml0LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlw
ZWRlZiAoQnVmZmVyU291cmNlIG9yIFVTVlN0cmluZykgUHVzaE1lc3NhZ2VEYXRhSW5pdDsKKwor
WworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSCitdIGRpY3Rpb25hcnkgUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFB1c2hT
dWJzY3JpcHRpb24/IG5ld1N1YnNjcmlwdGlvbjsKKyAgICBQdXNoU3Vic2NyaXB0aW9uPyBvbGRT
dWJzY3JpcHRpb247Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0YmVhMTRmNDRmYmY1MjExOTBmNjMz
YWI2NzMwNjkxMjMzYTU1YmY0Li44N2I5YWZhOGM1Nzg2MjJkZTBiMTA5MTYzZjE3NmY4MTQ5MDVi
ZWU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMjI0LDYgKzIyNCw3IEBAIE1vZHVsZXMvcGljdHVyZWlu
cGljdHVyZS9QaWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNo
RXZlbnQuY3BwCiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5jcHAKIE1vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAKK01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50LmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9u
RGF0YS5jcHAKIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuY3BwCiBN
b2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmNwcApAQCAtMzM4NSw2ICszMzg2LDggQEAgSlNQ
dXNoTWFuYWdlci5jcHAKIEpTUHVzaE1lc3NhZ2VEYXRhLmNwcAogSlNQdXNoUGVybWlzc2lvblN0
YXRlLmNwcAogSlNQdXNoU3Vic2NyaXB0aW9uLmNwcAorSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQuY3BwCitKU1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuY3BwCiBKU1B1c2hT
dWJzY3JpcHRpb25KU09OLmNwcAogSlNQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5jcHAKIEpTUHVz
aFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZiNzIzMmQyYjJlOWM0NDYwNThlZWM2
NGNhMzA1MzA3N2IwMGJjMWEuLjc3ZTkxOTNkNmQwMDE1ZTViZTM3MmM5ZmJhNjE1Y2FiYTczNWQx
YjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTU0MDksNiArNTQwOSw4IEBACiAJCUVCMEZCNzBDMjcwRDBCMjkwMEY3ODEwRCAv
KiBQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRUIwRkI3MDYyNzBEMEFFQzAwRjc4MTBEIC8qIFB1c2hTdWJzY3Jp
cHRpb25PcHRpb25zLmggKi87IH07CiAJCUVCMEZCNzBEMjcwRDBCMkUwMEY3ODEwRCAvKiBQdXNo
U3Vic2NyaXB0aW9uT3B0aW9uc0luaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEVCMEZCNzAxMjcwRDBBRUEwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0
aW9uT3B0aW9uc0luaXQuaCAqLzsgfTsKIAkJRUIyOEVENDQyNzE3QUMxMTAwNUYwMzkzIC8qIFB1
c2hTdWJzY3JpcHRpb25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFQjI4RUQ0MTI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRh
dGEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlF
QjNDMjlCNjI3MjlDMzg4MDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQjNDMjlCNDI3
MjlDMzZFMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmggKi87IH07CisJ
CUVCM0MyOUI3MjcyOUMzOEMwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJ
bml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQjND
MjlCMTI3MjlDMzZEMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5o
ICovOyB9OwogCQlFQkI5NzM4MTI3MTAwNjcxMDA3NzMyRUYgLyogUHVzaE1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCQjk3MzgwMjcxMDA2
NTQwMDc3MzJFRiAvKiBQdXNoTWFuYWdlci5oICovOyB9OwogCQlFQkI5NzM4MjI3MTAwNjc2MDA3
NzMyRUYgLyogUHVzaFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRUJCOTczNzgyNzEwMDY1MTAwNzczMkVGIC8qIFB1c2hQZXJt
aXNzaW9uU3RhdGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQlFQkI5NzM4MzI3MTAwNjg0MDA3NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvblB1c2hBUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEVCQjk3MzdBMjcxMDA2NTIwMDc3MzJFRiAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
UHVzaEFQSS5oICovOyB9OwpAQCAtMTY4NjgsNiArMTY4NzAsMTEgQEAKIAkJRUIwRkI3MDcyNzBE
MEFFQzAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaFN1
YnNjcmlwdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQjI4RUQ0MTI3MTdB
QkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVz
aFN1YnNjcmlwdGlvbkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRUIyOEVE
NDMyNzE3QUJBOTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFB1c2hTdWJzY3JpcHRpb25EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRUIzQzI5QUYyNzI5QzM2RDAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlF
QjNDMjlCMTI3MjlDMzZEMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5p
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUVCM0MyOUIyMjcy
OUMzNkUwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUIzQzI5QjMyNzI5QzM2RTAwRkI2NUI0IC8q
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRUIzQzI5QjQyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRUJCOTczNzgyNzEw
MDY1MTAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVz
aFBlcm1pc3Npb25TdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkI5NzM3
QTI3MTAwNjUyMDA3NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRUJCOTczN0IyNzEwMDY1MjAwNzczMkVGIC8qIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24rUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24rUHVzaEFQSS5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjAw
NTYsNiArMjAwNjMsMTEgQEAKIAkJCQlFQjBGQjcwNDI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1
YnNjcmlwdGlvbi5jcHAgKi8sCiAJCQkJRUIwRkI3MDcyNzBEMEFFQzAwRjc4MTBEIC8qIFB1c2hT
dWJzY3JpcHRpb24uaCAqLywKIAkJCQlFQjBGQjcwNTI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1
YnNjcmlwdGlvbi5pZGwgKi8sCisJCQkJRUIzQzI5QUYyNzI5QzM2RDAwRkI2NUI0IC8qIFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHAgKi8sCisJCQkJRUIzQzI5QjQyNzI5QzM2RTAwRkI2
NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5oICovLAorCQkJCUVCM0MyOUIzMjcy
OUMzNkUwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsICovLAorCQkJ
CUVCM0MyOUIxMjcyOUMzNkQwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJ
bml0LmggKi8sCisJCQkJRUIzQzI5QjIyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudEluaXQuaWRsICovLAogCQkJCUVCMjhFRDQzMjcxN0FCQTkwMDVGMDM5MyAv
KiBQdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAgKi8sCiAJCQkJRUIyOEVENDEyNzE3QUJBOTAwNUYw
MzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmggKi8sCiAJCQkJRUIwRkI3MDMyNzBEMEFFQjAw
Rjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25KU09OLmggKi8sCkBAIC0zNDkzMSw2ICszNDk0Myw4
IEBACiAJCQkJRUJCOTczODIyNzEwMDY3NjAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTgzRDUxMUY2MjUwQzFDQkYwMDJFREM1MSAvKiBQdXNoUHVs
bEZJRk8uaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMEZCNzA5MjcwRDBCMTgwMEY3ODEwRCAvKiBQ
dXNoU3Vic2NyaXB0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjNDMjlCNjI3MjlDMzg4MDBG
QjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQlFQjNDMjlCNzI3MjlDMzhDMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIyOEVENDQyNzE3QUMxMTAwNUYwMzkzIC8qIFB1
c2hTdWJzY3JpcHRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFQjBGQjcwQTI3MEQwQjFC
MDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbkpTT04uaCBpbiBIZWFkZXJzICovLAogCQkJCUVC
MEZCNzBDMjcwRDBCMjkwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5oIGluIEhl
YWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3Jl
QnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmgKaW5kZXggZTBhNjIxNzM5OTExMDQzMWJjMDA1YzMzNjVhZDEyYmZkODQ4NDFlNC4u
Y2I0ZDM5ZWViYjM5NzMwOGU3NjBkYWRlOTBiNzUwYTViYjIxM2RjNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMjEzLDYgKzIx
Myw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQdXNoTWFuYWdlcikgXAogICAg
IG1hY3JvKFB1c2hNZXNzYWdlRGF0YSkgXAogICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb24pIFwK
KyAgICBtYWNybyhQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQpIFwKICAgICBtYWNybyhQdXNo
U3Vic2NyaXB0aW9uT3B0aW9ucykgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCiAgICAg
bWFjcm8oUmVzaXplT2JzZXJ2ZXJFbnRyeSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRl
eCA1N2IzYWVmNTFhMzg5YzVkODMzYmVmOThlYzQwMDI2MGJiY2E1YjlmLi5kNWY4MWFjNGU0NmEw
ZjA0NjdmMzQxYzM1NWMwNDc0M2VkODNkY2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpA
QCAtMzcsNiArMzcsNyBAQCBQb3BTdGF0ZUV2ZW50CiBQcm9ncmVzc0V2ZW50CiBQcm9taXNlUmVq
ZWN0aW9uRXZlbnQKIFB1c2hFdmVudCBjb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUgorUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGNvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSCiBTdWJtaXRF
dmVudAogVGV4dEV2ZW50CiBUcmFuc2l0aW9uRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxzLmNwcAppbmRleCBkNGFmNzhkNzY1NmJmNTNhYzA0NWMzZDM1NTJjNzFiOWNiODBiYjA4Li5j
MDUzN2JjM2ZmM2QxNGY1ODJiOGE4ZDk4MjViOWIzNDgwOTU1NWVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xMjIsNyArMTIyLDYgQEAKICNpbmNsdWRlICJJbnRlcm5h
bHNTZXRMaWtlLmgiCiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
ICJKU0ltYWdlRGF0YS5oIgotI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
IgogI2luY2x1ZGUgIkxlZ2FjeVNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRD
UHJvdmlkZXIuaCIKICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgpAQCAtMTY0LDcgKzE2Myw2
IEBACiAjaW5jbHVkZSAiUHJpbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVudC5o
IgogI2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRpb24uaCIKLSNpbmNsdWRlICJQdXNoU3Vic2NyaXB0
aW9uT3B0aW9ucy5oIgogI2luY2x1ZGUgIlJUQ1J0cFNGcmFtZVRyYW5zZm9ybS5oIgogI2luY2x1
ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKQEAgLTY1NjIsMTQgKzY1
NjAsMTQgQEAgdm9pZCBJbnRlcm5hbHM6OnJldGFpblRleHRJdGVyYXRvckZvckRvY3VtZW50Q29u
dGVudCgpCiB9CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi1SZWZQdHI8UHVzaFN1YnNj
cmlwdGlvbj4gSW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uPiYmIHJlZ2lzdHJhdGlvbiwgY29uc3QgU3RyaW5nJiBlbmRwb2ludCwg
c3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUsIGNvbnN0IEFycmF5
QnVmZmVyJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGNsaWVudEVD
REhQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBhdXRoKQorUmVmUHRyPFB1c2hTdWJzY3Jp
cHRpb24+IEludGVybmFsczo6Y3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVu
ZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgY29u
c3QgQXJyYXlCdWZmZXImIHNlcnZlclZBUElEUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYg
Y2xpZW50RUNESFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGF1dGgpCiB7CiAgICAgYXV0
byBteUVuZHBvaW50ID0gZW5kcG9pbnQ7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG15U2VydmVyVkFQ
SURQdWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oc2VydmVyVkFQSURQdWJs
aWNLZXkuZGF0YSgpKSwgc2VydmVyVkFQSURQdWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CiAgICAg
VmVjdG9yPHVpbnQ4X3Q+IG15Q2xpZW50RUNESFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0
IHVpbnQ4X3QqPihjbGllbnRFQ0RIUHVibGljS2V5LmRhdGEoKSksIGNsaWVudEVDREhQdWJsaWNL
ZXkuYnl0ZUxlbmd0aCgpIH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG15QXV0aCB7IHN0YXRpY19j
YXN0PGNvbnN0IHVpbnQ4X3QqPihhdXRoLmRhdGEoKSksIGF1dGguYnl0ZUxlbmd0aCgpIH07CiAK
LSAgICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUocmVnaXN0cmF0aW9u
KSwgV1RGTW92ZShteUVuZHBvaW50KSwgZXhwaXJhdGlvblRpbWUsIFdURk1vdmUobXlTZXJ2ZXJW
QVBJRFB1YmxpY0tleSksIFdURk1vdmUobXlDbGllbnRFQ0RIUHVibGljS2V5KSwgV1RGTW92ZSht
eUF1dGgpKTsKKyAgICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUobXlF
bmRwb2ludCksIGV4cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkp
LCBXVEZNb3ZlKG15Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUobXlBdXRoKSk7CiB9CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggYWJiZjhlYmNkYmVhZmRh
OGQwODQ3ZjRmZTVhYjgzMThjMGQzMWU3Mi4uNDFlNmJlYjYwY2U3MTdhMTU5MzQwYzhjMGU0ZGRm
NDk0OTliMjg2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xMjYsNyArMTI2
LDYgQEAgY2xhc3MgVGV4dFRyYWNrQ3VlR2VuZXJpYzsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCiBjbGFzcyBQdXNoU3Vic2NyaXB0aW9uOwogY2xhc3MgU2VydmljZVdvcmtlcjsKLWNsYXNz
IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb247CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfUlRD
KQpAQCAtMTIwMSw3ICsxMjAwLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmV0YWluVGV4dEl0ZXJh
dG9yRm9yRG9jdW1lbnRDb250ZW50KCk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oUmVmPFNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+JiYsIGNvbnN0IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6
b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBjb25zdCBBcnJheUJ1ZmZl
ciYgc2VydmVyVkFQSURQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVi
bGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgYXV0aCk7CisgICAgUmVmUHRyPFB1c2hTdWJzY3Jp
cHRpb24+IGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgc3Rk
OjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUsIGNvbnN0IEFycmF5QnVm
ZmVyJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGNsaWVudEVDREhQ
dWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBhdXRoKTsKICNlbmRpZgogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDlkYjkzYWVkYTdjMzQ2OWJiOThh
YjRmMDQxMTkyNzhlMTYyODVmOTQuLjdlMDA4MGM1YjFlMGMxYzA5ZjZhZWIyMDlhMDE2ZWY2Y2Nh
ODg2NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNjksNSArMTA2
OSw1IEBAIGVudW0gQXV0b3BsYXlQb2xpY3kgewogCiAgICAgdW5kZWZpbmVkIHJldGFpblRleHRJ
dGVyYXRvckZvckRvY3VtZW50Q29udGVudCgpOwogCi0gICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0Vf
V09SS0VSXSBQdXNoU3Vic2NyaXB0aW9uIGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbiByZWdpc3RyYXRpb24sIFVTVlN0cmluZyBlbmRwb2ludCwgRXBvY2hU
aW1lU3RhbXA/IGV4cGlyYXRpb25UaW1lLCBBcnJheUJ1ZmZlciBzZXJ2ZXJWQVBJRFB1YmxpY0tl
eSwgQXJyYXlCdWZmZXIgY2xpZW50RUNESFB1YmxpY0tleSwgQXJyYXlCdWZmZXIgYXV0aCk7Cisg
ICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQdXNoU3Vic2NyaXB0aW9uIGNyZWF0ZVB1
c2hTdWJzY3JpcHRpb24oVVNWU3RyaW5nIGVuZHBvaW50LCBFcG9jaFRpbWVTdGFtcD8gZXhwaXJh
dGlvblRpbWUsIEFycmF5QnVmZmVyIHNlcnZlclZBUElEUHVibGljS2V5LCBBcnJheUJ1ZmZlciBj
bGllbnRFQ0RIUHVibGljS2V5LCBBcnJheUJ1ZmZlciBhdXRoKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAppbmRleCA5NzYzODdj
MDYxZmM5OWZmMzQ4MWUwYTBiMWRkNWFiNjcxMTM2ZWE4Li44YzY3NzU5OTUwNDhiYzJlYzczY2M1
MmZjNzY3NjFjMzhiZjdiNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1Nl
cnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2Vy
dmljZVdvcmtlckludGVybmFscy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkZl
dGNoRXZlbnQuaCIKICNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJQdXNo
U3Vic2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAiU1dDb250ZXh0TWFuYWdlci5oIgogI2luY2x1ZGUg
PHd0Zi9Qcm9jZXNzSUQuaD4KIApAQCAtMTYwLDYgKzE2MSwxNiBAQCB2b2lkIFNlcnZpY2VXb3Jr
ZXJJbnRlcm5hbHM6Omxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKFJlZjxEZWZlcnJlZFBy
b21pc2U+JgogICAgIH0pOwogfQogCitSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gU2VydmljZVdv
cmtlckludGVybmFsczo6Y3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVuZHBv
aW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgY29uc3Qg
QXJyYXlCdWZmZXImIHNlcnZlclZBUElEUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgY2xp
ZW50RUNESFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGF1dGgpCit7CisgICAgYXV0byBt
eUVuZHBvaW50ID0gZW5kcG9pbnQ7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG15U2VydmVyVkFQSURQ
dWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oc2VydmVyVkFQSURQdWJsaWNL
ZXkuZGF0YSgpKSwgc2VydmVyVkFQSURQdWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CisgICAgVmVj
dG9yPHVpbnQ4X3Q+IG15Q2xpZW50RUNESFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQ4X3QqPihjbGllbnRFQ0RIUHVibGljS2V5LmRhdGEoKSksIGNsaWVudEVDREhQdWJsaWNLZXku
Ynl0ZUxlbmd0aCgpIH07CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG15QXV0aCB7IHN0YXRpY19jYXN0
PGNvbnN0IHVpbnQ4X3QqPihhdXRoLmRhdGEoKSksIGF1dGguYnl0ZUxlbmd0aCgpIH07CisKKyAg
ICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUobXlFbmRwb2ludCksIGV4
cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkpLCBXVEZNb3ZlKG15
Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUobXlBdXRoKSk7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5oCmluZGV4IGQ1MTUwNGY0Mzc4ZmRiNDVlODUzNTFmNzRmMTEyYzk4
NWJjZjgzODQuLjEzOGIyNzFkMzE4ZmJiMzBlNjcxMDQ1YjllOWE0MWM0NTRmYjljNjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCkBAIC0y
NywxNSArMjcsMTggQEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1ZGUg
IkVwb2NoVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJKU0RP
TVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgi
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmV0Y2hFdmVudDsKIGNs
YXNzIEZldGNoUmVzcG9uc2U7CitjbGFzcyBQdXNoU3Vic2NyaXB0aW9uOwogY2xhc3MgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dDsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9N
UHJvbWlzZURlZmVycmVkOwpAQCAtNjIsNiArNjUsOCBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nl
c3NJZGVudGlmaWVyKCkgY29uc3Q7CiAKICAgICB2b2lkIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5p
dGlhdGVkKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIAorICAgIFJlZlB0cjxQdXNoU3Vi
c2NyaXB0aW9uPiBjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKGNvbnN0IFN0cmluZyYgZW5kcG9pbnQs
IHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBjb25zdCBBcnJh
eUJ1ZmZlciYgc2VydmVyVkFQSURQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBjbGllbnRF
Q0RIUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgYXV0aCk7CiAKIHByaXZhdGU6CiAgICAg
ZXhwbGljaXQgU2VydmljZVdvcmtlckludGVybmFscyhTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5h
bHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlk
bAppbmRleCA4ZDE5MTRiM2E1ODkwYTQ2ZWFkNDRlZDY5NjhhN2Y0YmQ2ZGI0ZjlhLi44NDY0NTVj
NjI2OGY4NWM5ZmIxNTk4OGYzYWVhMTNlYzkxYmQ3NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGwKQEAgLTQ2LDQgKzQ2LDYgQEAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9uZyBwcm9jZXNzSWRlbnRpZmllcjsKIAogICAgIFBy
b21pc2U8Ym9vbGVhbj4gbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKTsKKyAgICAKKyAg
ICBQdXNoU3Vic2NyaXB0aW9uIGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oVVNWU3RyaW5nIGVuZHBv
aW50LCBFcG9jaFRpbWVTdGFtcD8gZXhwaXJhdGlvblRpbWUsIEFycmF5QnVmZmVyIHNlcnZlclZB
UElEUHVibGljS2V5LCBBcnJheUJ1ZmZlciBjbGllbnRFQ0RIUHVibGljS2V5LCBBcnJheUJ1ZmZl
ciBhdXRoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCA4OWVjOTczZjVmZjY3YTM2Yzdh
MTRjOTZmMGE1NmQxODdhMzQ5OWY2Li41YTM0MmZkZmY5YWNlMDUwZjQ2NmYwNmUyYzkyNjJlNDhi
N2Y4OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKQEAgLTQ1LDExICs0NSwxMSBAQCBjbGFzcyBT
ZXJ2aWNlV29ya2VyOwogY2xhc3MgU2VydmljZVdvcmtlckNvbnRhaW5lcjsKIAogY2xhc3MgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+LCBwdWJsaWMgU3VwcGxlbWVudGFibGU8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0
aXZlRE9NT2JqZWN0IHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0VYUE9SVChTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLCBXRUJDT1JFX0VYUE9SVCk7CisgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKTsKIHB1YmxpYzoKICAgICBzdGF0aWMg
UmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IGdldE9yQ3JlYXRlKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmLCBSZWY8U2VydmljZVdvcmtlckNvbnRhaW5lcj4mJiwgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGEmJik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB+U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbigpOworICAgIH5TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKCk7CiAKICAgICBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWdpc3RyYXRpb25EYXRhLmlkZW50aWZpZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRs
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uaWRsCmluZGV4IDBjZWIzZThkZjY2YzlhYzU5NjE5MzJkOTNlMGQzNDBkZWViZWRjMzAuLmRk
OGIyMmUzN2UxN2Y4YzAxODA4MzlmZjFlYjQ4NjRiNjMyZjMyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbi5pZGwKQEAgLTMwLDcgKzMwLDYgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgU2Vj
dXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShXaW5kb3csU2VydmljZVdvcmtlciksCi0gICAgRXhw
b3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIs
CiAgICAgRW5hYmxlZEF0UnVudGltZT1TZXJ2aWNlV29ya2VyRW5hYmxlZCwKICAgICBHZW5lcmF0
ZUlzUmVhY2hhYmxlPUltcGwsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjU5MDk2Y2QyZWFiNTBhNTEwMWM3ZWZkZGJiNzFi
ZjQ5YjJlZTMxMC4uNWRkMWRkZDE3NzYyNDliN2YzYTJkMGU1ZDBhNDMxYzEwZWIxYzkzYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEwLTI4ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29t
PgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQ1NQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB0ZXN0cyBhbmQgbWFkZSBQdXNoU3Vic2NyaXB0aW9u
IHRlc3RzIGFsc28gcnVuIGluIHRoZQorICAgICAgICBzZXJ2aWNlIHdvcmtlciBjb250ZXh0Lgor
CisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvY29uc3RhbnRzLmpzOiBBZGRlZC4KKyAgICAg
ICAgKGJ5dGVzRnJvbSk6CisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaE1hbmFnZXIu
YW55LmpzOgorICAgICAgICAqIGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0
cHMuYW55LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vi
c2NyaXB0aW9uLmh0dHBzLmFueS5qczoKKyAgICAgICAgKEdMT0JBTC5pc1dvcmtlcik6CisgICAg
ICAgIChhc3luYyBwcm9taXNlX3Rlc3QpOgorICAgICAgICAoYnl0ZXNGcm9tKTogRGVsZXRlZC4K
KyAgICAgICAgKHByb21pc2VfdGVzdC5hc3luYyB0ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKHBy
b21pc2VfdGVzdCk6IERlbGV0ZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1
YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LnNl
cnZpY2V3b3JrZXIuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5qczogQWRkZWQuCisgICAgICAgICh0ZXN0KToK
KyAgICAgICAgKHByb21pc2VfdGVzdC5hc3luYyBuZXdTdWJzY3JpcHRpb24pOgorICAgICAgICAo
cHJvbWlzZV90ZXN0LmFzeW5jIHJldHVybik6CisgICAgICAgIChwcm9taXNlX3Rlc3QpOgorICAg
ICAgICAqIGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnku
c2VydmljZXdvcmtlci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3B1
c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1s
OiBBZGRlZC4KKwogMjAyMS0xMC0yNiAgQXl1bWkgS29qaW1hICA8YXl1bWlfa29qaW1hQGFwcGxl
LmNvbT4KIAogICAgICAgICBbIEJpZ1N1ciB3azIgRGVidWcgYXJtNjQgXSBpbnNwZWN0b3IvYXVk
aXQvcnVuLWFjY2Vzc2liaWxpdHkuaHRtbCBpcyBhIGZsYWt5IHRpbWVvdXQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA1MTc1NTcyYmRkNjIyYmJmOGEwN2QxYmM5OTE3NTAzZDUy
Nzk1NzU3Li40MGMyNWVjODZmZjA0OGI4YmQyMDEzNjJiZjU0MjQ0ZGFhYWZmYTdhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMS0xMC0yOCAgQmVu
IE5oYW0gIDxuaGFtQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzI0NTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFzc2luZy4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0dHBz
LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMC0yNiAgQ2hyaXMgRHVt
ZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENoYW5naW5nIHRoZSBzcmMgYXR0cmli
dXRlIG9mIHRoZSA8aW1nPiBlbGVtZW50IGluc2lkZSBhbiBJbWFnZURvY3VtZW50IGRvZXMgbm90
IHRyaWdnZXIgYSBsb2FkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFw
aS9jb25zdGFudHMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9jb25zdGFudHMu
anMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzE1NzQ0M2QxMDdjZjY3MWM2OGExMzNkYmQwYzk4OTFhZjllNzc5MQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL2NvbnN0YW50
cy5qcwpAQCAtMCwwICsxLDIxIEBACitjb25zdCBFTkRQT0lOVCA9ICdodHRwczovL3d3dy53ZWJr
aXQub3JnJzsKK2NvbnN0IEVYUElSQVRJT05fVElNRSA9IDE2MzMwMDAwMDA7CisKK2NvbnN0IENM
SUVOVF9CQVNFNjRfS0VZXzEgPSAnQkExSHh6eWkxUlVNMWI1d2p4c243bkd4QXN6dzJ1NjFtMTY0
aTNNckFJeEhGNllLNWg0U0RZaWMtZFJ1VV9SQ1BDZkE1YXE5b2pTd2s1WTJFbUNsQlBzJzsKK2Nv
bnN0IENMSUVOVF9LRVlfMSA9IG5ldyBVaW50OEFycmF5KFs0LCAxMywgNzEsIDE5OSwgNjAsIDE2
MiwgMjEzLCAyMSwgMTIsIDIxMywgMTkwLCAxMTIsIDE0MywgMjcsIDM5LCAyMzgsIDExMywgMTc3
LCAyLCAyMDQsIDI0MCwgMjE4LCAyMzgsIDE4MSwgMTU1LCA5NCwgMTg0LCAxMzksIDExNSwgNDMs
IDAsIDE0MCwgNzEsIDIzLCAxNjYsIDEwLCAyMzAsIDMwLCAxOCwgMTMsIDEzNiwgMTU2LCAyNDks
IDIxMiwgMTEwLCA4MywgMjQ0LCA2NiwgNjAsIDM5LCAxOTIsIDIyOSwgMTcwLCAxODksIDE2Miwg
NTIsIDE3NiwgMTQ3LCAxNTAsIDU0LCAxOCwgOTYsIDE2NSwgNCwgMjUxXSkuYnVmZmVyOworCitj
b25zdCBDTElFTlRfQkFTRTY0X0tFWV8yID0gJ0JDVnhzcjdOX2VOZ1ZScXZIdEQwelRac0VjNi1W
Vi1KdkxleGhxVXpPUmN4YU96aTYtQVlXWHZUQkhtNGJqeVBqczdWZDhwWkdINlNScGtOdG9JQWl3
NCc7Citjb25zdCBDTElFTlRfS0VZXzIgPSBuZXcgVWludDhBcnJheShbNCwgMzcsIDExMywgMTc4
LCAxOTAsIDIwNSwgMjUzLCAyMjcsIDk2LCA4NSwgMjYsIDE3NSwgMzAsIDIwOCwgMjQ0LCAyMDUs
IDU0LCAxMDgsIDE3LCAyMDYsIDE5MCwgODUsIDk1LCAxMzcsIDE4OCwgMTgzLCAxNzcsIDEzNCwg
MTY1LCA1MSwgNTcsIDIzLCA0OSwgMTA0LCAyMzYsIDIyNiwgMjM1LCAyMjQsIDI0LCA4OSwgMTIz
LCAyMTEsIDQsIDEyMSwgMTg0LCAxMTAsIDYwLCAxNDMsIDE0MiwgMjA2LCAyMTMsIDExOSwgMjAy
LCA4OSwgMjQsIDEyNiwgMTQ2LCA3MCwgMTUzLCAxMywgMTgyLCAxMzAsIDAsIDEzOSwgMTRdKS5i
dWZmZXI7CisKK2NvbnN0IEJBU0U2NF9BVVRIID0gJ0JUQlpNcUhINnI0VHRzN0pfYVNJZ2cnOwor
Y29uc3QgQVVUSCA9IG5ldyBVaW50OEFycmF5KFs1LCA0OCwgODksIDUwLCAxNjEsIDE5OSwgMjM0
LCAxOTAsIDE5LCAxODIsIDIwNiwgMjAxLCAyNTMsIDE2NCwgMTM2LCAxMzBdKS5idWZmZXI7CisK
K2NvbnN0IElOVkFMSURfU0VSVkVSX0tFWSA9IG5ldyBVaW50OEFycmF5KG5ldyBBcnJheSg2NSku
ZmlsbCg0KSkuYnVmZmVyOworY29uc3QgSU5WQUxJRF9CQVNFNjRfU0VSVkVSX0tFWSA9ICJCQVFF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVEiOworCitjb25zdCBWQUxJRF9CQVNFNjRfU0VSVkVS
X0tFWSA9ICJCQTFIeHp5aTFSVU0xYjV3anhzbjduR3hBc3p3MnU2MW0xNjRpM01yQUl4SEY2WUs1
aDRTRFlpYy1kUnVVX1JDUENmQTVhcTlvalN3azVZMkVtQ2xCUHMiOworY29uc3QgVkFMSURfU0VS
VkVSX0tFWSA9IG5ldyBVaW50OEFycmF5KFs0LCAxMywgNzEsIDE5OSwgNjAsIDE2MiwgMjEzLCAy
MSwgMTIsIDIxMywgMTkwLCAxMTIsIDE0MywgMjcsIDM5LCAyMzgsIDExMywgMTc3LCAyLCAyMDQs
IDI0MCwgMjE4LCAyMzgsIDE4MSwgMTU1LCA5NCwgMTg0LCAxMzksIDExNSwgNDMsIDAsIDE0MCwg
NzEsIDIzLCAxNjYsIDEwLCAyMzAsIDMwLCAxOCwgMTMsIDEzNiwgMTU2LCAyNDksIDIxMiwgMTEw
LCA4MywgMjQ0LCA2NiwgNjAsIDM5LCAxOTIsIDIyOSwgMTcwLCAxODksIDE2MiwgNTIsIDE3Niwg
MTQ3LCAxNTAsIDU0LCAxOCwgOTYsIDE2NSwgNCwgMjUxXSkuYnVmZmVyOworCitmdW5jdGlvbiBi
eXRlc0Zyb20oYnVmKSB7CisgICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFVpbnQ4QXJyYXkoYnVm
KSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFu
YWdlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFuYWdlci5h
bnkuanMKaW5kZXggMGJjNmIzNjgyMDA3NGMyNzUxYjU0NWQ1MzMwOGJiNjY1NWMwOGE3MC4uNGZm
NTg4YzE0MGJlY2QwZGNlNDYzNDQ2MWMzNGY1Y2Y3MzUwMWIxYSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaE1hbmFnZXIuYW55LmpzCisrKyBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hNYW5hZ2VyLmFueS5qcwpAQCAtMSwxMSArMSw2IEBA
CiAvLyBNRVRBOiB0aXRsZT1QdXNoTWFuYWdlciB0ZXN0cwogLy8gTUVUQTogZ2xvYmFsPXdpbmRv
dyxzZXJ2aWNld29ya2VyCi0KLWNvbnN0IElOVkFMSURfU0VSVkVSX0tFWSA9IG5ldyBVaW50OEFy
cmF5KG5ldyBBcnJheSg2NSkuZmlsbCg0KSk7Ci1jb25zdCBWQUxJRF9TRVJWRVJfS0VZID0gbmV3
IFVpbnQ4QXJyYXkoWzQsIDEzLCA3MSwgMTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAx
OTAsIDExMiwgMTQzLCAyNywgMzksIDIzOCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIz
OCwgMTgxLCAxNTUsIDk0LCAxODQsIDEzOSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2Niwg
MTAsIDIzMCwgMzAsIDE4LCAxMywgMTM2LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2
LCA2MCwgMzksIDE5MiwgMjI5LCAxNzAsIDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQs
IDE4LCA5NiwgMTY1LCA0LCAyNTFdKTsKLQotY29uc3QgSU5WQUxJRF9CQVNFNjRfU0VSVkVSX0tF
WSA9ICJCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVEiOwotY29uc3QgVkFMSURfQkFTRTY0
X1NFUlZFUl9LRVkgPSAiQkExSHh6eWkxUlVNMWI1d2p4c243bkd4QXN6dzJ1NjFtMTY0aTNNckFJ
eEhGNllLNWg0U0RZaWMtZFJ1VV9SQ1BDZkE1YXE5b2pTd2s1WTJFbUNsQlBzIjsKKy8vIE1FVEE6
IHNjcmlwdD1jb25zdGFudHMuanMKIAogbGV0IHJlZ2lzdHJhdGlvbiA9IG51bGw7CiBsZXQgcHVz
aE1hbmFnZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1h
cGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0ZWQudHh0
CmluZGV4IGFjYWM1YmNiMzhjNWNkNzA5ZDgyYTU1MmJhMmRhZDgzZTBhODIxNjAuLjE1YjE5MWJh
MTE5ZGUwNjkxYzNiMzAzNGYxMjEyODBmNTE2YzY2ODUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0
dHBzLmFueS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiAKLVBBU1Mgd2FpdCBmb3IgYWN0
aXZlIHNlcnZpY2Ugd29ya2VyCiBQQVNTIFB1c2hTdWJzY3JpcHRpb24gZ2V0dGVycwotUEFTUyB1
bnJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyCitQQVNTIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3Jp
cHRpb24gbm90IGFzc29jaWF0ZWQgd2l0aCBhIHJlZ2lzdHJhdGlvbgogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5q
cyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMu
YW55LmpzCmluZGV4IDMxODA3YmExNmU1OWVhN2M5M2VlYWMwYTE3ZGE2MDZlMDJmMTdiMDAuLjQw
ZmI2ZGQyNjlmNDcxMWFiNjMxYTE4OTUzZGRkMTMzYmZhMTI0NTQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LmpzCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMu
YW55LmpzCkBAIC0xLDY0ICsxLDQ0IEBACiAvLyBNRVRBOiB0aXRsZT1QdXNoU3Vic2NyaXB0aW9u
IHRlc3RzCi0vLyBNRVRBOiBnbG9iYWw9d2luZG93CisvLyBNRVRBOiBnbG9iYWw9d2luZG93LHNl
cnZpY2V3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD1jb25zdGFudHMuanMKIAotY29uc3QgZW5kcG9p
bnQgPSAnaHR0cHM6Ly93d3cud2Via2l0Lm9yZyc7Ci1jb25zdCBleHBpcmF0aW9uVGltZSA9IDE2
MzMwMDAwMDA7Ci1jb25zdCBrZXkxQnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDEzLCA3MSwg
MTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAxOTAsIDExMiwgMTQzLCAyNywgMzksIDIz
OCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIzOCwgMTgxLCAxNTUsIDk0LCAxODQsIDEz
OSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2NiwgMTAsIDIzMCwgMzAsIDE4LCAxMywgMTM2
LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2LCA2MCwgMzksIDE5MiwgMjI5LCAxNzAs
IDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQsIDE4LCA5NiwgMTY1LCA0LCAyNTFdKS5i
dWZmZXI7Ci1jb25zdCBrZXkxQmFzZTY0VVJMID0gJ0JBMUh4enlpMVJVTTFiNXdqeHNuN25HeEFz
encydTYxbTE2NGkzTXJBSXhIRjZZSzVoNFNEWWljLWRSdVVfUkNQQ2ZBNWFxOW9qU3drNVkyRW1D
bEJQcyc7Ci1jb25zdCBrZXkyQnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDM3LCAxMTMsIDE3
OCwgMTkwLCAyMDUsIDI1MywgMjI3LCA5NiwgODUsIDI2LCAxNzUsIDMwLCAyMDgsIDI0NCwgMjA1
LCA1NCwgMTA4LCAxNywgMjA2LCAxOTAsIDg1LCA5NSwgMTM3LCAxODgsIDE4MywgMTc3LCAxMzQs
IDE2NSwgNTEsIDU3LCAyMywgNDksIDEwNCwgMjM2LCAyMjYsIDIzNSwgMjI0LCAyNCwgODksIDEy
MywgMjExLCA0LCAxMjEsIDE4NCwgMTEwLCA2MCwgMTQzLCAxNDIsIDIwNiwgMjEzLCAxMTksIDIw
MiwgODksIDI0LCAxMjYsIDE0NiwgNzAsIDE1MywgMTMsIDE4MiwgMTMwLCAwLCAxMzksIDE0XSku
YnVmZmVyOwotY29uc3Qga2V5MkJhc2U2NFVSTCA9ICdCQ1Z4c3I3Tl9lTmdWUnF2SHREMHpUWnNF
YzYtVlYtSnZMZXhocVV6T1JjeGFPemk2LUFZV1h2VEJIbTRianlQanM3VmQ4cFpHSDZTUnBrTnRv
SUFpdzQnOwotY29uc3QgYXV0aEJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KFs1LCA0OCwgODksIDUw
LCAxNjEsIDE5OSwgMjM0LCAxOTAsIDE5LCAxODIsIDIwNiwgMjAxLCAyNTMsIDE2NCwgMTM2LCAx
MzBdKS5idWZmZXI7Ci1jb25zdCBhdXRoQmFzZTY0VVJMID0gJ0JUQlpNcUhINnI0VHRzN0pfYVNJ
Z2cnOworbGV0IHN1YnNjcmlwdGlvbiA9IG51bGw7CiAKLWZ1bmN0aW9uIGJ5dGVzRnJvbShidWYp
IHsKLSAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShidWYpKTsKK2lmIChHTE9C
QUwuaXNXb3JrZXIoKSkgeworICAgIGxldCBhY3RpdmF0ZVByb21pc2UgPSBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHNlbGYub25hY3RpdmF0ZSA9IHJlc29sdmUpOworICAgIHByb21pc2VfdGVzdChh
c3luYyAoKSA9PiB7CisgICAgICAgcmV0dXJuIGFjdGl2YXRlUHJvbWlzZTsKKyAgICB9LCAid2Fp
dCBmb3IgYWN0aXZlIHNlcnZpY2Ugd29ya2VyIik7CiB9CiAKLWxldCByZWdpc3RyYXRpb24gPSBu
dWxsOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKLSAgICByZWdpc3RyYXRpb24g
PSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oKTsKLSAgICBp
ZiAocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgIGF3YWl0IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24udW5yZWdpc3RlcigpOwotICAgIH0KLSAgICByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0
b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigiZW1wdHlXb3JrZXIuanMiKTsKLSAgICBhc3NlcnRf
dHJ1ZSghcmVnaXN0cmF0aW9uLmFjdGl2ZSwgInNlcnZpY2Ugd29ya2VyIHNob3VsZCBiZSBpbnN0
YWxsaW5nIik7Ci0KLSAgICBsZXQgc2VydmljZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxs
aW5nIHx8IHJlZ2lzdHJhdGlvbi53YWl0aW5nOwotICAgIGFzc2VydF90cnVlKCEhc2VydmljZVdv
cmtlciwgInJlZ2lzdHJhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZCB3aXRoIGEgc2VydmljZSB3
b3JrZXIiKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAgICAgICAg
c2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZWNoYW5nZSIsICgpID0+IHsKLSAg
ICAgICAgICAgIGlmIChzZXJ2aWNlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVkIikKLSAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIndhaXQgZm9y
IGFjdGl2ZSBzZXJ2aWNlIHdvcmtlciIpOwotCiBwcm9taXNlX3Rlc3QoKCkgPT4gewotICAgIGFz
c2VydF90cnVlKCEhd2luZG93LmludGVybmFscywgInRlc3QgcmVxdWlyZXMgaW50ZXJuYWxzIik7
CisgICAgYXNzZXJ0X3RydWUoISFzZWxmLmludGVybmFscywgInRlc3QgcmVxdWlyZXMgaW50ZXJu
YWxzIik7CiAKLSAgICBsZXQgc3Vic2NyaXB0aW9uID0gd2luZG93LmludGVybmFscy5jcmVhdGVQ
dXNoU3Vic2NyaXB0aW9uKHJlZ2lzdHJhdGlvbiwgZW5kcG9pbnQsIGV4cGlyYXRpb25UaW1lLCBr
ZXkxQnVmZmVyLCBrZXkyQnVmZmVyLCBhdXRoQnVmZmVyKTsKKyAgICBzdWJzY3JpcHRpb24gPSBz
ZWxmLmludGVybmFscy5jcmVhdGVQdXNoU3Vic2NyaXB0aW9uKEVORFBPSU5ULCBFWFBJUkFUSU9O
X1RJTUUsIFZBTElEX1NFUlZFUl9LRVksIENMSUVOVF9LRVlfMSwgQVVUSCk7CiAgICAgYXNzZXJ0
X3RydWUoc3Vic2NyaXB0aW9uIGluc3RhbmNlb2YgUHVzaFN1YnNjcmlwdGlvbik7CiAKLSAgICBh
c3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5lbmRwb2ludCwgZW5kcG9pbnQpOwotICAgIGFzc2Vy
dF9lcXVhbHMoc3Vic2NyaXB0aW9uLmV4cGlyYXRpb25UaW1lLCBleHBpcmF0aW9uVGltZSk7Cisg
ICAgYXNzZXJ0X2VxdWFscyhzdWJzY3JpcHRpb24uZW5kcG9pbnQsIEVORFBPSU5UKTsKKyAgICBh
c3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5leHBpcmF0aW9uVGltZSwgRVhQSVJBVElPTl9USU1F
KTsKICAgICBhc3NlcnRfdHJ1ZShzdWJzY3JpcHRpb24ub3B0aW9ucyA9PT0gc3Vic2NyaXB0aW9u
Lm9wdGlvbnMsICJvcHRpb25zIHNob3VsZCBhbHdheXMgcmV0dXJuIHNhbWUgb2JqZWN0Iik7CiAg
ICAgYXNzZXJ0X2VxdWFscyhzdWJzY3JpcHRpb24ub3B0aW9ucy51c2VyVmlzaWJsZU9ubHksIHRy
dWUpOwogICAgIGFzc2VydF90cnVlKHN1YnNjcmlwdGlvbi5vcHRpb25zLmFwcGxpY2F0aW9uU2Vy
dmVyS2V5ID09PSBzdWJzY3JpcHRpb24ub3B0aW9ucy5hcHBsaWNhdGlvblNlcnZlcktleSwgImFw
cGxpY2F0aW9uU2VydmVyS2V5IHNob3VsZCByZXR1cm4gc2FtZSBvYmplY3QiKTsKLSAgICBhc3Nl
cnRfYXJyYXlfZXF1YWxzKGJ5dGVzRnJvbShzdWJzY3JpcHRpb24ub3B0aW9ucy5hcHBsaWNhdGlv
blNlcnZlcktleSksIGJ5dGVzRnJvbShrZXkxQnVmZmVyKSk7Ci0gICAgYXNzZXJ0X2FycmF5X2Vx
dWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgncDI1NmRoJykpLCBieXRlc0Zyb20o
a2V5MkJ1ZmZlcikpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYnl0ZXNGcm9tKHN1YnNjcmlw
dGlvbi5nZXRLZXkoJ2F1dGgnKSksIGJ5dGVzRnJvbShhdXRoQnVmZmVyKSk7CisgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLm9wdGlvbnMuYXBwbGljYXRpb25T
ZXJ2ZXJLZXkpLCBieXRlc0Zyb20oVkFMSURfU0VSVkVSX0tFWSkpOworICAgIGFzc2VydF9hcnJh
eV9lcXVhbHMoYnl0ZXNGcm9tKHN1YnNjcmlwdGlvbi5nZXRLZXkoJ3AyNTZkaCcpKSwgYnl0ZXNG
cm9tKENMSUVOVF9LRVlfMSkpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYnl0ZXNGcm9tKHN1
YnNjcmlwdGlvbi5nZXRLZXkoJ2F1dGgnKSksIGJ5dGVzRnJvbShBVVRIKSk7CiAKICAgICBvYmog
PSBzdWJzY3JpcHRpb24udG9KU09OKCk7CiAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3Qua2V5cyhv
YmopLmxlbmd0aCwgMyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhvYmouZW5kcG9pbnQsIGVuZHBvaW50
KTsKLSAgICBhc3NlcnRfZXF1YWxzKG9iai5leHBpcmF0aW9uVGltZSwgZXhwaXJhdGlvblRpbWUp
OworICAgIGFzc2VydF9lcXVhbHMob2JqLmVuZHBvaW50LCBFTkRQT0lOVCk7CisgICAgYXNzZXJ0
X2VxdWFscyhvYmouZXhwaXJhdGlvblRpbWUsIEVYUElSQVRJT05fVElNRSk7CiAgICAgYXNzZXJ0
X2VxdWFscyhPYmplY3Qua2V5cyhvYmoua2V5cykubGVuZ3RoLCAyKTsKLSAgICBhc3NlcnRfZXF1
YWxzKG9iai5rZXlzLnAyNTZkaCwga2V5MkJhc2U2NFVSTCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhv
Ymoua2V5cy5hdXRoLCBhdXRoQmFzZTY0VVJMKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9iai5rZXlz
LnAyNTZkaCwgQ0xJRU5UX0JBU0U2NF9LRVlfMSk7CisgICAgYXNzZXJ0X2VxdWFscyhvYmoua2V5
cy5hdXRoLCBCQVNFNjRfQVVUSCk7CiAKICAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9
PiByZXNvbHZlKCkpOwogfSwgIlB1c2hTdWJzY3JpcHRpb24gZ2V0dGVycyIpOwogCi1wcm9taXNl
X3Rlc3QoKHRlc3QpID0+IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCksICJ1bnJlZ2lzdGVyIHNl
cnZpY2Ugd29ya2VyIik7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGxldCByZXN1
bHQgPSBhd2FpdCBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsKKyAgICBhc3NlcnRfZmFsc2Uo
cmVzdWx0LCAic3Vic2NyaXB0aW9uIHRoYXQgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIHNlcnZp
Y2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBzaG91bGQgYWxyZWFkeSBiZSB1bnN1YnNjcmliZWQiKTsK
KyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlKCkpOworfSwgInVuc3Vi
c2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gbm90IGFzc29jaWF0ZWQgd2l0aCBhIHJlZ2lzdHJh
dGlvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1
YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjY4MTUwZjI0NzdlYjJiMjFkY2QwZWM5
MmY0YjA5YmZjODA2MjI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
cHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mgd2FpdCBmb3IgYWN0aXZlIHNlcnZpY2Ugd29y
a2VyCitQQVNTIFB1c2hTdWJzY3JpcHRpb24gZ2V0dGVycworUEFTUyB1bnN1YnNjcmliaW5nIGZy
b20gc3Vic2NyaXB0aW9uIG5vdCBhc3NvY2lhdGVkIHdpdGggYSByZWdpc3RyYXRpb24KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5o
dHRwcy5hbnkuc2VydmljZXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1h
cGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0
dHBzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
LmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudC5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjNDIxZjVhZjIxMDBlYjk5MjRkNTU1NGRm
ODcwNTEwYjA0Nzc1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1
c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuanMKQEAgLTAsMCArMSw1MSBA
QAorLy8gTUVUQTogdGl0bGU9UHVzaEV2ZW50IHRlc3RzCisvLyBNRVRBOiBnbG9iYWw9c2Vydmlj
ZXdvcmtlcgorLy8gTUVUQTogc2NyaXB0PWNvbnN0YW50cy5qcworCit0ZXN0KCgpID0+IHsKKyAg
ICBsZXQgZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2Ny
aXB0aW9uY2hhbmdlIik7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5uZXdTdWJzY3JpcHRpb24s
IG51bGwsICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm9sZFN1YnNjcmlwdGlvbiwg
bnVsbCwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRob3V0IGRh
dGEiKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3IFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIsIHsgbmV3U3Vic2NyaXB0aW9u
OiBudWxsLCBvbGRTdWJzY3JpcHRpb246IG51bGwgfSk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5uZXdTdWJzY3JpcHRpb24sIG51bGwsICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50
Lm9sZFN1YnNjcmlwdGlvbiwgbnVsbCwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCB3aXRob3V0IHN1YnNjcmlwdGlvbnMiKTsKKworbGV0IG5ld1N1YnNjcmlwdGlvbiA9
IG51bGw7CitsZXQgb2xkU3Vic2NyaXB0aW9uID0gbnVsbDsKKworbGV0IGFjdGl2YXRlUHJvbWlz
ZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2VsZi5vbmFjdGl2YXRlID0gcmVzb2x2ZSk7Citw
cm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgcmV0dXJuIGFjdGl2YXRlUHJvbWlzZTsKK30s
ICJ3YWl0IGZvciBhY3RpdmUgc2VydmljZSB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5j
KCkgPT4geworICAgIG5ld1N1YnNjcmlwdGlvbiA9IHNlbGYuaW50ZXJuYWxzLmNyZWF0ZVB1c2hT
dWJzY3JpcHRpb24oRU5EUE9JTlQsIEVYUElSQVRJT05fVElNRSwgVkFMSURfU0VSVkVSX0tFWSwg
Q0xJRU5UX0tFWV8xLCBBVVRIKTsKKyAgICBvbGRTdWJzY3JpcHRpb24gPSBzZWxmLmludGVybmFs
cy5jcmVhdGVQdXNoU3Vic2NyaXB0aW9uKEVORFBPSU5ULCBFWFBJUkFUSU9OX1RJTUUsIFZBTElE
X1NFUlZFUl9LRVksIENMSUVOVF9LRVlfMiwgQVVUSCk7CisKKyAgICBhc3NlcnRfdHJ1ZShuZXdT
dWJzY3JpcHRpb24gaW5zdGFuY2VvZiBQdXNoU3Vic2NyaXB0aW9uKTsKKyAgICBhc3NlcnRfdHJ1
ZShvbGRTdWJzY3JpcHRpb24gaW5zdGFuY2VvZiBQdXNoU3Vic2NyaXB0aW9uKTsKKworICAgIHJl
dHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUoKSk7Cit9LCAiY3JlYXRlIHN1YnNj
cmlwdGlvbnMiKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3IFB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIsIHsgbmV3U3Vic2Ny
aXB0aW9uIH0pOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubmV3U3Vic2NyaXB0aW9uLCBuZXdT
dWJzY3JpcHRpb24sICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm9sZFN1YnNjcmlw
dGlvbiwgbnVsbCwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRo
IG5ldyBzdWJzY3JpcHRpb24iKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIsIHsg
b2xkU3Vic2NyaXB0aW9uIH0pOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubmV3U3Vic2NyaXB0
aW9uLCBudWxsLCAibmV3Iik7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5vbGRTdWJzY3JpcHRp
b24sIG9sZFN1YnNjcmlwdGlvbiwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCB3aXRoIG9sZCBzdWJzY3JpcHRpb24iKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2
ZW50ID0gbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNo
YW5nZSIsIHsgbmV3U3Vic2NyaXB0aW9uLCBvbGRTdWJzY3JpcHRpb24gfSk7CisgICAgYXNzZXJ0
X2VxdWFscyhldmVudC5uZXdTdWJzY3JpcHRpb24sIG5ld1N1YnNjcmlwdGlvbiwgIm5ldyIpOwor
ICAgIGFzc2VydF9lcXVhbHMoZXZlbnQub2xkU3Vic2NyaXB0aW9uLCBvbGRTdWJzY3JpcHRpb24s
ICJvbGQiKTsKK30sICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aCBuZXcgYW5kIG9s
ZCBzdWJzY3JpcHRpb24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gt
YXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk1ZmEy
YjE3NDcyZTI3ZjQ2M2VjMWNhYjE2MjAyNjM5YWE2YmUwYWIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQu
YW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitQQVNTIFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRob3V0IGRhdGEKK1BBU1MgUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IHdpdGhvdXQgc3Vic2NyaXB0aW9ucworUEFTUyB3YWl0IGZvciBhY3Rp
dmUgc2VydmljZSB3b3JrZXIKK1BBU1MgY3JlYXRlIHN1YnNjcmlwdGlvbnMKK1BBU1MgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGggbmV3IHN1YnNjcmlwdGlvbgorUEFTUyBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aCBvbGQgc3Vic2NyaXB0aW9uCitQQVNTIFB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudCB3aXRoIG5ldyBhbmQgb2xkIHN1YnNjcmlwdGlvbgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1
c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2Ny
aXB0aW9uQ2hhbmdlRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8
IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUg
dG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9p
ZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBkZGQ0
YmY2MmZmNDA3NzZjNzFhMDgxOGVlYmNmODY1MGI5ODExYmU5Li42MzNhZDc3ODMyZjk0NTNlOThl
ZThjMmFjNjU5ZDRhMTNkMDlmYTVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZp
Y2V3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtl
ci1leHBlY3RlZC50eHQKQEAgLTY1LDE4ICs2NSwxOCBAQCBQQVNTIFB1c2hFdmVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBkYXRhCiBQQVNTIFB1c2hFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIG5ldyBQdXNoRXZlbnQoInR5cGUiKQogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3
IFB1c2hFdmVudCgidHlwZSIpCiBQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoRXZl
bnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3BlciB0
eXBlCi1GQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlz
c2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCi1G
QUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQi
IG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1N1YnNjcmlwdGlvbiBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1p
c3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogYXR0cmli
dXRlIG9sZFN1YnNjcmlwdGlvbiBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpIGFzc2Vy
dF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhw
ZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIKLUZBSUwgU3RyaW5naWZpY2F0aW9u
IG9mIG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFu
Z2UiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcg
b2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiCi1GQUlMIFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkg
Im5ld1N1YnNjcmlwdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IgotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQg
aW50ZXJmYWNlOiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0
aW9uY2hhbmdlIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbGRTdWJzY3JpcHRpb24iIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4g
ZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIK
K1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFB1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQdXNoU3Vic2Ny
aXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3U3Vic2NyaXB0aW9uCitQ
QVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbGRT
dWJzY3JpcHRpb24KK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IG11c3QgYmUgcHJp
bWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1
YnNjcmlwdGlvbmNoYW5nZSIpCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikKK1BBU1MgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAi
bmV3U3Vic2NyaXB0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbGRTdWJz
Y3JpcHRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlCiBQQVNTIFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHVzaE1hbmFnZXIKIFBBU1MgU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgInB1c2hNYW5hZ2VyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wdXNoCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>442747</attachid>
            <date>2021-10-28 14:58:37 -0700</date>
            <delta_ts>2021-11-09 14:13:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232455-20211028145836.patch</filename>
            <type>text/plain</type>
            <size>60816</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0OTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FkNjY4YzY0OGQyNTY4
MjA5NjQ4NjA0YjIzZjJmNmIxMjUzMDE1NS4uYzQ3MWZhYzc5N2YwMTA0MzYyNzJjMjRmMjQ1MGJm
ZDg4OTU3MWMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIxLTEwLTI4ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB0aGUgUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IG9iamVjdC4gSSBwbGFuIHRvIGFkZCBzdXBwb3J0IGZvciB0aGUKKyAgICAgICAg
b25wdXNoc3Vic2NyaXB0aW9uY2hhbmdlIGV2ZW50IGhhbmRsZXIgaW4gYSBsYXRlciBwYXRjaC4K
KworICAgICAgICBXaGlsZSB3b3JraW5nIG9uIHRoaXMsIGl0IHNlZW1lZCByZWFzb25hYmxlIHRv
IGJlIGFibGUgdG8gY3JlYXRlIFB1c2hTdWJzY3JpcHRpb25zIHRoYXQKKyAgICAgICAgcG9pbnQg
dG8gYSBudWxsIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uIFRoaXMgaXMgZm9yIHN1YnNjcmlw
dGlvbnMgdGhhdCBhcmUgcmV0dXJuZWQgdmlhCisgICAgICAgIHRoZSBvbGRTdWJzY3JpcHRpb24g
cHJvcGVydHkgYW5kIGFyZSB0aGVyZWZvcmUgYWxyZWFkeSB1bnN1YnNjcmliZWQuCisKKyAgICAg
ICAgSSBhZGRlZCBhIG5ldyBjb25zdHJ1Y3RvciBmb3IgY3JlYXRpbmcgYSBQdXNoU3Vic2NyaXB0
aW9uIHBvaW50aW5nIHRvIGEgbnVsbAorICAgICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LCByYXRoZXIgdGhhbiBjaGFuZ2luZyB0aGUgZXhpc3RpbmcgY29uc3RydWN0b3IgdG8ganVzdCB0
YWtlIGEKKyAgICAgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+LiBUaGlzIGlz
IGJlY2F1c2UgSSB3YW50ZWQgdG8gcmVtb3ZlIHRoZSBXRUJDT1JFX0VYUE9SVAorICAgICAgICBm
cm9tIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24sIGFuZCB0aGUgaW5saW5lIGNvZGUgZ2VuZXJh
dGVkIGJ5IGNyZWF0aW5nIGEgbnVsbAorICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbj4gaW4gdGhlIGludGVybmFscyBkeWxpYiBjYXVzZWQgaXQgdG8gcmVxdWlyZQorICAg
ICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpyZWYvZGVyZWYgdG8gYmUgZXhwb3J0ZWQu
CisKKyAgICAgICAgVGVzdHM6IGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb246OlB1c2hTdWJzY3JpcHRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3JpYmUpOgorICAg
ICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5oOgorICAgICAgICAqIE1v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OlB1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudCk6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2Ny
aXB0aW9uQ2hhbmdlRXZlbnQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsLgorICAgICAgICAqIE1vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbDogQ29waWVkIGZyb20gU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRs
LgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
SW5pdC5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsLgorICAgICAg
ICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAg
ICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKToK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckludGVybmFsczo6Y3JlYXRlUHVzaFN1YnNj
cmlwdGlvbik6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6Cisg
ICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKwogMjAyMS0xMC0y
NiAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAogICAgICAgICBbR1BV
IFByb2Nlc3NdIGBEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmdldENUTWAgc2hvdWxkIGluY2x1ZGUg
dGhlIGRldmljZSBzY2FsZSBmYWN0b3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYmNjODE4Zjk3
OGM4YzRiYjk1M2ZlMjI5ZGI4YzIxOGNkYWJiNmMxOS4uNGQxNGIyNDU4ZjkyOGY5MmQ1MGM2Y2Yx
ODRiYTU2NDBiYTg3ZmEwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTUwOSw2ICs1MDksOCBA
QCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVz
aE1lc3NhZ2VEYXRhLmlkbAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFBlcm1pc3Npb25TdGF0
ZS5pZGwKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsCisgICAgTW9k
dWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsCisgICAgTW9kdWxl
cy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbAogICAgIE1vZHVs
ZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkpTT04uaWRsCiAgICAgTW9kdWxlcy9wdXNoLWFw
aS9QdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5pZGwKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25PcHRpb25zSW5pdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGEwOWMyOThiOGRlYjU0MjBhYWU3NDk2YWFhYmU2
Mjg0NDA2YmIzMzkuLjc1NWNlMzMxMGQ0NjkxNTcxOTI0OGVjZGY5NjhjYTVhYmE2NDRmYjkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAt
NDMyLDYgKzQzMiw4IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFn
ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFBlcm1pc3Npb25TdGF0ZS5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGwK
KyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2
ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNo
U3Vic2NyaXB0aW9uSlNPTi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVz
aFN1YnNjcmlwdGlvbk9wdGlvbnMuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5kZXggODIyZmM4NWExMTZlYWU2Y2E1MDRi
NmI1MTZlMWVhMjY4ODIwNDBjMS4uZTM2ZDU1MDc4ZWQ4N2FlMDQ5Y2VhNDFmZGIzMjE4OGYxOWFh
YTcwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QKQEAgLTE2MjMsNiArMTYyMywxMCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hQZXJtaXNzaW9uU3RhdGUuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hQZXJtaXNzaW9uU3RhdGUuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2Ny
aXB0aW9uLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQdXNoU3Vic2NyaXB0aW9uLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQ
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1
YnNjcmlwdGlvbkpTT04uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRpb25KU09OLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkOTI0YWJlOWE3N2Y3NzlkYzIyNTZlOTNlZmQz
MzIwMDRmNTU2OThlLi44MmZmNTQwNTVhMjc5NTc0YzNmNjZjZTVjNmFmMGJkNzRiNzA5YWMwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTM2MCw2ICszNjAsOCBAQCBKU19CSU5E
SU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2Fn
ZURhdGEuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFBlcm1pc3Np
b25TdGF0ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2Ny
aXB0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25KU09OLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5pZGwgXApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlv
bi5jcHAKaW5kZXggZTA1MDQ0ZGQyN2M5OGExOTkzOTAyOWJiMzkzMjcyODAzY2NlZTIyOS4uZDQ3
MzU5OWViOTJjMDgxYWZmZmM3NTgzOGIwMjk4YTFkM2IxOGVhOSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3BwCkBAIC0zOCw2
ICszOCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChQdXNoU3Vic2NyaXB0aW9uKTsKIAorUHVzaFN1YnNjcmlwdGlvbjo6UHVzaFN1YnNjcmlw
dGlvbihTdHJpbmcmJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhw
aXJhdGlvblRpbWUsIFZlY3Rvcjx1aW50OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBWZWN0
b3I8dWludDhfdD4mJiBjbGllbnRFQ0RIUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBzaGFy
ZWRBdXRoZW50aWNhdGlvblNlY3JldCkKKyAgICA6IG1fZW5kcG9pbnQoV1RGTW92ZShlbmRwb2lu
dCkpCisgICAgLCBtX2V4cGlyYXRpb25UaW1lKGV4cGlyYXRpb25UaW1lKQorICAgICwgbV9vcHRp
b25zKFB1c2hTdWJzY3JpcHRpb25PcHRpb25zOjpjcmVhdGUoV1RGTW92ZShzZXJ2ZXJWQVBJRFB1
YmxpY0tleSkpKQorICAgICwgbV9jbGllbnRFQ0RIUHVibGljS2V5KFdURk1vdmUoY2xpZW50RUNE
SFB1YmxpY0tleSkpCisgICAgLCBtX3NoYXJlZEF1dGhlbnRpY2F0aW9uU2VjcmV0KFdURk1vdmUo
c2hhcmVkQXV0aGVudGljYXRpb25TZWNyZXQpKQoreworfQorCiBQdXNoU3Vic2NyaXB0aW9uOjpQ
dXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiYmIHJlZ2lzdHJh
dGlvbiwgU3RyaW5nJiYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4
cGlyYXRpb25UaW1lLCBWZWN0b3I8dWludDhfdD4mJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVj
dG9yPHVpbnQ4X3Q+JiYgY2xpZW50RUNESFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2hh
cmVkQXV0aGVudGljYXRpb25TZWNyZXQpCiAgICAgOiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oV1RGTW92ZShyZWdpc3RyYXRpb24pKQogICAgICwgbV9lbmRwb2ludChXVEZNb3ZlKGVuZHBv
aW50KSkKQEAgLTg4LDYgKzk3LDExIEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxKU0M6OkFycmF5QnVm
ZmVyPj4gUHVzaFN1YnNjcmlwdGlvbjo6Z2V0S2V5KFB1c2hFbmNyeXB0aW9uS2V5CiAKIHZvaWQg
UHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3JpYmUoRE9NUHJvbWlzZURlZmVycmVkPElETEJvb2xl
YW4+JiYgcHJvbWlzZSkKIHsKKyAgICBpZiAoIW1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbikg
eworICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLT51bnN1YnNjcmliZUZyb21QdXNo
U2VydmljZShXVEZNb3ZlKHByb21pc2UpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaAppbmRleCBjYjg4NzQ4ZTY2NTQ2N2Qz
NjVmMGY4YjZlMTAwZGYxZTg1NGQ1YzlkLi4wZTk5NjMwOTNmNjUxNmY4YWFhZDgxNDU4NDE0MTA1
Y2JlZDdhM2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb24uaApAQCAtNTksOSArNTksMTAgQEAgcHVibGljOgogICAgIFB1c2hTdWJz
Y3JpcHRpb25KU09OIHRvSlNPTigpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFdFQkNPUkVfRVhQ
T1JUIFB1c2hTdWJzY3JpcHRpb24oUmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+JiYsIFN0
cmluZyYmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9u
VGltZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2VydmVyVkFQSURQdWJsaWNLZXksIFZlY3Rvcjx1aW50
OF90PiYmIGNsaWVudEVDREhQdWJsaWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIGF1dGgpOworICAg
IFdFQkNPUkVfRVhQT1JUIFB1c2hTdWJzY3JpcHRpb24oU3RyaW5nJiYgZW5kcG9pbnQsIHN0ZDo6
b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBWZWN0b3I8dWludDhfdD4m
JiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2xpZW50RUNESFB1Ymxp
Y0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgYXV0aCk7CisgICAgUHVzaFN1YnNjcmlwdGlvbihSZWY8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4mJiwgU3RyaW5nJiYgZW5kcG9pbnQsIHN0ZDo6b3B0
aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBWZWN0b3I8dWludDhfdD4mJiBz
ZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2xpZW50RUNESFB1YmxpY0tl
eSwgVmVjdG9yPHVpbnQ4X3Q+JiYgYXV0aCk7CiAKLSAgICBSZWY8U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbj4gbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOworICAgIFJlZlB0cjxTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uPiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb247CiAgICAgU3Ry
aW5nIG1fZW5kcG9pbnQ7CiAgICAgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gbV9leHBp
cmF0aW9uVGltZTsKICAgICBSZWY8UHVzaFN1YnNjcmlwdGlvbk9wdGlvbnM+IG1fb3B0aW9uczsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Zjg3MGE3NGIyZjA4OTEy
YzFkYTY3MDE4ZTg4MGE2OTM1NzdhZTJlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCkBAIC0w
LDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCisKKyNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KTsKKworUmVmPFB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudD4gUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpjcmVhdGUo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdCYm
IGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQoreworICAgIGF1dG8gbmV3U3Vic2Ny
aXB0aW9uID0gaW5pdGlhbGl6ZXIubmV3U3Vic2NyaXB0aW9uOworICAgIGF1dG8gb2xkU3Vic2Ny
aXB0aW9uID0gaW5pdGlhbGl6ZXIub2xkU3Vic2NyaXB0aW9uOworICAgIHJldHVybiBjcmVhdGUo
dHlwZSwgV1RGTW92ZShpbml0aWFsaXplciksIFdURk1vdmUobmV3U3Vic2NyaXB0aW9uKSwgV1RG
TW92ZShvbGRTdWJzY3JpcHRpb24pLCBpc1RydXN0ZWQpOworfQorCitSZWY8UHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50PiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OmNyZWF0ZShjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgaW5pdGlhbGl6ZXIsIFJl
ZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG5ld1N1YnNjcmlwdGlvbiwgUmVmUHRyPFB1c2hTdWJz
Y3JpcHRpb24+JiYgb2xkU3Vic2NyaXB0aW9uLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCh0eXBlLCBX
VEZNb3ZlKGluaXRpYWxpemVyKSwgV1RGTW92ZShuZXdTdWJzY3JpcHRpb24pLCBXVEZNb3ZlKG9s
ZFN1YnNjcmlwdGlvbiksIGlzVHJ1c3RlZCkpOworfQorCitQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQ6OlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBl
LCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgZXZlbnRJbml0LCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlv
bj4mJiBuZXdTdWJzY3JpcHRpb24sIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNj
cmlwdGlvbiwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKKyAgICA6IEV4dGVuZGFibGVFdmVudCh0eXBl
LCBXVEZNb3ZlKGV2ZW50SW5pdCksIGlzVHJ1c3RlZCkKKyAgICAsIG1fbmV3U3Vic2NyaXB0aW9u
KFdURk1vdmUobmV3U3Vic2NyaXB0aW9uKSkKKyAgICAsIG1fb2xkU3Vic2NyaXB0aW9uKFdURk1v
dmUob2xkU3Vic2NyaXB0aW9uKSkKK3sKK30KKworUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
Ojp+UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCkgPSBkZWZhdWx0OworCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTY5NjVlMTUwNmMyOTljOGNlODliMDM2Mjhk
ZTk5Mjk3YzI3MDUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaApAQCAtMCwwICsxLDU1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisK
KyNpbmNsdWRlICJFeHRlbmRhYmxlRXZlbnQuaCIKKyNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGZpbmFsIDogcHVibGljIEV4dGVuZGFibGVFdmVudCB7Cisg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQpOwor
cHVibGljOgorICAgIHN0YXRpYyBSZWY8UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYsIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQmJiwg
SXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObyk7CisgICAgc3RhdGljIFJlZjxQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiwgRXh0ZW5kYWJsZUV2ZW50
SW5pdCYmLCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBuZXdTdWJzY3JpcHRpb24sIFJlZlB0
cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNjcmlwdGlvbiwgSXNUcnVzdGVkKTsKKyAgICB+
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCk7CisKKyAgICBFdmVudEludGVyZmFjZSBldmVu
dEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudEludGVyZmFjZVR5cGU7IH0KKyAgICBQdXNoU3Vic2NyaXB0aW9uKiBuZXdTdWJzY3JpcHRp
b24oKSB7IHJldHVybiBtX25ld1N1YnNjcmlwdGlvbi5nZXQoKTsgfQorICAgIFB1c2hTdWJzY3Jp
cHRpb24qIG9sZFN1YnNjcmlwdGlvbigpIHsgcmV0dXJuIG1fb2xkU3Vic2NyaXB0aW9uLmdldCgp
OyB9CisKK3ByaXZhdGU6CisgICAgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KGNvbnN0IEF0
b21TdHJpbmcmLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYsIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9u
PiYmIG5ld1N1YnNjcmlwdGlvbiwgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+JiYgb2xkU3Vic2Ny
aXB0aW9uLCBJc1RydXN0ZWQpOworCisgICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IG1fbmV3
U3Vic2NyaXB0aW9uOworICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBtX29sZFN1YnNjcmlw
dGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
NWJhODZhNzViY2NkMjhlNjBkMGJmMDY2YmI3Njg4NjU3NjMyYTgzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9U0VSVklDRV9XT1JLRVIsCisgICAgRW5hYmxlZEF0UnVudGltZT1QdXNoQVBJRW5hYmxlZCwK
KyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBFeHBvc2VkPVNlcnZpY2VXb3Jr
ZXIsCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQKK10g
aW50ZXJmYWNlIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCA6IEV4dGVuZGFibGVFdmVudCB7
CisgICAgY29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFB1c2hTdWJzY3JpcHRpb24/IG5ld1N1YnNjcmlwdGlvbjsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgUHVzaFN1YnNjcmlwdGlvbj8gb2xkU3Vic2NyaXB0aW9uOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
SW5pdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnRJbml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBmZmJmMDQ2YzRmYzY2ZTAyZDNkYTU3YTU2
NzczYWY1ZjYwZTI3ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNDMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKKworI2luY2x1ZGUgIkV4dGVuZGFibGVFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBQdXNoU3Vic2NyaXB0aW9uOworCitzdHJ1Y3QgUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFJlZlB0cjxQdXNo
U3Vic2NyaXB0aW9uPiBuZXdTdWJzY3JpcHRpb247CisgICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRp
b24+IG9sZFN1YnNjcmlwdGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dEluaXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZmNDAwZWZhMzkxYTMzNGQ0MDJkNmExNGQ3MzJlOTM3Zjlh
NGFjZjQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCit0eXBlZGVmIChCdWZmZXJTb3VyY2Ugb3IgVVNWU3RyaW5nKSBQdXNoTWVzc2Fn
ZURhdGFJbml0OworCitbCisgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIKK10gZGljdGlv
bmFyeSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0IDogRXh0ZW5kYWJsZUV2ZW50SW5p
dCB7CisgICAgUHVzaFN1YnNjcmlwdGlvbj8gbmV3U3Vic2NyaXB0aW9uOworICAgIFB1c2hTdWJz
Y3JpcHRpb24/IG9sZFN1YnNjcmlwdGlvbjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDRiZWExNGY0
NGZiZjUyMTE5MGY2MzNhYjY3MzA2OTEyMzNhNTViZjQuLjg3YjlhZmE4YzU3ODYyMmRlMGIxMDkx
NjNmMTc2ZjgxNDkwNWJlZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yMjQsNiArMjI0LDcgQEAgTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBNb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5jcHAKIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRh
LmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAorTW9kdWxlcy9wdXNo
LWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCiBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb25EYXRhLmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9u
T3B0aW9ucy5jcHAKIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuY3BwCkBAIC0zMzg1LDYg
KzMzODYsOCBAQCBKU1B1c2hNYW5hZ2VyLmNwcAogSlNQdXNoTWVzc2FnZURhdGEuY3BwCiBKU1B1
c2hQZXJtaXNzaW9uU3RhdGUuY3BwCiBKU1B1c2hTdWJzY3JpcHRpb24uY3BwCitKU1B1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudC5jcHAKK0pTUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5p
dC5jcHAKIEpTUHVzaFN1YnNjcmlwdGlvbkpTT04uY3BwCiBKU1B1c2hTdWJzY3JpcHRpb25PcHRp
b25zLmNwcAogSlNQdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0luaXQuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZmI3MjMyZDJi
MmU5YzQ0NjA1OGVlYzY0Y2EzMDUzMDc3YjAwYmMxYS4uNzdlOTE5M2Q2ZDAwMTVlNWJlMzcyYzlm
YmE2MTVjYWJhNzM1ZDFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNTQwOSw2ICs1NDA5LDggQEAKIAkJRUIwRkI3MEMyNzBE
MEIyOTAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQjBGQjcwNjI3MEQwQUVDMDBGNzgxMEQg
LyogUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuaCAqLzsgfTsKIAkJRUIwRkI3MEQyNzBEMEIyRTAw
Rjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUIwRkI3MDEyNzBEMEFFQTAwRjc4MTBEIC8q
IFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5oICovOyB9OwogCQlFQjI4RUQ0NDI3MTdBQzEx
MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCMjhFRDQxMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNo
U3Vic2NyaXB0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CisJCUVCM0MyOUI2MjcyOUMzODgwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEVCM0MyOUI0MjcyOUMzNkUwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQuaCAqLzsgfTsKKwkJRUIzQzI5QjcyNzI5QzM4QzAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEVCM0MyOUIxMjcyOUMzNkQwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnRJbml0LmggKi87IH07CiAJCUVCQjk3MzgxMjcxMDA2NzEwMDc3MzJFRiAvKiBQdXNo
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RUJCOTczODAyNzEwMDY1NDAwNzczMkVGIC8qIFB1c2hNYW5hZ2VyLmggKi87IH07CiAJCUVCQjk3
MzgyMjcxMDA2NzYwMDc3MzJFRiAvKiBQdXNoUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkI5NzM3ODI3MTAwNjUxMDA3NzMy
RUYgLyogUHVzaFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUVCQjk3MzgzMjcxMDA2ODQwMDc3MzJFRiAvKiBTZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uUHVzaEFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRUJCOTczN0EyNzEwMDY1MjAwNzczMkVGIC8qIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb25QdXNoQVBJLmggKi87IH07CkBAIC0xNjg2OCw2ICsxNjg3MCwxMSBAQAog
CQlFQjBGQjcwNzI3MEQwQUVDMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUVCMjhFRDQxMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2NyaXB0aW9uRGF0YS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlFQjI4RUQ0MzI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHVzaFN1YnNjcmlwdGlvbkRhdGEuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlFQjNDMjlBRjI3MjlDMzZEMDBGQjY1QjQgLyogUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUVCM0MyOUIxMjcyOUMzNkQwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRUIzQzI5QjIyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dEluaXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudEluaXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFQjNDMjlCMzI3MjlD
MzZFMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlFQjNDMjlCNDI3MjlDMzZFMDBGQjY1QjQgLyogUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFQkI5NzM3ODI3MTAwNjUxMDA3NzMyRUYgLyogUHVzaFBlcm1pc3Npb25TdGF0ZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBQdXNoUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUVCQjk3MzdBMjcxMDA2NTIwMDc3MzJFRiAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uUHVzaEFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUHVz
aEFQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkI5NzM3QjI3MTAwNjUyMDA3
NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbitQdXNoQVBJLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbitQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMDA1Niw2ICsyMDA2MywxMSBAQAogCQkJCUVCMEZCNzA0MjcwRDBBRUIwMEY3
ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uLmNwcCAqLywKIAkJCQlFQjBGQjcwNzI3MEQwQUVDMDBG
NzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5oICovLAogCQkJCUVCMEZCNzA1MjcwRDBBRUIwMEY3
ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uLmlkbCAqLywKKwkJCQlFQjNDMjlBRjI3MjlDMzZEMDBG
QjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcCAqLywKKwkJCQlFQjNDMjlC
NDI3MjlDMzZFMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmggKi8sCisJ
CQkJRUIzQzI5QjMyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dC5pZGwgKi8sCisJCQkJRUIzQzI5QjEyNzI5QzM2RDAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudEluaXQuaCAqLywKKwkJCQlFQjNDMjlCMjI3MjlDMzZFMDBGQjY1QjQgLyog
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5pZGwgKi8sCiAJCQkJRUIyOEVENDMyNzE3
QUJBOTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmNwcCAqLywKIAkJCQlFQjI4RUQ0
MTI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCAqLywKIAkJCQlFQjBG
QjcwMzI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbkpTT04uaCAqLywKQEAgLTM0
OTMxLDYgKzM0OTQzLDggQEAKIAkJCQlFQkI5NzM4MjI3MTAwNjc2MDA3NzMyRUYgLyogUHVzaFBl
cm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNENTExRjYyNTBDMUNCRjAwMkVE
QzUxIC8qIFB1c2hQdWxsRklGTy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRUIwRkI3MDkyNzBEMEIx
ODAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCUVCM0My
OUI2MjcyOUMzODgwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUVCM0MyOUI3MjcyOUMzOEMwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFQjI4RUQ0NDI3MTdBQzEx
MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUVC
MEZCNzBBMjcwRDBCMUIwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uSlNPTi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRUIwRkI3MEMyNzBEMEIyOTAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25P
cHRpb25zLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBlMGE2MjE3Mzk5MTEwNDMxYmMwMDVjMzM2NWFk
MTJiZmQ4NDg0MWU0Li5jYjRkMzllZWJiMzk3MzA4ZTc2MGRhZGU5MGI3NTBhNWJiMjEzZGM1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CkBAIC0yMTMsNiArMjEzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFB1c2hN
YW5hZ2VyKSBcCiAgICAgbWFjcm8oUHVzaE1lc3NhZ2VEYXRhKSBcCiAgICAgbWFjcm8oUHVzaFN1
YnNjcmlwdGlvbikgXAorICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCkgXAog
ICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb25PcHRpb25zKSBcCiAgICAgbWFjcm8oUmVzaXplT2Jz
ZXJ2ZXIpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlckVudHJ5KSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluCmluZGV4IDU3YjNhZWY1MWEzODljNWQ4MzNiZWY5OGVjNDAwMjYwYmJjYTViOWYu
LmQ1ZjgxYWM0ZTQ2YTBmMDQ2N2YzNDFjMzU1YzA0NzQzZWQ4M2RjZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCkBAIC0zNyw2ICszNyw3IEBAIFBvcFN0YXRlRXZlbnQKIFByb2dyZXNzRXZl
bnQKIFByb21pc2VSZWplY3Rpb25FdmVudAogUHVzaEV2ZW50IGNvbmRpdGlvbmFsPVNFUlZJQ0Vf
V09SS0VSCitQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgY29uZGl0aW9uYWw9U0VSVklDRV9X
T1JLRVIKIFN1Ym1pdEV2ZW50CiBUZXh0RXZlbnQKIFRyYW5zaXRpb25FdmVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCmluZGV4IGQ0YWY3OGQ3NjU2YmY1M2FjMDQ1YzNkMzU1MmM3
MWI5Y2I4MGJiMDguLmMwNTM3YmMzZmYzZDE0ZjU4MmI4YThkOTgyNWI5YjM0ODA5NTU1ZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTEyMiw3ICsxMjIsNiBAQAogI2lu
Y2x1ZGUgIkludGVybmFsc1NldExpa2UuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJl
ZC5oIgogI2luY2x1ZGUgIkpTSW1hZ2VEYXRhLmgiCi0jaW5jbHVkZSAiSlNTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uLmgiCiAjaW5jbHVkZSAiTGVnYWN5U2NoZW1lUmVnaXN0cnkuaCIKICNpbmNs
dWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxvYWRlclN0cmF0ZWd5LmgiCkBA
IC0xNjQsNyArMTYzLDYgQEAKICNpbmNsdWRlICJQcmludENvbnRleHQuaCIKICNpbmNsdWRlICJQ
c2V1ZG9FbGVtZW50LmgiCiAjaW5jbHVkZSAiUHVzaFN1YnNjcmlwdGlvbi5oIgotI2luY2x1ZGUg
IlB1c2hTdWJzY3JpcHRpb25PcHRpb25zLmgiCiAjaW5jbHVkZSAiUlRDUnRwU0ZyYW1lVHJhbnNm
b3JtLmgiCiAjaW5jbHVkZSAiUmFuZ2UuaCIKICNpbmNsdWRlICJSZWFkYWJsZVN0cmVhbS5oIgpA
QCAtNjU2MiwxNCArNjU2MCwxNCBAQCB2b2lkIEludGVybmFsczo6cmV0YWluVGV4dEl0ZXJhdG9y
Rm9yRG9jdW1lbnRDb250ZW50KCkKIH0KIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLVJl
ZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBJbnRlcm5hbHM6OmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24o
UmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+JiYgcmVnaXN0cmF0aW9uLCBjb25zdCBTdHJp
bmcmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGlt
ZSwgY29uc3QgQXJyYXlCdWZmZXImIHNlcnZlclZBUElEUHVibGljS2V5LCBjb25zdCBBcnJheUJ1
ZmZlciYgY2xpZW50RUNESFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGF1dGgpCitSZWZQ
dHI8UHVzaFN1YnNjcmlwdGlvbj4gSW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKGNv
bnN0IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGly
YXRpb25UaW1lLCBjb25zdCBBcnJheUJ1ZmZlciYgc2VydmVyVkFQSURQdWJsaWNLZXksIGNvbnN0
IEFycmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgYXV0
aCkKIHsKICAgICBhdXRvIG15RW5kcG9pbnQgPSBlbmRwb2ludDsKICAgICBWZWN0b3I8dWludDhf
dD4gbXlTZXJ2ZXJWQVBJRFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihz
ZXJ2ZXJWQVBJRFB1YmxpY0tleS5kYXRhKCkpLCBzZXJ2ZXJWQVBJRFB1YmxpY0tleS5ieXRlTGVu
Z3RoKCkgfTsKICAgICBWZWN0b3I8dWludDhfdD4gbXlDbGllbnRFQ0RIUHVibGljS2V5IHsgc3Rh
dGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGNsaWVudEVDREhQdWJsaWNLZXkuZGF0YSgpKSwgY2xp
ZW50RUNESFB1YmxpY0tleS5ieXRlTGVuZ3RoKCkgfTsKICAgICBWZWN0b3I8dWludDhfdD4gbXlB
dXRoIHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF1dGguZGF0YSgpKSwgYXV0aC5ieXRl
TGVuZ3RoKCkgfTsKIAotICAgIHJldHVybiBQdXNoU3Vic2NyaXB0aW9uOjpjcmVhdGUoV1RGTW92
ZShyZWdpc3RyYXRpb24pLCBXVEZNb3ZlKG15RW5kcG9pbnQpLCBleHBpcmF0aW9uVGltZSwgV1RG
TW92ZShteVNlcnZlclZBUElEUHVibGljS2V5KSwgV1RGTW92ZShteUNsaWVudEVDREhQdWJsaWNL
ZXkpLCBXVEZNb3ZlKG15QXV0aCkpOworICAgIHJldHVybiBQdXNoU3Vic2NyaXB0aW9uOjpjcmVh
dGUoV1RGTW92ZShteUVuZHBvaW50KSwgZXhwaXJhdGlvblRpbWUsIFdURk1vdmUobXlTZXJ2ZXJW
QVBJRFB1YmxpY0tleSksIFdURk1vdmUobXlDbGllbnRFQ0RIUHVibGljS2V5KSwgV1RGTW92ZSht
eUF1dGgpKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCBh
YmJmOGViY2RiZWFmZGE4ZDA4NDdmNGZlNWFiODMxOGMwZDMxZTcyLi40MWU2YmViNjBjZTcxN2Ex
NTkzNDBjOGMwZTRkZGY0OTQ5OWIyODYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgK
QEAgLTEyNiw3ICsxMjYsNiBAQCBjbGFzcyBUZXh0VHJhY2tDdWVHZW5lcmljOwogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIGNsYXNzIFB1c2hTdWJzY3JpcHRpb247CiBjbGFzcyBTZXJ2aWNl
V29ya2VyOwotY2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjsKICNlbmRpZgogCiAjaWYg
RU5BQkxFKFdFQl9SVEMpCkBAIC0xMjAxLDcgKzEyMDAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBy
ZXRhaW5UZXh0SXRlcmF0b3JGb3JEb2N1bWVudENvbnRlbnQoKTsKIAogI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKLSAgICBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gY3JlYXRlUHVzaFN1YnNj
cmlwdGlvbihSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4mJiwgY29uc3QgU3RyaW5nJiBl
bmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUsIGNv
bnN0IEFycmF5QnVmZmVyJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXIm
IGNsaWVudEVDREhQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBhdXRoKTsKKyAgICBSZWZQ
dHI8UHVzaFN1YnNjcmlwdGlvbj4gY3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcm
IGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwg
Y29uc3QgQXJyYXlCdWZmZXImIHNlcnZlclZBUElEUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZl
ciYgY2xpZW50RUNESFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGF1dGgpOwogI2VuZGlm
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggOWRiOTNh
ZWRhN2MzNDY5YmI5OGFiNGYwNDExOTI3OGUxNjI4NWY5NC4uN2UwMDgwYzViMWUwYzFjMDlmNmFl
YjIwOWEwMTZlZjZjY2E4ODY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApA
QCAtMTA2OSw1ICsxMDY5LDUgQEAgZW51bSBBdXRvcGxheVBvbGljeSB7CiAKICAgICB1bmRlZmlu
ZWQgcmV0YWluVGV4dEl0ZXJhdG9yRm9yRG9jdW1lbnRDb250ZW50KCk7CiAKLSAgICBbQ29uZGl0
aW9uYWw9U0VSVklDRV9XT1JLRVJdIFB1c2hTdWJzY3JpcHRpb24gY3JlYXRlUHVzaFN1YnNjcmlw
dGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIHJlZ2lzdHJhdGlvbiwgVVNWU3RyaW5nIGVu
ZHBvaW50LCBFcG9jaFRpbWVTdGFtcD8gZXhwaXJhdGlvblRpbWUsIEFycmF5QnVmZmVyIHNlcnZl
clZBUElEUHVibGljS2V5LCBBcnJheUJ1ZmZlciBjbGllbnRFQ0RIUHVibGljS2V5LCBBcnJheUJ1
ZmZlciBhdXRoKTsKKyAgICBbQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVJdIFB1c2hTdWJzY3Jp
cHRpb24gY3JlYXRlUHVzaFN1YnNjcmlwdGlvbihVU1ZTdHJpbmcgZW5kcG9pbnQsIEVwb2NoVGlt
ZVN0YW1wPyBleHBpcmF0aW9uVGltZSwgQXJyYXlCdWZmZXIgc2VydmVyVkFQSURQdWJsaWNLZXks
IEFycmF5QnVmZmVyIGNsaWVudEVDREhQdWJsaWNLZXksIEFycmF5QnVmZmVyIGF1dGgpOwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFs
cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3Bw
CmluZGV4IDk3NjM4N2MwNjFmYzk5ZmYzNDgxZTBhMGIxZGQ1YWI2NzExMzZlYTguLjhjNjc3NTk5
NTA0OGJjMmVjNzNjYzUyZmM3Njc2MWMzOGJmN2I0NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcApAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiRmV0Y2hFdmVudC5oIgogI2luY2x1ZGUgIkpTRmV0Y2hSZXNwb25zZS5oIgor
I2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRpb24uaCIKICNpbmNsdWRlICJTV0NvbnRleHRNYW5hZ2Vy
LmgiCiAjaW5jbHVkZSA8d3RmL1Byb2Nlc3NJRC5oPgogCkBAIC0xNjAsNiArMTYxLDE2IEBAIHZv
aWQgU2VydmljZVdvcmtlckludGVybmFsczo6bGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQo
UmVmPERlZmVycmVkUHJvbWlzZT4mCiAgICAgfSk7CiB9CiAKK1JlZlB0cjxQdXNoU3Vic2NyaXB0
aW9uPiBTZXJ2aWNlV29ya2VySW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKGNvbnN0
IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRp
b25UaW1lLCBjb25zdCBBcnJheUJ1ZmZlciYgc2VydmVyVkFQSURQdWJsaWNLZXksIGNvbnN0IEFy
cmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgYXV0aCkK
K3sKKyAgICBhdXRvIG15RW5kcG9pbnQgPSBlbmRwb2ludDsKKyAgICBWZWN0b3I8dWludDhfdD4g
bXlTZXJ2ZXJWQVBJRFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihzZXJ2
ZXJWQVBJRFB1YmxpY0tleS5kYXRhKCkpLCBzZXJ2ZXJWQVBJRFB1YmxpY0tleS5ieXRlTGVuZ3Ro
KCkgfTsKKyAgICBWZWN0b3I8dWludDhfdD4gbXlDbGllbnRFQ0RIUHVibGljS2V5IHsgc3RhdGlj
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGNsaWVudEVDREhQdWJsaWNLZXkuZGF0YSgpKSwgY2xpZW50
RUNESFB1YmxpY0tleS5ieXRlTGVuZ3RoKCkgfTsKKyAgICBWZWN0b3I8dWludDhfdD4gbXlBdXRo
IHsgc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KGF1dGguZGF0YSgpKSwgYXV0aC5ieXRlTGVu
Z3RoKCkgfTsKKworICAgIHJldHVybiBQdXNoU3Vic2NyaXB0aW9uOjpjcmVhdGUoV1RGTW92ZSht
eUVuZHBvaW50KSwgZXhwaXJhdGlvblRpbWUsIFdURk1vdmUobXlTZXJ2ZXJWQVBJRFB1YmxpY0tl
eSksIFdURk1vdmUobXlDbGllbnRFQ0RIUHVibGljS2V5KSwgV1RGTW92ZShteUF1dGgpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmgKaW5kZXggZDUxNTA0ZjQzNzhmZGI0NWU4
NTM1MWY3NGYxMTJjOTg1YmNmODM4NC4uMTM4YjI3MWQzMThmYmIzMGU2NzEwNDViOWU5YTQxYzQ1
NGZiOWM2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2Vy
SW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50
ZXJuYWxzLmgKQEAgLTI3LDE1ICsyNywxOCBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQogCisjaW5jbHVkZSAiRXBvY2hUaW1lU3RhbXAuaCIKICNpbmNsdWRlICJJRExUeXBlcy5oIgog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtl
cklkZW50aWZpZXIuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9Gb3J3YXJkLmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBG
ZXRjaEV2ZW50OwogY2xhc3MgRmV0Y2hSZXNwb25zZTsKK2NsYXNzIFB1c2hTdWJzY3JpcHRpb247
CiBjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBJRExU
eXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CkBAIC02Miw2ICs2NSw4IEBAIHB1YmxpYzoK
ICAgICBpbnQgcHJvY2Vzc0lkZW50aWZpZXIoKSBjb25zdDsKIAogICAgIHZvaWQgbGFzdE5hdmln
YXRpb25XYXNBcHBJbml0aWF0ZWQoUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisgICAgCisgICAg
UmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oY29uc3QgU3Ry
aW5nJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRp
bWUsIGNvbnN0IEFycmF5QnVmZmVyJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgY29uc3QgQXJyYXlC
dWZmZXImIGNsaWVudEVDREhQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBhdXRoKTsKIAog
cHJpdmF0ZToKICAgICBleHBsaWNpdCBTZXJ2aWNlV29ya2VySW50ZXJuYWxzKFNlcnZpY2VXb3Jr
ZXJJZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2Vydmlj
ZVdvcmtlckludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3Jr
ZXJJbnRlcm5hbHMuaWRsCmluZGV4IDhkMTkxNGIzYTU4OTBhNDZlYWQ0NGVkNjk2OGE3ZjRiZDZk
YjRmOWEuLjg0NjQ1NWM2MjY4Zjg1YzlmYjE1OTg4ZjNhZWExM2VjOTFiZDc3MzIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbApAQCAt
NDYsNCArNDYsNiBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBsb25nIHByb2Nlc3NJZGVudGlm
aWVyOwogCiAgICAgUHJvbWlzZTxib29sZWFuPiBsYXN0TmF2aWdhdGlvbldhc0FwcEluaXRpYXRl
ZCgpOworICAgIAorICAgIFB1c2hTdWJzY3JpcHRpb24gY3JlYXRlUHVzaFN1YnNjcmlwdGlvbihV
U1ZTdHJpbmcgZW5kcG9pbnQsIEVwb2NoVGltZVN0YW1wPyBleHBpcmF0aW9uVGltZSwgQXJyYXlC
dWZmZXIgc2VydmVyVkFQSURQdWJsaWNLZXksIEFycmF5QnVmZmVyIGNsaWVudEVDREhQdWJsaWNL
ZXksIEFycmF5QnVmZmVyIGF1dGgpOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCmluZGV4IDg5ZWM5
NzNmNWZmNjdhMzZjN2ExNGM5NmYwYTU2ZDE4N2EzNDk5ZjYuLjVhMzQyZmRmZjlhY2UwNTBmNDY2
ZjA2ZTJjOTI2MmU0OGI3Zjg5MTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaApAQCAtNDUsMTEgKzQ1
LDExIEBAIGNsYXNzIFNlcnZpY2VXb3JrZXI7CiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVy
OwogCiBjbGFzcyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGZpbmFsIDogcHVibGljIFJlZkNv
dW50ZWQ8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4sIHB1YmxpYyBTdXBwbGVtZW50YWJsZTxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURh
dGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FURURf
RVhQT1JUKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24sIFdFQkNPUkVfRVhQT1JUKTsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pOwogcHVibGlj
OgogICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4gZ2V0T3JDcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFJlZjxTZXJ2aWNlV29ya2VyQ29udGFpbmVyPiYmLCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YSYmKTsKIAotICAgIFdFQkNPUkVfRVhQT1JUIH5T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKCk7CisgICAgflNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oKTsKIAogICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyIGlkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX3JlZ2lzdHJhdGlvbkRhdGEuaWRlbnRpZmllcjsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi5pZGwKaW5kZXggMGNlYjNlOGRmNjZjOWFjNTk2MTkzMmQ5M2UwZDM0
MGRlZWJlZGMzMC4uZGQ4YjIyZTM3ZTE3ZjhjMDE4MDgzOWZmMWViNDg2NGI2MzJmMzI2NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24uaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmlkbApAQCAtMzAsNyArMzAsNiBAQAogICAgIEFjdGl2ZURPTU9i
amVjdCwKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9zZWQ9KFdpbmRvdyxTZXJ2aWNlV29y
a2VyKSwKLSAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKICAgICBDb25kaXRpb25hbD1T
RVJWSUNFX1dPUktFUiwKICAgICBFbmFibGVkQXRSdW50aW1lPVNlcnZpY2VXb3JrZXJFbmFibGVk
LAogICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9SW1wbCwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBiNTkwOTZjZDJlYWI1MGE1
MTAxYzdlZmRkYmI3MWJmNDliMmVlMzEwLi41ZGQxZGRkMTc3NjI0OWI3ZjNhMmQwZTVkMGE0MzFj
MTBlYjFjOTNjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAKKzIwMjEtMTAtMjggIEJlbiBOaGFtICA8
bmhhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMyNDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQWRkZWQgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHRlc3RzIGFuZCBtYWRlIFB1
c2hTdWJzY3JpcHRpb24gdGVzdHMgYWxzbyBydW4gaW4gdGhlCisgICAgICAgIHNlcnZpY2Ugd29y
a2VyIGNvbnRleHQuCisKKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9jb25zdGFudHMuanM6
IEFkZGVkLgorICAgICAgICAoYnl0ZXNGcm9tKToKKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFw
aS9wdXNoTWFuYWdlci5hbnkuanM6CisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1
YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3B1
c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LmpzOgorICAgICAgICAoR0xPQkFMLmlz
V29ya2VyKToKKyAgICAgICAgKGFzeW5jIHByb21pc2VfdGVzdCk6CisgICAgICAgIChieXRlc0Zy
b20pOiBEZWxldGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0LmFzeW5jIHRlc3QpOiBEZWxldGVk
LgorICAgICAgICAocHJvbWlzZV90ZXN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9w
dXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlv
bi5odHRwcy5hbnkuc2VydmljZXdvcmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuYW55LmpzOiBBZGRlZC4KKyAg
ICAgICAgKHRlc3QpOgorICAgICAgICAocHJvbWlzZV90ZXN0LmFzeW5jIG5ld1N1YnNjcmlwdGlv
bik6CisgICAgICAgIChwcm9taXNlX3Rlc3QuYXN5bmMgcmV0dXJuKToKKyAgICAgICAgKHByb21p
c2VfdGVzdCk6CisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5zZXJ2
aWNld29ya2VyLmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTI2ICBBeXVtaSBLb2ppbWEgIDxheXVt
aV9rb2ppbWFAYXBwbGUuY29tPgogCiAgICAgICAgIFsgQmlnU3VyIHdrMiBEZWJ1ZyBhcm02NCBd
IGluc3BlY3Rvci9hdWRpdC9ydW4tYWNjZXNzaWJpbGl0eS5odG1sIGlzIGEgZmxha3kgdGltZW91
dC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDUxNzU1NzJiZGQ2MjJiYmY4YTA3
ZDFiYzk5MTc1MDNkNTI3OTU3NTcuLjQwYzI1ZWM4NmZmMDQ4YjhiZDIwMTM2MmJmNTQyNDRkYWFh
ZmZhN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisy
MDIxLTEwLTI4ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBw
b3J0IGZvciBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlYmFzZWxpbmUgV1BUIHRlc3RzIHRoYXQgYXJl
IG5vdyBwYXNzaW5nLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lk
bGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTEw
LTI2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdpbmcg
dGhlIHNyYyBhdHRyaWJ1dGUgb2YgdGhlIDxpbWc+IGVsZW1lbnQgaW5zaWRlIGFuIEltYWdlRG9j
dW1lbnQgZG9lcyBub3QgdHJpZ2dlciBhIGxvYWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3B1c2gtYXBpL2NvbnN0YW50cy5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gt
YXBpL2NvbnN0YW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTU3NDQzZDEwN2NmNjcxYzY4YTEzM2RiZDBj
OTg5MWFmOWU3NzkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVz
aC1hcGkvY29uc3RhbnRzLmpzCkBAIC0wLDAgKzEsMjEgQEAKK2NvbnN0IEVORFBPSU5UID0gJ2h0
dHBzOi8vd3d3LndlYmtpdC5vcmcnOworY29uc3QgRVhQSVJBVElPTl9USU1FID0gMTYzMzAwMDAw
MDsKKworY29uc3QgQ0xJRU5UX0JBU0U2NF9LRVlfMSA9ICdCQTFIeHp5aTFSVU0xYjV3anhzbjdu
R3hBc3p3MnU2MW0xNjRpM01yQUl4SEY2WUs1aDRTRFlpYy1kUnVVX1JDUENmQTVhcTlvalN3azVZ
MkVtQ2xCUHMnOworY29uc3QgQ0xJRU5UX0tFWV8xID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDEzLCA3
MSwgMTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAxOTAsIDExMiwgMTQzLCAyNywgMzks
IDIzOCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIzOCwgMTgxLCAxNTUsIDk0LCAxODQs
IDEzOSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2NiwgMTAsIDIzMCwgMzAsIDE4LCAxMywg
MTM2LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2LCA2MCwgMzksIDE5MiwgMjI5LCAx
NzAsIDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQsIDE4LCA5NiwgMTY1LCA0LCAyNTFd
KS5idWZmZXI7CisKK2NvbnN0IENMSUVOVF9CQVNFNjRfS0VZXzIgPSAnQkNWeHNyN05fZU5nVlJx
dkh0RDB6VFpzRWM2LVZWLUp2TGV4aHFVek9SY3hhT3ppNi1BWVdYdlRCSG00Ymp5UGpzN1ZkOHBa
R0g2U1Jwa050b0lBaXc0JzsKK2NvbnN0IENMSUVOVF9LRVlfMiA9IG5ldyBVaW50OEFycmF5KFs0
LCAzNywgMTEzLCAxNzgsIDE5MCwgMjA1LCAyNTMsIDIyNywgOTYsIDg1LCAyNiwgMTc1LCAzMCwg
MjA4LCAyNDQsIDIwNSwgNTQsIDEwOCwgMTcsIDIwNiwgMTkwLCA4NSwgOTUsIDEzNywgMTg4LCAx
ODMsIDE3NywgMTM0LCAxNjUsIDUxLCA1NywgMjMsIDQ5LCAxMDQsIDIzNiwgMjI2LCAyMzUsIDIy
NCwgMjQsIDg5LCAxMjMsIDIxMSwgNCwgMTIxLCAxODQsIDExMCwgNjAsIDE0MywgMTQyLCAyMDYs
IDIxMywgMTE5LCAyMDIsIDg5LCAyNCwgMTI2LCAxNDYsIDcwLCAxNTMsIDEzLCAxODIsIDEzMCwg
MCwgMTM5LCAxNF0pLmJ1ZmZlcjsKKworY29uc3QgQkFTRTY0X0FVVEggPSAnQlRCWk1xSEg2cjRU
dHM3Sl9hU0lnZyc7Citjb25zdCBBVVRIID0gbmV3IFVpbnQ4QXJyYXkoWzUsIDQ4LCA4OSwgNTAs
IDE2MSwgMTk5LCAyMzQsIDE5MCwgMTksIDE4MiwgMjA2LCAyMDEsIDI1MywgMTY0LCAxMzYsIDEz
MF0pLmJ1ZmZlcjsKKworY29uc3QgSU5WQUxJRF9TRVJWRVJfS0VZID0gbmV3IFVpbnQ4QXJyYXko
bmV3IEFycmF5KDY1KS5maWxsKDQpKS5idWZmZXI7Citjb25zdCBJTlZBTElEX0JBU0U2NF9TRVJW
RVJfS0VZID0gIkJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUSI7CisKK2NvbnN0IFZBTElE
X0JBU0U2NF9TRVJWRVJfS0VZID0gIkJBMUh4enlpMVJVTTFiNXdqeHNuN25HeEFzencydTYxbTE2
NGkzTXJBSXhIRjZZSzVoNFNEWWljLWRSdVVfUkNQQ2ZBNWFxOW9qU3drNVkyRW1DbEJQcyI7Citj
b25zdCBWQUxJRF9TRVJWRVJfS0VZID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDEzLCA3MSwgMTk5LCA2
MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAxOTAsIDExMiwgMTQzLCAyNywgMzksIDIzOCwgMTEz
LCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIzOCwgMTgxLCAxNTUsIDk0LCAxODQsIDEzOSwgMTE1
LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2NiwgMTAsIDIzMCwgMzAsIDE4LCAxMywgMTM2LCAxNTYs
IDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2LCA2MCwgMzksIDE5MiwgMjI5LCAxNzAsIDE4OSwg
MTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQsIDE4LCA5NiwgMTY1LCA0LCAyNTFdKS5idWZmZXI7
CisKK2Z1bmN0aW9uIGJ5dGVzRnJvbShidWYpIHsKKyAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcg
VWludDhBcnJheShidWYpKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1
c2gtYXBpL3B1c2hNYW5hZ2VyLmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBp
L3B1c2hNYW5hZ2VyLmFueS5qcwppbmRleCAwYmM2YjM2ODIwMDc0YzI3NTFiNTQ1ZDUzMzA4YmI2
NjU1YzA4YTcwLi40ZmY1ODhjMTQwYmVjZDBkY2U0NjM0NDYxYzM0ZjVjZjczNTAxYjFhIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFuYWdlci5hbnkuanMK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaE1hbmFnZXIuYW55LmpzCkBA
IC0xLDExICsxLDYgQEAKIC8vIE1FVEE6IHRpdGxlPVB1c2hNYW5hZ2VyIHRlc3RzCiAvLyBNRVRB
OiBnbG9iYWw9d2luZG93LHNlcnZpY2V3b3JrZXIKLQotY29uc3QgSU5WQUxJRF9TRVJWRVJfS0VZ
ID0gbmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5KDY1KS5maWxsKDQpKTsKLWNvbnN0IFZBTElEX1NF
UlZFUl9LRVkgPSBuZXcgVWludDhBcnJheShbNCwgMTMsIDcxLCAxOTksIDYwLCAxNjIsIDIxMywg
MjEsIDEyLCAyMTMsIDE5MCwgMTEyLCAxNDMsIDI3LCAzOSwgMjM4LCAxMTMsIDE3NywgMiwgMjA0
LCAyNDAsIDIxOCwgMjM4LCAxODEsIDE1NSwgOTQsIDE4NCwgMTM5LCAxMTUsIDQzLCAwLCAxNDAs
IDcxLCAyMywgMTY2LCAxMCwgMjMwLCAzMCwgMTgsIDEzLCAxMzYsIDE1NiwgMjQ5LCAyMTIsIDEx
MCwgODMsIDI0NCwgNjYsIDYwLCAzOSwgMTkyLCAyMjksIDE3MCwgMTg5LCAxNjIsIDUyLCAxNzYs
IDE0NywgMTUwLCA1NCwgMTgsIDk2LCAxNjUsIDQsIDI1MV0pOwotCi1jb25zdCBJTlZBTElEX0JB
U0U2NF9TRVJWRVJfS0VZID0gIkJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUSI7Ci1jb25z
dCBWQUxJRF9CQVNFNjRfU0VSVkVSX0tFWSA9ICJCQTFIeHp5aTFSVU0xYjV3anhzbjduR3hBc3p3
MnU2MW0xNjRpM01yQUl4SEY2WUs1aDRTRFlpYy1kUnVVX1JDUENmQTVhcTlvalN3azVZMkVtQ2xC
UHMiOworLy8gTUVUQTogc2NyaXB0PWNvbnN0YW50cy5qcwogCiBsZXQgcmVnaXN0cmF0aW9uID0g
bnVsbDsKIGxldCBwdXNoTWFuYWdlciA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFu
eS1leHBlY3RlZC50eHQKaW5kZXggYWNhYzViY2IzOGM1Y2Q3MDlkODJhNTUyYmEyZGFkODNlMGE4
MjE2MC4uMTViMTkxYmExMTlkZTA2OTFjM2IzMDM0ZjEyMTI4MGY1MTZjNjY4NSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5h
bnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hT
dWJzY3JpcHRpb24uaHR0cHMuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAKIAotUEFT
UyB3YWl0IGZvciBhY3RpdmUgc2VydmljZSB3b3JrZXIKIFBBU1MgUHVzaFN1YnNjcmlwdGlvbiBn
ZXR0ZXJzCi1QQVNTIHVucmVnaXN0ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgdW5zdWJzY3JpYmlu
ZyBmcm9tIHN1YnNjcmlwdGlvbiBub3QgYXNzb2NpYXRlZCB3aXRoIGEgcmVnaXN0cmF0aW9uCiAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRp
b24uaHR0cHMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNj
cmlwdGlvbi5odHRwcy5hbnkuanMKaW5kZXggMzE4MDdiYTE2ZTU5ZWE3YzkzZWVhYzBhMTdkYTYw
NmUwMmYxN2IwMC4uNDBmYjZkZDI2OWY0NzExYWI2MzFhMTg5NTNkZGQxMzNiZmExMjQ1NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5o
dHRwcy5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNj
cmlwdGlvbi5odHRwcy5hbnkuanMKQEAgLTEsNjQgKzEsNDQgQEAKIC8vIE1FVEE6IHRpdGxlPVB1
c2hTdWJzY3JpcHRpb24gdGVzdHMKLS8vIE1FVEE6IGdsb2JhbD13aW5kb3cKKy8vIE1FVEE6IGds
b2JhbD13aW5kb3csc2VydmljZXdvcmtlcgorLy8gTUVUQTogc2NyaXB0PWNvbnN0YW50cy5qcwog
Ci1jb25zdCBlbmRwb2ludCA9ICdodHRwczovL3d3dy53ZWJraXQub3JnJzsKLWNvbnN0IGV4cGly
YXRpb25UaW1lID0gMTYzMzAwMDAwMDsKLWNvbnN0IGtleTFCdWZmZXIgPSBuZXcgVWludDhBcnJh
eShbNCwgMTMsIDcxLCAxOTksIDYwLCAxNjIsIDIxMywgMjEsIDEyLCAyMTMsIDE5MCwgMTEyLCAx
NDMsIDI3LCAzOSwgMjM4LCAxMTMsIDE3NywgMiwgMjA0LCAyNDAsIDIxOCwgMjM4LCAxODEsIDE1
NSwgOTQsIDE4NCwgMTM5LCAxMTUsIDQzLCAwLCAxNDAsIDcxLCAyMywgMTY2LCAxMCwgMjMwLCAz
MCwgMTgsIDEzLCAxMzYsIDE1NiwgMjQ5LCAyMTIsIDExMCwgODMsIDI0NCwgNjYsIDYwLCAzOSwg
MTkyLCAyMjksIDE3MCwgMTg5LCAxNjIsIDUyLCAxNzYsIDE0NywgMTUwLCA1NCwgMTgsIDk2LCAx
NjUsIDQsIDI1MV0pLmJ1ZmZlcjsKLWNvbnN0IGtleTFCYXNlNjRVUkwgPSAnQkExSHh6eWkxUlVN
MWI1d2p4c243bkd4QXN6dzJ1NjFtMTY0aTNNckFJeEhGNllLNWg0U0RZaWMtZFJ1VV9SQ1BDZkE1
YXE5b2pTd2s1WTJFbUNsQlBzJzsKLWNvbnN0IGtleTJCdWZmZXIgPSBuZXcgVWludDhBcnJheShb
NCwgMzcsIDExMywgMTc4LCAxOTAsIDIwNSwgMjUzLCAyMjcsIDk2LCA4NSwgMjYsIDE3NSwgMzAs
IDIwOCwgMjQ0LCAyMDUsIDU0LCAxMDgsIDE3LCAyMDYsIDE5MCwgODUsIDk1LCAxMzcsIDE4OCwg
MTgzLCAxNzcsIDEzNCwgMTY1LCA1MSwgNTcsIDIzLCA0OSwgMTA0LCAyMzYsIDIyNiwgMjM1LCAy
MjQsIDI0LCA4OSwgMTIzLCAyMTEsIDQsIDEyMSwgMTg0LCAxMTAsIDYwLCAxNDMsIDE0MiwgMjA2
LCAyMTMsIDExOSwgMjAyLCA4OSwgMjQsIDEyNiwgMTQ2LCA3MCwgMTUzLCAxMywgMTgyLCAxMzAs
IDAsIDEzOSwgMTRdKS5idWZmZXI7Ci1jb25zdCBrZXkyQmFzZTY0VVJMID0gJ0JDVnhzcjdOX2VO
Z1ZScXZIdEQwelRac0VjNi1WVi1KdkxleGhxVXpPUmN4YU96aTYtQVlXWHZUQkhtNGJqeVBqczdW
ZDhwWkdINlNScGtOdG9JQWl3NCc7Ci1jb25zdCBhdXRoQnVmZmVyID0gbmV3IFVpbnQ4QXJyYXko
WzUsIDQ4LCA4OSwgNTAsIDE2MSwgMTk5LCAyMzQsIDE5MCwgMTksIDE4MiwgMjA2LCAyMDEsIDI1
MywgMTY0LCAxMzYsIDEzMF0pLmJ1ZmZlcjsKLWNvbnN0IGF1dGhCYXNlNjRVUkwgPSAnQlRCWk1x
SEg2cjRUdHM3Sl9hU0lnZyc7CitsZXQgc3Vic2NyaXB0aW9uID0gbnVsbDsKIAotZnVuY3Rpb24g
Ynl0ZXNGcm9tKGJ1ZikgewotICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBVaW50OEFycmF5KGJ1
ZikpOworaWYgKEdMT0JBTC5pc1dvcmtlcigpKSB7CisgICAgbGV0IGFjdGl2YXRlUHJvbWlzZSA9
IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2VsZi5vbmFjdGl2YXRlID0gcmVzb2x2ZSk7CisgICAg
cHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICByZXR1cm4gYWN0aXZhdGVQcm9taXNl
OworICAgIH0sICJ3YWl0IGZvciBhY3RpdmUgc2VydmljZSB3b3JrZXIiKTsKIH0KIAotbGV0IHJl
Z2lzdHJhdGlvbiA9IG51bGw7Ci0KLXByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4gewotICAg
IHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJlZ2lzdHJh
dGlvbigpOwotICAgIGlmIChyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgYXdhaXQgc2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgfQotICAgIHJlZ2lzdHJhdGlvbiA9
IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJlbXB0eVdvcmtlci5qcyIp
OwotICAgIGFzc2VydF90cnVlKCFyZWdpc3RyYXRpb24uYWN0aXZlLCAic2VydmljZSB3b3JrZXIg
c2hvdWxkIGJlIGluc3RhbGxpbmciKTsKLQotICAgIGxldCBzZXJ2aWNlV29ya2VyID0gcmVnaXN0
cmF0aW9uLmluc3RhbGxpbmcgfHwgcmVnaXN0cmF0aW9uLndhaXRpbmc7Ci0gICAgYXNzZXJ0X3Ry
dWUoISFzZXJ2aWNlV29ya2VyLCAicmVnaXN0cmF0aW9uIHNob3VsZCBiZSBhc3NvY2lhdGVkIHdp
dGggYSBzZXJ2aWNlIHdvcmtlciIpOwotCi0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gewotICAgICAgICBzZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoInN0YXRlY2hhbmdl
IiwgKCkgPT4gewotICAgICAgICAgICAgaWYgKHNlcnZpY2VXb3JrZXIuc3RhdGUgPT09ICJhY3Rp
dmF0ZWQiKQotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgfSk7Ci0gICAgfSk7
Ci19LCAid2FpdCBmb3IgYWN0aXZlIHNlcnZpY2Ugd29ya2VyIik7Ci0KIHByb21pc2VfdGVzdCgo
KSA9PiB7Ci0gICAgYXNzZXJ0X3RydWUoISF3aW5kb3cuaW50ZXJuYWxzLCAidGVzdCByZXF1aXJl
cyBpbnRlcm5hbHMiKTsKKyAgICBhc3NlcnRfdHJ1ZSghIXNlbGYuaW50ZXJuYWxzLCAidGVzdCBy
ZXF1aXJlcyBpbnRlcm5hbHMiKTsKIAotICAgIGxldCBzdWJzY3JpcHRpb24gPSB3aW5kb3cuaW50
ZXJuYWxzLmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24ocmVnaXN0cmF0aW9uLCBlbmRwb2ludCwgZXhw
aXJhdGlvblRpbWUsIGtleTFCdWZmZXIsIGtleTJCdWZmZXIsIGF1dGhCdWZmZXIpOworICAgIHN1
YnNjcmlwdGlvbiA9IHNlbGYuaW50ZXJuYWxzLmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oRU5EUE9J
TlQsIEVYUElSQVRJT05fVElNRSwgVkFMSURfU0VSVkVSX0tFWSwgQ0xJRU5UX0tFWV8xLCBBVVRI
KTsKICAgICBhc3NlcnRfdHJ1ZShzdWJzY3JpcHRpb24gaW5zdGFuY2VvZiBQdXNoU3Vic2NyaXB0
aW9uKTsKIAotICAgIGFzc2VydF9lcXVhbHMoc3Vic2NyaXB0aW9uLmVuZHBvaW50LCBlbmRwb2lu
dCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzdWJzY3JpcHRpb24uZXhwaXJhdGlvblRpbWUsIGV4cGly
YXRpb25UaW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5lbmRwb2ludCwgRU5E
UE9JTlQpOworICAgIGFzc2VydF9lcXVhbHMoc3Vic2NyaXB0aW9uLmV4cGlyYXRpb25UaW1lLCBF
WFBJUkFUSU9OX1RJTUUpOwogICAgIGFzc2VydF90cnVlKHN1YnNjcmlwdGlvbi5vcHRpb25zID09
PSBzdWJzY3JpcHRpb24ub3B0aW9ucywgIm9wdGlvbnMgc2hvdWxkIGFsd2F5cyByZXR1cm4gc2Ft
ZSBvYmplY3QiKTsKICAgICBhc3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5vcHRpb25zLnVzZXJW
aXNpYmxlT25seSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X3RydWUoc3Vic2NyaXB0aW9uLm9wdGlvbnMu
YXBwbGljYXRpb25TZXJ2ZXJLZXkgPT09IHN1YnNjcmlwdGlvbi5vcHRpb25zLmFwcGxpY2F0aW9u
U2VydmVyS2V5LCAiYXBwbGljYXRpb25TZXJ2ZXJLZXkgc2hvdWxkIHJldHVybiBzYW1lIG9iamVj
dCIpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYnl0ZXNGcm9tKHN1YnNjcmlwdGlvbi5vcHRp
b25zLmFwcGxpY2F0aW9uU2VydmVyS2V5KSwgYnl0ZXNGcm9tKGtleTFCdWZmZXIpKTsKLSAgICBh
c3NlcnRfYXJyYXlfZXF1YWxzKGJ5dGVzRnJvbShzdWJzY3JpcHRpb24uZ2V0S2V5KCdwMjU2ZGgn
KSksIGJ5dGVzRnJvbShrZXkyQnVmZmVyKSk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFscyhieXRl
c0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgnYXV0aCcpKSwgYnl0ZXNGcm9tKGF1dGhCdWZmZXIp
KTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGJ5dGVzRnJvbShzdWJzY3JpcHRpb24ub3B0aW9u
cy5hcHBsaWNhdGlvblNlcnZlcktleSksIGJ5dGVzRnJvbShWQUxJRF9TRVJWRVJfS0VZKSk7Cisg
ICAgYXNzZXJ0X2FycmF5X2VxdWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgncDI1
NmRoJykpLCBieXRlc0Zyb20oQ0xJRU5UX0tFWV8xKSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgnYXV0aCcpKSwgYnl0ZXNGcm9tKEFVVEgp
KTsKIAogICAgIG9iaiA9IHN1YnNjcmlwdGlvbi50b0pTT04oKTsKICAgICBhc3NlcnRfZXF1YWxz
KE9iamVjdC5rZXlzKG9iaikubGVuZ3RoLCAzKTsKLSAgICBhc3NlcnRfZXF1YWxzKG9iai5lbmRw
b2ludCwgZW5kcG9pbnQpOwotICAgIGFzc2VydF9lcXVhbHMob2JqLmV4cGlyYXRpb25UaW1lLCBl
eHBpcmF0aW9uVGltZSk7CisgICAgYXNzZXJ0X2VxdWFscyhvYmouZW5kcG9pbnQsIEVORFBPSU5U
KTsKKyAgICBhc3NlcnRfZXF1YWxzKG9iai5leHBpcmF0aW9uVGltZSwgRVhQSVJBVElPTl9USU1F
KTsKICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5rZXlzKG9iai5rZXlzKS5sZW5ndGgsIDIpOwot
ICAgIGFzc2VydF9lcXVhbHMob2JqLmtleXMucDI1NmRoLCBrZXkyQmFzZTY0VVJMKTsKLSAgICBh
c3NlcnRfZXF1YWxzKG9iai5rZXlzLmF1dGgsIGF1dGhCYXNlNjRVUkwpOworICAgIGFzc2VydF9l
cXVhbHMob2JqLmtleXMucDI1NmRoLCBDTElFTlRfQkFTRTY0X0tFWV8xKTsKKyAgICBhc3NlcnRf
ZXF1YWxzKG9iai5rZXlzLmF1dGgsIEJBU0U2NF9BVVRIKTsKIAogICAgIHJldHVybiBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHJlc29sdmUoKSk7CiB9LCAiUHVzaFN1YnNjcmlwdGlvbiBnZXR0ZXJz
Iik7CiAKLXByb21pc2VfdGVzdCgodGVzdCkgPT4gcmVnaXN0cmF0aW9uLnVucmVnaXN0ZXIoKSwg
InVucmVnaXN0ZXIgc2VydmljZSB3b3JrZXIiKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7
CisgICAgbGV0IHJlc3VsdCA9IGF3YWl0IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpOworICAg
IGFzc2VydF9mYWxzZShyZXN1bHQsICJzdWJzY3JpcHRpb24gdGhhdCBpcyBub3QgYXNzb2NpYXRl
ZCB3aXRoIGEgc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIHNob3VsZCBhbHJlYWR5IGJlIHVu
c3Vic2NyaWJlZCIpOworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUo
KSk7Cit9LCAidW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiBub3QgYXNzb2NpYXRlZCB3
aXRoIGEgcmVnaXN0cmF0aW9uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9w
dXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0
cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiNjgxNTBmMjQ3
N2ViMmIyMWRjZDBlYzkyZjRiMDliZmM4MDYyMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyB3YWl0IGZvciBhY3Rp
dmUgc2VydmljZSB3b3JrZXIKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbiBnZXR0ZXJzCitQQVNTIHVu
c3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gbm90IGFzc29jaWF0ZWQgd2l0aCBhIHJlZ2lz
dHJhdGlvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNo
U3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwgYi9MYXlvdXRUZXN0cy9o
dHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2Vy
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhj
MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hT
dWJzY3JpcHRpb24uaHR0cHMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8
IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUg
dG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmM0MjFmNWFmMjEw
MGViOTkyNGQ1NTU0ZGY4NzA1MTBiMDQ3NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5qcwpA
QCAtMCwwICsxLDUxIEBACisvLyBNRVRBOiB0aXRsZT1QdXNoRXZlbnQgdGVzdHMKKy8vIE1FVEE6
IGdsb2JhbD1zZXJ2aWNld29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9Y29uc3RhbnRzLmpzCisKK3Rl
c3QoKCkgPT4geworICAgIGxldCBldmVudCA9IG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm5l
d1N1YnNjcmlwdGlvbiwgbnVsbCwgIm5ldyIpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQub2xk
U3Vic2NyaXB0aW9uLCBudWxsLCAib2xkIik7Cit9LCAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2
ZW50IHdpdGhvdXQgZGF0YSIpOworCit0ZXN0KCgpID0+IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIiwgeyBu
ZXdTdWJzY3JpcHRpb246IG51bGwsIG9sZFN1YnNjcmlwdGlvbjogbnVsbCB9KTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGV2ZW50Lm5ld1N1YnNjcmlwdGlvbiwgbnVsbCwgIm5ldyIpOworICAgIGFzc2Vy
dF9lcXVhbHMoZXZlbnQub2xkU3Vic2NyaXB0aW9uLCBudWxsLCAib2xkIik7Cit9LCAiUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGhvdXQgc3Vic2NyaXB0aW9ucyIpOworCitsZXQgbmV3
U3Vic2NyaXB0aW9uID0gbnVsbDsKK2xldCBvbGRTdWJzY3JpcHRpb24gPSBudWxsOworCitsZXQg
YWN0aXZhdGVQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZWxmLm9uYWN0aXZhdGUg
PSByZXNvbHZlKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICByZXR1cm4gYWN0aXZh
dGVQcm9taXNlOworfSwgIndhaXQgZm9yIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlciIpOworCitwcm9t
aXNlX3Rlc3QoYXN5bmMoKSA9PiB7CisgICAgbmV3U3Vic2NyaXB0aW9uID0gc2VsZi5pbnRlcm5h
bHMuY3JlYXRlUHVzaFN1YnNjcmlwdGlvbihFTkRQT0lOVCwgRVhQSVJBVElPTl9USU1FLCBWQUxJ
RF9TRVJWRVJfS0VZLCBDTElFTlRfS0VZXzEsIEFVVEgpOworICAgIG9sZFN1YnNjcmlwdGlvbiA9
IHNlbGYuaW50ZXJuYWxzLmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oRU5EUE9JTlQsIEVYUElSQVRJ
T05fVElNRSwgVkFMSURfU0VSVkVSX0tFWSwgQ0xJRU5UX0tFWV8yLCBBVVRIKTsKKworICAgIGFz
c2VydF90cnVlKG5ld1N1YnNjcmlwdGlvbiBpbnN0YW5jZW9mIFB1c2hTdWJzY3JpcHRpb24pOwor
ICAgIGFzc2VydF90cnVlKG9sZFN1YnNjcmlwdGlvbiBpbnN0YW5jZW9mIFB1c2hTdWJzY3JpcHRp
b24pOworCisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZSgpKTsKK30s
ICJjcmVhdGUgc3Vic2NyaXB0aW9ucyIpOworCit0ZXN0KCgpID0+IHsKKyAgICBsZXQgZXZlbnQg
PSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdl
IiwgeyBuZXdTdWJzY3JpcHRpb24gfSk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5uZXdTdWJz
Y3JpcHRpb24sIG5ld1N1YnNjcmlwdGlvbiwgIm5ldyIpOworICAgIGFzc2VydF9lcXVhbHMoZXZl
bnQub2xkU3Vic2NyaXB0aW9uLCBudWxsLCAib2xkIik7Cit9LCAiUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IHdpdGggbmV3IHN1YnNjcmlwdGlvbiIpOworCit0ZXN0KCgpID0+IHsKKyAgICBs
ZXQgZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0
aW9uY2hhbmdlIiwgeyBvbGRTdWJzY3JpcHRpb24gfSk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5uZXdTdWJzY3JpcHRpb24sIG51bGwsICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50
Lm9sZFN1YnNjcmlwdGlvbiwgb2xkU3Vic2NyaXB0aW9uLCAib2xkIik7Cit9LCAiUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50IHdpdGggb2xkIHN1YnNjcmlwdGlvbiIpOworCit0ZXN0KCgpID0+
IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNo
c3Vic2NyaXB0aW9uY2hhbmdlIiwgeyBuZXdTdWJzY3JpcHRpb24sIG9sZFN1YnNjcmlwdGlvbiB9
KTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm5ld1N1YnNjcmlwdGlvbiwgbmV3U3Vic2NyaXB0
aW9uLCAibmV3Iik7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5vbGRTdWJzY3JpcHRpb24sIG9s
ZFN1YnNjcmlwdGlvbiwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3
aXRoIG5ldyBhbmQgb2xkIHN1YnNjcmlwdGlvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTVmYTJiMTc0NzJlMjdmNDYzZWMxY2FiMTYyMDI2MzlhYTZiZTBhYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5
IEBACisKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGhvdXQgZGF0YQorUEFT
UyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aG91dCBzdWJzY3JpcHRpb25zCitQQVNT
IHdhaXQgZm9yIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlcgorUEFTUyBjcmVhdGUgc3Vic2NyaXB0aW9u
cworUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aCBuZXcgc3Vic2NyaXB0aW9u
CitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRoIG9sZCBzdWJzY3JpcHRpb24K
K1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGggbmV3IGFuZCBvbGQgc3Vic2Ny
aXB0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5zZXJ2
aWNld29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2
MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gt
YXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sCkBA
IC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBp
bmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtl
ci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQu
dHh0CmluZGV4IGRkZDRiZjYyZmY0MDc3NmM3MWEwODE4ZWViY2Y4NjUwYjk4MTFiZTkuLjYzM2Fk
Nzc4MzJmOTQ1M2U5OGVlOGMyYWM2NTlkNGExM2QwOWZhNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5o
dHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0dHBzLmFu
eS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtNjUsMTggKzY1LDE4IEBAIFBBU1MgUHVz
aEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIGRhdGEKIFBBU1MgUHVzaEV2ZW50IG11c3QgYmUg
cHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFB1c2hFdmVudCgidHlwZSIpCiBQQVNTIFN0cmluZ2lm
aWNhdGlvbiBvZiBuZXcgUHVzaEV2ZW50KCJ0eXBlIikKIFBBU1MgUHVzaEV2ZW50IGludGVyZmFj
ZTogbmV3IFB1c2hFdmVudCgidHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2lu
ZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFi
bGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkg
IlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3U3Vic2NyaXB0aW9uIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50
ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkU3Vic2NyaXB0aW9uIGFzc2VydF9vd25fcHJvcGVydHk6IHNl
bGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2lu
ZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVy
ZmFjZSBvZiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9u
Y2hhbmdlIikgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0
aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjog
Q2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IgotRkFJTCBT
dHJpbmdpZmljYXRpb24gb2YgbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1
YnNjcmlwdGlvbmNoYW5nZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCIKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAibmV3U3Vic2NyaXB0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3Nl
cnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4
cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZh
cmlhYmxlOiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiCi1GQUlMIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQo
InB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9sZFN1YnNj
cmlwdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBl
eGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2Jq
ZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50IgorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQ
QVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBuZXdT
dWJzY3JpcHRpb24KK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9sZFN1YnNjcmlwdGlvbgorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9m
IG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2Ui
KQorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikgbXVzdCBpbmhl
cml0IHByb3BlcnR5ICJuZXdTdWJzY3JpcHRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlCitQQVNT
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm9sZFN1YnNjcmlwdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIFBBU1MgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwdXNoTWFuYWdlcgogUEFT
UyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogcmVnaXN0cmF0aW9uIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicHVzaE1hbmFnZXIiIHdpdGggdGhlIHByb3BlciB0eXBlCiBQQVNT
IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnB1c2gK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443728</attachid>
            <date>2021-11-09 14:14:02 -0800</date>
            <delta_ts>2021-11-09 14:22:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232455-20211109141401.patch</filename>
            <type>text/plain</type>
            <size>72208</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2IxNDc5MTY4MGVmZTYz
NDc1N2ZlZmE4ZGVjZjM0OWNjMTUyODUyNy4uN2UzNjMyMDFjMGY2ODlhNjE4MjQ5MTg5YzJhOWRk
N2Q3NmIxZTk5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIxLTEwLTI4ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHRoZSBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQgb2JqZWN0LiBJIHBsYW4gdG8gYWRkIHN1cHBvcnQgZm9yIHRoZQorICAgICAgICBv
bnB1c2hzdWJzY3JpcHRpb25jaGFuZ2UgZXZlbnQgaGFuZGxlciBpbiBhIGxhdGVyIHBhdGNoLgor
CisgICAgICAgIFdoaWxlIHdvcmtpbmcgb24gdGhpcywgaXQgc2VlbWVkIHJlYXNvbmFibGUgdG8g
YmUgYWJsZSB0byBjcmVhdGUgUHVzaFN1YnNjcmlwdGlvbnMgdGhhdAorICAgICAgICBwb2ludCB0
byBhIG51bGwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi4gVGhpcyBpcyBmb3Igc3Vic2NyaXB0
aW9ucyB0aGF0IGFyZSByZXR1cm5lZCB2aWEKKyAgICAgICAgdGhlIG9sZFN1YnNjcmlwdGlvbiBw
cm9wZXJ0eSBhbmQgYXJlIHRoZXJlZm9yZSBhbHJlYWR5IHVuc3Vic2NyaWJlZC4KKworICAgICAg
ICBJIGFkZGVkIGEgbmV3IGNvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBhIFB1c2hTdWJzY3JpcHRp
b24gcG9pbnRpbmcgdG8gYSBudWxsCisgICAgICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24s
IHJhdGhlciB0aGFuIGNoYW5naW5nIHRoZSBleGlzdGluZyBjb25zdHJ1Y3RvciB0byBqdXN0IHRh
a2UgYQorICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4uIFRoaXMgaXMg
YmVjYXVzZSBJIHdhbnRlZCB0byByZW1vdmUgdGhlIFdFQkNPUkVfRVhQT1JUCisgICAgICAgIGZy
b20gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiwgYW5kIHRoZSBpbmxpbmUgY29kZSBnZW5lcmF0
ZWQgYnkgY3JlYXRpbmcgYSBudWxsCisgICAgICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uPiBpbiB0aGUgaW50ZXJuYWxzIGR5bGliIGNhdXNlZCBpdCB0byByZXF1aXJlCisgICAg
ICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnJlZi9kZXJlZiB0byBiZSBleHBvcnRlZC4K
KworICAgICAgICBUZXN0czogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlB1c2hNYW5hZ2VyOjpzdWJzY3JpYmUpOgorICAgICAgICAoV2ViQ29y
ZTo6UHVzaE1hbmFnZXI6OmdldFN1YnNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQdXNo
TWFuYWdlcjo6cGVybWlzc2lvblN0YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hNYW5hZ2VyLmg6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5pZGw6
CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb246OlB1c2hTdWJzY3JpcHRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3JpYmUpOgorICAgICAgICAqIE1v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmguCisgICAgICAgIChXZWJDb3JlOjpQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCk6Cisg
ICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5o
LgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudEluaXQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBp
L1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAg
ICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckludGVybmFsczo6Y3JlYXRlUHVzaFN1YnNjcmlw
dGlvbik6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6CisgICAg
ICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKwogMjAyMS0xMS0wOSAg
WmlyYW4gU3VuICA8enN1bkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtZ3JpZF0gdXBkYXRl
IHRoZSBjb250ZW50LXNpemVkIGdyaWQgd2lkdGggYmVmb3JlIGxheWluZyBvdXQgYSBncmlkIGl0
ZW0gd2l0aCBibG9jayBjb25zdHJhaW50cyBhbmQgYXNwZWN0LXJhdGlvCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDFkNDBkMmFmYTU3NDA1NGJmMjRmYzRlNTVlZTQ0ZjQxZWVhMmJmYmQuLmViZjQ5
YWYzNDU4ZTNlODY3MDgxMTk1ZWRhNGI5YzAzODQ1MGRkZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC01MDksNiArNTA5LDggQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBN
b2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwKICAgICBNb2R1bGVzL3B1c2gtYXBp
L1B1c2hQZXJtaXNzaW9uU3RhdGUuaWRsCiAgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2Ny
aXB0aW9uLmlkbAorICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2
ZW50LmlkbAorICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
SW5pdC5pZGwKICAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25KU09OLmlkbAog
ICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuaWRsCiAgICAgTW9k
dWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0luaXQuaWRsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBjOTJmMjRhNzY2
MjRmZWYzYjk1NzFhMDIwYmVjZmM5NDU3NjY5YTY2Li5mM2NlZWNkNDhkOTk1ZWIzNzI2MmJkZjM0
MjQ2ZjlkOGQ2ZDNiNTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKQEAgLTU2Niw2ICs1NjYsOCBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFw
aS9QdXNoTWVzc2FnZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hQZXJtaXNzaW9uU3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb24uaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkpTT04uaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0luaXQuaWRsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDVk
YjJmMjIyYjg4NWZiYTg5ODg1YWM1MDM1YmI2ODgyMzhmMzUzMTAuLjRjNWZmOTU0YTE1OTdlZGJm
NTBkNjJhZDcyOTA3NDI4YzVkMDUzYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xODk5LDYgKzE4OTksMTAgQEAgJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoUGVybWlzc2lvblN0YXRl
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNo
UGVybWlzc2lvblN0YXRlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbi5oCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50SW5pdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRpb25KU09OLmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uSlNPTi5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRp
b25PcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMjNhMmYzODI3
OWNlNjkwYTRjZDc1NzgyY2QyZDJkZjAyNDYyNzkyMy4uZjg4ZTYzOWI5ZDc0YjlkZDU0NDhjZWQ5
OTE4MWMwZGYwZjUyODE0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00OTUs
NiArNDk1LDggQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
cHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hQZXJtaXNzaW9uU3RhdGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uSlNPTi5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uT3B0aW9u
cy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9u
T3B0aW9uc0luaXQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVz
aC1hcGkvUHVzaE1hbmFnZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoTWFuYWdlci5jcHAKaW5kZXggNjQyZDUwYWE4MzhlNGYwMjBkMGQyMmIzZmY0MDk2OTdhOGEz
OGExMy4uMzcxZThkY2JmOWRiMzY2ZmQ4NWQyNDUwZDBhMDQ2NjRhMDRkYjJmZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5jcHAKQEAgLTI5LDYg
KzI5LDcgQEAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAKICNpbmNsdWRlICJDcnlwdG9L
ZXlFQy5oIgorI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgog
I2luY2x1ZGUgIkpTUHVzaFBlcm1pc3Npb25TdGF0ZS5oIgogI2luY2x1ZGUgIkpTUHVzaFN1YnNj
cmlwdGlvbi5oIgpAQCAtNjgsNjYgKzY5LDcyIEBAIHZvaWQgUHVzaE1hbmFnZXI6OnN1YnNjcmli
ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBzdGQ6CiB7
CiAgICAgUkVMRUFTRV9BU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5pc1NlY3VyZUNvbnRl
eHQoKSk7CiAgICAgCi0gICAgaWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLT51c2VyVmlzaWJsZU9u
bHkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90QWxsb3dlZEVycm9y
LCAiU3Vic2NyaWJpbmcgZm9yIHB1c2ggcmVxdWlyZXMgdXNlclZpc2libGVPbmx5IHRvIGJlIHRy
dWUiX3MgfSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgCi0gICAgaWYgKCFvcHRpb25z
IHx8ICFvcHRpb25zLT5hcHBsaWNhdGlvblNlcnZlcktleSkgewotICAgICAgICBwcm9taXNlLnJl
amVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgIlN1YnNjcmliaW5nIGZvciBwdXNo
IHJlcXVpcmVzIGFuIGFwcGxpY2F0aW9uU2VydmVyS2V5Il9zIH0pOwotICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIAotICAgIHVzaW5nIEtleURhdGFSZXN1bHQgPSBFeGNlcHRpb25PcjxWZWN0
b3I8dWludDhfdD4+OwotICAgIGF1dG8ga2V5RGF0YVJlc3VsdCA9IFdURjo6c3dpdGNoT24oKm9w
dGlvbnMtPmFwcGxpY2F0aW9uU2VydmVyS2V5LCBbXShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4m
IHZhbHVlKSAtPiBLZXlEYXRhUmVzdWx0IHsKLSAgICAgICAgaWYgKCF2YWx1ZSkKLSAgICAgICAg
ICAgIHJldHVybiBWZWN0b3I8dWludDhfdD4geyB9OwotICAgICAgICByZXR1cm4gVmVjdG9yPHVp
bnQ4X3Q+IHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUtPmRhdGEoKSks
IHZhbHVlLT5ieXRlTGVuZ3RoKCkgfTsKLSAgICB9LCBbXShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZl
clZpZXc+JiB2YWx1ZSkgLT4gS2V5RGF0YVJlc3VsdCB7Ci0gICAgICAgIGlmICghdmFsdWUpCi0g
ICAgICAgICAgICByZXR1cm4gVmVjdG9yPHVpbnQ4X3Q+IHsgfTsKLSAgICAgICAgcmV0dXJuIFZl
Y3Rvcjx1aW50OF90PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlLT5i
YXNlQWRkcmVzcygpKSwgdmFsdWUtPmJ5dGVMZW5ndGgoKSB9OwotICAgIH0sIFtdKFN0cmluZyYg
dmFsdWUpIC0+IEtleURhdGFSZXN1bHQgewotICAgICAgICBhdXRvIGRlY29kZWQgPSBiYXNlNjRV
UkxEZWNvZGUodmFsdWUpOwotICAgICAgICBpZiAoIWRlY29kZWQpCi0gICAgICAgICAgICByZXR1
cm4gRXhjZXB0aW9uIHsgSW52YWxpZENoYXJhY3RlckVycm9yLCAiYXBwbGljYXRpb25TZXJ2ZXJL
ZXkgaXMgbm90IHByb3Blcmx5IGJhc2U2NHVybC1lbmNvZGVkIl9zIH07Ci0gICAgICAgIHJldHVy
biBXVEZNb3ZlKGRlY29kZWQudmFsdWUoKSk7Ci0gICAgfSk7Ci0gICAgCi0gICAgaWYgKGtleURh
dGFSZXN1bHQuaGFzRXhjZXB0aW9uKCkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3Qoa2V5RGF0
YVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IAorICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tT
b3VyY2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwg
b3B0aW9ucyA9IFdURk1vdmUob3B0aW9ucyksIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgp
IG11dGFibGUgeworICAgICAgICBpZiAoIW9wdGlvbnMgfHwgIW9wdGlvbnMtPnVzZXJWaXNpYmxl
T25seSkgeworICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90QWxsb3dl
ZEVycm9yLCAiU3Vic2NyaWJpbmcgZm9yIHB1c2ggcmVxdWlyZXMgdXNlclZpc2libGVPbmx5IHRv
IGJlIHRydWUiX3MgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBpZiAoIW9wdGlvbnMgfHwgIW9wdGlvbnMtPmFwcGxpY2F0aW9uU2VydmVyS2V5KSB7CisgICAg
ICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBOb3RTdXBwb3J0ZWRFcnJvciwgIlN1
YnNjcmliaW5nIGZvciBwdXNoIHJlcXVpcmVzIGFuIGFwcGxpY2F0aW9uU2VydmVyS2V5Il9zIH0p
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdXNpbmcgS2V5RGF0
YVJlc3VsdCA9IEV4Y2VwdGlvbk9yPFZlY3Rvcjx1aW50OF90Pj47CisgICAgICAgIGF1dG8ga2V5
RGF0YVJlc3VsdCA9IFdURjo6c3dpdGNoT24oKm9wdGlvbnMtPmFwcGxpY2F0aW9uU2VydmVyS2V5
LCBbXShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mIHZhbHVlKSAtPiBLZXlEYXRhUmVzdWx0IHsK
KyAgICAgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIFZlY3Rvcjx1
aW50OF90PiB7IH07CisgICAgICAgICAgICByZXR1cm4gVmVjdG9yPHVpbnQ4X3Q+IHsgcmVpbnRl
cnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUtPmRhdGEoKSksIHZhbHVlLT5ieXRlTGVu
Z3RoKCkgfTsKKyAgICAgICAgfSwgW10oUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXJWaWV3PiYgdmFs
dWUpIC0+IEtleURhdGFSZXN1bHQgeworICAgICAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAg
ICAgICAgICByZXR1cm4gVmVjdG9yPHVpbnQ4X3Q+IHsgfTsKKyAgICAgICAgICAgIHJldHVybiBW
ZWN0b3I8dWludDhfdD4geyByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPih2YWx1ZS0+
YmFzZUFkZHJlc3MoKSksIHZhbHVlLT5ieXRlTGVuZ3RoKCkgfTsKKyAgICAgICAgfSwgW10oU3Ry
aW5nJiB2YWx1ZSkgLT4gS2V5RGF0YVJlc3VsdCB7CisgICAgICAgICAgICBhdXRvIGRlY29kZWQg
PSBiYXNlNjRVUkxEZWNvZGUodmFsdWUpOworICAgICAgICAgICAgaWYgKCFkZWNvZGVkKQorICAg
ICAgICAgICAgICAgIHJldHVybiBFeGNlcHRpb24geyBJbnZhbGlkQ2hhcmFjdGVyRXJyb3IsICJh
cHBsaWNhdGlvblNlcnZlcktleSBpcyBub3QgcHJvcGVybHkgYmFzZTY0dXJsLWVuY29kZWQiX3Mg
fTsKKyAgICAgICAgICAgIHJldHVybiBXVEZNb3ZlKGRlY29kZWQudmFsdWUoKSk7CisgICAgICAg
IH0pOworCisgICAgICAgIGlmIChrZXlEYXRhUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKSB7CisgICAg
ICAgICAgICBwcm9taXNlLnJlamVjdChrZXlEYXRhUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwogI2lmIEVOQUJMRShXRUJfQ1JZUFRP
KQotICAgIGF1dG8ga2V5RGF0YSA9IGtleURhdGFSZXN1bHQucmV0dXJuVmFsdWUoKTsKLSAgICBh
dXRvIGtleSA9IENyeXB0b0tleUVDOjppbXBvcnRSYXcoQ3J5cHRvQWxnb3JpdGhtSWRlbnRpZmll
cjo6RUNEU0EsICJQLTI1NiJfcywgV1RGTW92ZShrZXlEYXRhKSwgZmFsc2UsIENyeXB0b0tleVVz
YWdlVmVyaWZ5KTsKKyAgICAgICAgYXV0byBrZXlEYXRhID0ga2V5RGF0YVJlc3VsdC5yZXR1cm5W
YWx1ZSgpOworICAgICAgICBhdXRvIGtleSA9IENyeXB0b0tleUVDOjppbXBvcnRSYXcoQ3J5cHRv
QWxnb3JpdGhtSWRlbnRpZmllcjo6RUNEU0EsICJQLTI1NiJfcywgV1RGTW92ZShrZXlEYXRhKSwg
ZmFsc2UsIENyeXB0b0tleVVzYWdlVmVyaWZ5KTsKICNlbHNlCi0gICAgYXV0byBrZXkgPSBudWxs
cHRyOworICAgICAgICBhdXRvIGtleSA9IG51bGxwdHI7CiAjZW5kaWYKLSAgICAKLSAgICBpZiAo
IWtleSkgewotICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZhbGlkQWNjZXNz
RXJyb3IsICJhcHBsaWNhdGlvblNlcnZlcktleSBtdXN0IGNvbnRhaW4gYSB2YWxpZCBQLTI1NiBw
dWJsaWMga2V5Il9zIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFtX3Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uYWN0aXZlKCkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgSW52YWxpZFN0YXRlRXJyb3IsICJTdWJzY3JpYmluZyBmb3IgcHVzaCBy
ZXF1aXJlcyBhbiBhY3RpdmUgc2VydmljZSB3b3JrZXIiX3MgfSk7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgCi0gICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLnN1YnNjcmliZVRv
UHVzaFNlcnZpY2Uoa2V5RGF0YVJlc3VsdC5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgV1RGTW92ZShw
cm9taXNlKSk7CisKKyAgICAgICAgaWYgKCFrZXkpIHsKKyAgICAgICAgICAgIHByb21pc2UucmVq
ZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRBY2Nlc3NFcnJvciwgImFwcGxpY2F0aW9uU2VydmVyS2V5
IG11c3QgY29udGFpbiBhIHZhbGlkIFAtMjU2IHB1YmxpYyBrZXkiX3MgfSk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBpZiAoIW1fc2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5hY3RpdmUoKSkgeworICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9u
IHsgSW52YWxpZFN0YXRlRXJyb3IsICJTdWJzY3JpYmluZyBmb3IgcHVzaCByZXF1aXJlcyBhbiBh
Y3RpdmUgc2VydmljZSB3b3JrZXIiX3MgfSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IH0KKworICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uc3Vic2NyaWJlVG9QdXNo
U2VydmljZShrZXlEYXRhUmVzdWx0LnJlbGVhc2VSZXR1cm5WYWx1ZSgpLCBXVEZNb3ZlKHByb21p
c2UpKTsKKyAgICB9KTsKIH0KIAotdm9pZCBQdXNoTWFuYWdlcjo6Z2V0U3Vic2NyaXB0aW9uKERP
TVByb21pc2VEZWZlcnJlZDxJRExOdWxsYWJsZTxJRExJbnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlv
bj4+PiYmIHByb21pc2UpCit2b2lkIFB1c2hNYW5hZ2VyOjpnZXRTdWJzY3JpcHRpb24oU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgRE9NUHJvbWlzZURlZmVy
cmVkPElETE51bGxhYmxlPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9uPj4+JiYgcHJvbWlz
ZSkKIHsKLSAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uZ2V0UHVzaFN1YnNjcmlwdGlv
bihXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmV2ZW50TG9v
cCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpOZXR3b3JraW5nLCBbdGhpcywgcHJvdGVjdGVkVGhp
cyA9IFJlZiB7ICp0aGlzIH0sIHByb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSgpIG11dGFibGUg
eworICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uZ2V0UHVzaFN1YnNjcmlwdGlv
bihXVEZNb3ZlKHByb21pc2UpKTsKKyAgICB9KTsKIH0KIAotdm9pZCBQdXNoTWFuYWdlcjo6cGVy
bWlzc2lvblN0YXRlKHN0ZDo6b3B0aW9uYWw8UHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0PiYm
IG9wdGlvbnMsIERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJhdGlvbjxQdXNoUGVybWlzc2lv
blN0YXRlPj4mJiBwcm9taXNlKQordm9pZCBQdXNoTWFuYWdlcjo6cGVybWlzc2lvblN0YXRlKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIHN0ZDo6b3B0aW9u
YWw8UHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0PiYmIG9wdGlvbnMsIERPTVByb21pc2VEZWZl
cnJlZDxJRExFbnVtZXJhdGlvbjxQdXNoUGVybWlzc2lvblN0YXRlPj4mJiBwcm9taXNlKQogewog
ICAgIFVOVVNFRF9QQVJBTShvcHRpb25zKTsKLSAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uZ2V0UHVzaFBlcm1pc3Npb25TdGF0ZShXVEZNb3ZlKHByb21pc2UpKTsKKyAgICBzY3JpcHRF
eGVjdXRpb25Db250ZXh0LmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpOZXR3b3Jr
aW5nLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIHByb21pc2UgPSBXVEZN
b3ZlKHByb21pc2UpXSgpIG11dGFibGUgeworICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24uZ2V0UHVzaFBlcm1pc3Npb25TdGF0ZShXVEZNb3ZlKHByb21pc2UpKTsKKyAgICB9KTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoTWFuYWdlci5oCmluZGV4IDNkNTAwMTg3YTYwYjVmODFkZmUyOWJkZWNjYjRk
ZGQyYzY0NWE4NWMuLjc2YjJjNGVmM2ZkZGFjMTJlMTZmYmY4Y2E2MWNhZmZiYTBlODU0Y2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmgKQEAgLTUy
LDggKzUyLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBWZWN0b3I8U3RyaW5nPiBzdXBwb3J0ZWRD
b250ZW50RW5jb2RpbmdzKCk7CiAKICAgICB2b2lkIHN1YnNjcmliZShTY3JpcHRFeGVjdXRpb25D
b250ZXh0Jiwgc3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0luaXQ+JiYsIERP
TVByb21pc2VEZWZlcnJlZDxJRExJbnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlvbj4+JiYpOwotICAg
IHZvaWQgZ2V0U3Vic2NyaXB0aW9uKERPTVByb21pc2VEZWZlcnJlZDxJRExOdWxsYWJsZTxJRExJ
bnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlvbj4+PiYmKTsKLSAgICB2b2lkIHBlcm1pc3Npb25TdGF0
ZShzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdD4mJiwgRE9NUHJvbWlz
ZURlZmVycmVkPElETEVudW1lcmF0aW9uPFB1c2hQZXJtaXNzaW9uU3RhdGU+PiYmKTsKKyAgICB2
b2lkIGdldFN1YnNjcmlwdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRE9NUHJvbWlzZURl
ZmVycmVkPElETE51bGxhYmxlPElETEludGVyZmFjZTxQdXNoU3Vic2NyaXB0aW9uPj4+JiYpOwor
ICAgIHZvaWQgcGVybWlzc2lvblN0YXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBzdGQ6Om9w
dGlvbmFsPFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdD4mJiwgRE9NUHJvbWlzZURlZmVycmVk
PElETEVudW1lcmF0aW9uPFB1c2hQZXJtaXNzaW9uU3RhdGU+PiYmKTsKIAogcHJpdmF0ZToKICAg
ICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uJiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb247
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2Vy
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuaWRsCmlu
ZGV4IDdjMWQ0NTA5ZDBjMDNkYTVmNDgxYTdlYTQ3NDc1YWI0MzVjMzI4NzUuLjMzZGU3OWNmMTBm
M2Y5ZGE1MDU2YTFkNzM3OTYyMjljNTBiNjRjNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuaWRsCkBAIC0zNSw2ICszNSw2IEBACiAgICAgW1Nh
bWVPYmplY3RdIHN0YXRpYyByZWFkb25seSBhdHRyaWJ1dGUgRnJvemVuQXJyYXk8RE9NU3RyaW5n
PiBzdXBwb3J0ZWRDb250ZW50RW5jb2RpbmdzOwogCiAgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRdIFByb21pc2U8UHVzaFN1YnNjcmlwdGlvbj4gc3Vic2NyaWJlKG9wdGlvbmFs
IFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdCBvcHRpb25zKTsKLSAgICBQcm9taXNlPFB1c2hT
dWJzY3JpcHRpb24/PiBnZXRTdWJzY3JpcHRpb24oKTsKLSAgICBQcm9taXNlPFB1c2hQZXJtaXNz
aW9uU3RhdGU+IHBlcm1pc3Npb25TdGF0ZShvcHRpb25hbCBQdXNoU3Vic2NyaXB0aW9uT3B0aW9u
c0luaXQgb3B0aW9ucyk7CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFBy
b21pc2U8UHVzaFN1YnNjcmlwdGlvbj8+IGdldFN1YnNjcmlwdGlvbigpOworICAgIFtDYWxsV2l0
aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPFB1c2hQZXJtaXNzaW9uU3RhdGU+IHBl
cm1pc3Npb25TdGF0ZShvcHRpb25hbCBQdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0luaXQgb3B0aW9u
cyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNo
U3Vic2NyaXB0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1
YnNjcmlwdGlvbi5jcHAKaW5kZXggZTA1MDQ0ZGQyN2M5OGExOTkzOTAyOWJiMzkzMjcyODAzY2Nl
ZTIyOS4uZTFjZTgzODE0YzNjYWQ1MGM0YmQ1OWZiYjI4ZTM3YmZmMjQ2NjQyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3Bw
CkBAIC0yOCw4ICsyOCwxMCBAQAogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogCisjaW5j
bHVkZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uLmgiCiAjaW5jbHVkZSAiUHVz
aFN1YnNjcmlwdGlvbk9wdGlvbnMuaCIKKyNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckNvbnRhaW5lci5oIgogI2luY2x1ZGUgPHd0Zi9J
c29NYWxsb2NJbmxpbmVzLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQmFzZTY0Lmg+CkBAIC0zOCw2
ICs0MCwxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChQdXNoU3Vic2NyaXB0aW9uKTsKIAorUHVzaFN1YnNjcmlwdGlvbjo6UHVzaFN1YnNjcmlw
dGlvbihTdHJpbmcmJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhw
aXJhdGlvblRpbWUsIFZlY3Rvcjx1aW50OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBWZWN0
b3I8dWludDhfdD4mJiBjbGllbnRFQ0RIUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBzaGFy
ZWRBdXRoZW50aWNhdGlvblNlY3JldCkKKyAgICA6IG1fZW5kcG9pbnQoV1RGTW92ZShlbmRwb2lu
dCkpCisgICAgLCBtX2V4cGlyYXRpb25UaW1lKGV4cGlyYXRpb25UaW1lKQorICAgICwgbV9vcHRp
b25zKFB1c2hTdWJzY3JpcHRpb25PcHRpb25zOjpjcmVhdGUoV1RGTW92ZShzZXJ2ZXJWQVBJRFB1
YmxpY0tleSkpKQorICAgICwgbV9jbGllbnRFQ0RIUHVibGljS2V5KFdURk1vdmUoY2xpZW50RUNE
SFB1YmxpY0tleSkpCisgICAgLCBtX3NoYXJlZEF1dGhlbnRpY2F0aW9uU2VjcmV0KFdURk1vdmUo
c2hhcmVkQXV0aGVudGljYXRpb25TZWNyZXQpKQoreworfQorCiBQdXNoU3Vic2NyaXB0aW9uOjpQ
dXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiYmIHJlZ2lzdHJh
dGlvbiwgU3RyaW5nJiYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4
cGlyYXRpb25UaW1lLCBWZWN0b3I8dWludDhfdD4mJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVj
dG9yPHVpbnQ4X3Q+JiYgY2xpZW50RUNESFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2hh
cmVkQXV0aGVudGljYXRpb25TZWNyZXQpCiAgICAgOiBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24oV1RGTW92ZShyZWdpc3RyYXRpb24pKQogICAgICwgbV9lbmRwb2ludChXVEZNb3ZlKGVuZHBv
aW50KSkKQEAgLTg2LDkgKzk3LDE2IEBAIEV4Y2VwdGlvbk9yPFJlZlB0cjxKU0M6OkFycmF5QnVm
ZmVyPj4gUHVzaFN1YnNjcmlwdGlvbjo6Z2V0S2V5KFB1c2hFbmNyeXB0aW9uS2V5CiAgICAgcmV0
dXJuIGJ1ZmZlcjsKIH0KIAotdm9pZCBQdXNoU3Vic2NyaXB0aW9uOjp1bnN1YnNjcmliZShET01Q
cm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQordm9pZCBQdXNoU3Vic2NyaXB0
aW9uOjp1bnN1YnNjcmliZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJiBwcm9taXNlKQogewotICAg
IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi0+dW5zdWJzY3JpYmVGcm9tUHVzaFNlcnZpY2Uo
V1RGTW92ZShwcm9taXNlKSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5ldmVudExvb3Ao
KS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHByb3RlY3RlZFRoaXMg
PSBSZWYgeyAqdGhpcyB9LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsK
KyAgICAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24pIHsKKyAgICAgICAgICAg
IHByb21pc2UucmVzb2x2ZShmYWxzZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24tPnVuc3Vic2NyaWJlRnJvbVB1
c2hTZXJ2aWNlKFdURk1vdmUocHJvbWlzZSkpOworICAgIH0pOwogfQogCiBQdXNoU3Vic2NyaXB0
aW9uSlNPTiBQdXNoU3Vic2NyaXB0aW9uOjp0b0pTT04oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaAppbmRleCBjYjg4NzQ4
ZTY2NTQ2N2QzNjVmMGY4YjZlMTAwZGYxZTg1NGQ1YzlkLi4wOWNjM2EwZDNlYTQ1Yzc0NTE5YWI3
OThmYTQ4MWFkZDAxMTY3ZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1
c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaApAQCAtNDEsNiArNDEsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBQdXNoU3Vic2NyaXB0aW9uT3B0aW9uczsKK2NsYXNzIFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQ7CiBjbGFzcyBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOwogY2xhc3MgU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjsKIApAQCAtNTQsMTQgKzU1LDE1IEBAIHB1YmxpYzoKICAg
ICBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSgpIGNvbnN0Owog
ICAgIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zJiBvcHRpb25zKCkgY29uc3Q7CiAgICAgRXhjZXB0
aW9uT3I8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PiBnZXRLZXkoUHVzaEVuY3J5cHRpb25LZXlO
YW1lKSBjb25zdDsKLSAgICB2b2lkIHVuc3Vic2NyaWJlKERPTVByb21pc2VEZWZlcnJlZDxJRExC
b29sZWFuPiYmKTsKKyAgICB2b2lkIHVuc3Vic2NyaWJlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CiAKICAgICBQdXNoU3Vic2NyaXB0
aW9uSlNPTiB0b0pTT04oKSBjb25zdDsKIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VYUE9SVCBQ
dXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiYmLCBTdHJpbmcm
JiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUs
IFZlY3Rvcjx1aW50OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4m
JiBjbGllbnRFQ0RIUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBhdXRoKTsKKyAgICBXRUJD
T1JFX0VYUE9SVCBQdXNoU3Vic2NyaXB0aW9uKFN0cmluZyYmIGVuZHBvaW50LCBzdGQ6Om9wdGlv
bmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2Vy
dmVyVkFQSURQdWJsaWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIGNsaWVudEVDREhQdWJsaWNLZXks
IFZlY3Rvcjx1aW50OF90PiYmIGF1dGgpOworICAgIFB1c2hTdWJzY3JpcHRpb24oUmVmPFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24+JiYsIFN0cmluZyYmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFs
PEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2VydmVy
VkFQSURQdWJsaWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIGNsaWVudEVDREhQdWJsaWNLZXksIFZl
Y3Rvcjx1aW50OF90PiYmIGF1dGgpOwogCi0gICAgUmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24+IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbjsKKyAgICBSZWZQdHI8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbj4gbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOwogICAgIFN0cmluZyBt
X2VuZHBvaW50OwogICAgIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IG1fZXhwaXJhdGlv
blRpbWU7CiAgICAgUmVmPFB1c2hTdWJzY3JpcHRpb25PcHRpb25zPiBtX29wdGlvbnM7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24u
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlk
bAppbmRleCBhMjI5YmEzYjMwNDk3MjI0OGNhMDA2MGI1YjZkNDA0NTNmNWE1ZDg2Li5jMzMwNzY5
ZWIyMjlhMDg5Njk4NGRlMDQ2MTdhNGRhNjJjYTM0MmJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGwKQEAgLTM3LDcgKzM3
LDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRXBvY2hUaW1lU3RhbXA/IGV4cGlyYXRpb25U
aW1lOwogICAgIFtTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgUHVzaFN1YnNjcmlwdGlv
bk9wdGlvbnMgb3B0aW9uczsKICAgICBBcnJheUJ1ZmZlcj8gZ2V0S2V5KFB1c2hFbmNyeXB0aW9u
S2V5TmFtZSBuYW1lKTsKLSAgICBQcm9taXNlPGJvb2xlYW4+IHVuc3Vic2NyaWJlKCk7CisgICAg
W0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8Ym9vbGVhbj4gdW5zdWJz
Y3JpYmUoKTsKIAogICAgIFB1c2hTdWJzY3JpcHRpb25KU09OIHRvSlNPTigpOwogfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Zjg3MGE3NGIyZjA4OTEyYzFkYTY3
MDE4ZTg4MGE2OTM1NzdhZTJlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisK
KyNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KTsKKworUmVmPFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudD4gUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpjcmVhdGUoY29uc3Qg
QXRvbVN0cmluZyYgdHlwZSwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdCYmIGluaXRp
YWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQoreworICAgIGF1dG8gbmV3U3Vic2NyaXB0aW9u
ID0gaW5pdGlhbGl6ZXIubmV3U3Vic2NyaXB0aW9uOworICAgIGF1dG8gb2xkU3Vic2NyaXB0aW9u
ID0gaW5pdGlhbGl6ZXIub2xkU3Vic2NyaXB0aW9uOworICAgIHJldHVybiBjcmVhdGUodHlwZSwg
V1RGTW92ZShpbml0aWFsaXplciksIFdURk1vdmUobmV3U3Vic2NyaXB0aW9uKSwgV1RGTW92ZShv
bGRTdWJzY3JpcHRpb24pLCBpc1RydXN0ZWQpOworfQorCitSZWY8UHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50PiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9t
U3RyaW5nJiB0eXBlLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYgaW5pdGlhbGl6ZXIsIFJlZlB0cjxQ
dXNoU3Vic2NyaXB0aW9uPiYmIG5ld1N1YnNjcmlwdGlvbiwgUmVmUHRyPFB1c2hTdWJzY3JpcHRp
b24+JiYgb2xkU3Vic2NyaXB0aW9uLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCh0eXBlLCBXVEZNb3Zl
KGluaXRpYWxpemVyKSwgV1RGTW92ZShuZXdTdWJzY3JpcHRpb24pLCBXVEZNb3ZlKG9sZFN1YnNj
cmlwdGlvbiksIGlzVHJ1c3RlZCkpOworfQorCitQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6
OlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRl
bmRhYmxlRXZlbnRJbml0JiYgZXZlbnRJbml0LCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBu
ZXdTdWJzY3JpcHRpb24sIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNjcmlwdGlv
biwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKKyAgICA6IEV4dGVuZGFibGVFdmVudCh0eXBlLCBXVEZN
b3ZlKGV2ZW50SW5pdCksIGlzVHJ1c3RlZCkKKyAgICAsIG1fbmV3U3Vic2NyaXB0aW9uKFdURk1v
dmUobmV3U3Vic2NyaXB0aW9uKSkKKyAgICAsIG1fb2xkU3Vic2NyaXB0aW9uKFdURk1vdmUob2xk
U3Vic2NyaXB0aW9uKSkKK3sKK30KKworUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50Ojp+UHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCkgPSBkZWZhdWx0OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTY5NjVlMTUwNmMyOTljOGNlODliMDM2MjhkZTk5Mjk3
YzI3MDUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFw
aS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaApAQCAtMCwwICsxLDU1IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNs
dWRlICJFeHRlbmRhYmxlRXZlbnQuaCIKKyNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IGZpbmFsIDogcHVibGljIEV4dGVuZGFibGVFdmVudCB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQpOworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50PiBjcmVhdGUoY29u
c3QgQXRvbVN0cmluZyYsIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQmJiwgSXNUcnVz
dGVkID0gSXNUcnVzdGVkOjpObyk7CisgICAgc3RhdGljIFJlZjxQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYm
LCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBuZXdTdWJzY3JpcHRpb24sIFJlZlB0cjxQdXNo
U3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNjcmlwdGlvbiwgSXNUcnVzdGVkKTsKKyAgICB+UHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCk7CisKKyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVy
ZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudElu
dGVyZmFjZVR5cGU7IH0KKyAgICBQdXNoU3Vic2NyaXB0aW9uKiBuZXdTdWJzY3JpcHRpb24oKSB7
IHJldHVybiBtX25ld1N1YnNjcmlwdGlvbi5nZXQoKTsgfQorICAgIFB1c2hTdWJzY3JpcHRpb24q
IG9sZFN1YnNjcmlwdGlvbigpIHsgcmV0dXJuIG1fb2xkU3Vic2NyaXB0aW9uLmdldCgpOyB9CisK
K3ByaXZhdGU6CisgICAgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYsIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG5l
d1N1YnNjcmlwdGlvbiwgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+JiYgb2xkU3Vic2NyaXB0aW9u
LCBJc1RydXN0ZWQpOworCisgICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IG1fbmV3U3Vic2Ny
aXB0aW9uOworICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBtX29sZFN1YnNjcmlwdGlvbjsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNWJhODZh
NzViY2NkMjhlNjBkMGJmMDY2YmI3Njg4NjU3NjMyYTgzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQu
aWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9U0VS
VklDRV9XT1JLRVIsCisgICAgRW5hYmxlZEF0UnVudGltZT1QdXNoQVBJRW5hYmxlZCwKKyAgICBF
eHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVCwKKyAgICBFeHBvc2VkPVNlcnZpY2VXb3JrZXIsCisg
ICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQKK10gaW50ZXJm
YWNlIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCA6IEV4dGVuZGFibGVFdmVudCB7CisgICAg
Y29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudEluaXQgZXZlbnRJbml0RGljdCk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFB1c2hT
dWJzY3JpcHRpb24/IG5ld1N1YnNjcmlwdGlvbjsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgUHVz
aFN1YnNjcmlwdGlvbj8gb2xkU3Vic2NyaXB0aW9uOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5o
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnRJbml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjBmZmJmMDQ2YzRmYzY2ZTAyZDNkYTU3YTU2NzczYWY1
ZjYwZTI3ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNDMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKwor
I2luY2x1ZGUgIkV4dGVuZGFibGVFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBQdXNoU3Vic2NyaXB0aW9uOworCitzdHJ1Y3QgUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFJlZlB0cjxQdXNoU3Vic2Ny
aXB0aW9uPiBuZXdTdWJzY3JpcHRpb247CisgICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IG9s
ZFN1YnNjcmlwdGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjZmNDAwZWZhMzkxYTMzNGQ0MDJkNmExNGQ3MzJlOTM3ZjlhNGFjZjQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCit0eXBlZGVmIChCdWZmZXJTb3VyY2Ugb3IgVVNWU3RyaW5nKSBQdXNoTWVzc2FnZURhdGFJ
bml0OworCitbCisgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIKK10gZGljdGlvbmFyeSBQ
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0IDogRXh0ZW5kYWJsZUV2ZW50SW5pdCB7Cisg
ICAgUHVzaFN1YnNjcmlwdGlvbj8gbmV3U3Vic2NyaXB0aW9uOworICAgIFB1c2hTdWJzY3JpcHRp
b24/IG9sZFN1YnNjcmlwdGlvbjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDkyOGQ4YjQ5NzJiMjY1
Mzg0OTc0ZDUxZDE0NjQ5ZGE4NmQ0MjQ5NDIuLjQzNmE2NzY3MDM3MjRjMzQwZTk1MzY4ZjdjYzJi
OWRmZTIzZTQ0MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNTQsNiArMjU0LDcgQEAgTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCiBNb2R1bGVzL3B1c2gt
YXBpL1B1c2hFdmVudC5jcHAKIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmNwcAog
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcAorTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJz
Y3JpcHRpb25EYXRhLmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uT3B0aW9u
cy5jcHAKIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuY3BwCkBAIC0zNTQ2LDYgKzM1NDcs
OCBAQCBKU1B1c2hNYW5hZ2VyLmNwcAogSlNQdXNoTWVzc2FnZURhdGEuY3BwCiBKU1B1c2hQZXJt
aXNzaW9uU3RhdGUuY3BwCiBKU1B1c2hTdWJzY3JpcHRpb24uY3BwCitKU1B1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudC5jcHAKK0pTUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5jcHAK
IEpTUHVzaFN1YnNjcmlwdGlvbkpTT04uY3BwCiBKU1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmNw
cAogSlNQdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0luaXQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggM2I1NTdkZTEwZDAxZmI1
ZDA5Y2EzMWVlNGQ0OTZjZmM3NGQ3ZmQzNi4uNjE0NDYwN2YxNDE5OTczYWUxNTVjNjYwODRkMDAz
ZmEzYTBjNWNlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNTM5OCw2ICs1Mzk4LDggQEAKIAkJRUIwRkI3MEMyNzBEMEIyOTAw
Rjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQjBGQjcwNjI3MEQwQUVDMDBGNzgxMEQgLyogUHVz
aFN1YnNjcmlwdGlvbk9wdGlvbnMuaCAqLzsgfTsKIAkJRUIwRkI3MEQyNzBEMEIyRTAwRjc4MTBE
IC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUIwRkI3MDEyNzBEMEFFQTAwRjc4MTBEIC8qIFB1c2hT
dWJzY3JpcHRpb25PcHRpb25zSW5pdC5oICovOyB9OwogCQlFQjI4RUQ0NDI3MTdBQzExMDA1RjAz
OTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEVCMjhFRDQxMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2Ny
aXB0aW9uRGF0YS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CisJCUVCM0MyOUI2MjcyOUMzODgwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVC
M0MyOUI0MjcyOUMzNkUwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaCAq
LzsgfTsKKwkJRUIzQzI5QjcyNzI5QzM4QzAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEVCM0MyOUIxMjcyOUMzNkQwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnRJbml0LmggKi87IH07CiAJCUVCQjk3MzgxMjcxMDA2NzEwMDc3MzJFRiAvKiBQdXNoTWFuYWdl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRUJCOTcz
ODAyNzEwMDY1NDAwNzczMkVGIC8qIFB1c2hNYW5hZ2VyLmggKi87IH07CiAJCUVCQjk3MzgyMjcx
MDA2NzYwMDc3MzJFRiAvKiBQdXNoUGVybWlzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQkI5NzM3ODI3MTAwNjUxMDA3NzMyRUYgLyog
UHVzaFBlcm1pc3Npb25TdGF0ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUVCQjk3MzgzMjcxMDA2ODQwMDc3MzJFRiAvKiBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uUHVzaEFQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gRUJCOTczN0EyNzEwMDY1MjAwNzczMkVGIC8qIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb25QdXNoQVBJLmggKi87IH07CkBAIC0xNzE0MCw2ICsxNzE0MiwxMSBAQAogCQlFQjBG
QjcwNzI3MEQwQUVDMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBQdXNoU3Vic2NyaXB0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUVCMjhF
RDQxMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2NyaXB0aW9uRGF0YS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQdXNoU3Vic2NyaXB0aW9uRGF0YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlFQjI4RUQ0MzI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUHVzaFN1YnNjcmlwdGlvbkRhdGEuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFQjNDMjlBRjI3MjlDMzZEMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUVCM0MyOUIxMjcyOUMzNkQwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUIz
QzI5QjIyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudElu
aXQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFQjNDMjlCMzI3MjlDMzZFMDBG
QjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlFQjNDMjlCNDI3MjlDMzZFMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkI5
NzM3ODI3MTAwNjUxMDA3NzMyRUYgLyogUHVzaFBlcm1pc3Npb25TdGF0ZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBQdXNoUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUVCQjk3MzdBMjcxMDA2NTIwMDc3MzJFRiAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUHVz
aEFQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUHVzaEFQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkI5NzM3QjI3MTAwNjUyMDA3NzMyRUYg
LyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbitQdXNoQVBJLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbitQdXNoQVBJLmlkbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xODkwNywxMSArMTg5MTQsMTEgQEAKIAkJMUE1NjlDQzQwRDdFMkI2MDAwN0MzOTgzIC8q
IGJyaWRnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCi0JCQkJ
NTlCNTk3NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpzYyAqLywKLQkJCQkxQTU2OUNFMjBEN0UyQjgy
MDA3QzM5ODMgLyogb2JqYyAqLywKIAkJCQk1OTlFNzU4RjExMDU1QTFGMDBEOTA0RkEgLyogQnJp
ZGdlLmggKi8sCiAJCQkJMUE3MUQ1NzkwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAu
Y3BwICovLAogCQkJCTFBNzFENTdBMEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmgg
Ki8sCisJCQkJNTlCNTk3NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpzYyAqLywKKwkJCQkxQTU2OUNF
MjBEN0UyQjgyMDA3QzM5ODMgLyogb2JqYyAqLywKIAkJCQkxQTU2OUNFRjBEN0UyQjgyMDA3QzM5
ODMgLyogcnVudGltZV9hcnJheS5jcHAgKi8sCiAJCQkJMUE1NjlDRjAwRDdFMkI4MjAwN0MzOTgz
IC8qIHJ1bnRpbWVfYXJyYXkuaCAqLywKIAkJCQkxQTU2OUNGMTBEN0UyQjgyMDA3QzM5ODMgLyog
cnVudGltZV9tZXRob2QuY3BwICovLApAQCAtMjA1OTMsNiArMjA2MDAsMTEgQEAKIAkJCQlFQjBG
QjcwNDI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5jcHAgKi8sCiAJCQkJRUIw
RkI3MDcyNzBEMEFFQzAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb24uaCAqLywKIAkJCQlFQjBG
QjcwNTI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5pZGwgKi8sCisJCQkJRUIz
QzI5QUYyNzI5QzM2RDAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHAg
Ki8sCisJCQkJRUIzQzI5QjQyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudC5oICovLAorCQkJCUVCM0MyOUIzMjcyOUMzNkUwMEZCNjVCNCAvKiBQdXNoU3Vic2Ny
aXB0aW9uQ2hhbmdlRXZlbnQuaWRsICovLAorCQkJCUVCM0MyOUIxMjcyOUMzNkQwMEZCNjVCNCAv
KiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmggKi8sCisJCQkJRUIzQzI5QjIyNzI5
QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsICovLAog
CQkJCUVCMjhFRDQzMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAg
Ki8sCiAJCQkJRUIyOEVENDEyNzE3QUJBOTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRh
LmggKi8sCiAJCQkJRUIwRkI3MDMyNzBEMEFFQjAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25K
U09OLmggKi8sCkBAIC0zNTQ4MSw2ICszNTQ5Myw4IEBACiAJCQkJRUJCOTczODIyNzEwMDY3NjAw
NzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRDUx
MUY2MjUwQzFDQkYwMDJFREM1MSAvKiBQdXNoUHVsbEZJRk8uaCBpbiBIZWFkZXJzICovLAogCQkJ
CUVCMEZCNzA5MjcwRDBCMTgwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlFQjNDMjlCNjI3MjlDMzg4MDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjNDMjlCNzI3MjlDMzhDMDBGQjY1QjQg
LyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RUIyOEVENDQyNzE3QUMxMTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFQjBGQjcwQTI3MEQwQjFCMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlv
bkpTT04uaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMEZCNzBDMjcwRDBCMjkwMEY3ODEwRCAvKiBQ
dXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggNDFiMzcyOTFmM2Vk
NDFiYmM3Y2QxMGJkYjAxMTE0ZjBlY2E1NjAxOS4uYWI1OWJlODE1MTFjYjdlMjE3MmUyZDFhMWFm
OTJkNjk5YjU0N2VkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaApAQCAtMjUyLDYgKzI1Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICBtYWNybyhQdXNoTWFuYWdlcikgXAogICAgIG1hY3JvKFB1c2hNZXNzYWdlRGF0YSkgXAog
ICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb24pIFwKKyAgICBtYWNybyhQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQpIFwKICAgICBtYWNybyhQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucykgXAogICAg
IG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCiAgICAgbWFjcm8oUmVzaXplT2JzZXJ2ZXJFbnRyeSkg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCA1N2IzYWVmNTFhMzg5YzVkODMzYmVmOThl
YzQwMDI2MGJiY2E1YjlmLi5kNWY4MWFjNGU0NmEwZjA0NjdmMzQxYzM1NWMwNDc0M2VkODNkY2Zm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtMzcsNiArMzcsNyBAQCBQb3BTdGF0ZUV2
ZW50CiBQcm9ncmVzc0V2ZW50CiBQcm9taXNlUmVqZWN0aW9uRXZlbnQKIFB1c2hFdmVudCBjb25k
aXRpb25hbD1TRVJWSUNFX1dPUktFUgorUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGNvbmRp
dGlvbmFsPVNFUlZJQ0VfV09SS0VSCiBTdWJtaXRFdmVudAogVGV4dEV2ZW50CiBUcmFuc2l0aW9u
RXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1M2JiYTliZTFkNDgy
ZjZkMDI3ZWI1NzdhZDM0YWViZTE2ZWRkYjFhLi44YWZlNWQxMGE5YjA4MjQ1NTAyZDUyYTBiN2Nl
M2FlZjI5Y2ZlZDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0xMjMs
NyArMTIzLDYgQEAKICNpbmNsdWRlICJJbnRlcm5hbHNTZXRMaWtlLmgiCiAjaW5jbHVkZSAiSlNE
T01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0YS5oIgotI2luY2x1ZGUg
IkpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIkxlZ2FjeVNjaGVtZVJl
Z2lzdHJ5LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJMb2Fk
ZXJTdHJhdGVneS5oIgpAQCAtMTY1LDcgKzE2NCw2IEBACiAjaW5jbHVkZSAiUHJpbnRDb250ZXh0
LmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVudC5oIgogI2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRp
b24uaCIKLSNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5oIgogI2luY2x1ZGUgIlJU
Q1J0cFNGcmFtZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlJhbmdlLmgiCiAjaW5jbHVkZSAiUmVh
ZGFibGVTdHJlYW0uaCIKQEAgLTY1NzYsMTQgKzY1NzQsMTQgQEAgdm9pZCBJbnRlcm5hbHM6OnJl
dGFpblRleHRJdGVyYXRvckZvckRvY3VtZW50Q29udGVudCgpCiB9CiAKICNpZiBFTkFCTEUoU0VS
VklDRV9XT1JLRVIpCi1SZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gSW50ZXJuYWxzOjpjcmVhdGVQ
dXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiYmIHJlZ2lzdHJh
dGlvbiwgY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFt
cD4gZXhwaXJhdGlvblRpbWUsIGNvbnN0IEFycmF5QnVmZmVyJiBzZXJ2ZXJWQVBJRFB1YmxpY0tl
eSwgY29uc3QgQXJyYXlCdWZmZXImIGNsaWVudEVDREhQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVm
ZmVyJiBhdXRoKQorUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IEludGVybmFsczo6Y3JlYXRlUHVz
aFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2No
VGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgY29uc3QgQXJyYXlCdWZmZXImIHNlcnZlclZBUElE
UHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgY2xpZW50RUNESFB1YmxpY0tleSwgY29uc3Qg
QXJyYXlCdWZmZXImIGF1dGgpCiB7CiAgICAgYXV0byBteUVuZHBvaW50ID0gZW5kcG9pbnQ7CiAg
ICAgVmVjdG9yPHVpbnQ4X3Q+IG15U2VydmVyVkFQSURQdWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxj
b25zdCB1aW50OF90Kj4oc2VydmVyVkFQSURQdWJsaWNLZXkuZGF0YSgpKSwgc2VydmVyVkFQSURQ
dWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG15Q2xpZW50RUNE
SFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihjbGllbnRFQ0RIUHVibGlj
S2V5LmRhdGEoKSksIGNsaWVudEVDREhQdWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CiAgICAgVmVj
dG9yPHVpbnQ4X3Q+IG15QXV0aCB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihhdXRoLmRh
dGEoKSksIGF1dGguYnl0ZUxlbmd0aCgpIH07CiAKLSAgICByZXR1cm4gUHVzaFN1YnNjcmlwdGlv
bjo6Y3JlYXRlKFdURk1vdmUocmVnaXN0cmF0aW9uKSwgV1RGTW92ZShteUVuZHBvaW50KSwgZXhw
aXJhdGlvblRpbWUsIFdURk1vdmUobXlTZXJ2ZXJWQVBJRFB1YmxpY0tleSksIFdURk1vdmUobXlD
bGllbnRFQ0RIUHVibGljS2V5KSwgV1RGTW92ZShteUF1dGgpKTsKKyAgICByZXR1cm4gUHVzaFN1
YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUobXlFbmRwb2ludCksIGV4cGlyYXRpb25UaW1lLCBX
VEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkpLCBXVEZNb3ZlKG15Q2xpZW50RUNESFB1Ymxp
Y0tleSksIFdURk1vdmUobXlBdXRoKSk7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKaW5kZXggNmI1N2ZlYzY0YjQwNjYzYTkxZGU2OWNlNTRkZjFlYTNiYTU4MWY4My4u
NzVmZTRhMzI4OTA5NThjYWIzZTg4YjZkNjc0ZDFkY2VhMTM1MWQ3NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5oCkBAIC0xMjcsNyArMTI3LDYgQEAgY2xhc3MgVGV4dFRyYWNrQ3VlR2Vu
ZXJpYzsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiBjbGFzcyBQdXNoU3Vic2NyaXB0aW9u
OwogY2xhc3MgU2VydmljZVdvcmtlcjsKLWNsYXNzIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb247
CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfUlRDKQpAQCAtMTIwNSw3ICsxMjA0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcmV0YWluVGV4dEl0ZXJhdG9yRm9yRG9jdW1lbnRDb250ZW50KCk7CiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+
IGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oUmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+JiYs
IGNvbnN0IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4
cGlyYXRpb25UaW1lLCBjb25zdCBBcnJheUJ1ZmZlciYgc2VydmVyVkFQSURQdWJsaWNLZXksIGNv
bnN0IEFycmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYg
YXV0aCk7CisgICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IGNyZWF0ZVB1c2hTdWJzY3JpcHRp
b24oY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4g
ZXhwaXJhdGlvblRpbWUsIGNvbnN0IEFycmF5QnVmZmVyJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwg
Y29uc3QgQXJyYXlCdWZmZXImIGNsaWVudEVDREhQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVy
JiBhdXRoKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCmluZGV4IDgyODE1NDlkMGFjNTllYjU1MzE1ODZmM2NlNTVkN2NhOGExNTY3YzUuLjhhYzNm
ZjIyMTZjMWVkNDQ5NWEzMmNmM2VlYzhlNDdmMjY4ZjdhM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5pZGwKQEAgLTEwNzIsNSArMTA3Miw1IEBAIGVudW0gQXV0b3BsYXlQb2xpY3kg
ewogCiAgICAgdW5kZWZpbmVkIHJldGFpblRleHRJdGVyYXRvckZvckRvY3VtZW50Q29udGVudCgp
OwogCi0gICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQdXNoU3Vic2NyaXB0aW9uIGNy
ZWF0ZVB1c2hTdWJzY3JpcHRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiByZWdpc3RyYXRp
b24sIFVTVlN0cmluZyBlbmRwb2ludCwgRXBvY2hUaW1lU3RhbXA/IGV4cGlyYXRpb25UaW1lLCBB
cnJheUJ1ZmZlciBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgQXJyYXlCdWZmZXIgY2xpZW50RUNESFB1
YmxpY0tleSwgQXJyYXlCdWZmZXIgYXV0aCk7CisgICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09S
S0VSXSBQdXNoU3Vic2NyaXB0aW9uIGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oVVNWU3RyaW5nIGVu
ZHBvaW50LCBFcG9jaFRpbWVTdGFtcD8gZXhwaXJhdGlvblRpbWUsIEFycmF5QnVmZmVyIHNlcnZl
clZBUElEUHVibGljS2V5LCBBcnJheUJ1ZmZlciBjbGllbnRFQ0RIUHVibGljS2V5LCBBcnJheUJ1
ZmZlciBhdXRoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZp
Y2VXb3JrZXJJbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29y
a2VySW50ZXJuYWxzLmNwcAppbmRleCA5NzYzODdjMDYxZmM5OWZmMzQ4MWUwYTBiMWRkNWFiNjcx
MTM2ZWE4Li44YzY3NzU5OTUwNDhiYzJlYzczY2M1MmZjNzY3NjFjMzhiZjdiNDQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5jcHAKQEAg
LTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkZldGNoRXZlbnQuaCIKICNpbmNsdWRlICJKU0Zl
dGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uLmgiCiAjaW5jbHVkZSAi
U1dDb250ZXh0TWFuYWdlci5oIgogI2luY2x1ZGUgPHd0Zi9Qcm9jZXNzSUQuaD4KIApAQCAtMTYw
LDYgKzE2MSwxNiBAQCB2b2lkIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHM6Omxhc3ROYXZpZ2F0aW9u
V2FzQXBwSW5pdGlhdGVkKFJlZjxEZWZlcnJlZFByb21pc2U+JgogICAgIH0pOwogfQogCitSZWZQ
dHI8UHVzaFN1YnNjcmlwdGlvbj4gU2VydmljZVdvcmtlckludGVybmFsczo6Y3JlYXRlUHVzaFN1
YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGlt
ZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgY29uc3QgQXJyYXlCdWZmZXImIHNlcnZlclZBUElEUHVi
bGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgY2xpZW50RUNESFB1YmxpY0tleSwgY29uc3QgQXJy
YXlCdWZmZXImIGF1dGgpCit7CisgICAgYXV0byBteUVuZHBvaW50ID0gZW5kcG9pbnQ7CisgICAg
VmVjdG9yPHVpbnQ4X3Q+IG15U2VydmVyVkFQSURQdWJsaWNLZXkgeyBzdGF0aWNfY2FzdDxjb25z
dCB1aW50OF90Kj4oc2VydmVyVkFQSURQdWJsaWNLZXkuZGF0YSgpKSwgc2VydmVyVkFQSURQdWJs
aWNLZXkuYnl0ZUxlbmd0aCgpIH07CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG15Q2xpZW50RUNESFB1
YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihjbGllbnRFQ0RIUHVibGljS2V5
LmRhdGEoKSksIGNsaWVudEVDREhQdWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CisgICAgVmVjdG9y
PHVpbnQ4X3Q+IG15QXV0aCB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihhdXRoLmRhdGEo
KSksIGF1dGguYnl0ZUxlbmd0aCgpIH07CisKKyAgICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6
Y3JlYXRlKFdURk1vdmUobXlFbmRwb2ludCksIGV4cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2Vy
dmVyVkFQSURQdWJsaWNLZXkpLCBXVEZNb3ZlKG15Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1v
dmUobXlBdXRoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaCBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCmluZGV4IGQ1
MTUwNGY0Mzc4ZmRiNDVlODUzNTFmNzRmMTEyYzk4NWJjZjgzODQuLjEzOGIyNzFkMzE4ZmJiMzBl
NjcxMDQ1YjllOWE0MWM0NTRmYjljNjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvU2VydmljZVdvcmtlckludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
U2VydmljZVdvcmtlckludGVybmFscy5oCkBAIC0yNywxNSArMjcsMTggQEAKIAogI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkVwb2NoVGltZVN0YW1wLmgiCiAjaW5jbHVk
ZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
Rm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogY2xhc3MgRmV0Y2hFdmVudDsKIGNsYXNzIEZldGNoUmVzcG9uc2U7CitjbGFzcyBQ
dXNoU3Vic2NyaXB0aW9uOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKIAogdGVtcGxh
dGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwpAQCAtNjIsNiAr
NjUsOCBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nlc3NJZGVudGlmaWVyKCkgY29uc3Q7CiAKICAg
ICB2b2lkIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpOworICAgIAorICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBjcmVhdGVQdXNoU3Vic2Ny
aXB0aW9uKGNvbnN0IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3Rh
bXA+IGV4cGlyYXRpb25UaW1lLCBjb25zdCBBcnJheUJ1ZmZlciYgc2VydmVyVkFQSURQdWJsaWNL
ZXksIGNvbnN0IEFycmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVibGljS2V5LCBjb25zdCBBcnJheUJ1
ZmZlciYgYXV0aCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgU2VydmljZVdvcmtlckludGVy
bmFscyhTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAppbmRleCA4ZDE5MTRiM2E1ODkwYTQ2ZWFk
NDRlZDY5NjhhN2Y0YmQ2ZGI0ZjlhLi44NDY0NTVjNjI2OGY4NWM5ZmIxNTk4OGYzYWVhMTNlYzkx
YmQ3NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlcklu
dGVybmFscy5pZGwKQEAgLTQ2LDQgKzQ2LDYgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgbG9u
ZyBwcm9jZXNzSWRlbnRpZmllcjsKIAogICAgIFByb21pc2U8Ym9vbGVhbj4gbGFzdE5hdmlnYXRp
b25XYXNBcHBJbml0aWF0ZWQoKTsKKyAgICAKKyAgICBQdXNoU3Vic2NyaXB0aW9uIGNyZWF0ZVB1
c2hTdWJzY3JpcHRpb24oVVNWU3RyaW5nIGVuZHBvaW50LCBFcG9jaFRpbWVTdGFtcD8gZXhwaXJh
dGlvblRpbWUsIEFycmF5QnVmZmVyIHNlcnZlclZBUElEUHVibGljS2V5LCBBcnJheUJ1ZmZlciBj
bGllbnRFQ0RIUHVibGljS2V5LCBBcnJheUJ1ZmZlciBhdXRoKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24uaAppbmRleCA4OWVjOTczZjVmZjY3YTM2YzdhMTRjOTZmMGE1NmQxODdhMzQ5OWY2Li41YTM0
MmZkZmY5YWNlMDUwZjQ2NmYwNmUyYzkyNjJlNDhiN2Y4OTEzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmgKQEAgLTQ1LDExICs0NSwxMSBAQCBjbGFzcyBTZXJ2aWNlV29ya2VyOwogY2xhc3MgU2Vydmlj
ZVdvcmtlckNvbnRhaW5lcjsKIAogY2xhc3MgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBmaW5h
bCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+LCBwdWJsaWMg
U3VwcGxlbWVudGFibGU8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4sIHB1YmxpYyBFdmVudFRh
cmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKLSAgICBXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0VYUE9SVChTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLCBXRUJDT1JF
X0VYUE9SVCk7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b24+IGdldE9yQ3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBSZWY8U2VydmljZVdvcmtl
ckNvbnRhaW5lcj4mJiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEmJik7CiAKLSAgICBX
RUJDT1JFX0VYUE9SVCB+U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigpOworICAgIH5TZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uKCk7CiAKICAgICBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpc3RyYXRpb25EYXRhLmlk
ZW50aWZpZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCmluZGV4IDBjZWIzZThkZjY2Yzlh
YzU5NjE5MzJkOTNlMGQzNDBkZWViZWRjMzAuLmRkOGIyMmUzN2UxN2Y4YzAxODA4MzlmZjFlYjQ4
NjRiNjMyZjMyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKQEAgLTMwLDcgKzMwLDYgQEAK
ICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBFeHBvc2VkPShX
aW5kb3csU2VydmljZVdvcmtlciksCi0gICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCiAg
ICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsCiAgICAgRW5hYmxlZEF0UnVudGltZT1TZXJ2
aWNlV29ya2VyRW5hYmxlZCwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGwsCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MDYxZjczOWU5NzVlOTBiYjY2MTNhYzE4MzllN2JhYTVjNDNlNzUzMi4uOGNjMzdmYTQwZGE0MzMw
OWZjODAwZGM1YWU2NGZlNGQ0YmQ2YWZiNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIxLTEw
LTI4ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVu
biBGYWJsZXQuCisKKyAgICAgICAgQWRkZWQgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHRl
c3RzIGFuZCBtYWRlIFB1c2hTdWJzY3JpcHRpb24gdGVzdHMgYWxzbyBydW4gaW4gdGhlCisgICAg
ICAgIHNlcnZpY2Ugd29ya2VyIGNvbnRleHQuCisKKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFw
aS9jb25zdGFudHMuanM6IEFkZGVkLgorICAgICAgICAoYnl0ZXNGcm9tKToKKyAgICAgICAgKiBo
dHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFuYWdlci5hbnkuanM6CisgICAgICAgICogaHR0cC93cHQv
cHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LmpzOgorICAg
ICAgICAoR0xPQkFMLmlzV29ya2VyKToKKyAgICAgICAgKGFzeW5jIHByb21pc2VfdGVzdCk6Cisg
ICAgICAgIChieXRlc0Zyb20pOiBEZWxldGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0LmFzeW5j
IHRlc3QpOiBEZWxldGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkv
cHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuYW55
LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAocHJvbWlzZV90ZXN0LmFzeW5j
IG5ld1N1YnNjcmlwdGlvbik6CisgICAgICAgIChwcm9taXNlX3Rlc3QuYXN5bmMgcmV0dXJuKToK
KyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWw6IEFkZGVkLgorCiAyMDIxLTExLTA4ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIENvbnZlcnQgbW9y
ZSB3aGVlbCBldmVudCB0ZXN0cyB0byBVSUhlbHBlci5tb3VzZVdoZWVsU2VxdWVuY2UoKQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNjI4MThhNTgxMzI1NzE3ZDhiMGY5MzM1NDll
ZjJlMzI5MGY5YjdkYS4uMWVkYWVjOTBjMjhhNTQwNTcwMzlhYTFjYzU1MGFlNmRhM2Y3YzYyZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMTAt
MjggIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9y
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWW91ZW5u
IEZhYmxldC4KKworICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0cyB0aGF0IGFyZSBub3cgcGFz
c2luZy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNz
Lmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMS0wOSAgQ29t
bWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCwgcmV2ZXJ0aW5nIHIyODU0ODguCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9w
dXNoLWFwaS9jb25zdGFudHMuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9jb25z
dGFudHMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYzE1NzQ0M2QxMDdjZjY3MWM2OGExMzNkYmQwYzk4OTFhZjll
Nzc5MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL2Nv
bnN0YW50cy5qcwpAQCAtMCwwICsxLDIxIEBACitjb25zdCBFTkRQT0lOVCA9ICdodHRwczovL3d3
dy53ZWJraXQub3JnJzsKK2NvbnN0IEVYUElSQVRJT05fVElNRSA9IDE2MzMwMDAwMDA7CisKK2Nv
bnN0IENMSUVOVF9CQVNFNjRfS0VZXzEgPSAnQkExSHh6eWkxUlVNMWI1d2p4c243bkd4QXN6dzJ1
NjFtMTY0aTNNckFJeEhGNllLNWg0U0RZaWMtZFJ1VV9SQ1BDZkE1YXE5b2pTd2s1WTJFbUNsQlBz
JzsKK2NvbnN0IENMSUVOVF9LRVlfMSA9IG5ldyBVaW50OEFycmF5KFs0LCAxMywgNzEsIDE5OSwg
NjAsIDE2MiwgMjEzLCAyMSwgMTIsIDIxMywgMTkwLCAxMTIsIDE0MywgMjcsIDM5LCAyMzgsIDEx
MywgMTc3LCAyLCAyMDQsIDI0MCwgMjE4LCAyMzgsIDE4MSwgMTU1LCA5NCwgMTg0LCAxMzksIDEx
NSwgNDMsIDAsIDE0MCwgNzEsIDIzLCAxNjYsIDEwLCAyMzAsIDMwLCAxOCwgMTMsIDEzNiwgMTU2
LCAyNDksIDIxMiwgMTEwLCA4MywgMjQ0LCA2NiwgNjAsIDM5LCAxOTIsIDIyOSwgMTcwLCAxODks
IDE2MiwgNTIsIDE3NiwgMTQ3LCAxNTAsIDU0LCAxOCwgOTYsIDE2NSwgNCwgMjUxXSkuYnVmZmVy
OworCitjb25zdCBDTElFTlRfQkFTRTY0X0tFWV8yID0gJ0JDVnhzcjdOX2VOZ1ZScXZIdEQwelRa
c0VjNi1WVi1KdkxleGhxVXpPUmN4YU96aTYtQVlXWHZUQkhtNGJqeVBqczdWZDhwWkdINlNScGtO
dG9JQWl3NCc7Citjb25zdCBDTElFTlRfS0VZXzIgPSBuZXcgVWludDhBcnJheShbNCwgMzcsIDEx
MywgMTc4LCAxOTAsIDIwNSwgMjUzLCAyMjcsIDk2LCA4NSwgMjYsIDE3NSwgMzAsIDIwOCwgMjQ0
LCAyMDUsIDU0LCAxMDgsIDE3LCAyMDYsIDE5MCwgODUsIDk1LCAxMzcsIDE4OCwgMTgzLCAxNzcs
IDEzNCwgMTY1LCA1MSwgNTcsIDIzLCA0OSwgMTA0LCAyMzYsIDIyNiwgMjM1LCAyMjQsIDI0LCA4
OSwgMTIzLCAyMTEsIDQsIDEyMSwgMTg0LCAxMTAsIDYwLCAxNDMsIDE0MiwgMjA2LCAyMTMsIDEx
OSwgMjAyLCA4OSwgMjQsIDEyNiwgMTQ2LCA3MCwgMTUzLCAxMywgMTgyLCAxMzAsIDAsIDEzOSwg
MTRdKS5idWZmZXI7CisKK2NvbnN0IEJBU0U2NF9BVVRIID0gJ0JUQlpNcUhINnI0VHRzN0pfYVNJ
Z2cnOworY29uc3QgQVVUSCA9IG5ldyBVaW50OEFycmF5KFs1LCA0OCwgODksIDUwLCAxNjEsIDE5
OSwgMjM0LCAxOTAsIDE5LCAxODIsIDIwNiwgMjAxLCAyNTMsIDE2NCwgMTM2LCAxMzBdKS5idWZm
ZXI7CisKK2NvbnN0IElOVkFMSURfU0VSVkVSX0tFWSA9IG5ldyBVaW50OEFycmF5KG5ldyBBcnJh
eSg2NSkuZmlsbCg0KSkuYnVmZmVyOworY29uc3QgSU5WQUxJRF9CQVNFNjRfU0VSVkVSX0tFWSA9
ICJCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFR
RUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVEiOworCitjb25zdCBWQUxJRF9CQVNFNjRf
U0VSVkVSX0tFWSA9ICJCQTFIeHp5aTFSVU0xYjV3anhzbjduR3hBc3p3MnU2MW0xNjRpM01yQUl4
SEY2WUs1aDRTRFlpYy1kUnVVX1JDUENmQTVhcTlvalN3azVZMkVtQ2xCUHMiOworY29uc3QgVkFM
SURfU0VSVkVSX0tFWSA9IG5ldyBVaW50OEFycmF5KFs0LCAxMywgNzEsIDE5OSwgNjAsIDE2Miwg
MjEzLCAyMSwgMTIsIDIxMywgMTkwLCAxMTIsIDE0MywgMjcsIDM5LCAyMzgsIDExMywgMTc3LCAy
LCAyMDQsIDI0MCwgMjE4LCAyMzgsIDE4MSwgMTU1LCA5NCwgMTg0LCAxMzksIDExNSwgNDMsIDAs
IDE0MCwgNzEsIDIzLCAxNjYsIDEwLCAyMzAsIDMwLCAxOCwgMTMsIDEzNiwgMTU2LCAyNDksIDIx
MiwgMTEwLCA4MywgMjQ0LCA2NiwgNjAsIDM5LCAxOTIsIDIyOSwgMTcwLCAxODksIDE2MiwgNTIs
IDE3NiwgMTQ3LCAxNTAsIDU0LCAxOCwgOTYsIDE2NSwgNCwgMjUxXSkuYnVmZmVyOworCitmdW5j
dGlvbiBieXRlc0Zyb20oYnVmKSB7CisgICAgcmV0dXJuIEFycmF5LmZyb20obmV3IFVpbnQ4QXJy
YXkoYnVmKSk7Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9w
dXNoTWFuYWdlci5hbnkuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFu
YWdlci5hbnkuanMKaW5kZXggMGJjNmIzNjgyMDA3NGMyNzUxYjU0NWQ1MzMwOGJiNjY1NWMwOGE3
MC4uNGZmNTg4YzE0MGJlY2QwZGNlNDYzNDQ2MWMzNGY1Y2Y3MzUwMWIxYSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaE1hbmFnZXIuYW55LmpzCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hNYW5hZ2VyLmFueS5qcwpAQCAtMSwxMSAr
MSw2IEBACiAvLyBNRVRBOiB0aXRsZT1QdXNoTWFuYWdlciB0ZXN0cwogLy8gTUVUQTogZ2xvYmFs
PXdpbmRvdyxzZXJ2aWNld29ya2VyCi0KLWNvbnN0IElOVkFMSURfU0VSVkVSX0tFWSA9IG5ldyBV
aW50OEFycmF5KG5ldyBBcnJheSg2NSkuZmlsbCg0KSk7Ci1jb25zdCBWQUxJRF9TRVJWRVJfS0VZ
ID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDEzLCA3MSwgMTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwg
MjEzLCAxOTAsIDExMiwgMTQzLCAyNywgMzksIDIzOCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAy
MTgsIDIzOCwgMTgxLCAxNTUsIDk0LCAxODQsIDEzOSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMs
IDE2NiwgMTAsIDIzMCwgMzAsIDE4LCAxMywgMTM2LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAy
NDQsIDY2LCA2MCwgMzksIDE5MiwgMjI5LCAxNzAsIDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1
MCwgNTQsIDE4LCA5NiwgMTY1LCA0LCAyNTFdKTsKLQotY29uc3QgSU5WQUxJRF9CQVNFNjRfU0VS
VkVSX0tFWSA9ICJCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJB
UUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVEiOwotY29uc3QgVkFMSURf
QkFTRTY0X1NFUlZFUl9LRVkgPSAiQkExSHh6eWkxUlVNMWI1d2p4c243bkd4QXN6dzJ1NjFtMTY0
aTNNckFJeEhGNllLNWg0U0RZaWMtZFJ1VV9SQ1BDZkE1YXE5b2pTd2s1WTJFbUNsQlBzIjsKKy8v
IE1FVEE6IHNjcmlwdD1jb25zdGFudHMuanMKIAogbGV0IHJlZ2lzdHJhdGlvbiA9IG51bGw7CiBs
ZXQgcHVzaE1hbmFnZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
cHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0
ZWQudHh0CmluZGV4IGFjYWM1YmNiMzhjNWNkNzA5ZDgyYTU1MmJhMmRhZDgzZTBhODIxNjAuLjE1
YjE5MWJhMTE5ZGUwNjkxYzNiMzAzNGYxMjEyODBmNTE2YzY2ODUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0
aW9uLmh0dHBzLmFueS1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw0IEBACiAKLVBBU1Mgd2FpdCBm
b3IgYWN0aXZlIHNlcnZpY2Ugd29ya2VyCiBQQVNTIFB1c2hTdWJzY3JpcHRpb24gZ2V0dGVycwot
UEFTUyB1bnJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyCitQQVNTIHVuc3Vic2NyaWJpbmcgZnJvbSBz
dWJzY3JpcHRpb24gbm90IGFzc29jaWF0ZWQgd2l0aCBhIHJlZ2lzdHJhdGlvbgogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBz
LmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24u
aHR0cHMuYW55LmpzCmluZGV4IDMxODA3YmExNmU1OWVhN2M5M2VlYWMwYTE3ZGE2MDZlMDJmMTdi
MDAuLjQwZmI2ZGQyNjlmNDcxMWFiNjMxYTE4OTUzZGRkMTMzYmZhMTI0NTQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55
LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24u
aHR0cHMuYW55LmpzCkBAIC0xLDY0ICsxLDQ0IEBACiAvLyBNRVRBOiB0aXRsZT1QdXNoU3Vic2Ny
aXB0aW9uIHRlc3RzCi0vLyBNRVRBOiBnbG9iYWw9d2luZG93CisvLyBNRVRBOiBnbG9iYWw9d2lu
ZG93LHNlcnZpY2V3b3JrZXIKKy8vIE1FVEE6IHNjcmlwdD1jb25zdGFudHMuanMKIAotY29uc3Qg
ZW5kcG9pbnQgPSAnaHR0cHM6Ly93d3cud2Via2l0Lm9yZyc7Ci1jb25zdCBleHBpcmF0aW9uVGlt
ZSA9IDE2MzMwMDAwMDA7Ci1jb25zdCBrZXkxQnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDEz
LCA3MSwgMTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAxOTAsIDExMiwgMTQzLCAyNywg
MzksIDIzOCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIzOCwgMTgxLCAxNTUsIDk0LCAx
ODQsIDEzOSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2NiwgMTAsIDIzMCwgMzAsIDE4LCAx
MywgMTM2LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2LCA2MCwgMzksIDE5MiwgMjI5
LCAxNzAsIDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQsIDE4LCA5NiwgMTY1LCA0LCAy
NTFdKS5idWZmZXI7Ci1jb25zdCBrZXkxQmFzZTY0VVJMID0gJ0JBMUh4enlpMVJVTTFiNXdqeHNu
N25HeEFzencydTYxbTE2NGkzTXJBSXhIRjZZSzVoNFNEWWljLWRSdVVfUkNQQ2ZBNWFxOW9qU3dr
NVkyRW1DbEJQcyc7Ci1jb25zdCBrZXkyQnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDM3LCAx
MTMsIDE3OCwgMTkwLCAyMDUsIDI1MywgMjI3LCA5NiwgODUsIDI2LCAxNzUsIDMwLCAyMDgsIDI0
NCwgMjA1LCA1NCwgMTA4LCAxNywgMjA2LCAxOTAsIDg1LCA5NSwgMTM3LCAxODgsIDE4MywgMTc3
LCAxMzQsIDE2NSwgNTEsIDU3LCAyMywgNDksIDEwNCwgMjM2LCAyMjYsIDIzNSwgMjI0LCAyNCwg
ODksIDEyMywgMjExLCA0LCAxMjEsIDE4NCwgMTEwLCA2MCwgMTQzLCAxNDIsIDIwNiwgMjEzLCAx
MTksIDIwMiwgODksIDI0LCAxMjYsIDE0NiwgNzAsIDE1MywgMTMsIDE4MiwgMTMwLCAwLCAxMzks
IDE0XSkuYnVmZmVyOwotY29uc3Qga2V5MkJhc2U2NFVSTCA9ICdCQ1Z4c3I3Tl9lTmdWUnF2SHRE
MHpUWnNFYzYtVlYtSnZMZXhocVV6T1JjeGFPemk2LUFZV1h2VEJIbTRianlQanM3VmQ4cFpHSDZT
UnBrTnRvSUFpdzQnOwotY29uc3QgYXV0aEJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KFs1LCA0OCwg
ODksIDUwLCAxNjEsIDE5OSwgMjM0LCAxOTAsIDE5LCAxODIsIDIwNiwgMjAxLCAyNTMsIDE2NCwg
MTM2LCAxMzBdKS5idWZmZXI7Ci1jb25zdCBhdXRoQmFzZTY0VVJMID0gJ0JUQlpNcUhINnI0VHRz
N0pfYVNJZ2cnOworbGV0IHN1YnNjcmlwdGlvbiA9IG51bGw7CiAKLWZ1bmN0aW9uIGJ5dGVzRnJv
bShidWYpIHsKLSAgICByZXR1cm4gQXJyYXkuZnJvbShuZXcgVWludDhBcnJheShidWYpKTsKK2lm
IChHTE9CQUwuaXNXb3JrZXIoKSkgeworICAgIGxldCBhY3RpdmF0ZVByb21pc2UgPSBuZXcgUHJv
bWlzZShyZXNvbHZlID0+IHNlbGYub25hY3RpdmF0ZSA9IHJlc29sdmUpOworICAgIHByb21pc2Vf
dGVzdChhc3luYyAoKSA9PiB7CisgICAgICAgcmV0dXJuIGFjdGl2YXRlUHJvbWlzZTsKKyAgICB9
LCAid2FpdCBmb3IgYWN0aXZlIHNlcnZpY2Ugd29ya2VyIik7CiB9CiAKLWxldCByZWdpc3RyYXRp
b24gPSBudWxsOwotCi1wcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKLSAgICByZWdpc3Ry
YXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5nZXRSZWdpc3RyYXRpb24oKTsK
LSAgICBpZiAocmVnaXN0cmF0aW9uKSB7Ci0gICAgICAgIGF3YWl0IHNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24udW5yZWdpc3RlcigpOwotICAgIH0KLSAgICByZWdpc3RyYXRpb24gPSBhd2FpdCBu
YXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3RlcigiZW1wdHlXb3JrZXIuanMiKTsKLSAgICBh
c3NlcnRfdHJ1ZSghcmVnaXN0cmF0aW9uLmFjdGl2ZSwgInNlcnZpY2Ugd29ya2VyIHNob3VsZCBi
ZSBpbnN0YWxsaW5nIik7Ci0KLSAgICBsZXQgc2VydmljZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5p
bnN0YWxsaW5nIHx8IHJlZ2lzdHJhdGlvbi53YWl0aW5nOwotICAgIGFzc2VydF90cnVlKCEhc2Vy
dmljZVdvcmtlciwgInJlZ2lzdHJhdGlvbiBzaG91bGQgYmUgYXNzb2NpYXRlZCB3aXRoIGEgc2Vy
dmljZSB3b3JrZXIiKTsKLQotICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKLSAg
ICAgICAgc2VydmljZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCJzdGF0ZWNoYW5nZSIsICgpID0+
IHsKLSAgICAgICAgICAgIGlmIChzZXJ2aWNlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVkIikK
LSAgICAgICAgICAgICAgICByZXNvbHZlKCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfSwgIndh
aXQgZm9yIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlciIpOwotCiBwcm9taXNlX3Rlc3QoKCkgPT4gewot
ICAgIGFzc2VydF90cnVlKCEhd2luZG93LmludGVybmFscywgInRlc3QgcmVxdWlyZXMgaW50ZXJu
YWxzIik7CisgICAgYXNzZXJ0X3RydWUoISFzZWxmLmludGVybmFscywgInRlc3QgcmVxdWlyZXMg
aW50ZXJuYWxzIik7CiAKLSAgICBsZXQgc3Vic2NyaXB0aW9uID0gd2luZG93LmludGVybmFscy5j
cmVhdGVQdXNoU3Vic2NyaXB0aW9uKHJlZ2lzdHJhdGlvbiwgZW5kcG9pbnQsIGV4cGlyYXRpb25U
aW1lLCBrZXkxQnVmZmVyLCBrZXkyQnVmZmVyLCBhdXRoQnVmZmVyKTsKKyAgICBzdWJzY3JpcHRp
b24gPSBzZWxmLmludGVybmFscy5jcmVhdGVQdXNoU3Vic2NyaXB0aW9uKEVORFBPSU5ULCBFWFBJ
UkFUSU9OX1RJTUUsIFZBTElEX1NFUlZFUl9LRVksIENMSUVOVF9LRVlfMSwgQVVUSCk7CiAgICAg
YXNzZXJ0X3RydWUoc3Vic2NyaXB0aW9uIGluc3RhbmNlb2YgUHVzaFN1YnNjcmlwdGlvbik7CiAK
LSAgICBhc3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5lbmRwb2ludCwgZW5kcG9pbnQpOwotICAg
IGFzc2VydF9lcXVhbHMoc3Vic2NyaXB0aW9uLmV4cGlyYXRpb25UaW1lLCBleHBpcmF0aW9uVGlt
ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhzdWJzY3JpcHRpb24uZW5kcG9pbnQsIEVORFBPSU5UKTsK
KyAgICBhc3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5leHBpcmF0aW9uVGltZSwgRVhQSVJBVElP
Tl9USU1FKTsKICAgICBhc3NlcnRfdHJ1ZShzdWJzY3JpcHRpb24ub3B0aW9ucyA9PT0gc3Vic2Ny
aXB0aW9uLm9wdGlvbnMsICJvcHRpb25zIHNob3VsZCBhbHdheXMgcmV0dXJuIHNhbWUgb2JqZWN0
Iik7CiAgICAgYXNzZXJ0X2VxdWFscyhzdWJzY3JpcHRpb24ub3B0aW9ucy51c2VyVmlzaWJsZU9u
bHksIHRydWUpOwogICAgIGFzc2VydF90cnVlKHN1YnNjcmlwdGlvbi5vcHRpb25zLmFwcGxpY2F0
aW9uU2VydmVyS2V5ID09PSBzdWJzY3JpcHRpb24ub3B0aW9ucy5hcHBsaWNhdGlvblNlcnZlcktl
eSwgImFwcGxpY2F0aW9uU2VydmVyS2V5IHNob3VsZCByZXR1cm4gc2FtZSBvYmplY3QiKTsKLSAg
ICBhc3NlcnRfYXJyYXlfZXF1YWxzKGJ5dGVzRnJvbShzdWJzY3JpcHRpb24ub3B0aW9ucy5hcHBs
aWNhdGlvblNlcnZlcktleSksIGJ5dGVzRnJvbShrZXkxQnVmZmVyKSk7Ci0gICAgYXNzZXJ0X2Fy
cmF5X2VxdWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgncDI1NmRoJykpLCBieXRl
c0Zyb20oa2V5MkJ1ZmZlcikpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYnl0ZXNGcm9tKHN1
YnNjcmlwdGlvbi5nZXRLZXkoJ2F1dGgnKSksIGJ5dGVzRnJvbShhdXRoQnVmZmVyKSk7CisgICAg
YXNzZXJ0X2FycmF5X2VxdWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLm9wdGlvbnMuYXBwbGlj
YXRpb25TZXJ2ZXJLZXkpLCBieXRlc0Zyb20oVkFMSURfU0VSVkVSX0tFWSkpOworICAgIGFzc2Vy
dF9hcnJheV9lcXVhbHMoYnl0ZXNGcm9tKHN1YnNjcmlwdGlvbi5nZXRLZXkoJ3AyNTZkaCcpKSwg
Ynl0ZXNGcm9tKENMSUVOVF9LRVlfMSkpOworICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYnl0ZXNG
cm9tKHN1YnNjcmlwdGlvbi5nZXRLZXkoJ2F1dGgnKSksIGJ5dGVzRnJvbShBVVRIKSk7CiAKICAg
ICBvYmogPSBzdWJzY3JpcHRpb24udG9KU09OKCk7CiAgICAgYXNzZXJ0X2VxdWFscyhPYmplY3Qu
a2V5cyhvYmopLmxlbmd0aCwgMyk7Ci0gICAgYXNzZXJ0X2VxdWFscyhvYmouZW5kcG9pbnQsIGVu
ZHBvaW50KTsKLSAgICBhc3NlcnRfZXF1YWxzKG9iai5leHBpcmF0aW9uVGltZSwgZXhwaXJhdGlv
blRpbWUpOworICAgIGFzc2VydF9lcXVhbHMob2JqLmVuZHBvaW50LCBFTkRQT0lOVCk7CisgICAg
YXNzZXJ0X2VxdWFscyhvYmouZXhwaXJhdGlvblRpbWUsIEVYUElSQVRJT05fVElNRSk7CiAgICAg
YXNzZXJ0X2VxdWFscyhPYmplY3Qua2V5cyhvYmoua2V5cykubGVuZ3RoLCAyKTsKLSAgICBhc3Nl
cnRfZXF1YWxzKG9iai5rZXlzLnAyNTZkaCwga2V5MkJhc2U2NFVSTCk7Ci0gICAgYXNzZXJ0X2Vx
dWFscyhvYmoua2V5cy5hdXRoLCBhdXRoQmFzZTY0VVJMKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9i
ai5rZXlzLnAyNTZkaCwgQ0xJRU5UX0JBU0U2NF9LRVlfMSk7CisgICAgYXNzZXJ0X2VxdWFscyhv
Ymoua2V5cy5hdXRoLCBCQVNFNjRfQVVUSCk7CiAKICAgICByZXR1cm4gbmV3IFByb21pc2UocmVz
b2x2ZSA9PiByZXNvbHZlKCkpOwogfSwgIlB1c2hTdWJzY3JpcHRpb24gZ2V0dGVycyIpOwogCi1w
cm9taXNlX3Rlc3QoKHRlc3QpID0+IHJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCksICJ1bnJlZ2lz
dGVyIHNlcnZpY2Ugd29ya2VyIik7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgIGxl
dCByZXN1bHQgPSBhd2FpdCBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTsKKyAgICBhc3NlcnRf
ZmFsc2UocmVzdWx0LCAic3Vic2NyaXB0aW9uIHRoYXQgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBh
IHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbiBzaG91bGQgYWxyZWFkeSBiZSB1bnN1YnNjcmli
ZWQiKTsKKyAgICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiByZXNvbHZlKCkpOworfSwg
InVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gbm90IGFzc29jaWF0ZWQgd2l0aCBhIHJl
Z2lzdHJhdGlvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkv
cHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5z
ZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjY4MTUwZjI0NzdlYjJiMjFk
Y2QwZWM5MmY0YjA5YmZjODA2MjI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mgd2FpdCBmb3IgYWN0aXZlIHNlcnZp
Y2Ugd29ya2VyCitQQVNTIFB1c2hTdWJzY3JpcHRpb24gZ2V0dGVycworUEFTUyB1bnN1YnNjcmli
aW5nIGZyb20gc3Vic2NyaXB0aW9uIG5vdCBhc3NvY2lhdGVkIHdpdGggYSByZWdpc3RyYXRpb24K
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlw
dGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
cHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0
aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0
aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50LmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudC5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODJjNDIxZjVhZjIxMDBlYjk5MjRk
NTU1NGRmODcwNTEwYjA0Nzc1NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuanMKQEAgLTAsMCAr
MSw1MSBAQAorLy8gTUVUQTogdGl0bGU9UHVzaEV2ZW50IHRlc3RzCisvLyBNRVRBOiBnbG9iYWw9
c2VydmljZXdvcmtlcgorLy8gTUVUQTogc2NyaXB0PWNvbnN0YW50cy5qcworCit0ZXN0KCgpID0+
IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNo
c3Vic2NyaXB0aW9uY2hhbmdlIik7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5uZXdTdWJzY3Jp
cHRpb24sIG51bGwsICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm9sZFN1YnNjcmlw
dGlvbiwgbnVsbCwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRo
b3V0IGRhdGEiKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3IFB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIsIHsgbmV3U3Vic2Ny
aXB0aW9uOiBudWxsLCBvbGRTdWJzY3JpcHRpb246IG51bGwgfSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhldmVudC5uZXdTdWJzY3JpcHRpb24sIG51bGwsICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50Lm9sZFN1YnNjcmlwdGlvbiwgbnVsbCwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCB3aXRob3V0IHN1YnNjcmlwdGlvbnMiKTsKKworbGV0IG5ld1N1YnNjcmlw
dGlvbiA9IG51bGw7CitsZXQgb2xkU3Vic2NyaXB0aW9uID0gbnVsbDsKKworbGV0IGFjdGl2YXRl
UHJvbWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2VsZi5vbmFjdGl2YXRlID0gcmVzb2x2
ZSk7Citwcm9taXNlX3Rlc3QoYXN5bmMgKCkgPT4geworICAgcmV0dXJuIGFjdGl2YXRlUHJvbWlz
ZTsKK30sICJ3YWl0IGZvciBhY3RpdmUgc2VydmljZSB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0
KGFzeW5jKCkgPT4geworICAgIG5ld1N1YnNjcmlwdGlvbiA9IHNlbGYuaW50ZXJuYWxzLmNyZWF0
ZVB1c2hTdWJzY3JpcHRpb24oRU5EUE9JTlQsIEVYUElSQVRJT05fVElNRSwgVkFMSURfU0VSVkVS
X0tFWSwgQ0xJRU5UX0tFWV8xLCBBVVRIKTsKKyAgICBvbGRTdWJzY3JpcHRpb24gPSBzZWxmLmlu
dGVybmFscy5jcmVhdGVQdXNoU3Vic2NyaXB0aW9uKEVORFBPSU5ULCBFWFBJUkFUSU9OX1RJTUUs
IFZBTElEX1NFUlZFUl9LRVksIENMSUVOVF9LRVlfMiwgQVVUSCk7CisKKyAgICBhc3NlcnRfdHJ1
ZShuZXdTdWJzY3JpcHRpb24gaW5zdGFuY2VvZiBQdXNoU3Vic2NyaXB0aW9uKTsKKyAgICBhc3Nl
cnRfdHJ1ZShvbGRTdWJzY3JpcHRpb24gaW5zdGFuY2VvZiBQdXNoU3Vic2NyaXB0aW9uKTsKKwor
ICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUoKSk7Cit9LCAiY3JlYXRl
IHN1YnNjcmlwdGlvbnMiKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3IFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIsIHsgbmV3
U3Vic2NyaXB0aW9uIH0pOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubmV3U3Vic2NyaXB0aW9u
LCBuZXdTdWJzY3JpcHRpb24sICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm9sZFN1
YnNjcmlwdGlvbiwgbnVsbCwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCB3aXRoIG5ldyBzdWJzY3JpcHRpb24iKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50
ID0gbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5n
ZSIsIHsgb2xkU3Vic2NyaXB0aW9uIH0pOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQubmV3U3Vi
c2NyaXB0aW9uLCBudWxsLCAibmV3Iik7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5vbGRTdWJz
Y3JpcHRpb24sIG9sZFN1YnNjcmlwdGlvbiwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudCB3aXRoIG9sZCBzdWJzY3JpcHRpb24iKTsKKwordGVzdCgoKSA9PiB7CisgICAg
bGV0IGV2ZW50ID0gbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlw
dGlvbmNoYW5nZSIsIHsgbmV3U3Vic2NyaXB0aW9uLCBvbGRTdWJzY3JpcHRpb24gfSk7CisgICAg
YXNzZXJ0X2VxdWFscyhldmVudC5uZXdTdWJzY3JpcHRpb24sIG5ld1N1YnNjcmlwdGlvbiwgIm5l
dyIpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQub2xkU3Vic2NyaXB0aW9uLCBvbGRTdWJzY3Jp
cHRpb24sICJvbGQiKTsKK30sICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aCBuZXcg
YW5kIG9sZCBzdWJzY3JpcHRpb24iKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk1ZmEyYjE3NDcyZTI3ZjQ2M2VjMWNhYjE2MjAyNjM5YWE2YmUwYWIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorCitQ
QVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRob3V0IGRhdGEKK1BBU1MgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGhvdXQgc3Vic2NyaXB0aW9ucworUEFTUyB3YWl0IGZv
ciBhY3RpdmUgc2VydmljZSB3b3JrZXIKK1BBU1MgY3JlYXRlIHN1YnNjcmlwdGlvbnMKK1BBU1Mg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGggbmV3IHN1YnNjcmlwdGlvbgorUEFTUyBQ
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aCBvbGQgc3Vic2NyaXB0aW9uCitQQVNTIFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRoIG5ldyBhbmQgb2xkIHN1YnNjcmlwdGlvbgor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4
YzMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbApAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNo
LWFwaS9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dAppbmRl
eCBkZGQ0YmY2MmZmNDA3NzZjNzFhMDgxOGVlYmNmODY1MGI5ODExYmU5Li42MzNhZDc3ODMyZjk0
NTNlOThlZThjMmFjNjU5ZDRhMTNkMDlmYTVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55
LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2Vydmlj
ZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTY1LDE4ICs2NSwxOCBAQCBQQVNTIFB1c2hFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBkYXRhCiBQQVNTIFB1c2hFdmVudCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBQdXNoRXZlbnQoInR5cGUiKQogUEFTUyBTdHJpbmdpZmljYXRpb24g
b2YgbmV3IFB1c2hFdmVudCgidHlwZSIpCiBQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IG5ldyBQ
dXNoRXZlbnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHBy
b3BlciB0eXBlCi1GQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCIgbWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAi
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2
ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNz
aW5nCi1GQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVj
dGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG5ld1N1YnNjcmlwdGlvbiBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTog
YXR0cmlidXRlIG9sZFN1YnNjcmlwdGlvbiBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVj
dGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2Yg
bmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIp
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIKLUZBSUwgU3RyaW5naWZp
Y2F0aW9uIG9mIG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRp
b25jaGFuZ2UiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1
YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiCi1GQUlM
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoU3Vic2NyaXB0
aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJv
cGVydHkgIm5ld1N1YnNjcmlwdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IgotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQgaW50ZXJmYWNlOiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vi
c2NyaXB0aW9uY2hhbmdlIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbGRTdWJzY3JpcHRpb24i
IHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9u
IHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCIKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFB1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3U3Vic2NyaXB0
aW9uCitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBvbGRTdWJzY3JpcHRpb24KK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IG11c3Qg
YmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgi
cHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikKK1BBU1Mg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3IFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9w
ZXJ0eSAibmV3U3Vic2NyaXB0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQorUEFTUyBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJv
bGRTdWJzY3JpcHRpb24iIHdpdGggdGhlIHByb3BlciB0eXBlCiBQQVNTIFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcHVzaE1hbmFnZXIKIFBBU1MgU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IHJlZ2lzdHJhdGlvbiBtdXN0IGluaGVyaXQg
cHJvcGVydHkgInB1c2hNYW5hZ2VyIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogUEFTUyBTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25wdXNoCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>443729</attachid>
            <date>2021-11-09 14:22:31 -0800</date>
            <delta_ts>2021-11-09 21:23:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232455-20211109142230.patch</filename>
            <type>text/plain</type>
            <size>71595</size>
            <attacher name="Ben Nham">nham</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1NTMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTk4MDRkMTFkM2FlNDdh
N2M4ZGQ5YjdmNDVkZjIxYWZmN2M0NThiNS4uYzM1ZmQzYmE3ODE2ZjdmNTdhN2UwYWYxNTU3ZDQ5
M2Q1ZjkwNTgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIxLTEwLTI4ICBCZW4g
TmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJldmlld2VkIGJ5IFlvdWVubiBGYWJsZXQu
CisKKyAgICAgICAgVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHRoZSBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQgb2JqZWN0LiBJIHBsYW4gdG8gYWRkIHN1cHBvcnQgZm9yIHRoZQorICAgICAgICBv
bnB1c2hzdWJzY3JpcHRpb25jaGFuZ2UgZXZlbnQgaGFuZGxlciBpbiBhIGxhdGVyIHBhdGNoLgor
CisgICAgICAgIFdoaWxlIHdvcmtpbmcgb24gdGhpcywgaXQgc2VlbWVkIHJlYXNvbmFibGUgdG8g
YmUgYWJsZSB0byBjcmVhdGUgUHVzaFN1YnNjcmlwdGlvbnMgdGhhdAorICAgICAgICBwb2ludCB0
byBhIG51bGwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi4gVGhpcyBpcyBmb3Igc3Vic2NyaXB0
aW9ucyB0aGF0IGFyZSByZXR1cm5lZCB2aWEKKyAgICAgICAgdGhlIG9sZFN1YnNjcmlwdGlvbiBw
cm9wZXJ0eSBhbmQgYXJlIHRoZXJlZm9yZSBhbHJlYWR5IHVuc3Vic2NyaWJlZC4KKworICAgICAg
ICBJIGFkZGVkIGEgbmV3IGNvbnN0cnVjdG9yIGZvciBjcmVhdGluZyBhIFB1c2hTdWJzY3JpcHRp
b24gcG9pbnRpbmcgdG8gYSBudWxsCisgICAgICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24s
IHJhdGhlciB0aGFuIGNoYW5naW5nIHRoZSBleGlzdGluZyBjb25zdHJ1Y3RvciB0byBqdXN0IHRh
a2UgYQorICAgICAgICBSZWZQdHI8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4uIFRoaXMgaXMg
YmVjYXVzZSBJIHdhbnRlZCB0byByZW1vdmUgdGhlIFdFQkNPUkVfRVhQT1JUCisgICAgICAgIGZy
b20gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiwgYW5kIHRoZSBpbmxpbmUgY29kZSBnZW5lcmF0
ZWQgYnkgY3JlYXRpbmcgYSBudWxsCisgICAgICAgIFJlZlB0cjxTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uPiBpbiB0aGUgaW50ZXJuYWxzIGR5bGliIGNhdXNlZCBpdCB0byByZXF1aXJlCisgICAg
ICAgIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OnJlZi9kZXJlZiB0byBiZSBleHBvcnRlZC4K
KworICAgICAgICBUZXN0czogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlB1c2hNYW5hZ2VyOjpzdWJzY3JpYmUpOgorICAgICAgICAoV2ViQ29y
ZTo6UHVzaE1hbmFnZXI6OmdldFN1YnNjcmlwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpQdXNo
TWFuYWdlcjo6cGVybWlzc2lvblN0YXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1
c2hNYW5hZ2VyLmg6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5pZGw6
CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlB1c2hTdWJzY3JpcHRpb246OlB1c2hTdWJzY3JpcHRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6UHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3JpYmUpOgorICAgICAgICAqIE1v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5oOgorICAgICAgICAqIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGw6CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmguCisgICAgICAgIChXZWJDb3JlOjpQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ6OlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCk6Cisg
ICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5o
LgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
LmlkbDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vi
c2NyaXB0aW9uLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudEluaXQuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9w
dXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL3B1c2gtYXBp
L1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsOiBDb3BpZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsLgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAg
ICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxz
LmlkbDoKKyAgICAgICAgKiB0ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckludGVybmFsczo6Y3JlYXRlUHVzaFN1YnNjcmlw
dGlvbik6CisgICAgICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmg6CisgICAg
ICAgICogdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbDoKKwogMjAyMS0xMS0wOSAg
U2lodWkgTGl1ICA8c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggbWFjQ2F0YWx5
c3QgYnVpbGQgYWZ0ZXIgcjI4NTUwOQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAxZDQwZDJhZmE1
NzQwNTRiZjI0ZmM0ZTU1ZWU0NGY0MWVlYTJiZmJkLi5lYmY0OWFmMzQ1OGUzZTg2NzA4MTE5NWVk
YTRiOWMwMzg0NTBkZGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNTA5LDYgKzUwOSw4IEBA
IHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNo
TWVzc2FnZURhdGEuaWRsCiAgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoUGVybWlzc2lvblN0YXRl
LmlkbAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGwKKyAgICBNb2R1
bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5pZGwKKyAgICBNb2R1bGVz
L3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsCiAgICAgTW9kdWxl
cy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uSlNPTi5pZGwKICAgICBNb2R1bGVzL3B1c2gtYXBp
L1B1c2hTdWJzY3JpcHRpb25PcHRpb25zLmlkbAogICAgIE1vZHVsZXMvcHVzaC1hcGkvUHVzaFN1
YnNjcmlwdGlvbk9wdGlvbnNJbml0LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYzkyZjI0YTc2NjI0ZmVmM2I5NTcxYTAyMGJlY2Zj
OTQ1NzY2OWE2Ni4uZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0NmY5ZDhkNmQzYjUyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01
NjYsNiArNTY2LDggQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdl
ci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoUGVybWlzc2lvblN0YXRlLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudEluaXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hT
dWJzY3JpcHRpb25KU09OLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNo
U3Vic2NyaXB0aW9uT3B0aW9ucy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkv
UHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA1ZGIyZjIyMmI4ODVmYmE4OTg4NWFj
NTAzNWJiNjg4MjM4ZjM1MzEwLi40YzVmZjk1NGExNTk3ZWRiZjUwZDYyYWQ3MjkwNzQyOGM1ZDA1
M2I2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMTg5OSw2ICsxODk5LDEwIEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTUHVzaFBlcm1pc3Npb25TdGF0ZS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaFBlcm1pc3Npb25TdGF0ZS5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3Jp
cHRpb24uY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1B1c2hTdWJzY3JpcHRpb24uaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vi
c2NyaXB0aW9uSlNPTi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUHVzaFN1YnNjcmlwdGlvbkpTT04uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDIzYTJmMzgyNzljZTY5MGE0Y2Q3NTc4MmNkMmQy
ZGYwMjQ2Mjc5MjMuLmY4OGU2MzliOWQ3NGI5ZGQ1NDQ4Y2VkOTkxODFjMGRmMGY1MjgxNDQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDk1LDYgKzQ5NSw4IEBAIEpTX0JJTkRJ
TkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdl
RGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoUGVybWlzc2lv
blN0YXRlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3Jp
cHRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkpTT04uaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0LmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuY3BwCmluZGV4
IDY0MmQ1MGFhODM4ZTRmMDIwZDBkMjJiM2ZmNDA5Njk3YThhMzhhMTMuLjM3MWU4ZGNiZjlkYjM2
NmZkODVkMjQ1MGQwYTA0NjY0YTA0ZGIyZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQogCiAjaW5jbHVkZSAiQ3J5cHRvS2V5RUMuaCIKKyNpbmNsdWRlICJF
dmVudExvb3AuaCIKICNpbmNsdWRlICJFeGNlcHRpb24uaCIKICNpbmNsdWRlICJKU1B1c2hQZXJt
aXNzaW9uU3RhdGUuaCIKICNpbmNsdWRlICJKU1B1c2hTdWJzY3JpcHRpb24uaCIKQEAgLTY4LDY2
ICs2OSw3MiBAQCB2b2lkIFB1c2hNYW5hZ2VyOjpzdWJzY3JpYmUoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgc3RkOgogewogICAgIFJFTEVBU0VfQVNTRVJU
KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaXNTZWN1cmVDb250ZXh0KCkpOwogICAgIAotICAgIGlm
ICghb3B0aW9ucyB8fCAhb3B0aW9ucy0+dXNlclZpc2libGVPbmx5KSB7Ci0gICAgICAgIHByb21p
c2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciwgIlN1YnNjcmliaW5nIGZvciBw
dXNoIHJlcXVpcmVzIHVzZXJWaXNpYmxlT25seSB0byBiZSB0cnVlIl9zIH0pOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotICAgIAotICAgIGlmICghb3B0aW9ucyB8fCAhb3B0aW9ucy0+YXBwbGlj
YXRpb25TZXJ2ZXJLZXkpIHsKLSAgICAgICAgcHJvbWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgTm90
U3VwcG9ydGVkRXJyb3IsICJTdWJzY3JpYmluZyBmb3IgcHVzaCByZXF1aXJlcyBhbiBhcHBsaWNh
dGlvblNlcnZlcktleSJfcyB9KTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKLSAgICB1
c2luZyBLZXlEYXRhUmVzdWx0ID0gRXhjZXB0aW9uT3I8VmVjdG9yPHVpbnQ4X3Q+PjsKLSAgICBh
dXRvIGtleURhdGFSZXN1bHQgPSBXVEY6OnN3aXRjaE9uKCpvcHRpb25zLT5hcHBsaWNhdGlvblNl
cnZlcktleSwgW10oUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiB2YWx1ZSkgLT4gS2V5RGF0YVJl
c3VsdCB7Ci0gICAgICAgIGlmICghdmFsdWUpCi0gICAgICAgICAgICByZXR1cm4gVmVjdG9yPHVp
bnQ4X3Q+IHsgfTsKLSAgICAgICAgcmV0dXJuIFZlY3Rvcjx1aW50OF90PiB7IHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlLT5kYXRhKCkpLCB2YWx1ZS0+Ynl0ZUxlbmd0aCgp
IH07Ci0gICAgfSwgW10oUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXJWaWV3PiYgdmFsdWUpIC0+IEtl
eURhdGFSZXN1bHQgewotICAgICAgICBpZiAoIXZhbHVlKQotICAgICAgICAgICAgcmV0dXJuIFZl
Y3Rvcjx1aW50OF90PiB7IH07Ci0gICAgICAgIHJldHVybiBWZWN0b3I8dWludDhfdD4geyByZWlu
dGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPih2YWx1ZS0+YmFzZUFkZHJlc3MoKSksIHZhbHVl
LT5ieXRlTGVuZ3RoKCkgfTsKLSAgICB9LCBbXShTdHJpbmcmIHZhbHVlKSAtPiBLZXlEYXRhUmVz
dWx0IHsKLSAgICAgICAgYXV0byBkZWNvZGVkID0gYmFzZTY0VVJMRGVjb2RlKHZhbHVlKTsKLSAg
ICAgICAgaWYgKCFkZWNvZGVkKQotICAgICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IEludmFs
aWRDaGFyYWN0ZXJFcnJvciwgImFwcGxpY2F0aW9uU2VydmVyS2V5IGlzIG5vdCBwcm9wZXJseSBi
YXNlNjR1cmwtZW5jb2RlZCJfcyB9OwotICAgICAgICByZXR1cm4gV1RGTW92ZShkZWNvZGVkLnZh
bHVlKCkpOwotICAgIH0pOwotICAgIAotICAgIGlmIChrZXlEYXRhUmVzdWx0Lmhhc0V4Y2VwdGlv
bigpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KGtleURhdGFSZXN1bHQucmVsZWFzZUV4Y2Vw
dGlvbigpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICAKKyAgICBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LmV2ZW50TG9vcCgpLnF1ZXVlVGFzayhUYXNrU291cmNlOjpOZXR3b3JraW5nLCBb
dGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH0sIG9wdGlvbnMgPSBXVEZNb3ZlKG9w
dGlvbnMpLCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAg
aWYgKCFvcHRpb25zIHx8ICFvcHRpb25zLT51c2VyVmlzaWJsZU9ubHkpIHsKKyAgICAgICAgICAg
IHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IE5vdEFsbG93ZWRFcnJvciwgIlN1YnNjcmliaW5n
IGZvciBwdXNoIHJlcXVpcmVzIHVzZXJWaXNpYmxlT25seSB0byBiZSB0cnVlIl9zIH0pOworICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFvcHRpb25zIHx8ICFv
cHRpb25zLT5hcHBsaWNhdGlvblNlcnZlcktleSkgeworICAgICAgICAgICAgcHJvbWlzZS5yZWpl
Y3QoRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IsICJTdWJzY3JpYmluZyBmb3IgcHVzaCBy
ZXF1aXJlcyBhbiBhcHBsaWNhdGlvblNlcnZlcktleSJfcyB9KTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorCisgICAgICAgIHVzaW5nIEtleURhdGFSZXN1bHQgPSBFeGNlcHRpb25P
cjxWZWN0b3I8dWludDhfdD4+OworICAgICAgICBhdXRvIGtleURhdGFSZXN1bHQgPSBXVEY6OnN3
aXRjaE9uKCpvcHRpb25zLT5hcHBsaWNhdGlvblNlcnZlcktleSwgW10oUmVmUHRyPEpTQzo6QXJy
YXlCdWZmZXI+JiB2YWx1ZSkgLT4gS2V5RGF0YVJlc3VsdCB7CisgICAgICAgICAgICBpZiAoIXZh
bHVlKQorICAgICAgICAgICAgICAgIHJldHVybiBWZWN0b3I8dWludDhfdD4geyB9OworICAgICAg
ICAgICAgcmV0dXJuIFZlY3Rvcjx1aW50OF90PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWlu
dDhfdCo+KHZhbHVlLT5kYXRhKCkpLCB2YWx1ZS0+Ynl0ZUxlbmd0aCgpIH07CisgICAgICAgIH0s
IFtdKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmlldz4mIHZhbHVlKSAtPiBLZXlEYXRhUmVzdWx0
IHsKKyAgICAgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIFZlY3Rv
cjx1aW50OF90PiB7IH07CisgICAgICAgICAgICByZXR1cm4gVmVjdG9yPHVpbnQ4X3Q+IHsgcmVp
bnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUtPmJhc2VBZGRyZXNzKCkpLCB2YWx1
ZS0+Ynl0ZUxlbmd0aCgpIH07CisgICAgICAgIH0sIFtdKFN0cmluZyYgdmFsdWUpIC0+IEtleURh
dGFSZXN1bHQgeworICAgICAgICAgICAgYXV0byBkZWNvZGVkID0gYmFzZTY0VVJMRGVjb2RlKHZh
bHVlKTsKKyAgICAgICAgICAgIGlmICghZGVjb2RlZCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
RXhjZXB0aW9uIHsgSW52YWxpZENoYXJhY3RlckVycm9yLCAiYXBwbGljYXRpb25TZXJ2ZXJLZXkg
aXMgbm90IHByb3Blcmx5IGJhc2U2NHVybC1lbmNvZGVkIl9zIH07CisgICAgICAgICAgICByZXR1
cm4gV1RGTW92ZShkZWNvZGVkLnZhbHVlKCkpOworICAgICAgICB9KTsKKworICAgICAgICBpZiAo
a2V5RGF0YVJlc3VsdC5oYXNFeGNlcHRpb24oKSkgeworICAgICAgICAgICAgcHJvbWlzZS5yZWpl
Y3Qoa2V5RGF0YVJlc3VsdC5yZWxlYXNlRXhjZXB0aW9uKCkpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisKICNpZiBFTkFCTEUoV0VCX0NSWVBUTykKLSAgICBhdXRvIGtleURhdGEg
PSBrZXlEYXRhUmVzdWx0LnJldHVyblZhbHVlKCk7Ci0gICAgYXV0byBrZXkgPSBDcnlwdG9LZXlF
Qzo6aW1wb3J0UmF3KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6OkVDRFNBLCAiUC0yNTYiX3Ms
IFdURk1vdmUoa2V5RGF0YSksIGZhbHNlLCBDcnlwdG9LZXlVc2FnZVZlcmlmeSk7CisgICAgICAg
IGF1dG8ga2V5RGF0YSA9IGtleURhdGFSZXN1bHQucmV0dXJuVmFsdWUoKTsKKyAgICAgICAgYXV0
byBrZXkgPSBDcnlwdG9LZXlFQzo6aW1wb3J0UmF3KENyeXB0b0FsZ29yaXRobUlkZW50aWZpZXI6
OkVDRFNBLCAiUC0yNTYiX3MsIFdURk1vdmUoa2V5RGF0YSksIGZhbHNlLCBDcnlwdG9LZXlVc2Fn
ZVZlcmlmeSk7CiAjZWxzZQotICAgIGF1dG8ga2V5ID0gbnVsbHB0cjsKKyAgICAgICAgYXV0byBr
ZXkgPSBudWxscHRyOwogI2VuZGlmCi0gICAgCi0gICAgaWYgKCFrZXkpIHsKLSAgICAgICAgcHJv
bWlzZS5yZWplY3QoRXhjZXB0aW9uIHsgSW52YWxpZEFjY2Vzc0Vycm9yLCAiYXBwbGljYXRpb25T
ZXJ2ZXJLZXkgbXVzdCBjb250YWluIGEgdmFsaWQgUC0yNTYgcHVibGljIGtleSJfcyB9KTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGlmICghbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uLmFjdGl2ZSgpKSB7Ci0gICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFs
aWRTdGF0ZUVycm9yLCAiU3Vic2NyaWJpbmcgZm9yIHB1c2ggcmVxdWlyZXMgYW4gYWN0aXZlIHNl
cnZpY2Ugd29ya2VyIl9zIH0pOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIAotICAgIG1f
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5zdWJzY3JpYmVUb1B1c2hTZXJ2aWNlKGtleURhdGFS
ZXN1bHQucmVsZWFzZVJldHVyblZhbHVlKCksIFdURk1vdmUocHJvbWlzZSkpOworCisgICAgICAg
IGlmICgha2V5KSB7CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdChFeGNlcHRpb24geyBJbnZh
bGlkQWNjZXNzRXJyb3IsICJhcHBsaWNhdGlvblNlcnZlcktleSBtdXN0IGNvbnRhaW4gYSB2YWxp
ZCBQLTI1NiBwdWJsaWMga2V5Il9zIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKCFtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uYWN0aXZlKCkpIHsK
KyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEludmFsaWRTdGF0ZUVycm9y
LCAiU3Vic2NyaWJpbmcgZm9yIHB1c2ggcmVxdWlyZXMgYW4gYWN0aXZlIHNlcnZpY2Ugd29ya2Vy
Il9zIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV9zZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uLnN1YnNjcmliZVRvUHVzaFNlcnZpY2Uoa2V5RGF0YVJlc3Vs
dC5yZWxlYXNlUmV0dXJuVmFsdWUoKSwgV1RGTW92ZShwcm9taXNlKSk7CisgICAgfSk7CiB9CiAK
LXZvaWQgUHVzaE1hbmFnZXI6OmdldFN1YnNjcmlwdGlvbihET01Qcm9taXNlRGVmZXJyZWQ8SURM
TnVsbGFibGU8SURMSW50ZXJmYWNlPFB1c2hTdWJzY3JpcHRpb24+Pj4mJiBwcm9taXNlKQordm9p
ZCBQdXNoTWFuYWdlcjo6Z2V0U3Vic2NyaXB0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQsIERPTVByb21pc2VEZWZlcnJlZDxJRExOdWxsYWJsZTxJRExJ
bnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlvbj4+PiYmIHByb21pc2UpCiB7Ci0gICAgbV9zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmdldFB1c2hTdWJzY3JpcHRpb24oV1RGTW92ZShwcm9taXNlKSk7
CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5ldmVudExvb3AoKS5xdWV1ZVRhc2soVGFza1Nv
dXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHByb3RlY3RlZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBw
cm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRhYmxlIHsKKyAgICAgICAgbV9zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLmdldFB1c2hTdWJzY3JpcHRpb24oV1RGTW92ZShwcm9taXNlKSk7
CisgICAgfSk7CiB9CiAKLXZvaWQgUHVzaE1hbmFnZXI6OnBlcm1pc3Npb25TdGF0ZShzdGQ6Om9w
dGlvbmFsPFB1c2hTdWJzY3JpcHRpb25PcHRpb25zSW5pdD4mJiBvcHRpb25zLCBET01Qcm9taXNl
RGVmZXJyZWQ8SURMRW51bWVyYXRpb248UHVzaFBlcm1pc3Npb25TdGF0ZT4+JiYgcHJvbWlzZSkK
K3ZvaWQgUHVzaE1hbmFnZXI6OnBlcm1pc3Npb25TdGF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBzdGQ6Om9wdGlvbmFsPFB1c2hTdWJzY3JpcHRpb25P
cHRpb25zSW5pdD4mJiBvcHRpb25zLCBET01Qcm9taXNlRGVmZXJyZWQ8SURMRW51bWVyYXRpb248
UHVzaFBlcm1pc3Npb25TdGF0ZT4+JiYgcHJvbWlzZSkKIHsKICAgICBVTlVTRURfUEFSQU0ob3B0
aW9ucyk7Ci0gICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmdldFB1c2hQZXJtaXNzaW9u
U3RhdGUoV1RGTW92ZShwcm9taXNlKSk7CisgICAgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5ldmVu
dExvb3AoKS5xdWV1ZVRhc2soVGFza1NvdXJjZTo6TmV0d29ya2luZywgW3RoaXMsIHByb3RlY3Rl
ZFRoaXMgPSBSZWYgeyAqdGhpcyB9LCBwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0oKSBtdXRh
YmxlIHsKKyAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmdldFB1c2hQZXJtaXNz
aW9uU3RhdGUoV1RGTW92ZShwcm9taXNlKSk7CisgICAgfSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVz
aE1hbmFnZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1hbmFnZXIu
aAppbmRleCAzZDUwMDE4N2E2MGI1ZjgxZGZlMjliZGVjY2I0ZGRkMmM2NDVhODVjLi43NmIyYzRl
ZjNmZGRhYzEyZTE2ZmJmOGNhNjFjYWZmYmEwZTg1NGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5oCkBAIC01Miw4ICs1Miw4IEBAIHB1YmxpYzoK
ICAgICBzdGF0aWMgVmVjdG9yPFN0cmluZz4gc3VwcG9ydGVkQ29udGVudEVuY29kaW5ncygpOwog
CiAgICAgdm9pZCBzdWJzY3JpYmUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIHN0ZDo6b3B0aW9u
YWw8UHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0PiYmLCBET01Qcm9taXNlRGVmZXJyZWQ8SURM
SW50ZXJmYWNlPFB1c2hTdWJzY3JpcHRpb24+PiYmKTsKLSAgICB2b2lkIGdldFN1YnNjcmlwdGlv
bihET01Qcm9taXNlRGVmZXJyZWQ8SURMTnVsbGFibGU8SURMSW50ZXJmYWNlPFB1c2hTdWJzY3Jp
cHRpb24+Pj4mJik7Ci0gICAgdm9pZCBwZXJtaXNzaW9uU3RhdGUoc3RkOjpvcHRpb25hbDxQdXNo
U3Vic2NyaXB0aW9uT3B0aW9uc0luaXQ+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJh
dGlvbjxQdXNoUGVybWlzc2lvblN0YXRlPj4mJik7CisgICAgdm9pZCBnZXRTdWJzY3JpcHRpb24o
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIERPTVByb21pc2VEZWZlcnJlZDxJRExOdWxsYWJsZTxJ
RExJbnRlcmZhY2U8UHVzaFN1YnNjcmlwdGlvbj4+PiYmKTsKKyAgICB2b2lkIHBlcm1pc3Npb25T
dGF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwgc3RkOjpvcHRpb25hbDxQdXNoU3Vic2NyaXB0
aW9uT3B0aW9uc0luaXQ+JiYsIERPTVByb21pc2VEZWZlcnJlZDxJRExFbnVtZXJhdGlvbjxQdXNo
UGVybWlzc2lvblN0YXRlPj4mJik7CiAKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbiYgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWFuYWdlci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNYW5hZ2VyLmlkbAppbmRleCA3YzFkNDUwOWQwYzAzZGE1
ZjQ4MWE3ZWE0NzQ3NWFiNDM1YzMyODc1Li4zM2RlNzljZjEwZjNmOWRhNTA1NmExZDczNzk2MjI5
YzUwYjY0YzczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1
c2hNYW5hZ2VyLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hN
YW5hZ2VyLmlkbApAQCAtMzUsNiArMzUsNiBAQAogICAgIFtTYW1lT2JqZWN0XSBzdGF0aWMgcmVh
ZG9ubHkgYXR0cmlidXRlIEZyb3plbkFycmF5PERPTVN0cmluZz4gc3VwcG9ydGVkQ29udGVudEVu
Y29kaW5nczsKIAogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNl
PFB1c2hTdWJzY3JpcHRpb24+IHN1YnNjcmliZShvcHRpb25hbCBQdXNoU3Vic2NyaXB0aW9uT3B0
aW9uc0luaXQgb3B0aW9ucyk7Ci0gICAgUHJvbWlzZTxQdXNoU3Vic2NyaXB0aW9uPz4gZ2V0U3Vi
c2NyaXB0aW9uKCk7Ci0gICAgUHJvbWlzZTxQdXNoUGVybWlzc2lvblN0YXRlPiBwZXJtaXNzaW9u
U3RhdGUob3B0aW9uYWwgUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0IG9wdGlvbnMpOworICAg
IFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPFB1c2hTdWJzY3JpcHRp
b24/PiBnZXRTdWJzY3JpcHRpb24oKTsKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dF0gUHJvbWlzZTxQdXNoUGVybWlzc2lvblN0YXRlPiBwZXJtaXNzaW9uU3RhdGUob3B0aW9u
YWwgUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnNJbml0IG9wdGlvbnMpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb24uY3BwCmluZGV4
IGUwNTA0NGRkMjdjOThhMTk5MzkwMjliYjM5MzI3MjgwM2NjZWUyMjkuLmUxY2U4MzgxNGMzY2Fk
NTBjNGJkNTlmYmIyOGUzN2JmZjI0NjY0MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmNwcApAQCAtMjgsOCArMjgsMTAgQEAK
IAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkV2ZW50TG9vcC5oIgog
I2luY2x1ZGUgIkV4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRpb25PcHRpb25z
LmgiCisjaW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJDb250YWluZXIuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L0Jhc2U2NC5oPgpAQCAtMzgsNiArNDAsMTUgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUHVzaFN1YnNjcmlwdGlv
bik7CiAKK1B1c2hTdWJzY3JpcHRpb246OlB1c2hTdWJzY3JpcHRpb24oU3RyaW5nJiYgZW5kcG9p
bnQsIHN0ZDo6b3B0aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBWZWN0b3I8
dWludDhfdD4mJiBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2xpZW50
RUNESFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgc2hhcmVkQXV0aGVudGljYXRpb25TZWNy
ZXQpCisgICAgOiBtX2VuZHBvaW50KFdURk1vdmUoZW5kcG9pbnQpKQorICAgICwgbV9leHBpcmF0
aW9uVGltZShleHBpcmF0aW9uVGltZSkKKyAgICAsIG1fb3B0aW9ucyhQdXNoU3Vic2NyaXB0aW9u
T3B0aW9uczo6Y3JlYXRlKFdURk1vdmUoc2VydmVyVkFQSURQdWJsaWNLZXkpKSkKKyAgICAsIG1f
Y2xpZW50RUNESFB1YmxpY0tleShXVEZNb3ZlKGNsaWVudEVDREhQdWJsaWNLZXkpKQorICAgICwg
bV9zaGFyZWRBdXRoZW50aWNhdGlvblNlY3JldChXVEZNb3ZlKHNoYXJlZEF1dGhlbnRpY2F0aW9u
U2VjcmV0KSkKK3sKK30KKwogUHVzaFN1YnNjcmlwdGlvbjo6UHVzaFN1YnNjcmlwdGlvbihSZWY8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4mJiByZWdpc3RyYXRpb24sIFN0cmluZyYmIGVuZHBv
aW50LCBzdGQ6Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgVmVjdG9y
PHVpbnQ4X3Q+JiYgc2VydmVyVkFQSURQdWJsaWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIGNsaWVu
dEVDREhQdWJsaWNLZXksIFZlY3Rvcjx1aW50OF90PiYmIHNoYXJlZEF1dGhlbnRpY2F0aW9uU2Vj
cmV0KQogICAgIDogbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKFdURk1vdmUocmVnaXN0cmF0
aW9uKSkKICAgICAsIG1fZW5kcG9pbnQoV1RGTW92ZShlbmRwb2ludCkpCkBAIC04Niw5ICs5Nywx
NiBAQCBFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+IFB1c2hTdWJzY3JpcHRp
b246OmdldEtleShQdXNoRW5jcnlwdGlvbktleQogICAgIHJldHVybiBidWZmZXI7CiB9CiAKLXZv
aWQgUHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3JpYmUoRE9NUHJvbWlzZURlZmVycmVkPElETEJv
b2xlYW4+JiYgcHJvbWlzZSkKK3ZvaWQgUHVzaFN1YnNjcmlwdGlvbjo6dW5zdWJzY3JpYmUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgRE9NUHJvbWlzZURl
ZmVycmVkPElETEJvb2xlYW4+JiYgcHJvbWlzZSkKIHsKLSAgICBtX3NlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24tPnVuc3Vic2NyaWJlRnJvbVB1c2hTZXJ2aWNlKFdURk1vdmUocHJvbWlzZSkpOwor
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3Vy
Y2U6Ok5ldHdvcmtpbmcsIFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgcHJv
bWlzZSA9IFdURk1vdmUocHJvbWlzZSldKCkgbXV0YWJsZSB7CisgICAgICAgIGlmICghbV9zZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKSB7CisgICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoZmFs
c2UpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV9zZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uLT51bnN1YnNjcmliZUZyb21QdXNoU2VydmljZShXVEZNb3ZlKHBy
b21pc2UpKTsKKyAgICB9KTsKIH0KIAogUHVzaFN1YnNjcmlwdGlvbkpTT04gUHVzaFN1YnNjcmlw
dGlvbjo6dG9KU09OKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoU3Vic2NyaXB0aW9uLmgKaW5kZXggY2I4ODc0OGU2NjU0NjdkMzY1ZjBmOGI2ZTEw
MGRmMWU4NTRkNWM5ZC4uMDljYzNhMGQzZWE0NWM3NDUxOWFiNzk4ZmE0ODFhZGQwMTE2N2ZkMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0
aW9uLmgKQEAgLTQxLDYgKzQxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUHVz
aFN1YnNjcmlwdGlvbk9wdGlvbnM7CitjbGFzcyBTY3JpcHRFeGVjdXRpb25Db250ZXh0OwogY2xh
c3MgU2VydmljZVdvcmtlckNvbnRhaW5lcjsKIGNsYXNzIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b247CiAKQEAgLTU0LDE0ICs1NSwxNSBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxFcG9j
aFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUoKSBjb25zdDsKICAgICBQdXNoU3Vic2NyaXB0aW9u
T3B0aW9ucyYgb3B0aW9ucygpIGNvbnN0OwogICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPj4gZ2V0S2V5KFB1c2hFbmNyeXB0aW9uS2V5TmFtZSkgY29uc3Q7Ci0gICAgdm9p
ZCB1bnN1YnNjcmliZShET01Qcm9taXNlRGVmZXJyZWQ8SURMQm9vbGVhbj4mJik7CisgICAgdm9p
ZCB1bnN1YnNjcmliZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgRE9NUHJvbWlzZURlZmVycmVk
PElETEJvb2xlYW4+JiYpOwogCiAgICAgUHVzaFN1YnNjcmlwdGlvbkpTT04gdG9KU09OKCkgY29u
c3Q7CiAKIHByaXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQgUHVzaFN1YnNjcmlwdGlvbihSZWY8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4mJiwgU3RyaW5nJiYgZW5kcG9pbnQsIHN0ZDo6b3B0
aW9uYWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBWZWN0b3I8dWludDhfdD4mJiBz
ZXJ2ZXJWQVBJRFB1YmxpY0tleSwgVmVjdG9yPHVpbnQ4X3Q+JiYgY2xpZW50RUNESFB1YmxpY0tl
eSwgVmVjdG9yPHVpbnQ4X3Q+JiYgYXV0aCk7CisgICAgV0VCQ09SRV9FWFBPUlQgUHVzaFN1YnNj
cmlwdGlvbihTdHJpbmcmJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4g
ZXhwaXJhdGlvblRpbWUsIFZlY3Rvcjx1aW50OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBW
ZWN0b3I8dWludDhfdD4mJiBjbGllbnRFQ0RIUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBh
dXRoKTsKKyAgICBQdXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
PiYmLCBTdHJpbmcmJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxFcG9jaFRpbWVTdGFtcD4gZXhw
aXJhdGlvblRpbWUsIFZlY3Rvcjx1aW50OF90PiYmIHNlcnZlclZBUElEUHVibGljS2V5LCBWZWN0
b3I8dWludDhfdD4mJiBjbGllbnRFQ0RIUHVibGljS2V5LCBWZWN0b3I8dWludDhfdD4mJiBhdXRo
KTsKIAotICAgIFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uPiBtX3NlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb247CisgICAgUmVmUHRyPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24+IG1fc2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbjsKICAgICBTdHJpbmcgbV9lbmRwb2ludDsKICAgICBzdGQ6
Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBtX2V4cGlyYXRpb25UaW1lOwogICAgIFJlZjxQdXNo
U3Vic2NyaXB0aW9uT3B0aW9ucz4gbV9vcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbi5pZGwKaW5kZXggYTIyOWJhM2IzMDQ5
NzIyNDhjYTAwNjBiNWI2ZDQwNDUzZjVhNWQ4Ni4uYzMzMDc2OWViMjI5YTA4OTY5ODRkZTA0NjE3
YTRkYTYyY2EzNDJiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFw
aS9QdXNoU3Vic2NyaXB0aW9uLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gt
YXBpL1B1c2hTdWJzY3JpcHRpb24uaWRsCkBAIC0zNyw3ICszNyw3IEBACiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIEVwb2NoVGltZVN0YW1wPyBleHBpcmF0aW9uVGltZTsKICAgICBbU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIFB1c2hTdWJzY3JpcHRpb25PcHRpb25zIG9wdGlvbnM7CiAg
ICAgQXJyYXlCdWZmZXI/IGdldEtleShQdXNoRW5jcnlwdGlvbktleU5hbWUgbmFtZSk7Ci0gICAg
UHJvbWlzZTxib29sZWFuPiB1bnN1YnNjcmliZSgpOworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVj
dXRpb25Db250ZXh0XSBQcm9taXNlPGJvb2xlYW4+IHVuc3Vic2NyaWJlKCk7CiAKICAgICBQdXNo
U3Vic2NyaXB0aW9uSlNPTiB0b0pTT04oKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOWY4NzBhNzRiMmYwODkxMmMxZGE2NzAxOGU4ODBhNjkzNTc3YWUyZQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmNwcApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dC5oIgorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiUHVzaFN1YnNj
cmlwdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCk7CisKK1JlZjxQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQ+IFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQmJiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlz
VHJ1c3RlZCkKK3sKKyAgICBhdXRvIG5ld1N1YnNjcmlwdGlvbiA9IGluaXRpYWxpemVyLm5ld1N1
YnNjcmlwdGlvbjsKKyAgICBhdXRvIG9sZFN1YnNjcmlwdGlvbiA9IGluaXRpYWxpemVyLm9sZFN1
YnNjcmlwdGlvbjsKKyAgICByZXR1cm4gY3JlYXRlKHR5cGUsIFdURk1vdmUoaW5pdGlhbGl6ZXIp
LCBXVEZNb3ZlKG5ld1N1YnNjcmlwdGlvbiksIFdURk1vdmUob2xkU3Vic2NyaXB0aW9uKSwgaXNU
cnVzdGVkKTsKK30KKworUmVmPFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudD4gUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5k
YWJsZUV2ZW50SW5pdCYmIGluaXRpYWxpemVyLCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBu
ZXdTdWJzY3JpcHRpb24sIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNjcmlwdGlv
biwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQodHlwZSwgV1RGTW92ZShpbml0aWFsaXplciksIFdURk1v
dmUobmV3U3Vic2NyaXB0aW9uKSwgV1RGTW92ZShvbGRTdWJzY3JpcHRpb24pLCBpc1RydXN0ZWQp
KTsKK30KKworUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50OjpQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGV2
ZW50SW5pdCwgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+JiYgbmV3U3Vic2NyaXB0aW9uLCBSZWZQ
dHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBvbGRTdWJzY3JpcHRpb24sIElzVHJ1c3RlZCBpc1RydXN0
ZWQpCisgICAgOiBFeHRlbmRhYmxlRXZlbnQodHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1Ry
dXN0ZWQpCisgICAgLCBtX25ld1N1YnNjcmlwdGlvbihXVEZNb3ZlKG5ld1N1YnNjcmlwdGlvbikp
CisgICAgLCBtX29sZFN1YnNjcmlwdGlvbihXVEZNb3ZlKG9sZFN1YnNjcmlwdGlvbikpCit7Cit9
CisKK1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudDo6flB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCgpID0gZGVmYXVsdDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOTE2OTY1ZTE1MDZjMjk5YzhjZTg5YjAzNjI4ZGU5OTI5N2MyNzA1MAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiRXh0ZW5kYWJsZUV2ZW50
LmgiCisjaW5jbHVkZSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oIgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBmaW5h
bCA6IHB1YmxpYyBFeHRlbmRhYmxlRXZlbnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQo
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmLCBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0JiYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8p
OworICAgIHN0YXRpYyBSZWY8UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50PiBjcmVhdGUoY29u
c3QgQXRvbVN0cmluZyYsIEV4dGVuZGFibGVFdmVudEluaXQmJiwgUmVmUHRyPFB1c2hTdWJzY3Jp
cHRpb24+JiYgbmV3U3Vic2NyaXB0aW9uLCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBvbGRT
dWJzY3JpcHRpb24sIElzVHJ1c3RlZCk7CisgICAgflB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCgpOworCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbnRlcmZhY2VUeXBlOyB9CisgICAg
UHVzaFN1YnNjcmlwdGlvbiogbmV3U3Vic2NyaXB0aW9uKCkgeyByZXR1cm4gbV9uZXdTdWJzY3Jp
cHRpb24uZ2V0KCk7IH0KKyAgICBQdXNoU3Vic2NyaXB0aW9uKiBvbGRTdWJzY3JpcHRpb24oKSB7
IHJldHVybiBtX29sZFN1YnNjcmlwdGlvbi5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudChjb25zdCBBdG9tU3RyaW5nJiwgRXh0ZW5kYWJsZUV2ZW50
SW5pdCYmLCBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4mJiBuZXdTdWJzY3JpcHRpb24sIFJlZlB0
cjxQdXNoU3Vic2NyaXB0aW9uPiYmIG9sZFN1YnNjcmlwdGlvbiwgSXNUcnVzdGVkKTsKKworICAg
IFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBtX25ld1N1YnNjcmlwdGlvbjsKKyAgICBSZWZQdHI8
UHVzaFN1YnNjcmlwdGlvbj4gbV9vbGRTdWJzY3JpcHRpb247Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTViYTg2YTc1YmNjZDI4ZTYwZDBiZjA2NmJi
NzY4ODY1NzYzMmE4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
cHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmlkbApAQCAtMCwwICsxLDM3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSLAorICAgIEVu
YWJsZWRBdFJ1bnRpbWU9UHVzaEFQSUVuYWJsZWQsCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9F
WFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyLAorICAgIEpTR2VuZXJhdGVUb05hdGl2
ZU9iamVjdCwKKyAgICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBQdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0cnVjdG9yKERPTVN0cmlu
ZyB0eXBlLCBvcHRpb25hbCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0IGV2ZW50SW5p
dERpY3QpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQdXNoU3Vic2NyaXB0aW9uPyBuZXdTdWJz
Y3JpcHRpb247CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFB1c2hTdWJzY3JpcHRpb24/IG9sZFN1
YnNjcmlwdGlvbjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gt
YXBpL1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYwZmZiZjA0NmM0ZmM2NmUwMmQzZGE1N2E1Njc3M2FmNWY2MGUyN2YKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudEluaXQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRlICJFeHRlbmRhYmxl
RXZlbnRJbml0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgUHVzaFN1YnNjcmlw
dGlvbjsKKworc3RydWN0IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQgOiBFeHRlbmRh
YmxlRXZlbnRJbml0IHsKKyAgICBSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gbmV3U3Vic2NyaXB0
aW9uOworICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBvbGRTdWJzY3JpcHRpb247Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZjQw
MGVmYTM5MWEzMzRkNDAyZDZhMTRkNzMyZTkzN2Y5YTRhY2Y0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnRJbml0LmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAoQnVmZmVy
U291cmNlIG9yIFVTVlN0cmluZykgUHVzaE1lc3NhZ2VEYXRhSW5pdDsKKworWworICAgIENvbmRp
dGlvbmFsPVNFUlZJQ0VfV09SS0VSCitdIGRpY3Rpb25hcnkgUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFB1c2hTdWJzY3JpcHRpb24/
IG5ld1N1YnNjcmlwdGlvbjsKKyAgICBQdXNoU3Vic2NyaXB0aW9uPyBvbGRTdWJzY3JpcHRpb247
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dAppbmRleCAzNTkwMzY2NTdkOWNiNTYxOTI2ZGE5N2Q1MWM3NTU3MjBk
MTJiYTczLi5hNjcxZjVmODljOTFmZjJmMmZjYjNiNDg2ODk2ZDYwN2M1NDUyMGQ1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3Vy
Y2VzLnR4dApAQCAtMjU0LDYgKzI1NCw3IEBAIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9QaWN0
dXJlSW5QaWN0dXJlV2luZG93LmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwCiBN
b2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5jcHAKIE1vZHVsZXMvcHVzaC1hcGkvUHVz
aFN1YnNjcmlwdGlvbi5jcHAKK01vZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50LmNwcAogTW9kdWxlcy9wdXNoLWFwaS9QdXNoU3Vic2NyaXB0aW9uRGF0YS5jcHAKIE1v
ZHVsZXMvcHVzaC1hcGkvUHVzaFN1YnNjcmlwdGlvbk9wdGlvbnMuY3BwCiBNb2R1bGVzL3B1c2gt
YXBpL1B1c2hNYW5hZ2VyLmNwcApAQCAtMzU0Nyw2ICszNTQ4LDggQEAgSlNQdXNoTWFuYWdlci5j
cHAKIEpTUHVzaE1lc3NhZ2VEYXRhLmNwcAogSlNQdXNoUGVybWlzc2lvblN0YXRlLmNwcAogSlNQ
dXNoU3Vic2NyaXB0aW9uLmNwcAorSlNQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuY3BwCitK
U1B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudEluaXQuY3BwCiBKU1B1c2hTdWJzY3JpcHRpb25K
U09OLmNwcAogSlNQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5jcHAKIEpTUHVzaFN1YnNjcmlwdGlv
bk9wdGlvbnNJbml0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDVlY2Q1MTY1YzY1N2Q5ZjBjNDc0YzE2YmJjNjE3YjIwOTk1
MzA4ZDcuLjc0OGI2ODJmOWQ3MDRkYmEwM2FhYjI2NDY4NjMwNzczYjNkZGVmODUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTUz
OTcsNiArNTM5Nyw4IEBACiAJCUVCMEZCNzBDMjcwRDBCMjkwMEY3ODEwRCAvKiBQdXNoU3Vic2Ny
aXB0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRUIwRkI3MDYyNzBEMEFFQzAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb25PcHRpb25z
LmggKi87IH07CiAJCUVCMEZCNzBEMjcwRDBCMkUwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9u
T3B0aW9uc0luaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEVCMEZCNzAxMjcwRDBBRUEwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uT3B0aW9uc0lu
aXQuaCAqLzsgfTsKIAkJRUIyOEVENDQyNzE3QUMxMTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRp
b25EYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBF
QjI4RUQ0MTI3MTdBQkE5MDA1RjAzOTMgLyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFQjNDMjlCNjI3MjlD
Mzg4MDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQjNDMjlCNDI3MjlDMzZFMDBGQjY1
QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmggKi87IH07CisJCUVCM0MyOUI3Mjcy
OUMzOEMwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFQjNDMjlCMTI3MjlDMzZE
MDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oICovOyB9OwogCQlF
QkI5NzM4MTI3MTAwNjcxMDA3NzMyRUYgLyogUHVzaE1hbmFnZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCQjk3MzgwMjcxMDA2NTQwMDc3MzJFRiAv
KiBQdXNoTWFuYWdlci5oICovOyB9OwogCQlFQkI5NzM4MjI3MTAwNjc2MDA3NzMyRUYgLyogUHVz
aFBlcm1pc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRUJCOTczNzgyNzEwMDY1MTAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlFQkI5
NzM4MzI3MTAwNjg0MDA3NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEVCQjk3MzdB
MjcxMDA2NTIwMDc3MzJFRiAvKiBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uUHVzaEFQSS5oICov
OyB9OwpAQCAtMTcxNDAsNiArMTcxNDIsMTEgQEAKIAkJRUIwRkI3MDcyNzBEMEFFQzAwRjc4MTBE
IC8qIFB1c2hTdWJzY3JpcHRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaFN1YnNjcmlwdGlvbi5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQjI4RUQ0MTI3MTdBQkE5MDA1RjAzOTMg
LyogUHVzaFN1YnNjcmlwdGlvbkRhdGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaFN1YnNjcmlwdGlv
bkRhdGEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRUIyOEVENDMyNzE3QUJBOTAw
NUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRpb25EYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1
c2hTdWJzY3JpcHRpb25EYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUIz
QzI5QUYyNzI5QzM2RDAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFQjNDMjlCMTI3MjlD
MzZEMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUVCM0MyOUIyMjcyOUMzNkUwMEZCNjVC
NCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRUIzQzI5QjMyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRUIzQzI5
QjQyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRUJCOTczNzgyNzEwMDY1MTAwNzczMkVG
IC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaFBlcm1pc3Npb25T
dGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFQkI5NzM3QTI3MTAwNjUyMDA3
NzMyRUYgLyogU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvblB1c2hBUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRUJCOTczN0IyNzEwMDY1MjAwNzczMkVGIC8qIFNlcnZpY2VXb3JrZXJSZWdp
c3RyYXRpb24rUHVzaEFQSS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24rUHVz
aEFQSS5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1OTMsNiArMjA2MDAs
MTEgQEAKIAkJCQlFQjBGQjcwNDI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5j
cHAgKi8sCiAJCQkJRUIwRkI3MDcyNzBEMEFFQzAwRjc4MTBEIC8qIFB1c2hTdWJzY3JpcHRpb24u
aCAqLywKIAkJCQlFQjBGQjcwNTI3MEQwQUVCMDBGNzgxMEQgLyogUHVzaFN1YnNjcmlwdGlvbi5p
ZGwgKi8sCisJCQkJRUIzQzI5QUYyNzI5QzM2RDAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25D
aGFuZ2VFdmVudC5jcHAgKi8sCisJCQkJRUIzQzI5QjQyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudC5oICovLAorCQkJCUVCM0MyOUIzMjcyOUMzNkUwMEZCNjVC
NCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQuaWRsICovLAorCQkJCUVCM0MyOUIxMjcy
OUMzNkQwMEZCNjVCNCAvKiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnRJbml0LmggKi8sCisJ
CQkJRUIzQzI5QjIyNzI5QzM2RTAwRkI2NUI0IC8qIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dEluaXQuaWRsICovLAogCQkJCUVCMjhFRDQzMjcxN0FCQTkwMDVGMDM5MyAvKiBQdXNoU3Vic2Ny
aXB0aW9uRGF0YS5jcHAgKi8sCiAJCQkJRUIyOEVENDEyNzE3QUJBOTAwNUYwMzkzIC8qIFB1c2hT
dWJzY3JpcHRpb25EYXRhLmggKi8sCiAJCQkJRUIwRkI3MDMyNzBEMEFFQjAwRjc4MTBEIC8qIFB1
c2hTdWJzY3JpcHRpb25KU09OLmggKi8sCkBAIC0zNTQ4Miw2ICszNTQ5NCw4IEBACiAJCQkJRUJC
OTczODIyNzEwMDY3NjAwNzczMkVGIC8qIFB1c2hQZXJtaXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTgzRDUxMUY2MjUwQzFDQkYwMDJFREM1MSAvKiBQdXNoUHVsbEZJRk8uaCBpbiBI
ZWFkZXJzICovLAogCQkJCUVCMEZCNzA5MjcwRDBCMTgwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0
aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjNDMjlCNjI3MjlDMzg4MDBGQjY1QjQgLyogUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlFQjNDMjlCNzI3
MjlDMzhDMDBGQjY1QjQgLyogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50SW5pdC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRUIyOEVENDQyNzE3QUMxMTAwNUYwMzkzIC8qIFB1c2hTdWJzY3JpcHRp
b25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQlFQjBGQjcwQTI3MEQwQjFCMDBGNzgxMEQgLyog
UHVzaFN1YnNjcmlwdGlvbkpTT04uaCBpbiBIZWFkZXJzICovLAogCQkJCUVCMEZCNzBDMjcwRDBC
MjkwMEY3ODEwRCAvKiBQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5k
ZXggNDFiMzcyOTFmM2VkNDFiYmM3Y2QxMGJkYjAxMTE0ZjBlY2E1NjAxOS4uYWI1OWJlODE1MTFj
YjdlMjE3MmUyZDFhMWFmOTJkNjk5YjU0N2VkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMjUyLDYgKzI1Miw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhQdXNoTWFuYWdlcikgXAogICAgIG1hY3JvKFB1c2hN
ZXNzYWdlRGF0YSkgXAogICAgIG1hY3JvKFB1c2hTdWJzY3JpcHRpb24pIFwKKyAgICBtYWNybyhQ
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQpIFwKICAgICBtYWNybyhQdXNoU3Vic2NyaXB0aW9u
T3B0aW9ucykgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyKSBcCiAgICAgbWFjcm8oUmVzaXpl
T2JzZXJ2ZXJFbnRyeSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFt
ZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCA1N2IzYWVmNTFh
Mzg5YzVkODMzYmVmOThlYzQwMDI2MGJiY2E1YjlmLi5kNWY4MWFjNGU0NmEwZjA0NjdmMzQxYzM1
NWMwNDc0M2VkODNkY2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtMzcsNiArMzcs
NyBAQCBQb3BTdGF0ZUV2ZW50CiBQcm9ncmVzc0V2ZW50CiBQcm9taXNlUmVqZWN0aW9uRXZlbnQK
IFB1c2hFdmVudCBjb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUgorUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IGNvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSCiBTdWJtaXRFdmVudAogVGV4dEV2
ZW50CiBUcmFuc2l0aW9uRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRl
eCA2YjUxYTY3YTMwNWM2NzliNmJlMzY4YTJiNmY0OTMwMDUyYjhjOGRhLi42ODc5Y2Y4YzU2MDdl
Yzc3MTZlZTI1OGQ4OTMzZTM0M2NkZDlhZjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuY3BwCkBAIC0xMjMsNyArMTIzLDYgQEAKICNpbmNsdWRlICJJbnRlcm5hbHNTZXRMaWtlLmgi
CiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0ltYWdlRGF0
YS5oIgotI2luY2x1ZGUgIkpTU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUg
IkxlZ2FjeVNjaGVtZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJMb2FkZXJTdHJhdGVneS5oIgpAQCAtMTY1LDcgKzE2NCw2IEBACiAjaW5jbHVk
ZSAiUHJpbnRDb250ZXh0LmgiCiAjaW5jbHVkZSAiUHNldWRvRWxlbWVudC5oIgogI2luY2x1ZGUg
IlB1c2hTdWJzY3JpcHRpb24uaCIKLSNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9uT3B0aW9ucy5o
IgogI2luY2x1ZGUgIlJUQ1J0cFNGcmFtZVRyYW5zZm9ybS5oIgogI2luY2x1ZGUgIlJhbmdlLmgi
CiAjaW5jbHVkZSAiUmVhZGFibGVTdHJlYW0uaCIKQEAgLTY1ODUsMTQgKzY1ODMsMTQgQEAgdm9p
ZCBJbnRlcm5hbHM6OnJldGFpblRleHRJdGVyYXRvckZvckRvY3VtZW50Q29udGVudCgpCiB9CiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi1SZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gSW50
ZXJuYWxzOjpjcmVhdGVQdXNoU3Vic2NyaXB0aW9uKFJlZjxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uPiYmIHJlZ2lzdHJhdGlvbiwgY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgc3RkOjpvcHRpb25h
bDxFcG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUsIGNvbnN0IEFycmF5QnVmZmVyJiBzZXJ2
ZXJWQVBJRFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGNsaWVudEVDREhQdWJsaWNLZXks
IGNvbnN0IEFycmF5QnVmZmVyJiBhdXRoKQorUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IEludGVy
bmFsczo6Y3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBzdGQ6
Om9wdGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgY29uc3QgQXJyYXlCdWZm
ZXImIHNlcnZlclZBUElEUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgY2xpZW50RUNESFB1
YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGF1dGgpCiB7CiAgICAgYXV0byBteUVuZHBvaW50
ID0gZW5kcG9pbnQ7CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG15U2VydmVyVkFQSURQdWJsaWNLZXkg
eyBzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oc2VydmVyVkFQSURQdWJsaWNLZXkuZGF0YSgp
KSwgc2VydmVyVkFQSURQdWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CiAgICAgVmVjdG9yPHVpbnQ4
X3Q+IG15Q2xpZW50RUNESFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihj
bGllbnRFQ0RIUHVibGljS2V5LmRhdGEoKSksIGNsaWVudEVDREhQdWJsaWNLZXkuYnl0ZUxlbmd0
aCgpIH07CiAgICAgVmVjdG9yPHVpbnQ4X3Q+IG15QXV0aCB7IHN0YXRpY19jYXN0PGNvbnN0IHVp
bnQ4X3QqPihhdXRoLmRhdGEoKSksIGF1dGguYnl0ZUxlbmd0aCgpIH07CiAKLSAgICByZXR1cm4g
UHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUocmVnaXN0cmF0aW9uKSwgV1RGTW92ZSht
eUVuZHBvaW50KSwgZXhwaXJhdGlvblRpbWUsIFdURk1vdmUobXlTZXJ2ZXJWQVBJRFB1YmxpY0tl
eSksIFdURk1vdmUobXlDbGllbnRFQ0RIUHVibGljS2V5KSwgV1RGTW92ZShteUF1dGgpKTsKKyAg
ICByZXR1cm4gUHVzaFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUobXlFbmRwb2ludCksIGV4
cGlyYXRpb25UaW1lLCBXVEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkpLCBXVEZNb3ZlKG15
Q2xpZW50RUNESFB1YmxpY0tleSksIFdURk1vdmUobXlBdXRoKSk7CiB9CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXggNzhiMDRiZTdiYzVkZWU1YmNkOWRmYjViMmZk
MjA3ZDNlZjAxNjQ1Ny4uYjdmZDNiMDM5MWRkNThhMmEwODMyODQ4MTEyYzk3NzU5MTk0MjZlNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCkBAIC0xMjcsNyArMTI3LDYgQEAgY2xhc3Mg
VGV4dFRyYWNrQ3VlR2VuZXJpYzsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiBjbGFzcyBQ
dXNoU3Vic2NyaXB0aW9uOwogY2xhc3MgU2VydmljZVdvcmtlcjsKLWNsYXNzIFNlcnZpY2VXb3Jr
ZXJSZWdpc3RyYXRpb247CiAjZW5kaWYKIAogI2lmIEVOQUJMRShXRUJfUlRDKQpAQCAtMTIwNiw3
ICsxMjA1LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmV0YWluVGV4dEl0ZXJhdG9yRm9yRG9jdW1l
bnRDb250ZW50KCk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgUmVmUHRyPFB1
c2hTdWJzY3JpcHRpb24+IGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oUmVmPFNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb24+JiYsIGNvbnN0IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9uYWw8RXBv
Y2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBjb25zdCBBcnJheUJ1ZmZlciYgc2VydmVyVkFQ
SURQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVibGljS2V5LCBjb25z
dCBBcnJheUJ1ZmZlciYgYXV0aCk7CisgICAgUmVmUHRyPFB1c2hTdWJzY3JpcHRpb24+IGNyZWF0
ZVB1c2hTdWJzY3JpcHRpb24oY29uc3QgU3RyaW5nJiBlbmRwb2ludCwgc3RkOjpvcHRpb25hbDxF
cG9jaFRpbWVTdGFtcD4gZXhwaXJhdGlvblRpbWUsIGNvbnN0IEFycmF5QnVmZmVyJiBzZXJ2ZXJW
QVBJRFB1YmxpY0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGNsaWVudEVDREhQdWJsaWNLZXksIGNv
bnN0IEFycmF5QnVmZmVyJiBhdXRoKTsKICNlbmRpZgogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGE3ZmY0ZTNjYmUzOGFmZDRkMmU4MWI2MTc0YWVmOGM1
MjVjZTA1YTAuLjg0MmIyZjkyNDRmYjM3N2NiMTQ3ZjA1ZjlhNTcyMWIxNjU3ZTQxNzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEwNzMsNSArMTA3Myw1IEBAIGVudW0g
QXV0b3BsYXlQb2xpY3kgewogCiAgICAgdW5kZWZpbmVkIHJldGFpblRleHRJdGVyYXRvckZvckRv
Y3VtZW50Q29udGVudCgpOwogCi0gICAgW0NvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSXSBQdXNo
U3Vic2NyaXB0aW9uIGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbiByZWdpc3RyYXRpb24sIFVTVlN0cmluZyBlbmRwb2ludCwgRXBvY2hUaW1lU3RhbXA/IGV4
cGlyYXRpb25UaW1lLCBBcnJheUJ1ZmZlciBzZXJ2ZXJWQVBJRFB1YmxpY0tleSwgQXJyYXlCdWZm
ZXIgY2xpZW50RUNESFB1YmxpY0tleSwgQXJyYXlCdWZmZXIgYXV0aCk7CisgICAgW0NvbmRpdGlv
bmFsPVNFUlZJQ0VfV09SS0VSXSBQdXNoU3Vic2NyaXB0aW9uIGNyZWF0ZVB1c2hTdWJzY3JpcHRp
b24oVVNWU3RyaW5nIGVuZHBvaW50LCBFcG9jaFRpbWVTdGFtcD8gZXhwaXJhdGlvblRpbWUsIEFy
cmF5QnVmZmVyIHNlcnZlclZBUElEUHVibGljS2V5LCBBcnJheUJ1ZmZlciBjbGllbnRFQ0RIUHVi
bGljS2V5LCBBcnJheUJ1ZmZlciBhdXRoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmNwcAppbmRleCA5NzYzODdjMDYxZmM5OWZmMzQ4
MWUwYTBiMWRkNWFiNjcxMTM2ZWE4Li44YzY3NzU5OTUwNDhiYzJlYzczY2M1MmZjNzY3NjFjMzhi
ZjdiNDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJ
bnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlcklu
dGVybmFscy5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkZldGNoRXZlbnQuaCIK
ICNpbmNsdWRlICJKU0ZldGNoUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJQdXNoU3Vic2NyaXB0aW9u
LmgiCiAjaW5jbHVkZSAiU1dDb250ZXh0TWFuYWdlci5oIgogI2luY2x1ZGUgPHd0Zi9Qcm9jZXNz
SUQuaD4KIApAQCAtMTYwLDYgKzE2MSwxNiBAQCB2b2lkIFNlcnZpY2VXb3JrZXJJbnRlcm5hbHM6
Omxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKFJlZjxEZWZlcnJlZFByb21pc2U+JgogICAg
IH0pOwogfQogCitSZWZQdHI8UHVzaFN1YnNjcmlwdGlvbj4gU2VydmljZVdvcmtlckludGVybmFs
czo6Y3JlYXRlUHVzaFN1YnNjcmlwdGlvbihjb25zdCBTdHJpbmcmIGVuZHBvaW50LCBzdGQ6Om9w
dGlvbmFsPEVwb2NoVGltZVN0YW1wPiBleHBpcmF0aW9uVGltZSwgY29uc3QgQXJyYXlCdWZmZXIm
IHNlcnZlclZBUElEUHVibGljS2V5LCBjb25zdCBBcnJheUJ1ZmZlciYgY2xpZW50RUNESFB1Ymxp
Y0tleSwgY29uc3QgQXJyYXlCdWZmZXImIGF1dGgpCit7CisgICAgYXV0byBteUVuZHBvaW50ID0g
ZW5kcG9pbnQ7CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG15U2VydmVyVkFQSURQdWJsaWNLZXkgeyBz
dGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4oc2VydmVyVkFQSURQdWJsaWNLZXkuZGF0YSgpKSwg
c2VydmVyVkFQSURQdWJsaWNLZXkuYnl0ZUxlbmd0aCgpIH07CisgICAgVmVjdG9yPHVpbnQ4X3Q+
IG15Q2xpZW50RUNESFB1YmxpY0tleSB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4X3QqPihjbGll
bnRFQ0RIUHVibGljS2V5LmRhdGEoKSksIGNsaWVudEVDREhQdWJsaWNLZXkuYnl0ZUxlbmd0aCgp
IH07CisgICAgVmVjdG9yPHVpbnQ4X3Q+IG15QXV0aCB7IHN0YXRpY19jYXN0PGNvbnN0IHVpbnQ4
X3QqPihhdXRoLmRhdGEoKSksIGF1dGguYnl0ZUxlbmd0aCgpIH07CisKKyAgICByZXR1cm4gUHVz
aFN1YnNjcmlwdGlvbjo6Y3JlYXRlKFdURk1vdmUobXlFbmRwb2ludCksIGV4cGlyYXRpb25UaW1l
LCBXVEZNb3ZlKG15U2VydmVyVkFQSURQdWJsaWNLZXkpLCBXVEZNb3ZlKG15Q2xpZW50RUNESFB1
YmxpY0tleSksIFdURk1vdmUobXlBdXRoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3Jr
ZXJJbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVy
bmFscy5oCmluZGV4IGQ1MTUwNGY0Mzc4ZmRiNDVlODUzNTFmNzRmMTEyYzk4NWJjZjgzODQuLjEz
OGIyNzFkMzE4ZmJiMzBlNjcxMDQ1YjllOWE0MWM0NTRmYjljNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvU2VydmljZVdvcmtlckludGVybmFscy5oCkBAIC0yNywxNSArMjcsMTgg
QEAKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKIAorI2luY2x1ZGUgIkVwb2NoVGltZVN0
YW1wLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZl
cnJlZC5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLmgiCisjaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRmV0Y2hFdmVudDsKIGNsYXNzIEZldGNoUmVz
cG9uc2U7CitjbGFzcyBQdXNoU3Vic2NyaXB0aW9uOwogY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVy
cmVkOwpAQCAtNjIsNiArNjUsOCBAQCBwdWJsaWM6CiAgICAgaW50IHByb2Nlc3NJZGVudGlmaWVy
KCkgY29uc3Q7CiAKICAgICB2b2lkIGxhc3ROYXZpZ2F0aW9uV2FzQXBwSW5pdGlhdGVkKFJlZjxE
ZWZlcnJlZFByb21pc2U+JiYpOworICAgIAorICAgIFJlZlB0cjxQdXNoU3Vic2NyaXB0aW9uPiBj
cmVhdGVQdXNoU3Vic2NyaXB0aW9uKGNvbnN0IFN0cmluZyYgZW5kcG9pbnQsIHN0ZDo6b3B0aW9u
YWw8RXBvY2hUaW1lU3RhbXA+IGV4cGlyYXRpb25UaW1lLCBjb25zdCBBcnJheUJ1ZmZlciYgc2Vy
dmVyVkFQSURQdWJsaWNLZXksIGNvbnN0IEFycmF5QnVmZmVyJiBjbGllbnRFQ0RIUHVibGljS2V5
LCBjb25zdCBBcnJheUJ1ZmZlciYgYXV0aCk7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgU2Vy
dmljZVdvcmtlckludGVybmFscyhTZXJ2aWNlV29ya2VySWRlbnRpZmllcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9TZXJ2aWNlV29ya2VySW50ZXJuYWxzLmlkbAppbmRleCA4ZDE5
MTRiM2E1ODkwYTQ2ZWFkNDRlZDY5NjhhN2Y0YmQ2ZGI0ZjlhLi44NDY0NTVjNjI2OGY4NWM5ZmIx
NTk4OGYzYWVhMTNlYzkxYmQ3NzMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1NlcnZpY2VXb3JrZXJJbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
U2VydmljZVdvcmtlckludGVybmFscy5pZGwKQEAgLTQ2LDQgKzQ2LDYgQEAKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgbG9uZyBwcm9jZXNzSWRlbnRpZmllcjsKIAogICAgIFByb21pc2U8Ym9vbGVh
bj4gbGFzdE5hdmlnYXRpb25XYXNBcHBJbml0aWF0ZWQoKTsKKyAgICAKKyAgICBQdXNoU3Vic2Ny
aXB0aW9uIGNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oVVNWU3RyaW5nIGVuZHBvaW50LCBFcG9jaFRp
bWVTdGFtcD8gZXhwaXJhdGlvblRpbWUsIEFycmF5QnVmZmVyIHNlcnZlclZBUElEUHVibGljS2V5
LCBBcnJheUJ1ZmZlciBjbGllbnRFQ0RIUHVibGljS2V5LCBBcnJheUJ1ZmZlciBhdXRoKTsKIH07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24uaAppbmRleCA4OWVjOTczZjVmZjY3YTM2YzdhMTRjOTZmMGE1NmQx
ODdhMzQ5OWY2Li41YTM0MmZkZmY5YWNlMDUwZjQ2NmYwNmUyYzkyNjJlNDhiN2Y4OTEzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uLmgKQEAgLTQ1LDExICs0NSwxMSBAQCBjbGFzcyBTZXJ2aWNlV29ya2Vy
OwogY2xhc3MgU2VydmljZVdvcmtlckNvbnRhaW5lcjsKIAogY2xhc3MgU2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24+LCBwdWJsaWMgU3VwcGxlbWVudGFibGU8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbj4s
IHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0
IHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0VYUE9SVChTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uLCBXRUJDT1JFX0VYUE9SVCk7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uKTsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNlcnZpY2VX
b3JrZXJSZWdpc3RyYXRpb24+IGdldE9yQ3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBS
ZWY8U2VydmljZVdvcmtlckNvbnRhaW5lcj4mJiwgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRh
dGEmJik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB+U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbigp
OworICAgIH5TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uKCk7CiAKICAgICBTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uSWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9yZWdp
c3RyYXRpb25EYXRhLmlkZW50aWZpZXI7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsCmluZGV4
IDBjZWIzZThkZjY2YzlhYzU5NjE5MzJkOTNlMGQzNDBkZWViZWRjMzAuLmRkOGIyMmUzN2UxN2Y4
YzAxODA4MzlmZjFlYjQ4NjRiNjMyZjMyNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKQEAg
LTMwLDcgKzMwLDYgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgU2VjdXJlQ29udGV4dCwK
ICAgICBFeHBvc2VkPShXaW5kb3csU2VydmljZVdvcmtlciksCi0gICAgRXhwb3J0TWFjcm89V0VC
Q09SRV9FWFBPUlQsCiAgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsCiAgICAgRW5hYmxl
ZEF0UnVudGltZT1TZXJ2aWNlV29ya2VyRW5hYmxlZCwKICAgICBHZW5lcmF0ZUlzUmVhY2hhYmxl
PUltcGwsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMmQ0ZjYzYWE4YTAxNTk0OGI0ZjUwNzNmYTQwYzc1Y2FiN2M2MGVhOS4u
ZmVjMjdmOWNiZjkyNWY4NzE2YWNiM2VhODFhZGE5OGViMTI1NGRkMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDMzIEBACisyMDIxLTEwLTI4ICBCZW4gTmhhbSAgPG5oYW1AYXBwbGUuY29tPgorCisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjQ1NQorCisgICAgICAgIFJl
dmlld2VkIGJ5IFlvdWVubiBGYWJsZXQuCisKKyAgICAgICAgQWRkZWQgUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50IHRlc3RzIGFuZCBtYWRlIFB1c2hTdWJzY3JpcHRpb24gdGVzdHMgYWxzbyBy
dW4gaW4gdGhlCisgICAgICAgIHNlcnZpY2Ugd29ya2VyIGNvbnRleHQuCisKKyAgICAgICAgKiBo
dHRwL3dwdC9wdXNoLWFwaS9jb25zdGFudHMuanM6IEFkZGVkLgorICAgICAgICAoYnl0ZXNGcm9t
KToKKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFuYWdlci5hbnkuanM6CisgICAg
ICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnktZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb24uaHR0
cHMuYW55LmpzOgorICAgICAgICAoR0xPQkFMLmlzV29ya2VyKToKKyAgICAgICAgKGFzeW5jIHBy
b21pc2VfdGVzdCk6CisgICAgICAgIChieXRlc0Zyb20pOiBEZWxldGVkLgorICAgICAgICAocHJv
bWlzZV90ZXN0LmFzeW5jIHRlc3QpOiBEZWxldGVkLgorICAgICAgICAocHJvbWlzZV90ZXN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0
dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuc2VydmljZXdvcmtlci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9u
Q2hhbmdlRXZlbnQuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKHRlc3QpOgorICAgICAgICAocHJv
bWlzZV90ZXN0LmFzeW5jIG5ld1N1YnNjcmlwdGlvbik6CisgICAgICAgIChwcm9taXNlX3Rlc3Qu
YXN5bmMgcmV0dXJuKToKKyAgICAgICAgKHByb21pc2VfdGVzdCk6CisgICAgICAgICogaHR0cC93
cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5zZXJ2aWNld29ya2Vy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWw6IEFkZGVkLgorCiAy
MDIxLTExLTA5ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAg
IFJFR1JFU1NJT04ocjI3MjIwMSk6IFNhZmFyaSBzaG93ZWQgcmVkIGRpc3RvcnRpb24gb24gd2Vi
dmlldyBhZnRlciB1c2luZyBXZWIgSW5zcGVjdG9yLCByZXR1cm5pbmcgZnJvbSBhbm90aGVyIGFw
cApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMTU5NjkyNGM0NjBiNzU5MzM5OTM3
M2FlYjRlYmFiNzc0OGY0MDVmOS4uODI1NTFlY2M4MDk1MTI3ODY0Nzg2Y2ZmYmUzNWQxZjNjMDgx
NzBkYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIw
MjEtMTAtMjggIEJlbiBOaGFtICA8bmhhbUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBv
cnQgZm9yIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMyNDU1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
WW91ZW5uIEZhYmxldC4KKworICAgICAgICBSZWJhc2VsaW5lIFdQVCB0ZXN0cyB0aGF0IGFyZSBu
b3cgcGFzc2luZy4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxo
YXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0xMS0w
OSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcG9ydCBjc3MvY3Nz
LXNpemluZy9hc3BlY3QtcmF0aW8gdGVzdHMgZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2h0dHAvd3B0L3B1c2gtYXBpL2NvbnN0YW50cy5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3B1c2gtYXBpL2NvbnN0YW50cy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMTU3NDQzZDEwN2NmNjcxYzY4YTEz
M2RiZDBjOTg5MWFmOWU3NzkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvcHVzaC1hcGkvY29uc3RhbnRzLmpzCkBAIC0wLDAgKzEsMjEgQEAKK2NvbnN0IEVORFBPSU5U
ID0gJ2h0dHBzOi8vd3d3LndlYmtpdC5vcmcnOworY29uc3QgRVhQSVJBVElPTl9USU1FID0gMTYz
MzAwMDAwMDsKKworY29uc3QgQ0xJRU5UX0JBU0U2NF9LRVlfMSA9ICdCQTFIeHp5aTFSVU0xYjV3
anhzbjduR3hBc3p3MnU2MW0xNjRpM01yQUl4SEY2WUs1aDRTRFlpYy1kUnVVX1JDUENmQTVhcTlv
alN3azVZMkVtQ2xCUHMnOworY29uc3QgQ0xJRU5UX0tFWV8xID0gbmV3IFVpbnQ4QXJyYXkoWzQs
IDEzLCA3MSwgMTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAxOTAsIDExMiwgMTQzLCAy
NywgMzksIDIzOCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIzOCwgMTgxLCAxNTUsIDk0
LCAxODQsIDEzOSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2NiwgMTAsIDIzMCwgMzAsIDE4
LCAxMywgMTM2LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2LCA2MCwgMzksIDE5Miwg
MjI5LCAxNzAsIDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQsIDE4LCA5NiwgMTY1LCA0
LCAyNTFdKS5idWZmZXI7CisKK2NvbnN0IENMSUVOVF9CQVNFNjRfS0VZXzIgPSAnQkNWeHNyN05f
ZU5nVlJxdkh0RDB6VFpzRWM2LVZWLUp2TGV4aHFVek9SY3hhT3ppNi1BWVdYdlRCSG00Ymp5UGpz
N1ZkOHBaR0g2U1Jwa050b0lBaXc0JzsKK2NvbnN0IENMSUVOVF9LRVlfMiA9IG5ldyBVaW50OEFy
cmF5KFs0LCAzNywgMTEzLCAxNzgsIDE5MCwgMjA1LCAyNTMsIDIyNywgOTYsIDg1LCAyNiwgMTc1
LCAzMCwgMjA4LCAyNDQsIDIwNSwgNTQsIDEwOCwgMTcsIDIwNiwgMTkwLCA4NSwgOTUsIDEzNywg
MTg4LCAxODMsIDE3NywgMTM0LCAxNjUsIDUxLCA1NywgMjMsIDQ5LCAxMDQsIDIzNiwgMjI2LCAy
MzUsIDIyNCwgMjQsIDg5LCAxMjMsIDIxMSwgNCwgMTIxLCAxODQsIDExMCwgNjAsIDE0MywgMTQy
LCAyMDYsIDIxMywgMTE5LCAyMDIsIDg5LCAyNCwgMTI2LCAxNDYsIDcwLCAxNTMsIDEzLCAxODIs
IDEzMCwgMCwgMTM5LCAxNF0pLmJ1ZmZlcjsKKworY29uc3QgQkFTRTY0X0FVVEggPSAnQlRCWk1x
SEg2cjRUdHM3Sl9hU0lnZyc7Citjb25zdCBBVVRIID0gbmV3IFVpbnQ4QXJyYXkoWzUsIDQ4LCA4
OSwgNTAsIDE2MSwgMTk5LCAyMzQsIDE5MCwgMTksIDE4MiwgMjA2LCAyMDEsIDI1MywgMTY0LCAx
MzYsIDEzMF0pLmJ1ZmZlcjsKKworY29uc3QgSU5WQUxJRF9TRVJWRVJfS0VZID0gbmV3IFVpbnQ4
QXJyYXkobmV3IEFycmF5KDY1KS5maWxsKDQpKS5idWZmZXI7Citjb25zdCBJTlZBTElEX0JBU0U2
NF9TRVJWRVJfS0VZID0gIkJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVC
QVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUSI7CisKK2NvbnN0
IFZBTElEX0JBU0U2NF9TRVJWRVJfS0VZID0gIkJBMUh4enlpMVJVTTFiNXdqeHNuN25HeEFzency
dTYxbTE2NGkzTXJBSXhIRjZZSzVoNFNEWWljLWRSdVVfUkNQQ2ZBNWFxOW9qU3drNVkyRW1DbEJQ
cyI7Citjb25zdCBWQUxJRF9TRVJWRVJfS0VZID0gbmV3IFVpbnQ4QXJyYXkoWzQsIDEzLCA3MSwg
MTk5LCA2MCwgMTYyLCAyMTMsIDIxLCAxMiwgMjEzLCAxOTAsIDExMiwgMTQzLCAyNywgMzksIDIz
OCwgMTEzLCAxNzcsIDIsIDIwNCwgMjQwLCAyMTgsIDIzOCwgMTgxLCAxNTUsIDk0LCAxODQsIDEz
OSwgMTE1LCA0MywgMCwgMTQwLCA3MSwgMjMsIDE2NiwgMTAsIDIzMCwgMzAsIDE4LCAxMywgMTM2
LCAxNTYsIDI0OSwgMjEyLCAxMTAsIDgzLCAyNDQsIDY2LCA2MCwgMzksIDE5MiwgMjI5LCAxNzAs
IDE4OSwgMTYyLCA1MiwgMTc2LCAxNDcsIDE1MCwgNTQsIDE4LCA5NiwgMTY1LCA0LCAyNTFdKS5i
dWZmZXI7CisKK2Z1bmN0aW9uIGJ5dGVzRnJvbShidWYpIHsKKyAgICByZXR1cm4gQXJyYXkuZnJv
bShuZXcgVWludDhBcnJheShidWYpKTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
d3B0L3B1c2gtYXBpL3B1c2hNYW5hZ2VyLmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1
c2gtYXBpL3B1c2hNYW5hZ2VyLmFueS5qcwppbmRleCAwYmM2YjM2ODIwMDc0YzI3NTFiNTQ1ZDUz
MzA4YmI2NjU1YzA4YTcwLi40ZmY1ODhjMTQwYmVjZDBkY2U0NjM0NDYxYzM0ZjVjZjczNTAxYjFh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoTWFuYWdlci5h
bnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaE1hbmFnZXIuYW55
LmpzCkBAIC0xLDExICsxLDYgQEAKIC8vIE1FVEE6IHRpdGxlPVB1c2hNYW5hZ2VyIHRlc3RzCiAv
LyBNRVRBOiBnbG9iYWw9d2luZG93LHNlcnZpY2V3b3JrZXIKLQotY29uc3QgSU5WQUxJRF9TRVJW
RVJfS0VZID0gbmV3IFVpbnQ4QXJyYXkobmV3IEFycmF5KDY1KS5maWxsKDQpKTsKLWNvbnN0IFZB
TElEX1NFUlZFUl9LRVkgPSBuZXcgVWludDhBcnJheShbNCwgMTMsIDcxLCAxOTksIDYwLCAxNjIs
IDIxMywgMjEsIDEyLCAyMTMsIDE5MCwgMTEyLCAxNDMsIDI3LCAzOSwgMjM4LCAxMTMsIDE3Nywg
MiwgMjA0LCAyNDAsIDIxOCwgMjM4LCAxODEsIDE1NSwgOTQsIDE4NCwgMTM5LCAxMTUsIDQzLCAw
LCAxNDAsIDcxLCAyMywgMTY2LCAxMCwgMjMwLCAzMCwgMTgsIDEzLCAxMzYsIDE1NiwgMjQ5LCAy
MTIsIDExMCwgODMsIDI0NCwgNjYsIDYwLCAzOSwgMTkyLCAyMjksIDE3MCwgMTg5LCAxNjIsIDUy
LCAxNzYsIDE0NywgMTUwLCA1NCwgMTgsIDk2LCAxNjUsIDQsIDI1MV0pOwotCi1jb25zdCBJTlZB
TElEX0JBU0U2NF9TRVJWRVJfS0VZID0gIkJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFF
QkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUSI7
Ci1jb25zdCBWQUxJRF9CQVNFNjRfU0VSVkVSX0tFWSA9ICJCQTFIeHp5aTFSVU0xYjV3anhzbjdu
R3hBc3p3MnU2MW0xNjRpM01yQUl4SEY2WUs1aDRTRFlpYy1kUnVVX1JDUENmQTVhcTlvalN3azVZ
MkVtQ2xCUHMiOworLy8gTUVUQTogc2NyaXB0PWNvbnN0YW50cy5qcwogCiBsZXQgcmVnaXN0cmF0
aW9uID0gbnVsbDsKIGxldCBwdXNoTWFuYWdlciA9IG51bGw7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0
dHBzLmFueS1leHBlY3RlZC50eHQKaW5kZXggYWNhYzViY2IzOGM1Y2Q3MDlkODJhNTUyYmEyZGFk
ODNlMGE4MjE2MC4uMTViMTkxYmExMTlkZTA2OTFjM2IzMDM0ZjEyMTI4MGY1MTZjNjY4NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbi5o
dHRwcy5hbnktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBp
L3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LWV4cGVjdGVkLnR4dApAQCAtMSw1ICsxLDQgQEAK
IAotUEFTUyB3YWl0IGZvciBhY3RpdmUgc2VydmljZSB3b3JrZXIKIFBBU1MgUHVzaFN1YnNjcmlw
dGlvbiBnZXR0ZXJzCi1QQVNTIHVucmVnaXN0ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgdW5zdWJz
Y3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiBub3QgYXNzb2NpYXRlZCB3aXRoIGEgcmVnaXN0cmF0
aW9uCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJz
Y3JpcHRpb24uaHR0cHMuYW55LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVz
aFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuanMKaW5kZXggMzE4MDdiYTE2ZTU5ZWE3YzkzZWVhYzBh
MTdkYTYwNmUwMmYxN2IwMC4uNDBmYjZkZDI2OWY0NzExYWI2MzFhMTg5NTNkZGQxMzNiZmExMjQ1
NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlw
dGlvbi5odHRwcy5hbnkuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVz
aFN1YnNjcmlwdGlvbi5odHRwcy5hbnkuanMKQEAgLTEsNjQgKzEsNDQgQEAKIC8vIE1FVEE6IHRp
dGxlPVB1c2hTdWJzY3JpcHRpb24gdGVzdHMKLS8vIE1FVEE6IGdsb2JhbD13aW5kb3cKKy8vIE1F
VEE6IGdsb2JhbD13aW5kb3csc2VydmljZXdvcmtlcgorLy8gTUVUQTogc2NyaXB0PWNvbnN0YW50
cy5qcwogCi1jb25zdCBlbmRwb2ludCA9ICdodHRwczovL3d3dy53ZWJraXQub3JnJzsKLWNvbnN0
IGV4cGlyYXRpb25UaW1lID0gMTYzMzAwMDAwMDsKLWNvbnN0IGtleTFCdWZmZXIgPSBuZXcgVWlu
dDhBcnJheShbNCwgMTMsIDcxLCAxOTksIDYwLCAxNjIsIDIxMywgMjEsIDEyLCAyMTMsIDE5MCwg
MTEyLCAxNDMsIDI3LCAzOSwgMjM4LCAxMTMsIDE3NywgMiwgMjA0LCAyNDAsIDIxOCwgMjM4LCAx
ODEsIDE1NSwgOTQsIDE4NCwgMTM5LCAxMTUsIDQzLCAwLCAxNDAsIDcxLCAyMywgMTY2LCAxMCwg
MjMwLCAzMCwgMTgsIDEzLCAxMzYsIDE1NiwgMjQ5LCAyMTIsIDExMCwgODMsIDI0NCwgNjYsIDYw
LCAzOSwgMTkyLCAyMjksIDE3MCwgMTg5LCAxNjIsIDUyLCAxNzYsIDE0NywgMTUwLCA1NCwgMTgs
IDk2LCAxNjUsIDQsIDI1MV0pLmJ1ZmZlcjsKLWNvbnN0IGtleTFCYXNlNjRVUkwgPSAnQkExSHh6
eWkxUlVNMWI1d2p4c243bkd4QXN6dzJ1NjFtMTY0aTNNckFJeEhGNllLNWg0U0RZaWMtZFJ1VV9S
Q1BDZkE1YXE5b2pTd2s1WTJFbUNsQlBzJzsKLWNvbnN0IGtleTJCdWZmZXIgPSBuZXcgVWludDhB
cnJheShbNCwgMzcsIDExMywgMTc4LCAxOTAsIDIwNSwgMjUzLCAyMjcsIDk2LCA4NSwgMjYsIDE3
NSwgMzAsIDIwOCwgMjQ0LCAyMDUsIDU0LCAxMDgsIDE3LCAyMDYsIDE5MCwgODUsIDk1LCAxMzcs
IDE4OCwgMTgzLCAxNzcsIDEzNCwgMTY1LCA1MSwgNTcsIDIzLCA0OSwgMTA0LCAyMzYsIDIyNiwg
MjM1LCAyMjQsIDI0LCA4OSwgMTIzLCAyMTEsIDQsIDEyMSwgMTg0LCAxMTAsIDYwLCAxNDMsIDE0
MiwgMjA2LCAyMTMsIDExOSwgMjAyLCA4OSwgMjQsIDEyNiwgMTQ2LCA3MCwgMTUzLCAxMywgMTgy
LCAxMzAsIDAsIDEzOSwgMTRdKS5idWZmZXI7Ci1jb25zdCBrZXkyQmFzZTY0VVJMID0gJ0JDVnhz
cjdOX2VOZ1ZScXZIdEQwelRac0VjNi1WVi1KdkxleGhxVXpPUmN4YU96aTYtQVlXWHZUQkhtNGJq
eVBqczdWZDhwWkdINlNScGtOdG9JQWl3NCc7Ci1jb25zdCBhdXRoQnVmZmVyID0gbmV3IFVpbnQ4
QXJyYXkoWzUsIDQ4LCA4OSwgNTAsIDE2MSwgMTk5LCAyMzQsIDE5MCwgMTksIDE4MiwgMjA2LCAy
MDEsIDI1MywgMTY0LCAxMzYsIDEzMF0pLmJ1ZmZlcjsKLWNvbnN0IGF1dGhCYXNlNjRVUkwgPSAn
QlRCWk1xSEg2cjRUdHM3Sl9hU0lnZyc7CitsZXQgc3Vic2NyaXB0aW9uID0gbnVsbDsKIAotZnVu
Y3Rpb24gYnl0ZXNGcm9tKGJ1ZikgewotICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBVaW50OEFy
cmF5KGJ1ZikpOworaWYgKEdMT0JBTC5pc1dvcmtlcigpKSB7CisgICAgbGV0IGFjdGl2YXRlUHJv
bWlzZSA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2VsZi5vbmFjdGl2YXRlID0gcmVzb2x2ZSk7
CisgICAgcHJvbWlzZV90ZXN0KGFzeW5jICgpID0+IHsKKyAgICAgICByZXR1cm4gYWN0aXZhdGVQ
cm9taXNlOworICAgIH0sICJ3YWl0IGZvciBhY3RpdmUgc2VydmljZSB3b3JrZXIiKTsKIH0KIAot
bGV0IHJlZ2lzdHJhdGlvbiA9IG51bGw7Ci0KLXByb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4g
ewotICAgIHJlZ2lzdHJhdGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmdldFJl
Z2lzdHJhdGlvbigpOwotICAgIGlmIChyZWdpc3RyYXRpb24pIHsKLSAgICAgICAgYXdhaXQgc2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbi51bnJlZ2lzdGVyKCk7Ci0gICAgfQotICAgIHJlZ2lzdHJh
dGlvbiA9IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJlbXB0eVdvcmtl
ci5qcyIpOwotICAgIGFzc2VydF90cnVlKCFyZWdpc3RyYXRpb24uYWN0aXZlLCAic2VydmljZSB3
b3JrZXIgc2hvdWxkIGJlIGluc3RhbGxpbmciKTsKLQotICAgIGxldCBzZXJ2aWNlV29ya2VyID0g
cmVnaXN0cmF0aW9uLmluc3RhbGxpbmcgfHwgcmVnaXN0cmF0aW9uLndhaXRpbmc7Ci0gICAgYXNz
ZXJ0X3RydWUoISFzZXJ2aWNlV29ya2VyLCAicmVnaXN0cmF0aW9uIHNob3VsZCBiZSBhc3NvY2lh
dGVkIHdpdGggYSBzZXJ2aWNlIHdvcmtlciIpOwotCi0gICAgcmV0dXJuIG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gewotICAgICAgICBzZXJ2aWNlV29ya2VyLmFkZEV2ZW50TGlzdGVuZXIoInN0YXRl
Y2hhbmdlIiwgKCkgPT4gewotICAgICAgICAgICAgaWYgKHNlcnZpY2VXb3JrZXIuc3RhdGUgPT09
ICJhY3RpdmF0ZWQiKQotICAgICAgICAgICAgICAgIHJlc29sdmUoKTsKLSAgICAgICAgfSk7Ci0g
ICAgfSk7Ci19LCAid2FpdCBmb3IgYWN0aXZlIHNlcnZpY2Ugd29ya2VyIik7Ci0KIHByb21pc2Vf
dGVzdCgoKSA9PiB7Ci0gICAgYXNzZXJ0X3RydWUoISF3aW5kb3cuaW50ZXJuYWxzLCAidGVzdCBy
ZXF1aXJlcyBpbnRlcm5hbHMiKTsKKyAgICBhc3NlcnRfdHJ1ZSghIXNlbGYuaW50ZXJuYWxzLCAi
dGVzdCByZXF1aXJlcyBpbnRlcm5hbHMiKTsKIAotICAgIGxldCBzdWJzY3JpcHRpb24gPSB3aW5k
b3cuaW50ZXJuYWxzLmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24ocmVnaXN0cmF0aW9uLCBlbmRwb2lu
dCwgZXhwaXJhdGlvblRpbWUsIGtleTFCdWZmZXIsIGtleTJCdWZmZXIsIGF1dGhCdWZmZXIpOwor
ICAgIHN1YnNjcmlwdGlvbiA9IHNlbGYuaW50ZXJuYWxzLmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24o
RU5EUE9JTlQsIEVYUElSQVRJT05fVElNRSwgVkFMSURfU0VSVkVSX0tFWSwgQ0xJRU5UX0tFWV8x
LCBBVVRIKTsKICAgICBhc3NlcnRfdHJ1ZShzdWJzY3JpcHRpb24gaW5zdGFuY2VvZiBQdXNoU3Vi
c2NyaXB0aW9uKTsKIAotICAgIGFzc2VydF9lcXVhbHMoc3Vic2NyaXB0aW9uLmVuZHBvaW50LCBl
bmRwb2ludCk7Ci0gICAgYXNzZXJ0X2VxdWFscyhzdWJzY3JpcHRpb24uZXhwaXJhdGlvblRpbWUs
IGV4cGlyYXRpb25UaW1lKTsKKyAgICBhc3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5lbmRwb2lu
dCwgRU5EUE9JTlQpOworICAgIGFzc2VydF9lcXVhbHMoc3Vic2NyaXB0aW9uLmV4cGlyYXRpb25U
aW1lLCBFWFBJUkFUSU9OX1RJTUUpOwogICAgIGFzc2VydF90cnVlKHN1YnNjcmlwdGlvbi5vcHRp
b25zID09PSBzdWJzY3JpcHRpb24ub3B0aW9ucywgIm9wdGlvbnMgc2hvdWxkIGFsd2F5cyByZXR1
cm4gc2FtZSBvYmplY3QiKTsKICAgICBhc3NlcnRfZXF1YWxzKHN1YnNjcmlwdGlvbi5vcHRpb25z
LnVzZXJWaXNpYmxlT25seSwgdHJ1ZSk7CiAgICAgYXNzZXJ0X3RydWUoc3Vic2NyaXB0aW9uLm9w
dGlvbnMuYXBwbGljYXRpb25TZXJ2ZXJLZXkgPT09IHN1YnNjcmlwdGlvbi5vcHRpb25zLmFwcGxp
Y2F0aW9uU2VydmVyS2V5LCAiYXBwbGljYXRpb25TZXJ2ZXJLZXkgc2hvdWxkIHJldHVybiBzYW1l
IG9iamVjdCIpOwotICAgIGFzc2VydF9hcnJheV9lcXVhbHMoYnl0ZXNGcm9tKHN1YnNjcmlwdGlv
bi5vcHRpb25zLmFwcGxpY2F0aW9uU2VydmVyS2V5KSwgYnl0ZXNGcm9tKGtleTFCdWZmZXIpKTsK
LSAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGJ5dGVzRnJvbShzdWJzY3JpcHRpb24uZ2V0S2V5KCdw
MjU2ZGgnKSksIGJ5dGVzRnJvbShrZXkyQnVmZmVyKSk7Ci0gICAgYXNzZXJ0X2FycmF5X2VxdWFs
cyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgnYXV0aCcpKSwgYnl0ZXNGcm9tKGF1dGhC
dWZmZXIpKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKGJ5dGVzRnJvbShzdWJzY3JpcHRpb24u
b3B0aW9ucy5hcHBsaWNhdGlvblNlcnZlcktleSksIGJ5dGVzRnJvbShWQUxJRF9TRVJWRVJfS0VZ
KSk7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtl
eSgncDI1NmRoJykpLCBieXRlc0Zyb20oQ0xJRU5UX0tFWV8xKSk7CisgICAgYXNzZXJ0X2FycmF5
X2VxdWFscyhieXRlc0Zyb20oc3Vic2NyaXB0aW9uLmdldEtleSgnYXV0aCcpKSwgYnl0ZXNGcm9t
KEFVVEgpKTsKIAogICAgIG9iaiA9IHN1YnNjcmlwdGlvbi50b0pTT04oKTsKICAgICBhc3NlcnRf
ZXF1YWxzKE9iamVjdC5rZXlzKG9iaikubGVuZ3RoLCAzKTsKLSAgICBhc3NlcnRfZXF1YWxzKG9i
ai5lbmRwb2ludCwgZW5kcG9pbnQpOwotICAgIGFzc2VydF9lcXVhbHMob2JqLmV4cGlyYXRpb25U
aW1lLCBleHBpcmF0aW9uVGltZSk7CisgICAgYXNzZXJ0X2VxdWFscyhvYmouZW5kcG9pbnQsIEVO
RFBPSU5UKTsKKyAgICBhc3NlcnRfZXF1YWxzKG9iai5leHBpcmF0aW9uVGltZSwgRVhQSVJBVElP
Tl9USU1FKTsKICAgICBhc3NlcnRfZXF1YWxzKE9iamVjdC5rZXlzKG9iai5rZXlzKS5sZW5ndGgs
IDIpOwotICAgIGFzc2VydF9lcXVhbHMob2JqLmtleXMucDI1NmRoLCBrZXkyQmFzZTY0VVJMKTsK
LSAgICBhc3NlcnRfZXF1YWxzKG9iai5rZXlzLmF1dGgsIGF1dGhCYXNlNjRVUkwpOworICAgIGFz
c2VydF9lcXVhbHMob2JqLmtleXMucDI1NmRoLCBDTElFTlRfQkFTRTY0X0tFWV8xKTsKKyAgICBh
c3NlcnRfZXF1YWxzKG9iai5rZXlzLmF1dGgsIEJBU0U2NF9BVVRIKTsKIAogICAgIHJldHVybiBu
ZXcgUHJvbWlzZShyZXNvbHZlID0+IHJlc29sdmUoKSk7CiB9LCAiUHVzaFN1YnNjcmlwdGlvbiBn
ZXR0ZXJzIik7CiAKLXByb21pc2VfdGVzdCgodGVzdCkgPT4gcmVnaXN0cmF0aW9uLnVucmVnaXN0
ZXIoKSwgInVucmVnaXN0ZXIgc2VydmljZSB3b3JrZXIiKTsKK3Byb21pc2VfdGVzdChhc3luYyAo
KSA9PiB7CisgICAgbGV0IHJlc3VsdCA9IGF3YWl0IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgp
OworICAgIGFzc2VydF9mYWxzZShyZXN1bHQsICJzdWJzY3JpcHRpb24gdGhhdCBpcyBub3QgYXNz
b2NpYXRlZCB3aXRoIGEgc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9uIHNob3VsZCBhbHJlYWR5
IGJlIHVuc3Vic2NyaWJlZCIpOworICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHJl
c29sdmUoKSk7Cit9LCAidW5zdWJzY3JpYmluZyBmcm9tIHN1YnNjcmlwdGlvbiBub3QgYXNzb2Np
YXRlZCB3aXRoIGEgcmVnaXN0cmF0aW9uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRp
b24uaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiNjgx
NTBmMjQ3N2ViMmIyMWRjZDBlYzkyZjRiMDliZmM4MDYyMjUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5z
ZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyB3YWl0IGZv
ciBhY3RpdmUgc2VydmljZSB3b3JrZXIKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbiBnZXR0ZXJzCitQ
QVNTIHVuc3Vic2NyaWJpbmcgZnJvbSBzdWJzY3JpcHRpb24gbm90IGFzc29jaWF0ZWQgd2l0aCBh
IHJlZ2lzdHJhdGlvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFw
aS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vic2NyaXB0aW9uLmh0dHBzLmFueS5zZXJ2aWNl
d29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4
MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBp
L3B1c2hTdWJzY3JpcHRpb24uaHR0cHMuYW55LnNlcnZpY2V3b3JrZXIuaHRtbApAQCAtMCwwICsx
IEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBmb3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1
Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAtLT4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1h
cGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44MmM0MjFm
NWFmMjEwMGViOTkyNGQ1NTU0ZGY4NzA1MTBiMDQ3NzU1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFu
eS5qcwpAQCAtMCwwICsxLDUxIEBACisvLyBNRVRBOiB0aXRsZT1QdXNoRXZlbnQgdGVzdHMKKy8v
IE1FVEE6IGdsb2JhbD1zZXJ2aWNld29ya2VyCisvLyBNRVRBOiBzY3JpcHQ9Y29uc3RhbnRzLmpz
CisKK3Rlc3QoKCkgPT4geworICAgIGxldCBldmVudCA9IG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2
ZW50Lm5ld1N1YnNjcmlwdGlvbiwgbnVsbCwgIm5ldyIpOworICAgIGFzc2VydF9lcXVhbHMoZXZl
bnQub2xkU3Vic2NyaXB0aW9uLCBudWxsLCAib2xkIik7Cit9LCAiUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IHdpdGhvdXQgZGF0YSIpOworCit0ZXN0KCgpID0+IHsKKyAgICBsZXQgZXZlbnQg
PSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdl
IiwgeyBuZXdTdWJzY3JpcHRpb246IG51bGwsIG9sZFN1YnNjcmlwdGlvbjogbnVsbCB9KTsKKyAg
ICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm5ld1N1YnNjcmlwdGlvbiwgbnVsbCwgIm5ldyIpOworICAg
IGFzc2VydF9lcXVhbHMoZXZlbnQub2xkU3Vic2NyaXB0aW9uLCBudWxsLCAib2xkIik7Cit9LCAi
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGhvdXQgc3Vic2NyaXB0aW9ucyIpOworCits
ZXQgbmV3U3Vic2NyaXB0aW9uID0gbnVsbDsKK2xldCBvbGRTdWJzY3JpcHRpb24gPSBudWxsOwor
CitsZXQgYWN0aXZhdGVQcm9taXNlID0gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZWxmLm9uYWN0
aXZhdGUgPSByZXNvbHZlKTsKK3Byb21pc2VfdGVzdChhc3luYyAoKSA9PiB7CisgICByZXR1cm4g
YWN0aXZhdGVQcm9taXNlOworfSwgIndhaXQgZm9yIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlciIpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMoKSA9PiB7CisgICAgbmV3U3Vic2NyaXB0aW9uID0gc2VsZi5p
bnRlcm5hbHMuY3JlYXRlUHVzaFN1YnNjcmlwdGlvbihFTkRQT0lOVCwgRVhQSVJBVElPTl9USU1F
LCBWQUxJRF9TRVJWRVJfS0VZLCBDTElFTlRfS0VZXzEsIEFVVEgpOworICAgIG9sZFN1YnNjcmlw
dGlvbiA9IHNlbGYuaW50ZXJuYWxzLmNyZWF0ZVB1c2hTdWJzY3JpcHRpb24oRU5EUE9JTlQsIEVY
UElSQVRJT05fVElNRSwgVkFMSURfU0VSVkVSX0tFWSwgQ0xJRU5UX0tFWV8yLCBBVVRIKTsKKwor
ICAgIGFzc2VydF90cnVlKG5ld1N1YnNjcmlwdGlvbiBpbnN0YW5jZW9mIFB1c2hTdWJzY3JpcHRp
b24pOworICAgIGFzc2VydF90cnVlKG9sZFN1YnNjcmlwdGlvbiBpbnN0YW5jZW9mIFB1c2hTdWJz
Y3JpcHRpb24pOworCisgICAgcmV0dXJuIG5ldyBQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZSgp
KTsKK30sICJjcmVhdGUgc3Vic2NyaXB0aW9ucyIpOworCit0ZXN0KCgpID0+IHsKKyAgICBsZXQg
ZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9u
Y2hhbmdlIiwgeyBuZXdTdWJzY3JpcHRpb24gfSk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5u
ZXdTdWJzY3JpcHRpb24sIG5ld1N1YnNjcmlwdGlvbiwgIm5ldyIpOworICAgIGFzc2VydF9lcXVh
bHMoZXZlbnQub2xkU3Vic2NyaXB0aW9uLCBudWxsLCAib2xkIik7Cit9LCAiUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IHdpdGggbmV3IHN1YnNjcmlwdGlvbiIpOworCit0ZXN0KCgpID0+IHsK
KyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vi
c2NyaXB0aW9uY2hhbmdlIiwgeyBvbGRTdWJzY3JpcHRpb24gfSk7CisgICAgYXNzZXJ0X2VxdWFs
cyhldmVudC5uZXdTdWJzY3JpcHRpb24sIG51bGwsICJuZXciKTsKKyAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50Lm9sZFN1YnNjcmlwdGlvbiwgb2xkU3Vic2NyaXB0aW9uLCAib2xkIik7Cit9LCAiUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGggb2xkIHN1YnNjcmlwdGlvbiIpOworCit0ZXN0
KCgpID0+IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIiwgeyBuZXdTdWJzY3JpcHRpb24sIG9sZFN1YnNjcmlw
dGlvbiB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50Lm5ld1N1YnNjcmlwdGlvbiwgbmV3U3Vi
c2NyaXB0aW9uLCAibmV3Iik7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5vbGRTdWJzY3JpcHRp
b24sIG9sZFN1YnNjcmlwdGlvbiwgIm9sZCIpOworfSwgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCB3aXRoIG5ldyBhbmQgb2xkIHN1YnNjcmlwdGlvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFueS5z
ZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBp
L3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOTVmYTJiMTc0NzJlMjdmNDYzZWMxY2FiMTYyMDI2MzlhYTZiZTBhYgot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw5IEBACisKK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGhvdXQgZGF0
YQorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aG91dCBzdWJzY3JpcHRpb25z
CitQQVNTIHdhaXQgZm9yIGFjdGl2ZSBzZXJ2aWNlIHdvcmtlcgorUEFTUyBjcmVhdGUgc3Vic2Ny
aXB0aW9ucworUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgd2l0aCBuZXcgc3Vic2Ny
aXB0aW9uCitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCB3aXRoIG9sZCBzdWJzY3Jp
cHRpb24KK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IHdpdGggbmV3IGFuZCBvbGQg
c3Vic2NyaXB0aW9uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBp
L3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50LmFu
eS5zZXJ2aWNld29ya2VyLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2
MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3B1c2gtYXBpL3B1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudC5hbnkuc2VydmljZXdvcmtlci5o
dG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQg
dGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2Vydmlj
ZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IGRkZDRiZjYyZmY0MDc3NmM3MWEwODE4ZWViY2Y4NjUwYjk4MTFiZTku
LjYzM2FkNzc4MzJmOTQ1M2U5OGVlOGMyYWM2NTlkNGExM2QwOWZhNWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFy
bmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0
dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtNjUsMTggKzY1LDE4IEBAIFBB
U1MgUHVzaEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIGRhdGEKIFBBU1MgUHVzaEV2ZW50IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFB1c2hFdmVudCgidHlwZSIpCiBQQVNTIFN0
cmluZ2lmaWNhdGlvbiBvZiBuZXcgUHVzaEV2ZW50KCJ0eXBlIikKIFBBU1MgUHVzaEV2ZW50IGlu
dGVyZmFjZTogbmV3IFB1c2hFdmVudCgidHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0
YSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVz
aFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVu
dCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVj
dGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRf
b3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2Ny
aXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkg
IlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIg
bWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJv
cGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbmV3U3Vic2NyaXB0aW9u
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1
c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3Jp
cHRpb25DaGFuZ2VFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZl
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb2xkU3Vic2NyaXB0aW9uIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIg
bWlzc2luZwotRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgbXVzdCBiZSBwcmltYXJ5
IGludGVyZmFjZSBvZiBuZXcgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2Ny
aXB0aW9uY2hhbmdlIikgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBl
dmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50Igot
RkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgi
cHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCIKLUZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogbmV3
IFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCgicHVzaHN1YnNjcmlwdGlvbmNoYW5nZSIpIG11
c3QgaW5oZXJpdCBwcm9wZXJ0eSAibmV3U3Vic2NyaXB0aW9uIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiCi1GQUlMIFB1c2hTdWJz
Y3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdl
RXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm9s
ZFN1YnNjcmlwdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBl
Y3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBn
b3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaFN1YnNj
cmlwdGlvbkNoYW5nZUV2ZW50IgorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFT
UyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BB
U1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFT
UyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQ
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5CitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBuZXdTdWJzY3JpcHRpb24KK1BBU1MgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG9sZFN1YnNjcmlwdGlvbgorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hh
bmdlRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUHVzaFN1YnNjcmlwdGlv
bkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikKK1BBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIG5ldyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25j
aGFuZ2UiKQorUEFTUyBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBuZXcg
UHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50KCJwdXNoc3Vic2NyaXB0aW9uY2hhbmdlIikgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJuZXdTdWJzY3JpcHRpb24iIHdpdGggdGhlIHByb3BlciB0eXBl
CitQQVNTIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQoInB1c2hzdWJzY3JpcHRpb25jaGFuZ2UiKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9sZFN1YnNjcmlwdGlvbiIgd2l0aCB0aGUgcHJvcGVyIHR5cGUKIFBBU1Mg
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBwdXNoTWFuYWdl
cgogUEFTUyBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uIGludGVyZmFjZTogcmVnaXN0cmF0aW9u
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicHVzaE1hbmFnZXIiIHdpdGggdGhlIHByb3BlciB0eXBl
CiBQQVNTIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbnB1
c2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>