<?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>231007</bug_id>
          
          <creation_ts>2021-09-30 00:13:06 -0700</creation_ts>
          <short_desc>Add support for PushEvent</short_desc>
          <delta_ts>2021-10-01 11:50:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Service Workers</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>231008</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</cc>
    
    <cc>augus.dupin</cc>
    
    <cc>beidson</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cedric</cc>
    
    <cc>dvpdiner2</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jespertheend</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>landsman</cc>
    
    <cc>nham</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>tomac</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>yuriy.chaikovsky</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1798772</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-30 00:13:06 -0700</bug_when>
    <thetext>Add support for PushEvent</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798775</commentid>
    <comment_count>1</comment_count>
      <attachid>439703</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-30 00:44:54 -0700</bug_when>
    <thetext>Created attachment 439703
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798776</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-30 00:46:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/83707470&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798835</commentid>
    <comment_count>3</comment_count>
      <attachid>439725</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-30 04:26:07 -0700</bug_when>
    <thetext>Created attachment 439725
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798874</commentid>
    <comment_count>4</comment_count>
      <attachid>439725</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-30 08:32:02 -0700</bug_when>
    <thetext>Comment on attachment 439725
Patch

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

&gt; Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:1119
&gt; +  webcoreBinding: RuntimeEnabledFeatures

Is there a reason we can&apos;t use Settings?

&gt; Source/WebCore/workers/service/PushMessageData.h:55
&gt; +    Vector&lt;uint8_t&gt; m_data;

Could we just store the PushMessageDataInit instead of copying it 1-2 times to get it to this form then copying it again on its way out?
Also, could you add a test that creates a PushEvent from an ArrayBuffer, gets an arrayBuffer from it, modifies the original ArrayBuffer, then checks to see if the gotten array buffer has the changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1798878</commentid>
    <comment_count>5</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-09-30 08:40:55 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #4)
&gt; Comment on attachment 439725 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=439725&amp;action=review
&gt; 
&gt; &gt; Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:1119
&gt; &gt; +  webcoreBinding: RuntimeEnabledFeatures
&gt; 
&gt; Is there a reason we can&apos;t use Settings?

Service Worker abides to runtime features but not to settings by default.

&gt; &gt; Source/WebCore/workers/service/PushMessageData.h:55
&gt; &gt; +    Vector&lt;uint8_t&gt; m_data;
&gt; 
&gt; Could we just store the PushMessageDataInit instead of copying it 1-2 times
&gt; to get it to this form then copying it again on its way out?

My understanding is thatm in most cases, the push event is created by UA from native binary data which I represent/generate as a Vector.

&gt; Also, could you add a test that creates a PushEvent from an ArrayBuffer,
&gt; gets an arrayBuffer from it, modifies the original ArrayBuffer, then checks
&gt; to see if the gotten array buffer has the changes?

Will add.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799191</commentid>
    <comment_count>6</comment_count>
      <attachid>439827</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-01 00:15:01 -0700</bug_when>
    <thetext>Created attachment 439827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799207</commentid>
    <comment_count>7</comment_count>
      <attachid>439832</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-01 01:58:01 -0700</bug_when>
    <thetext>Created attachment 439832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799290</commentid>
    <comment_count>8</comment_count>
      <attachid>439832</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 07:23:44 -0700</bug_when>
    <thetext>Comment on attachment 439832
Patch

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

&gt; Source/WebCore/Modules/push-api/PushEvent.cpp:46
&gt; +        return { reinterpret_cast&lt;const uint8_t*&gt;(value-&gt;data()), value-&gt;byteLength() };

A static_cast should suffice.

&gt; Source/WebCore/Modules/push-api/PushEvent.cpp:50
&gt; +        return { reinterpret_cast&lt;const uint8_t*&gt;(value-&gt;baseAddress()), value-&gt;byteLength() };

ditto.

&gt; Source/WebCore/Modules/push-api/PushEvent.cpp:74
&gt; +        m_data = PushMessageData::create(WTFMove(*data));

Would be better in the initializer list:
, m_data(data ? PushMessageData::create(WTFMove(*data)) : nullptr)

&gt; Source/WebCore/Modules/push-api/PushEvent.cpp:77
&gt; +PushEvent::~PushEvent()

= default;

&gt; Source/WebCore/Modules/push-api/PushEvent.h:40
&gt; +    static Ref&lt;PushEvent&gt; create(const AtomString&amp;, ExtendableEventInit&amp;&amp;, std::optional&lt;Vector&lt;uint8_t&gt;&gt;&amp;&amp;, IsTrusted);

Seems a little odd to have factory that takes in a ExtendableEventInit instead of a PushEventInit. I feel it would be nicer if the constructor and factory both used PushEventInit exclusively.

&gt; Source/WebCore/Modules/push-api/PushEventInit.h:30
&gt; +#include &quot;ExtendableEvent.h&quot;

Can&apos;t we include ExtendableEventInit.h instead?

&gt; Source/WebCore/Modules/push-api/PushMessageData.cpp:46
&gt; +        return Exception { OutOfMemoryError };

Please pass an exception message as second parameter.

&gt; Source/WebCore/Modules/push-api/PushMessageData.cpp:60
&gt; +        return Exception { SyntaxError };

ditto.

&gt; Source/WebCore/Modules/push-api/PushMessageData.h:45
&gt; +    ~PushMessageData() = default;

Why is this needed?

&gt; Source/WebCore/Modules/push-api/PushMessageData.h:58
&gt; +inline PushMessageData::PushMessageData(Vector&lt;uint8_t&gt;&amp;&amp; data)

I don&apos;t really think we need to inline this. Having it in the cpp like we usually do seems fine.

&gt; Source/WebCore/page/RuntimeEnabledFeatures.h:341
&gt; +    bool m_pushAPIEnabled { false };

Aren&apos;t RuntimeEnabledFeatures deprecated in favor on settings? The only remaining reason to use RuntimeEnabledFeatures was non-main thread use but this was addressed in settings a while back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799293</commentid>
    <comment_count>9</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-01 07:36:14 -0700</bug_when>
    <thetext>Thanks for the review, I&apos;ll update he patch accordingly.

&gt; &gt; Source/WebCore/page/RuntimeEnabledFeatures.h:341
&gt; &gt; +    bool m_pushAPIEnabled { false };
&gt; 
&gt; Aren&apos;t RuntimeEnabledFeatures deprecated in favor on settings? The only
&gt; remaining reason to use RuntimeEnabledFeatures was non-main thread use but
&gt; this was addressed in settings a while back.

We do not have the automated infrastructure to handle settings correctly in service workers.
The main reason is that service workers are not attached to a particular page/webpage/webpageproxy. Service worker may in fact interact with different pages with different settings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799294</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 07:39:16 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #9)
&gt; Thanks for the review, I&apos;ll update he patch accordingly.
&gt; 
&gt; &gt; &gt; Source/WebCore/page/RuntimeEnabledFeatures.h:341
&gt; &gt; &gt; +    bool m_pushAPIEnabled { false };
&gt; &gt; 
&gt; &gt; Aren&apos;t RuntimeEnabledFeatures deprecated in favor on settings? The only
&gt; &gt; remaining reason to use RuntimeEnabledFeatures was non-main thread use but
&gt; &gt; this was addressed in settings a while back.
&gt; 
&gt; We do not have the automated infrastructure to handle settings correctly in
&gt; service workers.
&gt; The main reason is that service workers are not attached to a particular
&gt; page/webpage/webpageproxy. Service worker may in fact interact with
&gt; different pages with different settings.

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799300</commentid>
    <comment_count>11</comment_count>
      <attachid>439861</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-01 08:07:22 -0700</bug_when>
    <thetext>Created attachment 439861
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799302</commentid>
    <comment_count>12</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-10-01 08:09:02 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)
&gt; Comment on attachment 439832 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=439832&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/push-api/PushEvent.cpp:46
&gt; &gt; +        return { reinterpret_cast&lt;const uint8_t*&gt;(value-&gt;data()), value-&gt;byteLength() };
&gt; 
&gt; A static_cast should suffice.

data is const char*, not void* here.
Ditto for the other call site.

&gt; &gt; Source/WebCore/Modules/push-api/PushEvent.cpp:74
&gt; &gt; +        m_data = PushMessageData::create(WTFMove(*data));
&gt; 
&gt; Would be better in the initializer list:
&gt; , m_data(data ? PushMessageData::create(WTFMove(*data)) : nullptr)

OK

&gt; &gt; Source/WebCore/Modules/push-api/PushEvent.cpp:77
&gt; &gt; +PushEvent::~PushEvent()
&gt; 
&gt; = default;

I tend to prefer { } in source files, since we often need at some point to add some clean-up code.

&gt; &gt; Source/WebCore/Modules/push-api/PushEvent.h:40
&gt; &gt; +    static Ref&lt;PushEvent&gt; create(const AtomString&amp;, ExtendableEventInit&amp;&amp;, std::optional&lt;Vector&lt;uint8_t&gt;&gt;&amp;&amp;, IsTrusted);
&gt; 
&gt; Seems a little odd to have factory that takes in a ExtendableEventInit
&gt; instead of a PushEventInit. I feel it would be nicer if the constructor and
&gt; factory both used PushEventInit exclusively.

It is like other events that have a create for JS and another for C++
I am not yet sure whether we need the ExtendableEventInit parameter in the C++ version. If not, I&apos;ll remove this parameter from this method.

&gt; &gt; Source/WebCore/Modules/push-api/PushEventInit.h:30
&gt; &gt; +#include &quot;ExtendableEvent.h&quot;
&gt; 
&gt; Can&apos;t we include ExtendableEventInit.h instead?

OK

&gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.cpp:46
&gt; &gt; +        return Exception { OutOfMemoryError };

OutOfMemoryError seems self explanatory and is the only exception in this method.

&gt; Please pass an exception message as second parameter.
&gt; 
&gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.cpp:60
&gt; &gt; +        return Exception { SyntaxError };
&gt; 
&gt; ditto.

OK

&gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.h:45
&gt; &gt; +    ~PushMessageData() = default;
&gt; 
&gt; Why is this needed?

Removed.

&gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.h:58
&gt; &gt; +inline PushMessageData::PushMessageData(Vector&lt;uint8_t&gt;&amp;&amp; data)
&gt; 
&gt; I don&apos;t really think we need to inline this. Having it in the cpp like we
&gt; usually do seems fine.

Moving it to source does not bring more isolation like additional headers removed from PushMessageData.h and constructor is very straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799303</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-10-01 08:12:11 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #12)
&gt; (In reply to Chris Dumez from comment #8)
&gt; &gt; Comment on attachment 439832 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=439832&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushEvent.cpp:46
&gt; &gt; &gt; +        return { reinterpret_cast&lt;const uint8_t*&gt;(value-&gt;data()), value-&gt;byteLength() };
&gt; &gt; 
&gt; &gt; A static_cast should suffice.
&gt; 
&gt; data is const char*, not void* here.
&gt; Ditto for the other call site.
&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushEvent.cpp:74
&gt; &gt; &gt; +        m_data = PushMessageData::create(WTFMove(*data));
&gt; &gt; 
&gt; &gt; Would be better in the initializer list:
&gt; &gt; , m_data(data ? PushMessageData::create(WTFMove(*data)) : nullptr)
&gt; 
&gt; OK
&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushEvent.cpp:77
&gt; &gt; &gt; +PushEvent::~PushEvent()
&gt; &gt; 
&gt; &gt; = default;
&gt; 
&gt; I tend to prefer { } in source files, since we often need at some point to
&gt; add some clean-up code.

FYI, I think it is not great practice because they are not equivalent. I believe that if you define a destructor with { }, even an empty one, then you lose default move constructor / assignments operators for e.g. It may not matter in this particular instance but `= default` is strictly superior in general unless you actually need to do something special in the destructor.

&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushEvent.h:40
&gt; &gt; &gt; +    static Ref&lt;PushEvent&gt; create(const AtomString&amp;, ExtendableEventInit&amp;&amp;, std::optional&lt;Vector&lt;uint8_t&gt;&gt;&amp;&amp;, IsTrusted);
&gt; &gt; 
&gt; &gt; Seems a little odd to have factory that takes in a ExtendableEventInit
&gt; &gt; instead of a PushEventInit. I feel it would be nicer if the constructor and
&gt; &gt; factory both used PushEventInit exclusively.
&gt; 
&gt; It is like other events that have a create for JS and another for C++
&gt; I am not yet sure whether we need the ExtendableEventInit parameter in the
&gt; C++ version. If not, I&apos;ll remove this parameter from this method.
&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushEventInit.h:30
&gt; &gt; &gt; +#include &quot;ExtendableEvent.h&quot;
&gt; &gt; 
&gt; &gt; Can&apos;t we include ExtendableEventInit.h instead?
&gt; 
&gt; OK
&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.cpp:46
&gt; &gt; &gt; +        return Exception { OutOfMemoryError };
&gt; 
&gt; OutOfMemoryError seems self explanatory and is the only exception in this
&gt; method.
&gt; 
&gt; &gt; Please pass an exception message as second parameter.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.cpp:60
&gt; &gt; &gt; +        return Exception { SyntaxError };
&gt; &gt; 
&gt; &gt; ditto.
&gt; 
&gt; OK
&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.h:45
&gt; &gt; &gt; +    ~PushMessageData() = default;
&gt; &gt; 
&gt; &gt; Why is this needed?
&gt; 
&gt; Removed.
&gt; 
&gt; &gt; &gt; Source/WebCore/Modules/push-api/PushMessageData.h:58
&gt; &gt; &gt; +inline PushMessageData::PushMessageData(Vector&lt;uint8_t&gt;&amp;&amp; data)
&gt; &gt; 
&gt; &gt; I don&apos;t really think we need to inline this. Having it in the cpp like we
&gt; &gt; usually do seems fine.
&gt; 
&gt; Moving it to source does not bring more isolation like additional headers
&gt; removed from PushMessageData.h and constructor is very straightforward.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799379</commentid>
    <comment_count>14</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-10-01 10:30:45 -0700</bug_when>
    <thetext>Committed r283377 (242385@main): &lt;https://commits.webkit.org/242385@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439861.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439703</attachid>
            <date>2021-09-30 00:44:54 -0700</date>
            <delta_ts>2021-09-30 04:25:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231007-20210930094452.patch</filename>
            <type>text/plain</type>
            <size>46056</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwOTk2MTExYzdhZTYxNzBkNDgyNDRk
YjhhYzdkNGVmMTg5YTI5ODQuLjE4ZWE0Njk0MThlYzMxNjJhN2YzNDM5ODZmMTczYzE3ODA2ZmQ0
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDktMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA5LTI5ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5D
YWlyb10gUkVHUkVTU0lPTihyMjgwNzI2KTogcmVnaXN0cnkga2V5cyBlbmFibGluZyBHUFUgcHJv
Y2VzcyBtb2RlIGRvbid0IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYTRkMmZjZTUwYzRkNjgzM2NiOTRm
Y2YwNzY2OTMyOGYzY2I2MWUwLi42MDU0YjMxZGMyYTUyODFjMDkzMGQ1OTQxYzE0OTA3OWQ1NjFl
NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDktMzAgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZl
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBQdXNoRXZlbnQgYW5kIFB1c2hNZXNzYWdlRGF0YWFzIHBlciBzcGVjaWZpY2F0aW9uLgor
ICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vcHVzaC1hcGkvI3B1c2hldmVudC1pbnRlcmZh
Y2UgYW5kCisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wdXNoLWFwaS8jcHVzaG1lc3Nh
Z2VkYXRhLWludGVyZmFjZS4KKworICAgICAgICBQdXQgdGhlbSBiZWhpbmQgYSBydW50aW1lIGZs
YWcsIG9mZiBieSBkZWZhdWx0LgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAg
ICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1B1c2hFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNo
RXZlbnQuaDogQWRkZWQuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0Lmg6IEFkZGVk
LgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmlkbDogQWRkZWQuCisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5jcHA6IEFkZGVkLgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuaDogQWRkZWQuCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5pZGw6IEFkZGVkLgorCiAyMDIxLTA5
LTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR1BV
UCBDb2NvYSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTCBzaG91bGQgY2hlY2sgZm9yIEFOR0xFIHBy
ZXNlbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IGYwYmNiMmZkNDczM2E2YzQy
Y2Q0MjRlMzU3MzZlMGE3MDJkZmQ4ZDAuLjZmNTg0ZjIxMWNiYmYwMzgwYzA2OTZmOWI3NTU0MWM3
YjYyNmQ5MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQ
cmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xMTEyLDYgKzExMTIs
MTcgQEAgU2VydmVyVGltaW5nRW5hYmxlZDoKICAgICAgICJFTkFCTEUoRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSI6IHRydWUKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKK1NlcnZpY2VXb3JrZXJQdXNoQVBJRW5hYmxlZDoKKyAgdHlwZTog
Ym9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZpY2UgV29ya2VyIFB1c2ggQVBJIgorICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2VydmljZSBXb3JrZXIgUHVzaCBBUEki
CisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisgIGRlZmF1bHRWYWx1
ZToKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAg
ICBkZWZhdWx0OiBmYWxzZQorCiBTaGFyZWRXb3JrZXJFbmFibGVkOgogICB0eXBlOiBib29sCiAg
IGh1bWFuUmVhZGFibGVOYW1lOiAiU2hhcmVkV29ya2VyIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA1YWMxNzQ5NjEzOWQ0MzkyODI4ZTU5MzhiNDI5Y2RhYTYxZDUzYWFlLi45N2I1YWI0OGViMGU0
ZGNiOTg5MDJmMGYzZGE5NjVjZjM3ODljYTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE5
MCw2ICsxMTkwLDkgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICB3b3JrZXJz
L3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50SW5pdC5pZGwKICAgICB3b3JrZXJzL3NlcnZpY2UvRXh0
ZW5kYWJsZU1lc3NhZ2VFdmVudC5pZGwKICAgICB3b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5p
ZGwKKyAgICB3b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmlkbAorICAgIHdvcmtlcnMvc2Vydmlj
ZS9QdXNoRXZlbnRJbml0LmlkbAorICAgIHdvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEu
aWRsCiAgICAgd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaWRsCiAgICAgd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCiAgICAgd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnRUeXBlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2
NjEwNDljMy4uZDkxMzBjZTQ5YjExZDllZmIzNDA0NTc5MzRmNGFjZTIzZTZmMjlmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNDQw
LDYgKzE0NDAsOSBAQCAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudElu
aXQuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZU1lc3NhZ2VF
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbAor
JChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5pZGwKKyQoUFJPSkVDVF9E
SVIpL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmlkbAorJChQUk9KRUNUX0RJUikvd29y
a2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudFR5cGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGI2MGE0OWMxNTJkOGY5MmFiMjU1MjJhOTky
OWEyM2EwY2E1YmZhZWUuLmEwODc0NTU4NDNiM2ZiN2ExMWNhMDdhODc4M2ZlZDBjOTM1OTFiZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0xNjk1LDYgKzE2OTUsMTIgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50LmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoRXZl
bnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNo
RXZlbnRJbml0LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQdXNoRXZlbnRJbml0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUHVzaE1lc3NhZ2VEYXRhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoTWVzc2FnZURhdGEuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSVENBbnN3ZXJPcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYTM1MjI5MzYxYTBkYTU0YjNlMTJiNzJiNDU5ZmM2MjMwYzdhNmM5NS4u
ZmQ1ODJkOTY4ZjdhYmVkMGEyZjMwYmJmZDg2MzJmYzNhZDIxM2VkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0xMjY4LDYgKzEyNjgsOSBAQCBKU19CSU5ESU5HX0lETFMgOj0g
XAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudEluaXQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlTWVzc2FnZUV2ZW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5pZGwgXAor
ICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudEluaXQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IGU0M2FmZGNhZWYyMGRmYzQzYTVmMDY5Y2Q0YWQyZGFhMTZkOWM5ZWMuLjFjMjU2YWI1YTYxMGQy
NmMzY2FkNGEyMTVjZTU2YzdlNTAzMTlkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNjU4LDYgKzI2
NTgsOCBAQCB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKIHdvcmtlcnMvc2VydmljZS9FeHRlbmRh
YmxlRXZlbnQuY3BwCiB3b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZU1lc3NhZ2VFdmVudC5jcHAK
IHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcAord29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVu
dC5jcHAKK3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuY3BwCiB3b3JrZXJzL3NlcnZp
Y2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcAogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIu
Y3BwCiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKQEAgLTMzNTEsNiAr
MzM1Myw5IEBAIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5jcHAKIEpTUHVi
bGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuY3BwCiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1
ZXN0T3B0aW9ucy5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwCitKU1B1c2hFdmVu
dC5jcHAKK0pTUHVzaEV2ZW50SW5pdC5jcHAKK0pTUHVzaE1lc3NhZ2VEYXRhLmNwcAogSlNSVENB
bnN3ZXJPcHRpb25zLmNwcAogSlNSVENDZXJ0aWZpY2F0ZS5jcHAKIEpTUlRDQ29uZmlndXJhdGlv
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAwMmQ4NDE1YjQ2MGIyNzUwMTY1NGExNTc0MjkxMmI1YzRmZGIxMjVhLi43ZjJm
M2YxNGNjMDQyMTA3Mjk2NjdmMmZjOGQ4YzZmMmIyMDZkZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTc3LDYgKzExNzcs
OCBAQAogCQk0MTg5MzhCMjI0MjlGOUI0MDA3RkRDNDEgLyogUmV0cmlldmVSZWNvcmRzT3B0aW9u
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4OTM4
QUYyNDI5RjlBQjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MThBMDZEMDEzM0MwNEQ1
MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNw
YXRjaGVyLmggKi87IH07CiAJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0
V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovOyB9OworCQk0
MThGQ0JBODI3MDREMDIxMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGQ0JBNTI3MDRCNzkwMDBGOTZFQ0EgLyog
UHVzaEV2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNDE4RkNCQTkyNzA0RDAyOTAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZDQkEzMjcwNEI3OEYw
MEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3IC8qIEZyYW1lUmF0
ZU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MjQyNDkyMTI3Qjkz
RTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQyNDcyMTI3QjdDQzAw
NjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovOyB9OwogCQk0
MTlBQ0Y5MjFGOTdFN0RBMDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4RTFGOTdFN0Q1MDA5
RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxMDAsNiArODEwMiwxNCBAQAogCQk0MThDMzk1RjFD
OEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEY4ODAyMEZGOTU3QUUwMDgw
RjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fic3RyYWN0V29ya2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQjlGMjcwNEI2QUUwMEY5NkVDQSAvKiBQdXNoRXZl
bnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFB1c2hFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxOEZDQkExMjcwNEI2QUUwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1
c2hNZXNzYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkEy
MjcwNEI2RjEwMEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoRXZlbnRJbml0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCQTMyNzA0Qjc4RjAwRjk2
RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaEV2ZW50SW5pdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JBNDI3MDRCNzhGMDBGOTZFQ0EgLyog
UHVzaEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1c2hFdmVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkE1MjcwNEI3OTAwMEY5NkVDQSAvKiBQdXNoRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxOEZDQkE2MjcwNEI4OUIwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHVzaE1lc3NhZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxOEZDQkE3MjcwNEI4OUIwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUHVzaE1lc3NhZ2VEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1
NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQy
NDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDkz
Nyw2ICsyMDk0NywxNCBAQAogCQkJCTQxQUYzNzk0MUY4REE0OTUwMDExMUMzMSAvKiBGZXRjaEV2
ZW50LmNwcCAqLywKIAkJCQk0MUFGMzc4ODFGOEMxRTc5MDAxMTFDMzEgLyogRmV0Y2hFdmVudC5o
ICovLAogCQkJCTQxQUYzNzhEMUY4QzFFN0IwMDExMUMzMSAvKiBGZXRjaEV2ZW50LmlkbCAqLywK
KwkJCQk0MThGQ0JBNDI3MDRCNzhGMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmNwcCAqLywKKwkJCQk0
MThGQ0JBNTI3MDRCNzkwMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi8sCisJCQkJNDE4RkNCOUYy
NzA0QjZBRTAwRjk2RUNBIC8qIFB1c2hFdmVudC5pZGwgKi8sCisJCQkJNDE4RkNCQTMyNzA0Qjc4
RjAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLywKKwkJCQk0MThGQ0JBMjI3MDRCNkYxMDBG
OTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5pZGwgKi8sCisJCQkJNDE4RkNCQTcyNzA0Qjg5QjAwRjk2
RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5jcHAgKi8sCisJCQkJNDE4RkNCQTYyNzA0Qjg5QjAwRjk2
RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5oICovLAorCQkJCTQxOEZDQkExMjcwNEI2QUUwMEY5NkVD
QSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovLAogCQkJCTUxRjE3NTVCMUYzRUJDMEMwMEM3NDk1
MCAvKiBTZXJ2aWNlV29ya2VyLmNwcCAqLywKIAkJCQk1MUYxNzU1QTFGM0VCQzBDMDBDNzQ5NTAg
LyogU2VydmljZVdvcmtlci5oICovLAogCQkJCTUxRjE3NTU5MUYzRUJDMEMwMEM3NDk1MCAvKiBT
ZXJ2aWNlV29ya2VyLmlkbCAqLywKQEAgLTM0NjE1LDYgKzM0NjMzLDggQEAKIAkJCQk1NzMwM0JF
QjIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAvKiBQdWJsaWNTdWZmaXguaCBpbiBI
ZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5h
Z2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MThGQ0JBODI3MDREMDIxMDBGOTZFQ0EgLyogUHVz
aEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MThGQ0JBOTI3MDREMDI5MDBGOTZFQ0EgLyog
UHVzaEV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNENTExRjYyNTBDMUNCRjAwMkVE
QzUxIC8qIFB1c2hQdWxsRklGTy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTUwQTBCQ0EwODVGNjAz
OTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzQzFGNTk0
MUVERjY5RDMwMDQxMEQyNyAvKiBRdWFsaWZpZWROYW1lQ2FjaGUuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmlu
ZGV4IDliOGExOGI0Yzk5ZjM2OGU3NzBjY2UwNmI5NjQ1MDYxZGU0ZDdiN2MuLjA5YjIzZTUzMTli
MzUxMzk3OTg0Zjk1ZjkzYTNhOWIzNGVjMzk3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTIwNyw2ICsyMDcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQb2lu
dGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCisgICAgbWFjcm8o
UHVzaEV2ZW50KSBcCisgICAgbWFjcm8oUHVzaE1lc3NhZ2VEYXRhKSBcCiAgICAgbWFjcm8oUmVz
aXplT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlckVudHJ5KSBcCiAgICAgbWFj
cm8oUlRDQ2VydGlmaWNhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggMWI0NGIw
ZDAxODI3YWRlZTM2MWNjMzFjNTFkYWQzMTg2MDQ4Nzc4Zi4uNTdiM2FlZjUxYTM4OWM1ZDgzM2Jl
Zjk4ZWM0MDAyNjBiYmNhNWI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTM2LDYg
KzM2LDcgQEAgUGFnZVRyYW5zaXRpb25FdmVudAogUG9wU3RhdGVFdmVudAogUHJvZ3Jlc3NFdmVu
dAogUHJvbWlzZVJlamVjdGlvbkV2ZW50CitQdXNoRXZlbnQgY29uZGl0aW9uYWw9U0VSVklDRV9X
T1JLRVIKIFN1Ym1pdEV2ZW50CiBUZXh0RXZlbnQKIFRyYW5zaXRpb25FdmVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCA2NDE3YzA2MzUwNjE1
NjdkMTRjMDk3MDcxMzBlNjU5YWVkZmI0Y2Q1Li41MTVmNjBhNDQ4ODlkNGQxODQ3OGFhZGE4MjRi
YTk1NzE3Nzk3YzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaApAQCAtMTgyLDYgKzE4Miw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAgICAgYm9vbCBzZXJ2aWNlV29ya2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VydmljZVdvcmtlckVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1fc2VydmljZVdvcmtlckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
KyAgICBib29sIHNlcnZpY2VXb3JrZXJQdXNoQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VydmljZVdvcmtlclB1c2hBUElFbmFibGVkOyB9CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2Vy
UHVzaEFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zZXJ2aWNlV29ya2VyUHVzaEFQSUVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCiAgICAgdm9pZCBzZXRDU1NMb2dpY2FsRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX0NTU0xvZ2ljYWxFbmFibGVkID0gaXNFbmFibGVkOyB9
CkBAIC0zMzcsNiArMzM5LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKICAgICBib29sIG1fc2VydmljZVdvcmtlckVuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9zZXJ2aWNlV29ya2VyUHVzaEFQSUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICBi
b29sIG1fQ1NTTG9naWNhbEVuYWJsZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDIxYTE4OTIwOWVjOGE1MDY4
NWY5NmVmNzM0MGRiMGJjNjE2ZDNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQdXNoRXZlbnQuaCIKKworI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIlB1c2hNZXNzYWdlRGF0YS5oIgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU0FycmF5QnVmZmVyVmlldy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
Q0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQdXNoRXZlbnQpOwor
CitzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGRhdGFGcm9tUHVzaE1lc3NhZ2VEYXRhSW5pdChQdXNo
TWVzc2FnZURhdGFJbml0JiBkYXRhKQoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKGRhdGEs
IFtdKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiYgdmFsdWUpIC0+IFZlY3Rvcjx1aW50OF90PiB7
CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBy
ZXR1cm4geyByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPih2YWx1ZS0+ZGF0YSgpKSwg
dmFsdWUtPmJ5dGVMZW5ndGgoKSB9OworICAgIH0sIFtdKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVy
Vmlldz4mIHZhbHVlKSAtPiBWZWN0b3I8dWludDhfdD4geworICAgICAgICBpZiAoIXZhbHVlKQor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIHsgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50OF90Kj4odmFsdWUtPmJhc2VBZGRyZXNzKCkpLCB2YWx1ZS0+Ynl0ZUxlbmd0
aCgpIH07CisgICAgfSwgW10oU3RyaW5nJiB2YWx1ZSkgLT4gVmVjdG9yPHVpbnQ4X3Q+IHsKKyAg
ICAgICAgYXV0byB1dGY4ID0gdmFsdWUudXRmOCgpOworICAgICAgICByZXR1cm4gVmVjdG9yPHVp
bnQ4X3Q+IHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4odXRmOC5kYXRhKCkpLCB1
dGY4Lmxlbmd0aCgpIH07CisgICAgfSk7Cit9CisKK1JlZjxQdXNoRXZlbnQ+IFB1c2hFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFB1c2hFdmVudEluaXQmJiBpbml0aWFsaXpl
ciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50
OF90Pj4gZGF0YTsKKyAgICBpZiAoaW5pdGlhbGl6ZXIuZGF0YSkKKyAgICAgICAgZGF0YSA9IGRh
dGFGcm9tUHVzaE1lc3NhZ2VEYXRhSW5pdCgqaW5pdGlhbGl6ZXIuZGF0YSk7CisgICAgcmV0dXJu
IGNyZWF0ZSh0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVyKSwgV1RGTW92ZShkYXRhKSwgaXNUcnVz
dGVkKTsKK30KKworUmVmPFB1c2hFdmVudD4gUHVzaEV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGluaXRpYWxpemVyLCBzdGQ6Om9wdGlv
bmFsPFZlY3Rvcjx1aW50OF90Pj4mJiBkYXRhLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFB1c2hFdmVudCh0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVy
KSwgV1RGTW92ZShkYXRhKSwgaXNUcnVzdGVkKSk7Cit9CisKK1B1c2hFdmVudDo6UHVzaEV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4dGVuZGFibGVFdmVudEluaXQmJiBldmVudEluaXQs
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmIGRhdGEsIElzVHJ1c3RlZCBpc1RydXN0
ZWQpCisgICAgOiBFeHRlbmRhYmxlRXZlbnQodHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1Ry
dXN0ZWQpCit7CisgICAgaWYgKGRhdGEpCisgICAgICAgIG1fZGF0YSA9IFB1c2hNZXNzYWdlRGF0
YTo6Y3JlYXRlKFdURk1vdmUoKmRhdGEpKTsKK30KKworUHVzaEV2ZW50Ojp+UHVzaEV2ZW50KCkK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1
c2hFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNkMmZkYWE2MzMwZDQwOTc0ZTg3ZjAwOWExOTMzZGZkMmJlYjAzOTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmgK
QEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiUHVzaEV2ZW50SW5pdC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFB1c2hNZXNzYWdlRGF0YTsKKworY2xhc3MgUHVzaEV2ZW50
IGZpbmFsIDogcHVibGljIEV4dGVuZGFibGVFdmVudCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChQdXNoRXZlbnQpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UHVzaEV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYsIFB1c2hFdmVudEluaXQmJiwgSXNUcnVzdGVkID0gSXNUcnVz
dGVkOjpObyk7CisgICAgc3RhdGljIFJlZjxQdXNoRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmLCBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90
Pj4mJiwgSXNUcnVzdGVkKTsKKyAgICB+UHVzaEV2ZW50KCk7CisKKyAgICBFdmVudEludGVyZmFj
ZSBldmVudEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFB1c2hFdmVudEludGVyZmFj
ZVR5cGU7IH0KKyAgICBQdXNoTWVzc2FnZURhdGEqIGRhdGEoKSB7IHJldHVybiBtX2RhdGEuZ2V0
KCk7IH0KKworcHJpdmF0ZToKKyAgICBQdXNoRXZlbnQoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVu
ZGFibGVFdmVudEluaXQmJiwgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYsIElzVHJ1
c3RlZCk7CisKKyAgICBSZWZQdHI8UHVzaE1lc3NhZ2VEYXRhPiBtX2RhdGE7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnQuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0OWY2M2VlOTY5NTRiZDA0OTJiZjkxYmZlZDYwMzZiNTEwOTI1OGUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmlkbApAQCAtMCww
ICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VS
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9U2VydmljZVdvcmtlclB1c2hBUEksCisgICAgRXhwb3J0
TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyLAorICAgIEpT
R2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBQ
dXNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0
eXBlLCBvcHRpb25hbCBQdXNoRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBQdXNoTWVzc2FnZURhdGE/IGRhdGE7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjNmYzFkZmMwMDg5
MjVhMWNkZGI4ZWQ2OTBlM2FmYjM2ZmQ5MmMwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmgKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQor
CisjaW5jbHVkZSAiRXh0ZW5kYWJsZUV2ZW50LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3VzaW5nIFB1c2hNZXNzYWdlRGF0YUluaXQgPSBWYXJpYW50PFJlZlB0cjxKU0M6
OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiwgU3RyaW5nPjsKKwor
c3RydWN0IFB1c2hFdmVudEluaXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKKyAgICBzdGQ6Om9w
dGlvbmFsPFB1c2hNZXNzYWdlRGF0YUluaXQ+IGRhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50SW5pdC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50SW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmJi
NWNlMGIwMzYwYmVjMDMyMTRjZmI5NWNmY2RkN2Q0ZGFkMDk1OAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmlkbApAQCAtMCww
ICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAoQnVmZmVyU291cmNlIG9yIFVTVlN0cmlu
ZykgUHVzaE1lc3NhZ2VEYXRhSW5pdDsKKworWworICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQ
T1JULAorXQorZGljdGlvbmFyeSBQdXNoRXZlbnRJbml0IDogRXh0ZW5kYWJsZUV2ZW50SW5pdCB7
CisgICAgUHVzaE1lc3NhZ2VEYXRhSW5pdCBkYXRhOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjE5Y2Yw
OTBmMDI5NWNhNzhmNDViZmJhMzRkZTZkNTEzYzQxODg0MAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuY3BwCkBAIC0wLDAg
KzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHVz
aE1lc3NhZ2VEYXRhLmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRl
ICJCbG9iLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKKyNpbmNsdWRlICJUZXh0
UmVzb3VyY2VEZWNvZGVyLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNMb2NrLmg+Cisj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPTk9iamVjdC5oPgorI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKFB1c2hNZXNzYWdlRGF0YSk7CisKK0V4Y2VwdGlvbk9yPFJlZlB0cjxKU0M6
OkFycmF5QnVmZmVyPj4gUHVzaE1lc3NhZ2VEYXRhOjphcnJheUJ1ZmZlcigpCit7CisgICAgYXV0
byBidWZmZXIgPSBBcnJheUJ1ZmZlcjo6dHJ5Q3JlYXRlKG1fZGF0YS5kYXRhKCksIG1fZGF0YS5z
aXplKCkpOworICAgIGlmICghYnVmZmVyKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgT3V0
T2ZNZW1vcnlFcnJvciB9OworICAgIHJldHVybiBidWZmZXI7Cit9CisKK1JlZlB0cjxCbG9iPiBQ
dXNoTWVzc2FnZURhdGE6OmJsb2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sK
KyAgICByZXR1cm4gQmxvYjo6Y3JlYXRlKCZjb250ZXh0LCBWZWN0b3I8dWludDhfdD4geyBtX2Rh
dGEgfSwgeyB9KTsKK30KKworRXhjZXB0aW9uT3I8SlNDOjpKU1ZhbHVlPiBQdXNoTWVzc2FnZURh
dGE6Ompzb24oSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKK3sKKyAgICBKU0M6OkpT
TG9ja0hvbGRlciBsb2NrKCZnbG9iYWxPYmplY3QpOworICAgIGF1dG8gdmFsdWUgPSBKU0M6OkpT
T05QYXJzZSgmZ2xvYmFsT2JqZWN0LCB0ZXh0KCkpOworICAgIGlmICghdmFsdWUpCisgICAgICAg
IHJldHVybiBFeGNlcHRpb24geyBTeW50YXhFcnJvciB9OworICAgIHJldHVybiB2YWx1ZTsKK30K
KworU3RyaW5nIFB1c2hNZXNzYWdlRGF0YTo6dGV4dCgpCit7CisgICAgcmV0dXJuIFRleHRSZXNv
dXJjZURlY29kZXI6OnRleHRGcm9tVVRGOChtX2RhdGEuZGF0YSgpLCBtX2RhdGEuc2l6ZSgpKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hN
ZXNzYWdlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdl
RGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjgyNzE0OTcwZWM0NWRkZTk1YjA0NzkxYjJhNDE5MjE4ZjVkZmVk
NmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVz
aE1lc3NhZ2VEYXRhLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uT3Iu
aCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BcnJheUJ1ZmZlci5oPgorI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0pTQ0pTVmFsdWUuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQmxvYjsKK2NsYXNzIEpTRE9NR2xvYmFsT2JqZWN0
OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKKworY2xhc3MgUHVzaE1lc3NhZ2VEYXRh
IGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8UHVzaE1lc3NhZ2VEYXRhPiB7CisgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChQdXNoTWVzc2FnZURhdGEpOworcHVibGljOgorICAgIHN0YXRpYyBS
ZWY8UHVzaE1lc3NhZ2VEYXRhPiBjcmVhdGUoVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBQdXNoTWVzc2FnZURhdGEoV1RGTW92ZShkYXRhKSkpOyB9CisgICAg
flB1c2hNZXNzYWdlRGF0YSgpID0gZGVmYXVsdDsKKworICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxK
U0M6OkFycmF5QnVmZmVyPj4gYXJyYXlCdWZmZXIoKTsKKyAgICBSZWZQdHI8QmxvYj4gYmxvYihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAgRXhjZXB0aW9uT3I8SlNDOjpKU1ZhbHVlPiBq
c29uKEpTRE9NR2xvYmFsT2JqZWN0Jik7CisgICAgU3RyaW5nIHRleHQoKTsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBQdXNoTWVzc2FnZURhdGEoVmVjdG9yPHVpbnQ4X3Q+JiYpOworCisgICAg
VmVjdG9yPHVpbnQ4X3Q+IG1fZGF0YTsKK307CisKK2lubGluZSBQdXNoTWVzc2FnZURhdGE6OlB1
c2hNZXNzYWdlRGF0YShWZWN0b3I8dWludDhfdD4mJiBkYXRhKQorICAgIDogbV9kYXRhKFdURk1v
dmUoZGF0YSkpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9QdXNoTWVzc2FnZURhdGEuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1B1c2hNZXNzYWdlRGF0YS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY2NjBhZGQxZTZlMmZmNDFkZDZj
ODliYTYyMzcyYTliMDg3MGU4YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9U0VSVklDRV9XT1JLRVIsCisgICAgRW5hYmxlZEF0
UnVudGltZT1TZXJ2aWNlV29ya2VyUHVzaEFQSSwKKyAgICBFeHBvc2VkPVNlcnZpY2VXb3JrZXIs
CisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50ZXJmYWNlIFB1c2hNZXNzYWdl
RGF0YSB7CisgICAgQXJyYXlCdWZmZXIgYXJyYXlCdWZmZXIoKTsKKyAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dF0gQmxvYiBibG9iKCk7CisgICAgW0NhbGxXaXRoPUdsb2JhbE9i
amVjdF0gYW55IGpzb24oKTsKKyAgICBVU1ZTdHJpbmcgdGV4dCgpOworfTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5M2Fk
YjI0MTY0OWY2YjkzYTgzYjQ2ODRmODZlYzdlNzczNzE0YzM0Li5lMmEzZTdlNTJjYTU4YWM3YWQy
MzdlZGFkYWUzNDU1ZDI2ZTU2MmI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjEtMDktMzAg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0
IGZvciBQdXNoRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzMTAwNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3B1c2hFdmVudC5hbnkuanM6IEFkZGVk
LgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LnNlcnZp
Y2V3b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWw6IEFkZGVkLgorCiAyMDIx
LTA5LTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBv
cnQgV1BUIHB1c2ggYXBpIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBl
ZWUyNGVkYjc5NmU1ZDlkMGI1NzVhNGVmMGI0YzliOWM5N2FmNTM4Li5hYjU1MWY0ZGNmNjI4Nzk3
ODRmYTM3ZDI3Njk0YjE0OTI2MDc5MGM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxMiBAQAorMjAyMS0wOS0zMCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFB1c2hFdmVudAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDA3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
cHVzaC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQ6
CisKIDIwMjEtMDktMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEltcG9ydCBXUFQgcHVzaCBhcGkgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3B1c2hFdmVudC5hbnkuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODNkM2E0
NDNiYmUxMDk2MjczMjRiNDgwYTAzZDMwYjViNDdhNzRjNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LmpzCkBAIC0w
LDAgKzEsNDIgQEAKKy8vIE1FVEE6IHRpdGxlPVB1c2hFdmVudCB0ZXN0cworLy8gTUVUQTogZ2xv
YmFsPXNlcnZpY2V3b3JrZXIKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3IFB1
c2hFdmVudCgicHVzaCIpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YSwgbnVsbCk7CisK
KyAgICBldmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IH0pOworICAgIGFzc2VydF9lcXVh
bHMoZXZlbnQuZGF0YSwgbnVsbCk7Cit9LCAiUHVzaEV2ZW50IHdpdGhvdXQgZGF0YSIpOworCit0
ZXN0KCgpID0+IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwgeyBkYXRh
IDogbmV3IEFycmF5QnVmZmVyKCkgfSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoZXZlbnQuZGF0
YSwgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5kYXRhLnRleHQoKSwgIiIpOworCisg
ICAgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwgeyBkYXRhIDogIiIgfSk7CisgICAgYXNz
ZXJ0X25vdF9lcXVhbHMoZXZlbnQuZGF0YSwgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVu
dC5kYXRhLnRleHQoKSwgIiIpOworCisgICAgY29uc3QgdmFsdWUgPSB7IHRlc3QgOiAxIH07Cisg
ICAgY29uc3Qgc3RyaW5nVmFsdWUgPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7CisgICAgY29uc3Qg
ZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpOworCisgICAgZm9yIChsZXQgdmFsdWUgb2YgW3N0
cmluZ1ZhbHVlLCBlbmNvZGVyLmVuY29kZShzdHJpbmdWYWx1ZSldKSB7CisgICAgICAgIGV2ZW50
ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6IHZhbHVlIH0pOworICAgICAgICBhc3Nl
cnRfdHJ1ZShldmVudCBpbnN0YW5jZW9mIFB1c2hFdmVudCk7CisgICAgICAgIGFzc2VydF90cnVl
KGV2ZW50IGluc3RhbmNlb2YgRXh0ZW5kYWJsZUV2ZW50KTsKKworICAgICAgICBjb25zdCBkYXRh
ID0gZXZlbnQuZGF0YTsKKyAgICAgICAgYXNzZXJ0X3RydWUoZGF0YSBpbnN0YW5jZW9mIFB1c2hN
ZXNzYWdlRGF0YSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS50ZXh0KCksIHN0cmluZ1Zh
bHVlKTsKKyAgICAgICAgYXNzZXJ0X3RydWUoZGF0YS5ibG9iKCkgaW5zdGFuY2VvZiBCbG9iKTsK
KyAgICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLmpzb24oKS50ZXN0LCAxKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLmFycmF5QnVmZmVyKCkuYnl0ZUxlbmd0aCwgc3RyaW5nVmFsdWUubGVu
Z3RoKTsKKyAgICB9Cit9LCAiUHVzaEV2ZW50IHdpdGggZGF0YSIpOworCit0ZXN0KCgpID0+IHsK
KyAgICBjb25zdCBldmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IGRhdGEgOiAie3Rlc3Qg
OiAxfSIgfSk7CisgICAgYXNzZXJ0X3Rocm93c19kb20oIlN5bnRheEVycm9yIiwgKCkgPT4gZXZl
bnQuZGF0YS5qc29uKCkpOworfSwgIlB1c2hFdmVudCB3aXRoIGJhZCBqc29uIik7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcHVzaEV2ZW50LmFueS5z
ZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQyYjZiNmY4NDY3NTY2NTkwMGJiMmQ1ZmY4ODY1N2QyZTQ1MzczY2UKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcHVzaEV2ZW50LmFu
eS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBQdXNo
RXZlbnQgd2l0aG91dCBkYXRhCitQQVNTIFB1c2hFdmVudCB3aXRoIGRhdGEKK1BBU1MgUHVzaEV2
ZW50IHdpdGggYmFkIGpzb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vy
dmljZS13b3JrZXJzL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
cHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlz
IGZpbGUgaXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0
aGUgdGVtcGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFw
aS9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVz
cy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZTljN2NhZTQ2NDYz
NGQzODgwMzRhODg4MGQ0ZDQxYjllOGMzYzg5OS4uYTc1ZjdmY2JkNDA2Y2NiNzQ1OWEyNDQ5YThj
NjM0YmJkMWE1NTNiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC00NSwyNiArNDUsMjYgQEAgRkFJTCBQdXNoU3Vic2NyaXB0aW9uIGludGVyZmFj
ZTogYXR0cmlidXRlIG9wdGlvbnMgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2UKIEZBSUwg
UHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoUHVzaEVuY3J5cHRp
b25LZXlOYW1lKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlw
dGlvbiIgbWlzc2luZwogRkFJTCBQdXNoU3Vic2NyaXB0aW9uIGludGVyZmFjZTogb3BlcmF0aW9u
IHVuc3Vic2NyaWJlKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJz
Y3JpcHRpb24iIG1pc3NpbmcKIEZBSUwgUHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6IG9wZXJh
dGlvbiB0b0pTT04oKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNj
cmlwdGlvbiIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVj
dGVkIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VE
YXRhIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJvcGVy
dHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNz
YWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VE
YXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1
c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VE
YXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1
c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VE
YXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1
c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcnJheUJ1ZmZlcigpIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdl
RGF0YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQ
dXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmxvYigpIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVz
c2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24ganNvbigpIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0
ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURh
dGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJv
cGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4
cGVjdGVkIHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVy
ZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIg
bWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAi
UHVzaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1
c2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaEV2
ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYXRhIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hF
dmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZl
bnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUHVzaEV2ZW50KCJ0eXBlIikgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogUHVzaEV2ZW50IgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFB1c2hFdmVu
dCgidHlwZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVh
dGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6
IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hFdmVudCIKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFj
ZTogbmV3IFB1c2hFdmVudCgidHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YSIgd2l0
aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaEV2ZW50IgorUEFTUyBQdXNoTWVzc2Fn
ZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9i
amVjdAorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1Mg
UHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQdXNoTWVzc2FnZURh
dGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eQorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVz
IHByb3BlcnR5CitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcnJh
eUJ1ZmZlcigpCitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBibG9i
KCkKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGpzb24oKQorUEFT
UyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgpCitQQVNTIFB1c2hF
dmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0CitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQdXNoRXZl
bnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQ
dXNoRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFB1c2hFdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUHVzaEV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIGRhdGEKK1BBU1MgUHVzaEV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRl
cmZhY2Ugb2YgbmV3IFB1c2hFdmVudCgidHlwZSIpCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBu
ZXcgUHVzaEV2ZW50KCJ0eXBlIikKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZTogbmV3IFB1c2hF
dmVudCgidHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YSIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUKIEZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBt
aXNzaW5nCiBGQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0
IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKIEZBSUwgUHVzaFN1YnNjcmlwdGlvbkNo
YW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQi
IGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439725</attachid>
            <date>2021-09-30 04:26:07 -0700</date>
            <delta_ts>2021-10-01 00:14:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231007-20210930132603.patch</filename>
            <type>text/plain</type>
            <size>46054</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwOTk2MTExYzdhZTYxNzBkNDgyNDRk
YjhhYzdkNGVmMTg5YTI5ODQuLjE4ZWE0Njk0MThlYzMxNjJhN2YzNDM5ODZmMTczYzE3ODA2ZmQ0
ODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMjEtMDktMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIxLTA5LTI5ICBG
dWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFtXaW5D
YWlyb10gUkVHUkVTU0lPTihyMjgwNzI2KTogcmVnaXN0cnkga2V5cyBlbmFibGluZyBHUFUgcHJv
Y2VzcyBtb2RlIGRvbid0IHdvcmsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhYTRkMmZjZTUwYzRkNjgzM2NiOTRm
Y2YwNzY2OTMyOGYzY2I2MWUwLi42MDU0YjMxZGMyYTUyODFjMDkzMGQ1OTQxYzE0OTA3OWQ1NjFl
NTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjEtMDktMzAgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZl
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAw
NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBQdXNoRXZlbnQgYW5kIFB1c2hNZXNzYWdlRGF0YWFzIHBlciBzcGVjaWZpY2F0aW9uLgor
ICAgICAgICBodHRwczovL3czYy5naXRodWIuaW8vcHVzaC1hcGkvI3B1c2hldmVudC1pbnRlcmZh
Y2UgYW5kCisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wdXNoLWFwaS8jcHVzaG1lc3Nh
Z2VkYXRhLWludGVyZmFjZS4KKworICAgICAgICBQdXQgdGhlbSBiZWhpbmQgYSBydW50aW1lIGZs
YWcsIG9mZiBieSBkZWZhdWx0LgorCisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbAorCisgICAgICAgICogQ01ha2VM
aXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJD
b3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaW46CisgICAgICAg
ICogcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmg6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1B1c2hFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNo
RXZlbnQuaDogQWRkZWQuCisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5pZGw6
IEFkZGVkLgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0Lmg6IEFkZGVk
LgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmlkbDogQWRkZWQuCisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5jcHA6IEFkZGVkLgorICAg
ICAgICAqIHdvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuaDogQWRkZWQuCisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5pZGw6IEFkZGVkLgorCiAyMDIxLTA5
LTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR1BV
UCBDb2NvYSBHcmFwaGljc0NvbnRleHRHTE9wZW5HTCBzaG91bGQgY2hlY2sgZm9yIEFOR0xFIHBy
ZXNlbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJl
ZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNl
cy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IGYwYmNiMmZkNDczM2E2YzQy
Y2Q0MjRlMzU3MzZlMGE3MDJkZmQ4ZDAuLjZmNTg0ZjIxMWNiYmYwMzgwYzA2OTZmOWI3NTU0MWM3
YjYyNmQ5MDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQ
cmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xMTEyLDYgKzExMTIs
MTcgQEAgU2VydmVyVGltaW5nRW5hYmxlZDoKICAgICAgICJFTkFCTEUoRVhQRVJJTUVOVEFMX0ZF
QVRVUkVTKSAmJiAoUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpKSI6IHRydWUKICAgICAg
IGRlZmF1bHQ6IGZhbHNlCiAKK1NlcnZpY2VXb3JrZXJQdXNoQVBJRW5hYmxlZDoKKyAgdHlwZTog
Ym9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIlNlcnZpY2UgV29ya2VyIFB1c2ggQVBJIgorICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFibGUgU2VydmljZSBXb3JrZXIgUHVzaCBBUEki
CisgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzCisgIGRlZmF1bHRWYWx1
ZToKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAg
ICBkZWZhdWx0OiBmYWxzZQorCiBTaGFyZWRXb3JrZXJFbmFibGVkOgogICB0eXBlOiBib29sCiAg
IGh1bWFuUmVhZGFibGVOYW1lOiAiU2hhcmVkV29ya2VyIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRl
eCA1YWMxNzQ5NjEzOWQ0MzkyODI4ZTU5MzhiNDI5Y2RhYTYxZDUzYWFlLi45N2I1YWI0OGViMGU0
ZGNiOTg5MDJmMGYzZGE5NjVjZjM3ODljYTRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE5
MCw2ICsxMTkwLDkgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICB3b3JrZXJz
L3NlcnZpY2UvRXh0ZW5kYWJsZUV2ZW50SW5pdC5pZGwKICAgICB3b3JrZXJzL3NlcnZpY2UvRXh0
ZW5kYWJsZU1lc3NhZ2VFdmVudC5pZGwKICAgICB3b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5p
ZGwKKyAgICB3b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmlkbAorICAgIHdvcmtlcnMvc2Vydmlj
ZS9QdXNoRXZlbnRJbml0LmlkbAorICAgIHdvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEu
aWRsCiAgICAgd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIuaWRsCiAgICAgd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCiAgICAgd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDbGllbnRUeXBlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2
NjEwNDljMy4uZDkxMzBjZTQ5YjExZDllZmIzNDA0NTc5MzRmNGFjZTIzZTZmMjlmYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNDQw
LDYgKzE0NDAsOSBAQCAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZUV2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudElu
aXQuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZU1lc3NhZ2VF
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmlkbAor
JChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5pZGwKKyQoUFJPSkVDVF9E
SVIpL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmlkbAorJChQUk9KRUNUX0RJUikvd29y
a2Vycy9zZXJ2aWNlL1B1c2hNZXNzYWdlRGF0YS5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJDbGllbnQuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckNsaWVudFR5cGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGI2MGE0OWMxNTJkOGY5MmFiMjU1MjJhOTky
OWEyM2EwY2E1YmZhZWUuLmEwODc0NTU4NDNiM2ZiN2ExMWNhMDdhODc4M2ZlZDBjOTM1OTFiZjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0xNjk1LDYgKzE2OTUsMTIgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnMKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVibGljS2V5Q3JlZGVudGlh
bFJlcXVlc3RPcHRpb25zLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50LmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoRXZl
bnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNo
RXZlbnRJbml0LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNQdXNoRXZlbnRJbml0LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUHVzaE1lc3NhZ2VEYXRhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNQdXNoTWVzc2FnZURhdGEuaAogJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNRdWlja1RpbWVQbHVnaW5SZXBsYWNlbWVu
dC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUXVp
Y2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNSVENBbnN3ZXJPcHRpb25zLmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggYTM1MjI5MzYxYTBkYTU0YjNlMTJiNzJiNDU5ZmM2MjMwYzdhNmM5NS4u
ZmQ1ODJkOTY4ZjdhYmVkMGEyZjMwYmJmZDg2MzJmYzNhZDIxM2VkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC0xMjY4LDYgKzEyNjgsOSBAQCBKU19CSU5ESU5HX0lETFMgOj0g
XAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudEluaXQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlTWVzc2FnZUV2ZW50
LmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5pZGwgXAor
ICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5pZGwgXAorICAgICQoV2Vi
Q29yZSkvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudEluaXQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IGU0M2FmZGNhZWYyMGRmYzQzYTVmMDY5Y2Q0YWQyZGFhMTZkOWM5ZWMuLjFjMjU2YWI1YTYxMGQy
NmMzY2FkNGEyMTVjZTU2YzdlNTAzMTlkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yNjU4LDYgKzI2
NTgsOCBAQCB3b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKIHdvcmtlcnMvc2VydmljZS9FeHRlbmRh
YmxlRXZlbnQuY3BwCiB3b3JrZXJzL3NlcnZpY2UvRXh0ZW5kYWJsZU1lc3NhZ2VFdmVudC5jcHAK
IHdvcmtlcnMvc2VydmljZS9GZXRjaEV2ZW50LmNwcAord29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVu
dC5jcHAKK3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuY3BwCiB3b3JrZXJzL3NlcnZp
Y2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcAogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXIu
Y3BwCiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudC5jcHAKQEAgLTMzNTEsNiAr
MzM1Myw5IEBAIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9ucy5jcHAKIEpTUHVi
bGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuY3BwCiBKU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1
ZXN0T3B0aW9ucy5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3BwCitKU1B1c2hFdmVu
dC5jcHAKK0pTUHVzaEV2ZW50SW5pdC5jcHAKK0pTUHVzaE1lc3NhZ2VEYXRhLmNwcAogSlNSVENB
bnN3ZXJPcHRpb25zLmNwcAogSlNSVENDZXJ0aWZpY2F0ZS5jcHAKIEpTUlRDQ29uZmlndXJhdGlv
bi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAwMmQ4NDE1YjQ2MGIyNzUwMTY1NGExNTc0MjkxMmI1YzRmZGIxMjVhLi43ZjJm
M2YxNGNjMDQyMTA3Mjk2NjdmMmZjOGQ4YzZmMmIyMDZkZjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMTc3LDYgKzExNzcs
OCBAQAogCQk0MTg5MzhCMjI0MjlGOUI0MDA3RkRDNDEgLyogUmV0cmlldmVSZWNvcmRzT3B0aW9u
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4OTM4
QUYyNDI5RjlBQjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MThBMDZEMDEzM0MwNEQ1
MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNw
YXRjaGVyLmggKi87IH07CiAJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAvKiBKU0Fic3RyYWN0
V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovOyB9OworCQk0
MThGQ0JBODI3MDREMDIxMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGQ0JBNTI3MDRCNzkwMDBGOTZFQ0EgLyog
UHVzaEV2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNDE4RkNCQTkyNzA0RDAyOTAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZDQkEzMjcwNEI3OEYw
MEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3IC8qIEZyYW1lUmF0
ZU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MjQyNDkyMTI3Qjkz
RTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQyNDcyMTI3QjdDQzAw
NjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tICovOyB9OwogCQk0
MTlBQ0Y5MjFGOTdFN0RBMDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4RTFGOTdFN0Q1MDA5
RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxMDAsNiArODEwMiwxNCBAQAogCQk0MThDMzk1RjFD
OEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9s
bGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEY4ODAyMEZGOTU3QUUwMDgw
RjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk0MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fic3RyYWN0V29ya2VyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQjlGMjcwNEI2QUUwMEY5NkVDQSAvKiBQdXNoRXZl
bnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFB1c2hFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxOEZDQkExMjcwNEI2QUUwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1
c2hNZXNzYWdlRGF0YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkEy
MjcwNEI2RjEwMEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoRXZlbnRJbml0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCQTMyNzA0Qjc4RjAwRjk2
RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaEV2ZW50SW5pdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JBNDI3MDRCNzhGMDBGOTZFQ0EgLyog
UHVzaEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1c2hFdmVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkE1MjcwNEI3OTAwMEY5NkVDQSAvKiBQdXNoRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxOEZDQkE2MjcwNEI4OUIwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHVzaE1lc3NhZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxOEZDQkE3MjcwNEI4OUIwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gUHVzaE1lc3NhZ2VEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0ZU1vbml0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVSYXRlTW9uaXRvci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1
NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MjQy
NDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVhbHRpbWVPdXRnb2lu
Z1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDkz
Nyw2ICsyMDk0NywxNCBAQAogCQkJCTQxQUYzNzk0MUY4REE0OTUwMDExMUMzMSAvKiBGZXRjaEV2
ZW50LmNwcCAqLywKIAkJCQk0MUFGMzc4ODFGOEMxRTc5MDAxMTFDMzEgLyogRmV0Y2hFdmVudC5o
ICovLAogCQkJCTQxQUYzNzhEMUY4QzFFN0IwMDExMUMzMSAvKiBGZXRjaEV2ZW50LmlkbCAqLywK
KwkJCQk0MThGQ0JBNDI3MDRCNzhGMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmNwcCAqLywKKwkJCQk0
MThGQ0JBNTI3MDRCNzkwMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi8sCisJCQkJNDE4RkNCOUYy
NzA0QjZBRTAwRjk2RUNBIC8qIFB1c2hFdmVudC5pZGwgKi8sCisJCQkJNDE4RkNCQTMyNzA0Qjc4
RjAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLywKKwkJCQk0MThGQ0JBMjI3MDRCNkYxMDBG
OTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5pZGwgKi8sCisJCQkJNDE4RkNCQTcyNzA0Qjg5QjAwRjk2
RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5jcHAgKi8sCisJCQkJNDE4RkNCQTYyNzA0Qjg5QjAwRjk2
RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5oICovLAorCQkJCTQxOEZDQkExMjcwNEI2QUUwMEY5NkVD
QSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovLAogCQkJCTUxRjE3NTVCMUYzRUJDMEMwMEM3NDk1
MCAvKiBTZXJ2aWNlV29ya2VyLmNwcCAqLywKIAkJCQk1MUYxNzU1QTFGM0VCQzBDMDBDNzQ5NTAg
LyogU2VydmljZVdvcmtlci5oICovLAogCQkJCTUxRjE3NTU5MUYzRUJDMEMwMEM3NDk1MCAvKiBT
ZXJ2aWNlV29ya2VyLmlkbCAqLywKQEAgLTM0NjE1LDYgKzM0NjMzLDggQEAKIAkJCQk1NzMwM0JF
QjIwMDk3RjQwMDAzNTU5NjUgLyogUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTAwODFGRjAwMTZCMEEyRDMwMDhBQUE3QSAvKiBQdWJsaWNTdWZmaXguaCBpbiBI
ZWFkZXJzICovLAogCQkJCTEwRkIwODRCMTRFMTVDN0UwMEEzREI5OCAvKiBQdWJsaWNVUkxNYW5h
Z2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MThGQ0JBODI3MDREMDIxMDBGOTZFQ0EgLyogUHVz
aEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MThGQ0JBOTI3MDREMDI5MDBGOTZFQ0EgLyog
UHVzaEV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNENTExRjYyNTBDMUNCRjAwMkVE
QzUxIC8qIFB1c2hQdWxsRklGTy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTUwQTBCQ0EwODVGNjAz
OTAwNzM1M0Q2IC8qIFF1YWxpZmllZE5hbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzQzFGNTk0
MUVERjY5RDMwMDQxMEQyNyAvKiBRdWFsaWZpZWROYW1lQ2FjaGUuaCBpbiBIZWFkZXJzICovLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmlu
ZGV4IDliOGExOGI0Yzk5ZjM2OGU3NzBjY2UwNmI5NjQ1MDYxZGU0ZDdiN2MuLjA5YjIzZTUzMTli
MzUxMzk3OTg0Zjk1ZjkzYTNhOWIzNGVjMzk3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTIwNyw2ICsyMDcsOCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQb2lu
dGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCisgICAgbWFjcm8o
UHVzaEV2ZW50KSBcCisgICAgbWFjcm8oUHVzaE1lc3NhZ2VEYXRhKSBcCiAgICAgbWFjcm8oUmVz
aXplT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlckVudHJ5KSBcCiAgICAgbWFj
cm8oUlRDQ2VydGlmaWNhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggMWI0NGIw
ZDAxODI3YWRlZTM2MWNjMzFjNTFkYWQzMTg2MDQ4Nzc4Zi4uNTdiM2FlZjUxYTM4OWM1ZDgzM2Jl
Zjk4ZWM0MDAyNjBiYmNhNWI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTM2LDYg
KzM2LDcgQEAgUGFnZVRyYW5zaXRpb25FdmVudAogUG9wU3RhdGVFdmVudAogUHJvZ3Jlc3NFdmVu
dAogUHJvbWlzZVJlamVjdGlvbkV2ZW50CitQdXNoRXZlbnQgY29uZGl0aW9uYWw9U0VSVklDRV9X
T1JLRVIKIFN1Ym1pdEV2ZW50CiBUZXh0RXZlbnQKIFRyYW5zaXRpb25FdmVudApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCA2NDE3YzA2MzUwNjE1
NjdkMTRjMDk3MDcxMzBlNjU5YWVkZmI0Y2Q1Li41MTVmNjBhNDQ4ODlkNGQxODQ3OGFhZGE4MjRi
YTk1NzE3Nzk3YzBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuaApAQCAtMTgyLDYgKzE4Miw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCiAgICAgYm9vbCBzZXJ2aWNlV29ya2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VydmljZVdvcmtlckVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJFbmFibGVk
KGJvb2wgaXNFbmFibGVkKSB7IG1fc2VydmljZVdvcmtlckVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0K
KyAgICBib29sIHNlcnZpY2VXb3JrZXJQdXNoQVBJRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1f
c2VydmljZVdvcmtlclB1c2hBUElFbmFibGVkOyB9CisgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2Vy
UHVzaEFQSUVuYWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9zZXJ2aWNlV29ya2VyUHVzaEFQSUVu
YWJsZWQgPSBpc0VuYWJsZWQ7IH0KICNlbmRpZgogCiAgICAgdm9pZCBzZXRDU1NMb2dpY2FsRW5h
YmxlZChib29sIGlzRW5hYmxlZCkgeyBtX0NTU0xvZ2ljYWxFbmFibGVkID0gaXNFbmFibGVkOyB9
CkBAIC0zMzcsNiArMzM5LDcgQEAgcHJpdmF0ZToKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKICAgICBib29sIG1fc2VydmljZVdvcmtlckVuYWJsZWQgeyBmYWxzZSB9OworICAgIGJvb2wg
bV9zZXJ2aWNlV29ya2VyUHVzaEFQSUVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKICAgICBi
b29sIG1fQ1NTTG9naWNhbEVuYWJsZWQgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZDIxYTE4OTIwOWVjOGE1MDY4
NWY5NmVmNzM0MGRiMGJjNjE2ZDNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQdXNoRXZlbnQuaCIKKworI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIlB1c2hNZXNzYWdlRGF0YS5oIgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU0FycmF5QnVmZmVyVmlldy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pT
Q0lubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQdXNoRXZlbnQpOwor
CitzdGF0aWMgVmVjdG9yPHVpbnQ4X3Q+IGRhdGFGcm9tUHVzaE1lc3NhZ2VEYXRhSW5pdChQdXNo
TWVzc2FnZURhdGFJbml0JiBkYXRhKQoreworICAgIHJldHVybiBXVEY6OnN3aXRjaE9uKGRhdGEs
IFtdKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiYgdmFsdWUpIC0+IFZlY3Rvcjx1aW50OF90PiB7
CisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICByZXR1cm4geyB9OworICAgICAgICBy
ZXR1cm4geyByZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPih2YWx1ZS0+ZGF0YSgpKSwg
dmFsdWUtPmJ5dGVMZW5ndGgoKSB9OworICAgIH0sIFtdKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVy
Vmlldz4mIHZhbHVlKSAtPiBWZWN0b3I8dWludDhfdD4geworICAgICAgICBpZiAoIXZhbHVlKQor
ICAgICAgICAgICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIHsgcmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50OF90Kj4odmFsdWUtPmJhc2VBZGRyZXNzKCkpLCB2YWx1ZS0+Ynl0ZUxlbmd0
aCgpIH07CisgICAgfSwgW10oU3RyaW5nJiB2YWx1ZSkgLT4gVmVjdG9yPHVpbnQ4X3Q+IHsKKyAg
ICAgICAgYXV0byB1dGY4ID0gdmFsdWUudXRmOCgpOworICAgICAgICByZXR1cm4gVmVjdG9yPHVp
bnQ4X3Q+IHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4odXRmOC5kYXRhKCkpLCB1
dGY4Lmxlbmd0aCgpIH07CisgICAgfSk7Cit9CisKK1JlZjxQdXNoRXZlbnQ+IFB1c2hFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIFB1c2hFdmVudEluaXQmJiBpbml0aWFsaXpl
ciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50
OF90Pj4gZGF0YTsKKyAgICBpZiAoaW5pdGlhbGl6ZXIuZGF0YSkKKyAgICAgICAgZGF0YSA9IGRh
dGFGcm9tUHVzaE1lc3NhZ2VEYXRhSW5pdCgqaW5pdGlhbGl6ZXIuZGF0YSk7CisgICAgcmV0dXJu
IGNyZWF0ZSh0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVyKSwgV1RGTW92ZShkYXRhKSwgaXNUcnVz
dGVkKTsKK30KKworUmVmPFB1c2hFdmVudD4gUHVzaEV2ZW50OjpjcmVhdGUoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGluaXRpYWxpemVyLCBzdGQ6Om9wdGlv
bmFsPFZlY3Rvcjx1aW50OF90Pj4mJiBkYXRhLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFB1c2hFdmVudCh0eXBlLCBXVEZNb3ZlKGluaXRpYWxpemVy
KSwgV1RGTW92ZShkYXRhKSwgaXNUcnVzdGVkKSk7Cit9CisKK1B1c2hFdmVudDo6UHVzaEV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4dGVuZGFibGVFdmVudEluaXQmJiBldmVudEluaXQs
IHN0ZDo6b3B0aW9uYWw8VmVjdG9yPHVpbnQ4X3Q+PiYmIGRhdGEsIElzVHJ1c3RlZCBpc1RydXN0
ZWQpCisgICAgOiBFeHRlbmRhYmxlRXZlbnQodHlwZSwgV1RGTW92ZShldmVudEluaXQpLCBpc1Ry
dXN0ZWQpCit7CisgICAgaWYgKGRhdGEpCisgICAgICAgIG1fZGF0YSA9IFB1c2hNZXNzYWdlRGF0
YTo6Y3JlYXRlKFdURk1vdmUoKmRhdGEpKTsKK30KKworUHVzaEV2ZW50Ojp+UHVzaEV2ZW50KCkK
K3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1
c2hFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNkMmZkYWE2MzMwZDQwOTc0ZTg3ZjAwOWExOTMzZGZkMmJlYjAzOTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmgK
QEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiUHVzaEV2ZW50SW5pdC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIFB1c2hNZXNzYWdlRGF0YTsKKworY2xhc3MgUHVzaEV2ZW50
IGZpbmFsIDogcHVibGljIEV4dGVuZGFibGVFdmVudCB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChQdXNoRXZlbnQpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8UHVzaEV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbVN0cmluZyYsIFB1c2hFdmVudEluaXQmJiwgSXNUcnVzdGVkID0gSXNUcnVz
dGVkOjpObyk7CisgICAgc3RhdGljIFJlZjxQdXNoRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmLCBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90
Pj4mJiwgSXNUcnVzdGVkKTsKKyAgICB+UHVzaEV2ZW50KCk7CisKKyAgICBFdmVudEludGVyZmFj
ZSBldmVudEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIFB1c2hFdmVudEludGVyZmFj
ZVR5cGU7IH0KKyAgICBQdXNoTWVzc2FnZURhdGEqIGRhdGEoKSB7IHJldHVybiBtX2RhdGEuZ2V0
KCk7IH0KKworcHJpdmF0ZToKKyAgICBQdXNoRXZlbnQoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVu
ZGFibGVFdmVudEluaXQmJiwgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYsIElzVHJ1
c3RlZCk7CisKKyAgICBSZWZQdHI8UHVzaE1lc3NhZ2VEYXRhPiBtX2RhdGE7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnQuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU0OWY2M2VlOTY5NTRiZDA0OTJiZjkxYmZlZDYwMzZiNTEwOTI1OGUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50LmlkbApAQCAtMCww
ICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VS
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9U2VydmljZVdvcmtlclB1c2hBUEksCisgICAgRXhwb3J0
TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyLAorICAgIEpT
R2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250ZXh0CitdIGludGVyZmFjZSBQ
dXNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0cnVjdG9yKERPTVN0cmluZyB0
eXBlLCBvcHRpb25hbCBQdXNoRXZlbnRJbml0IGV2ZW50SW5pdERpY3QpOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBQdXNoTWVzc2FnZURhdGE/IGRhdGE7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjNmYzFkZmMwMDg5
MjVhMWNkZGI4ZWQ2OTBlM2FmYjM2ZmQ5MmMwYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmgKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQor
CisjaW5jbHVkZSAiRXh0ZW5kYWJsZUV2ZW50LmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFudC5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3VzaW5nIFB1c2hNZXNzYWdlRGF0YUluaXQgPSBWYXJpYW50PFJlZlB0cjxKU0M6
OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiwgU3RyaW5nPjsKKwor
c3RydWN0IFB1c2hFdmVudEluaXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKKyAgICBzdGQ6Om9w
dGlvbmFsPFB1c2hNZXNzYWdlRGF0YUluaXQ+IGRhdGE7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50SW5pdC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2ZW50SW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjgy
N2IwNjgzZDE1ZjRiODRlMGI0YWM1Zjc0NjU0NzQ3ZTI1MWNlNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoRXZlbnRJbml0LmlkbApAQCAtMCww
ICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAoQnVmZmVyU291cmNlIG9yIFVTVlN0cmlu
ZykgUHVzaE1lc3NhZ2VEYXRhSW5pdDsKKworWworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09S
S0VSCitdIGRpY3Rpb25hcnkgUHVzaEV2ZW50SW5pdCA6IEV4dGVuZGFibGVFdmVudEluaXQgewor
ICAgIFB1c2hNZXNzYWdlRGF0YUluaXQgZGF0YTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaE1lc3NhZ2VEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYxOWNmMDkw
ZjAyOTVjYTc4ZjQ1YmZiYTM0ZGU2ZDUxM2M0MTg4NDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvUHVzaE1lc3NhZ2VEYXRhLmNwcApAQCAtMCwwICsx
LDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlB1c2hN
ZXNzYWdlRGF0YS5oIgorCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAi
QmxvYi5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCisjaW5jbHVkZSAiVGV4dFJl
c291cmNlRGVjb2Rlci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT05PYmplY3QuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChQdXNoTWVzc2FnZURhdGEpOworCitFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpB
cnJheUJ1ZmZlcj4+IFB1c2hNZXNzYWdlRGF0YTo6YXJyYXlCdWZmZXIoKQoreworICAgIGF1dG8g
YnVmZmVyID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0ZShtX2RhdGEuZGF0YSgpLCBtX2RhdGEuc2l6
ZSgpKTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE91dE9m
TWVtb3J5RXJyb3IgfTsKKyAgICByZXR1cm4gYnVmZmVyOworfQorCitSZWZQdHI8QmxvYj4gUHVz
aE1lc3NhZ2VEYXRhOjpibG9iKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7Cisg
ICAgcmV0dXJuIEJsb2I6OmNyZWF0ZSgmY29udGV4dCwgVmVjdG9yPHVpbnQ4X3Q+IHsgbV9kYXRh
IH0sIHsgfSk7Cit9CisKK0V4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4gUHVzaE1lc3NhZ2VEYXRh
Ojpqc29uKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCit7CisgICAgSlNDOjpKU0xv
Y2tIb2xkZXIgbG9jaygmZ2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvIHZhbHVlID0gSlNDOjpKU09O
UGFyc2UoJmdsb2JhbE9iamVjdCwgdGV4dCgpKTsKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICBy
ZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3IgfTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisK
K1N0cmluZyBQdXNoTWVzc2FnZURhdGE6OnRleHQoKQoreworICAgIHJldHVybiBUZXh0UmVzb3Vy
Y2VEZWNvZGVyOjp0ZXh0RnJvbVVURjgobV9kYXRhLmRhdGEoKSwgbV9kYXRhLnNpemUoKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoTWVz
c2FnZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURh
dGEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi44MjcxNDk3MGVjNDVkZGU5NWIwNDc5MWIyYTQxOTIxOGY1ZGZlZDZh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1B1c2hN
ZXNzYWdlRGF0YS5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgi
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJsb2I7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsK
K2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFB1c2hNZXNzYWdlRGF0YSBm
aW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFB1c2hNZXNzYWdlRGF0YT4geworICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoUHVzaE1lc3NhZ2VEYXRhKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFB1c2hNZXNzYWdlRGF0YT4gY3JlYXRlKFZlY3Rvcjx1aW50OF90PiYmIGRhdGEpIHsgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgUHVzaE1lc3NhZ2VEYXRhKFdURk1vdmUoZGF0YSkpKTsgfQorICAgIH5Q
dXNoTWVzc2FnZURhdGEoKSA9IGRlZmF1bHQ7CisKKyAgICBFeGNlcHRpb25PcjxSZWZQdHI8SlND
OjpBcnJheUJ1ZmZlcj4+IGFycmF5QnVmZmVyKCk7CisgICAgUmVmUHRyPEJsb2I+IGJsb2IoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4ganNv
bihKU0RPTUdsb2JhbE9iamVjdCYpOworICAgIFN0cmluZyB0ZXh0KCk7CisKK3ByaXZhdGU6Cisg
ICAgZXhwbGljaXQgUHVzaE1lc3NhZ2VEYXRhKFZlY3Rvcjx1aW50OF90PiYmKTsKKworICAgIFZl
Y3Rvcjx1aW50OF90PiBtX2RhdGE7Cit9OworCitpbmxpbmUgUHVzaE1lc3NhZ2VEYXRhOjpQdXNo
TWVzc2FnZURhdGEoVmVjdG9yPHVpbnQ4X3Q+JiYgZGF0YSkKKyAgICA6IG1fZGF0YShXVEZNb3Zl
KGRhdGEpKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvUHVzaE1lc3NhZ2VEYXRhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9QdXNoTWVzc2FnZURhdGEuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2NjYwYWRkMWU2ZTJmZjQxZGQ2Yzg5
YmE2MjM3MmE5YjA4NzBlOGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvUHVzaE1lc3NhZ2VEYXRhLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSLAorICAgIEVuYWJsZWRBdFJ1
bnRpbWU9U2VydmljZVdvcmtlclB1c2hBUEksCisgICAgRXhwb3NlZD1TZXJ2aWNlV29ya2VyLAor
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCitdIGludGVyZmFjZSBQdXNoTWVzc2FnZURh
dGEgeworICAgIEFycmF5QnVmZmVyIGFycmF5QnVmZmVyKCk7CisgICAgW0NhbGxXaXRoPVNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRdIEJsb2IgYmxvYigpOworICAgIFtDYWxsV2l0aD1HbG9iYWxPYmpl
Y3RdIGFueSBqc29uKCk7CisgICAgVVNWU3RyaW5nIHRleHQoKTsKK307CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTNhZGIy
NDE2NDlmNmI5M2E4M2I0Njg0Zjg2ZWM3ZTc3MzcxNGMzNC4uZTJhM2U3ZTUyY2E1OGFjN2FkMjM3
ZWRhZGFlMzQ1NWQyNmU1NjJiNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTMwICBZ
b3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBm
b3IgUHVzaEV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzEwMDcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LmpzOiBBZGRlZC4K
KyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcHVzaEV2ZW50LmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sOiBBZGRlZC4KKwogMjAyMS0w
OS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0
IFdQVCBwdXNoIGFwaSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWVl
MjRlZGI3OTZlNWQ5ZDBiNTc1YTRlZjBiNGM5YjljOTdhZjUzOC4uYWI1NTFmNGRjZjYyODc5Nzg0
ZmEzN2QyNzY5NGIxNDkyNjA3OTBjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMjEtMDktMzAgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3B1
c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Ogor
CiAyMDIxLTA5LTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAg
ICBJbXBvcnQgV1BUIHB1c2ggYXBpIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvcHVzaEV2ZW50LmFueS5qcyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgzZDNhNDQz
YmJlMTA5NjI3MzI0YjQ4MGEwM2QzMGI1YjQ3YTc0YzcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcHVzaEV2ZW50LmFueS5qcwpAQCAtMCww
ICsxLDQyIEBACisvLyBNRVRBOiB0aXRsZT1QdXNoRXZlbnQgdGVzdHMKKy8vIE1FVEE6IGdsb2Jh
bD1zZXJ2aWNld29ya2VyCisKK3Rlc3QoKCkgPT4geworICAgIGxldCBldmVudCA9IG5ldyBQdXNo
RXZlbnQoInB1c2giKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsIG51bGwpOworCisg
ICAgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwgeyB9KTsKKyAgICBhc3NlcnRfZXF1YWxz
KGV2ZW50LmRhdGEsIG51bGwpOworfSwgIlB1c2hFdmVudCB3aXRob3V0IGRhdGEiKTsKKwordGVz
dCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6
IG5ldyBBcnJheUJ1ZmZlcigpIH0pOworICAgIGFzc2VydF9ub3RfZXF1YWxzKGV2ZW50LmRhdGEs
IG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YS50ZXh0KCksICIiKTsKKworICAg
IGV2ZW50ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6ICIiIH0pOworICAgIGFzc2Vy
dF9ub3RfZXF1YWxzKGV2ZW50LmRhdGEsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQu
ZGF0YS50ZXh0KCksICIiKTsKKworICAgIGNvbnN0IHZhbHVlID0geyB0ZXN0IDogMSB9OworICAg
IGNvbnN0IHN0cmluZ1ZhbHVlID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpOworICAgIGNvbnN0IGVu
Y29kZXIgPSBuZXcgVGV4dEVuY29kZXIoKTsKKworICAgIGZvciAobGV0IHZhbHVlIG9mIFtzdHJp
bmdWYWx1ZSwgZW5jb2Rlci5lbmNvZGUoc3RyaW5nVmFsdWUpXSkgeworICAgICAgICBldmVudCA9
IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IGRhdGEgOiB2YWx1ZSB9KTsKKyAgICAgICAgYXNzZXJ0
X3RydWUoZXZlbnQgaW5zdGFuY2VvZiBQdXNoRXZlbnQpOworICAgICAgICBhc3NlcnRfdHJ1ZShl
dmVudCBpbnN0YW5jZW9mIEV4dGVuZGFibGVFdmVudCk7CisKKyAgICAgICAgY29uc3QgZGF0YSA9
IGV2ZW50LmRhdGE7CisgICAgICAgIGFzc2VydF90cnVlKGRhdGEgaW5zdGFuY2VvZiBQdXNoTWVz
c2FnZURhdGEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEudGV4dCgpLCBzdHJpbmdWYWx1
ZSk7CisgICAgICAgIGFzc2VydF90cnVlKGRhdGEuYmxvYigpIGluc3RhbmNlb2YgQmxvYik7Cisg
ICAgICAgIGFzc2VydF9lcXVhbHMoZGF0YS5qc29uKCkudGVzdCwgMSk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5hcnJheUJ1ZmZlcigpLmJ5dGVMZW5ndGgsIHN0cmluZ1ZhbHVlLmxlbmd0
aCk7CisgICAgfQorfSwgIlB1c2hFdmVudCB3aXRoIGRhdGEiKTsKKwordGVzdCgoKSA9PiB7Cisg
ICAgY29uc3QgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwgeyBkYXRhIDogInt0ZXN0IDog
MX0iIH0pOworICAgIGFzc2VydF90aHJvd3NfZG9tKCJTeW50YXhFcnJvciIsICgpID0+IGV2ZW50
LmRhdGEuanNvbigpKTsKK30sICJQdXNoRXZlbnQgd2l0aCBiYWQganNvbiIpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3B1c2hFdmVudC5hbnkuc2Vy
dmljZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MmI2YjZmODQ2NzU2NjU5MDBiYjJkNWZmODg2NTdkMmU0NTM3M2NlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3B1c2hFdmVudC5hbnku
c2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgUHVzaEV2
ZW50IHdpdGhvdXQgZGF0YQorUEFTUyBQdXNoRXZlbnQgd2l0aCBkYXRhCitQQVNTIFB1c2hFdmVu
dCB3aXRoIGJhZCBqc29uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbCBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMzCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3B1
c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBm
aWxlIGlzIHJlcXVpcmVkIGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhl
IHRlbXBsYXRlZCB0ZXN0IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkv
aWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3Mu
aHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGU5YzdjYWU0NjQ2MzRk
Mzg4MDM0YTg4ODBkNGQ0MWI5ZThjM2M4OTkuLmE3NWY3ZmNiZDQwNmNjYjc0NTlhMjQ0OWE4YzYz
NGJiZDFhNTUzYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtNDUsMjYgKzQ1LDI2IEBAIEZBSUwgUHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBvcHRpb25zIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lCiBGQUlMIFB1
c2hTdWJzY3JpcHRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KFB1c2hFbmNyeXB0aW9u
S2V5TmFtZSkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRp
b24iIG1pc3NpbmcKIEZBSUwgUHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1
bnN1YnNjcmliZSgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb24iIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2Ny
aXB0aW9uIiBtaXNzaW5nCiBGQUlMIFB1c2hTdWJzY3JpcHRpb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gdG9KU09OKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3Jp
cHRpb24iIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNzYWdlRGF0
YSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5
ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFj
ZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoTWVzc2Fn
ZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNl
IGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0
YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNo
TWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0
YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNo
TWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0
YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNo
TWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYXJyYXlCdWZmZXIoKSBhc3NlcnRfb3du
X3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURh
dGEiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVz
aE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGJsb2IoKSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4
cGVjdGVkIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3Nh
Z2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGpzb24oKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVk
IHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRh
IGludGVyZmFjZTogb3BlcmF0aW9uIHRleHQoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBl
Y3RlZCBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZh
Y2Ugb2JqZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUg
b3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoRXZlbnQiIG1p
c3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVj
dGVkIHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1
c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNo
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQg
cHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBA
QHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVu
dCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGF0YSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZl
bnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IFB1c2hFdmVudCgidHlwZSIpIGFzc2Vy
dF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhw
ZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IFB1c2hFdmVudCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBQdXNoRXZlbnQo
InR5cGUiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRp
bmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBQdXNoRXZlbnQiCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6
IG5ldyBQdXNoRXZlbnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGgg
dGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4g
ZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNl
RXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hFdmVudCIKK1BBU1MgUHVzaE1lc3NhZ2VE
YXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFB1
c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUHVzaE1lc3NhZ2VEYXRh
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0CitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIg
cHJvcGVydHkKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBw
cm9wZXJ0eQorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYXJyYXlC
dWZmZXIoKQorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmxvYigp
CitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBqc29uKCkKK1BBU1Mg
UHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIHRleHQoKQorUEFTUyBQdXNoRXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dAorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUHVzaEV2ZW50
IGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUHVz
aEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQdXNoRXZlbnQg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlw
ZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFB1c2hFdmVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBkYXRhCitQQVNTIFB1c2hFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIG5ldyBQdXNoRXZlbnQoInR5cGUiKQorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3
IFB1c2hFdmVudCgidHlwZSIpCitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoRXZl
bnQoInR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3BlciB0
eXBlCiBGQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlz
c2luZwogRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBs
ZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0
eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCiBGQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFu
Z2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439827</attachid>
            <date>2021-10-01 00:15:01 -0700</date>
            <delta_ts>2021-10-01 01:57:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231007-20211001091459.patch</filename>
            <type>text/plain</type>
            <size>48843</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwOTk2MTExYzdhZTYxNzBkNDgyNDRk
YjhhYzdkNGVmMTg5YTI5ODQuLjYzZGFiNDJhMWJkYWMwYjM5MzhiYmIxOTRmNTUyMGU3YmFkOTdj
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODM3MDc0NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDktMjkgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBSRUdSRVNTSU9OKHIyODA3
MjYpOiByZWdpc3RyeSBrZXlzIGVuYWJsaW5nIEdQVSBwcm9jZXNzIG1vZGUgZG9uJ3Qgd29yawpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGFhNGQyZmNlNTBjNGQ2ODMzY2I5NGZjZjA3NjY5MzI4ZjNjYjYxZTAuLjVk
MWJlNzkwMDI0YjkyYjhmMjA0NWI2NDA3NDI0NjI5NzdmMTRiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAyMS0xMC0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFB1c2hFdmVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDA3CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84MzcwNzQ3MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbXBsZW1lbnQgUHVzaEV2ZW50IGFuZCBQdXNoTWVzc2FnZURhdGEgYXMgcGVyIHNw
ZWNpZmljYXRpb24uCisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wdXNoLWFwaS8jcHVz
aGV2ZW50LWludGVyZmFjZSBhbmQKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3B1c2gt
YXBpLyNwdXNobWVzc2FnZWRhdGEtaW50ZXJmYWNlLgorCisgICAgICAgIFdlIG1vZGVsIFB1c2hN
ZXNzYWdlRGF0YSBhcyBhIFZlY3Rvcjx1aW50OF90PiBmb2xsb3dpbmcgdGhlIHNwZWMgd2hpY2gg
dGVsbHMgdXMgdGhhdCBpdCBoYXMgYW4gYXNzb2NpYXRlZCBieXRlIHNlcXVlbmNlLgorCisgICAg
ICAgIFB1dCB0aGVtIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2Vy
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1
bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVz
aEV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJ
bml0Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50SW5pdC5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmNw
cDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaDog
QWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorCiAyMDIxLTA5LTI5ICBLaW1tbyBLaW5udW5lbiAgPGtr
aW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR1BVUCBDb2NvYSBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTCBzaG91bGQgY2hlY2sgZm9yIEFOR0xFIHByZXNlbmNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCmluZGV4IGYwYmNiMmZkNDczM2E2YzQyY2Q0MjRlMzU3MzZlMGE3MDJkZmQ4ZDAu
LjU5MzA2MGJlYmYzMzIzODhjNDE2YjQ2NmFmOGIyZDY2MDc1ZTc1NWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCkBAIC05OTcsNiArOTk3LDE4IEBAIFByb2Nlc3NTd2FwT25Dcm9zc1Np
dGVOYXZpZ2F0aW9uRW5hYmxlZDoKICAgICAgICJQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVs
dDogZmFsc2UKIAorUHVzaEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHVzaCBBUEkiCisg
IGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQdXNoIEFQSSIKKyAgd2ViY29yZUJp
bmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNv
cmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZh
bHNlCisKIFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJSZWFkYWJsZUJ5dGVTdHJlYW0iCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDVhYzE3NDk2MTM5ZDQzOTI4MjhlNTkzOGI0MjljZGFhNjFkNTNhYWUuLjkwOGQ4ZTJmYzAz
MWE4MmVjMjk3ZjNiY2NjYjI4ZTc3OWRiNDllOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01
Miw2ICs1Miw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
cGx1Z2lucyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wdXNoLWFwaSIKICAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKICAgICAiJHtXRUJDT1JFX0RJUn0v
TW9kdWxlcy9zcGVlY2giCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RvcmFnZSIKQEAg
LTIwOSw2ICsyMTAsNyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL25v
dGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0CiAgICAgTW9kdWxlcy9wZXJt
aXNzaW9ucworICAgIE1vZHVsZXMvcHVzaC1hcGkKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1v
ZHVsZXMvc3RvcmFnZQogICAgIE1vZHVsZXMvc3RyZWFtcwpAQCAtNDk2LDYgKzQ5OCwxMCBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9IVE1MVmlkZW9FbGVtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0
dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaWRsCiAKKyAgICBNb2R1bGVzL3B1
c2gtYXBpL1B1c2hFdmVudC5pZGwKKyAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudEluaXQu
aWRsCisgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCisKICAgICBNb2R1
bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAogICAgIE1vZHVsZXMvcmVtb3Rl
cGxheWJhY2svUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjay5pZGwKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0
NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2NjEwNDljMy4uNDIyZWFhMGNlYjY1NDU1OTZlNjI4
N2NiYWM3YjdmYzNmNWZjNTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC00MjEsNiArNDIxLDkgQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3NzCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFj
ZW1lbnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0LmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRpYUVsZW1lbnQrUmVtb3RlUGxheWJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXli
YWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5
YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbApAQCAtMTQ0MCw2ICsxNDQzLDkgQEAgJChQUk9K
RUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5pZGwKICQoUFJPSkVDVF9E
SVIpL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJ
Uikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVNZXNzYWdlRXZlbnQuaWRsCiAkKFBST0pFQ1Rf
RElSKS93b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL3dvcmtl
cnMvc2VydmljZS9QdXNoRXZlbnQuaWRsCiskKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2Uv
UHVzaEV2ZW50SW5pdC5pZGwKKyQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9QdXNoTWVz
c2FnZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ci5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
LmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRU
eXBlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCBiNjBhNDljMTUyZDhmOTJhYjI1NTIyYTk5MjlhMjNhMGNhNWJmYWVlLi5hMDg3
NDU1ODQzYjNmYjdhMTFjYTA3YTg3ODNmZWQwYzkzNTkxYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY5NSw2ICsxNjk1LDEy
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNy
ZWRlbnRpYWxUeXBlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hFdmVudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50LmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50SW5pdC5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50SW5pdC5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hNZXNz
YWdlRGF0YS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUHVzaE1lc3NhZ2VEYXRhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1F1aWNrVGltZVBsdWdpblJlcGxhY2Vt
ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRD
QW5zd2VyT3B0aW9ucy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGEzNTIy
OTM2MWEwZGE1NGIzZTEyYjcyYjQ1OWZjNjIzMGM3YTZjOTUuLjdiMmVkNDA4YzZlNDkxYjBmYmUx
NWQ0OGQyZWI2ZWJlMDkyZjQ2YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MzQ2LDYgKzM0Niw5IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudCtQaWN0dXJlSW5QaWN0dXJlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGlt
ZVBsdWdpblJlcGxhY2VtZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZl
bnRJbml0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdl
RGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9IVE1MTWVk
aWFFbGVtZW50K1JlbW90ZVBsYXliYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Jl
bW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJhY2suaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZDIxYTE4OTIwOWVjOGE1MDY4NWY5NmVmNzM0MGRiMGJjNjE2ZDNiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwCkBA
IC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUHVzaEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRl
ICJQdXNoTWVzc2FnZURhdGEuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0FycmF5QnVm
ZmVyLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNBcnJheUJ1ZmZlclZpZXcuaD4KKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoUHVzaEV2ZW50KTsKKworc3RhdGljIFZlY3Rvcjx1aW50OF90PiBkYXRhRnJv
bVB1c2hNZXNzYWdlRGF0YUluaXQoUHVzaE1lc3NhZ2VEYXRhSW5pdCYgZGF0YSkKK3sKKyAgICBy
ZXR1cm4gV1RGOjpzd2l0Y2hPbihkYXRhLCBbXShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mIHZh
bHVlKSAtPiBWZWN0b3I8dWludDhfdD4geworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1
aW50OF90Kj4odmFsdWUtPmRhdGEoKSksIHZhbHVlLT5ieXRlTGVuZ3RoKCkgfTsKKyAgICB9LCBb
XShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+JiB2YWx1ZSkgLT4gVmVjdG9yPHVpbnQ4X3Q+
IHsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
IHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlLT5iYXNlQWRk
cmVzcygpKSwgdmFsdWUtPmJ5dGVMZW5ndGgoKSB9OworICAgIH0sIFtdKFN0cmluZyYgdmFsdWUp
IC0+IFZlY3Rvcjx1aW50OF90PiB7CisgICAgICAgIGF1dG8gdXRmOCA9IHZhbHVlLnV0ZjgoKTsK
KyAgICAgICAgcmV0dXJuIFZlY3Rvcjx1aW50OF90PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
dWludDhfdCo+KHV0ZjguZGF0YSgpKSwgdXRmOC5sZW5ndGgoKSB9OworICAgIH0pOworfQorCitS
ZWY8UHVzaEV2ZW50PiBQdXNoRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQ
dXNoRXZlbnRJbml0JiYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCit7CisgICAg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGE7CisgICAgaWYgKGluaXRpYWxpemVy
LmRhdGEpCisgICAgICAgIGRhdGEgPSBkYXRhRnJvbVB1c2hNZXNzYWdlRGF0YUluaXQoKmluaXRp
YWxpemVyLmRhdGEpOworICAgIHJldHVybiBjcmVhdGUodHlwZSwgV1RGTW92ZShpbml0aWFsaXpl
ciksIFdURk1vdmUoZGF0YSksIGlzVHJ1c3RlZCk7Cit9CisKK1JlZjxQdXNoRXZlbnQ+IFB1c2hF
dmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4dGVuZGFibGVFdmVudEluaXQm
JiBpbml0aWFsaXplciwgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYgZGF0YSwgSXNU
cnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQdXNoRXZlbnQo
dHlwZSwgV1RGTW92ZShpbml0aWFsaXplciksIFdURk1vdmUoZGF0YSksIGlzVHJ1c3RlZCkpOwor
fQorCitQdXNoRXZlbnQ6OlB1c2hFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRh
YmxlRXZlbnRJbml0JiYgZXZlbnRJbml0LCBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4m
JiBkYXRhLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXh0ZW5kYWJsZUV2ZW50KHR5cGUs
IFdURk1vdmUoZXZlbnRJbml0KSwgaXNUcnVzdGVkKQoreworICAgIGlmIChkYXRhKQorICAgICAg
ICBtX2RhdGEgPSBQdXNoTWVzc2FnZURhdGE6OmNyZWF0ZShXVEZNb3ZlKCpkYXRhKSk7Cit9CisK
K1B1c2hFdmVudDo6flB1c2hFdmVudCgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkMmZkYWE2MzMwZDQwOTc0ZTg3
ZjAwOWExOTMzZGZkMmJlYjAzOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUg
IlB1c2hFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQdXNoTWVz
c2FnZURhdGE7CisKK2NsYXNzIFB1c2hFdmVudCBmaW5hbCA6IHB1YmxpYyBFeHRlbmRhYmxlRXZl
bnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUHVzaEV2ZW50KTsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFB1c2hFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmLCBQdXNoRXZl
bnRJbml0JiYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOworICAgIHN0YXRpYyBSZWY8UHVz
aEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVuZGFibGVFdmVudEluaXQmJiwg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYsIElzVHJ1c3RlZCk7CisgICAgflB1c2hF
dmVudCgpOworCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBQdXNoRXZlbnRJbnRlcmZhY2VUeXBlOyB9CisgICAgUHVzaE1lc3NhZ2VEYXRh
KiBkYXRhKCkgeyByZXR1cm4gbV9kYXRhLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgUHVzaEV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYsIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPHVpbnQ4X3Q+PiYmLCBJc1RydXN0ZWQpOworCisgICAgUmVmUHRyPFB1c2hNZXNz
YWdlRGF0YT4gbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMGQ0ZDE4OTczZGZlZDIzOTY1MTc1MjQ1
NzdmNTAyMjc1ZTE3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUiwKKyAgICBFbmFibGVkQXRSdW50aW1lPVB1
c2hBUEksCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2
aWNlV29ya2VyLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250
ZXh0CitdIGludGVyZmFjZSBQdXNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0
cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBQdXNoRXZlbnRJbml0IGV2ZW50SW5pdERp
Y3QpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQdXNoTWVzc2FnZURhdGE/IGRhdGE7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudEluaXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mM2ZjMWRmYzAwODkyNWExY2RkYjhlZDY5MGUzYWZiMzZmZDkyYzBjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiRXh0ZW5kYWJsZUV2ZW50LmgiCisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFu
dC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIFB1c2hNZXNzYWdlRGF0YUluaXQg
PSBWYXJpYW50PFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxKU0M6OkFycmF5
QnVmZmVyPiwgU3RyaW5nPjsKKworc3RydWN0IFB1c2hFdmVudEluaXQgOiBFeHRlbmRhYmxlRXZl
bnRJbml0IHsKKyAgICBzdGQ6Om9wdGlvbmFsPFB1c2hNZXNzYWdlRGF0YUluaXQ+IGRhdGE7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hF
dmVudEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJ
bml0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iODI3YjA2ODNkMTVmNGI4NGUwYjRhYzVmNzQ2NTQ3NDdlMjUx
Y2U1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoRXZlbnRJbml0LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAo
QnVmZmVyU291cmNlIG9yIFVTVlN0cmluZykgUHVzaE1lc3NhZ2VEYXRhSW5pdDsKKworWworICAg
IENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSCitdIGRpY3Rpb25hcnkgUHVzaEV2ZW50SW5pdCA6
IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFB1c2hNZXNzYWdlRGF0YUluaXQgZGF0YTsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdl
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0
YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjE5Y2YwOTBmMDI5NWNhNzhmNDViZmJhMzRkZTZkNTEzYzQxODg0
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVz
aE1lc3NhZ2VEYXRhLmNwcApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlB1c2hNZXNzYWdlRGF0YS5oIgorCisjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiQmxvYi5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFs
T2JqZWN0LmgiCisjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgorI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT05PYmpl
Y3QuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQdXNoTWVzc2FnZURhdGEpOwor
CitFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+IFB1c2hNZXNzYWdlRGF0YTo6
YXJyYXlCdWZmZXIoKQoreworICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0
ZShtX2RhdGEuZGF0YSgpLCBtX2RhdGEuc2l6ZSgpKTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE91dE9mTWVtb3J5RXJyb3IgfTsKKyAgICByZXR1cm4gYnVm
ZmVyOworfQorCitSZWZQdHI8QmxvYj4gUHVzaE1lc3NhZ2VEYXRhOjpibG9iKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmV0dXJuIEJsb2I6OmNyZWF0ZSgmY29udGV4
dCwgVmVjdG9yPHVpbnQ4X3Q+IHsgbV9kYXRhIH0sIHsgfSk7Cit9CisKK0V4Y2VwdGlvbk9yPEpT
Qzo6SlNWYWx1ZT4gUHVzaE1lc3NhZ2VEYXRhOjpqc29uKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCit7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jaygmZ2xvYmFsT2JqZWN0KTsK
KyAgICBhdXRvIHZhbHVlID0gSlNDOjpKU09OUGFyc2UoJmdsb2JhbE9iamVjdCwgdGV4dCgpKTsK
KyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKK1N0cmluZyBQdXNoTWVzc2FnZURhdGE6OnRleHQo
KQoreworICAgIHJldHVybiBUZXh0UmVzb3VyY2VEZWNvZGVyOjp0ZXh0RnJvbVVURjgobV9kYXRh
LmRhdGEoKSwgbV9kYXRhLnNpemUoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyNzE0OTcwZWM0
NWRkZTk1YjA0NzkxYjJhNDE5MjE4ZjVkZmVkNmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5oCkBAIC0wLDAgKzEsNjUg
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
UikKKworI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJs
b2I7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CisKK2NsYXNzIFB1c2hNZXNzYWdlRGF0YSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFB1
c2hNZXNzYWdlRGF0YT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUHVzaE1lc3NhZ2VE
YXRhKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFB1c2hNZXNzYWdlRGF0YT4gY3JlYXRlKFZl
Y3Rvcjx1aW50OF90PiYmIGRhdGEpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHVzaE1lc3NhZ2VE
YXRhKFdURk1vdmUoZGF0YSkpKTsgfQorICAgIH5QdXNoTWVzc2FnZURhdGEoKSA9IGRlZmF1bHQ7
CisKKyAgICBFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+IGFycmF5QnVmZmVy
KCk7CisgICAgUmVmUHRyPEJsb2I+IGJsb2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAg
IEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4ganNvbihKU0RPTUdsb2JhbE9iamVjdCYpOworICAg
IFN0cmluZyB0ZXh0KCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUHVzaE1lc3NhZ2VEYXRh
KFZlY3Rvcjx1aW50OF90PiYmKTsKKworICAgIFZlY3Rvcjx1aW50OF90PiBtX2RhdGE7Cit9Owor
CitpbmxpbmUgUHVzaE1lc3NhZ2VEYXRhOjpQdXNoTWVzc2FnZURhdGEoVmVjdG9yPHVpbnQ4X3Q+
JiYgZGF0YSkKKyAgICA6IG1fZGF0YShXVEZNb3ZlKGRhdGEpKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTNjNjhlMWU4NjdlNDYwYjY0NjE1NDFhYzhmYjdiMzY0OGY0MWI0YQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VE
YXRhLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PVNFUlZJQ0VfV09SS0VSLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UHVzaEFQSSwKKyAgICBFeHBv
c2VkPVNlcnZpY2VXb3JrZXIsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50
ZXJmYWNlIFB1c2hNZXNzYWdlRGF0YSB7CisgICAgQXJyYXlCdWZmZXIgYXJyYXlCdWZmZXIoKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gQmxvYiBibG9iKCk7CisgICAg
W0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gYW55IGpzb24oKTsKKyAgICBVU1ZTdHJpbmcgdGV4dCgp
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggZTQzYWZkY2FlZjIwZGZjNDNhNWYwNjljZDRhZDJkYWEx
NmQ5YzllYy4uZjJiM2E4YmY5YWI0ZWI3MTk5YzA1N2EwYTNmZjYwZGViZTBhNjc0YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTIxOCw2ICsyMTgsOCBAQCBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9j
dW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0hUTUxW
aWRlb0VsZW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCitNb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5j
cHAKK01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmNwcAogTW9kdWxlcy9yZW1vdGVw
bGF5YmFjay9SZW1vdGVQbGF5YmFjay5jcHAKIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uLmNwcAogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5jcHAK
QEAgLTMzNTEsNiArMzM1Myw5IEBAIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuY3BwCiBKU1B1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3Bw
CitKU1B1c2hFdmVudC5jcHAKK0pTUHVzaEV2ZW50SW5pdC5jcHAKK0pTUHVzaE1lc3NhZ2VEYXRh
LmNwcAogSlNSVENBbnN3ZXJPcHRpb25zLmNwcAogSlNSVENDZXJ0aWZpY2F0ZS5jcHAKIEpTUlRD
Q29uZmlndXJhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwMmQ4NDE1YjQ2MGIyNzUwMTY1NGExNTc0MjkxMmI1YzRm
ZGIxMjVhLi40NDA1NzEyZmQ1ZGVlYmQ5ODgxOTliMTMyYTg2N2UzOTk4NzI2MzZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MTc3LDYgKzExNzcsOCBAQAogCQk0MTg5MzhCMjI0MjlGOUI0MDA3RkRDNDEgLyogUmV0cmlldmVS
ZWNvcmRzT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE4OTM4QUYyNDI5RjlBQjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MThB
MDZEMDEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMg
LyogRXZlbnREaXNwYXRjaGVyLmggKi87IH07CiAJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAv
KiBKU0Fic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5o
ICovOyB9OworCQk0MThGQ0JDMTI3MDZFNEZCMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGQ0JCRDI3MDZFNEY3
MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJNDE4RkNCQzIyNzA2RTUwMTAwRjk2RUNBIC8qIFB1c2hFdmVudElu
aXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZD
QkJGMjcwNkU0RjgwMEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3
IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5
MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29h
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQy
NDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1t
ICovOyB9OwogCQk0MTlBQ0Y5MjFGOTdFN0RBMDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNo
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4
RTFGOTdFN0Q1MDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxMDAsNiArODEwMiwxNCBAQAog
CQk0MThDMzk1RjFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEY4ODAy
MEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdv
cmtlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fic3RyYWN0V29ya2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkJBMjcwNkU0RjUwMEY5NkVD
QSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1c2hNZXNzYWdlRGF0YS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkJCMjcwNkU0RjYwMEY5NkVDQSAvKiBQdXNo
RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHVzaEV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCQkMyNzA2RTRGNjAwRjk2RUNBIC8qIFB1c2hNZXNzYWdl
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNoTWVzc2FnZURhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDE4RkNCQkQyNzA2RTRGNzAwRjk2RUNBIC8qIFB1c2hFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQdXNoRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE4RkNCQkUyNzA2RTRGNzAwRjk2RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQdXNoTWVzc2FnZURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MThGQ0JCRjI3MDZFNEY4MDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQdXNoRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
OEZDQkMwMjcwNkU0RjgwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1c2hFdmVudC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkMzMjcwNkU2MkMwMEY5NkVD
QSAvKiBQdXNoRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoRXZlbnRJbml0LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0
ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVS
YXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5
RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xOTg1Myw2ICsxOTg2MywyMSBAQAogCQkJcGF0aCA9IGpzOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDE4RkNCQjgyNzA2RTRCRDAwRjk2RUNBIC8qIHB1c2gt
YXBpICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MThG
Q0JCQjI3MDZFNEY2MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmNwcCAqLywKKwkJCQk0MThGQ0JCRDI3
MDZFNEY3MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi8sCisJCQkJNDE4RkNCQzAyNzA2RTRGODAw
Rjk2RUNBIC8qIFB1c2hFdmVudC5pZGwgKi8sCisJCQkJNDE4RkNCQkYyNzA2RTRGODAwRjk2RUNB
IC8qIFB1c2hFdmVudEluaXQuaCAqLywKKwkJCQk0MThGQ0JDMzI3MDZFNjJDMDBGOTZFQ0EgLyog
UHVzaEV2ZW50SW5pdC5pZGwgKi8sCisJCQkJNDE4RkNCQkUyNzA2RTRGNzAwRjk2RUNBIC8qIFB1
c2hNZXNzYWdlRGF0YS5jcHAgKi8sCisJCQkJNDE4RkNCQkMyNzA2RTRGNjAwRjk2RUNBIC8qIFB1
c2hNZXNzYWdlRGF0YS5oICovLAorCQkJCTQxOEZDQkJBMjcwNkU0RjUwMEY5NkVDQSAvKiBQdXNo
TWVzc2FnZURhdGEuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSAicHVzaC1hcGkiOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDFBMDIzRUExQTM5REI3OTAwRjcyMkNGIC8q
IHN0cmVhbXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAt
MjQyMjgsNiArMjQyNTMsNyBAQAogCQkJCUExRjc2QjBFMUY0NEMwQ0YwMDE0QzMxOCAvKiBwYXlt
ZW50cmVxdWVzdCAqLywKIAkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlzc2lv
bnMgKi8sCiAJCQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1cmUg
Ki8sCisJCQkJNDE4RkNCQjgyNzA2RTRCRDAwRjk2RUNBIC8qIHB1c2gtYXBpICovLAogCQkJCTA3
MkFFMURFMTgzQzA1MTMwMDBBNTk4OCAvKiBwbHVnaW5zICovLAogCQkJCUNEQzMxMkUwMjJGQ0Qw
QjAwMDEyMDRFQyAvKiByZW1vdGVwbGF5YmFjayAqLywKIAkJCQlBQTJBNUFCNzE2QTQ4NUE0MDA5
NzVBMjUgLyogc3BlZWNoICovLApAQCAtMzMyNzksNiArMzMzMDUsNyBAQAogCQkJCUE5RDI0N0ZG
MEQ3NTdFNjkwMEZERjk1OSAvKiBKU0RPTVBsdWdpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTlE
MjQ4MDEwRDc1N0U2OTAwRkRGOTU5IC8qIEpTRE9NUGx1Z2luQXJyYXkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGNDk2NkFCMURCNDBDNDMwMEEyNzRCQiAvKiBKU0RPTVBvaW50LmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MThGQ0JDMjI3MDZFNTAxMDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMEY0OTY2QUQxREI0MEM0MzAwQTI3NEJCIC8qIEpTRE9NUG9pbnRJ
bml0LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjQ5NjZBRjFEQjQwQzQzMDBBMjc0QkIgLyogSlNE
T01Qb2ludFJlYWRPbmx5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMzdDODY1MDFFQjYzRTNGMDA4
N0M2Q0EgLyogSlNET01Qcm9taXNlLmggaW4gSGVhZGVycyAqLywKQEAgLTM1MTM4LDYgKzM1MTY1
LDcgQEAKIAkJCQk0QjZGQTZGNDBDMzlFNDhDMDAwODcwMTEgLyogU21hcnRSZXBsYWNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFNEFGRDAwQzBEQUYzMzU0MDBGNUY1NUMgLyogU01JTFRpbWUuaCBp
biBIZWFkZXJzICovLAogCQkJCUU0QUZEMDBFMERBRjMzNTUwMEY1RjU1QyAvKiBTTUlMVGltZUNv
bnRhaW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDE4RkNCQzEyNzA2RTRGQjAwRjk2RUNBIC8q
IFB1c2hFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUM3Qzg4RDgxRDBGMUY0QTAwOUQyRjZE
IC8qIFNvY2tldFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTBENEEzNDEwMzE2NUVF
MDA0OUVBNTQgLyogU29ja2V0U3RyZWFtRXJyb3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMEQ0
QTM3MTAzMTY1RUUwMDQ5RUE1NCAvKiBTb2NrZXRTdHJlYW1IYW5kbGUuaCBpbiBIZWFkZXJzICov
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CmluZGV4IDliOGExOGI0Yzk5ZjM2OGU3NzBjY2UwNmI5NjQ1MDYxZGU0ZDdiN2MuLjA5YjIzZTUz
MTliMzUxMzk3OTg0Zjk1ZjkzYTNhOWIzNGVjMzk3ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTIwNyw2ICsyMDcsOCBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oUGVybWlzc2lvbnMpIFwKICAgICBtYWNybyhQ
b2ludGVyRXZlbnQpIFwKICAgICBtYWNybyhQdWJsaWNLZXlDcmVkZW50aWFsKSBcCisgICAgbWFj
cm8oUHVzaEV2ZW50KSBcCisgICAgbWFjcm8oUHVzaE1lc3NhZ2VEYXRhKSBcCiAgICAgbWFjcm8o
UmVzaXplT2JzZXJ2ZXIpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZlckVudHJ5KSBcCiAgICAg
bWFjcm8oUlRDQ2VydGlmaWNhdGUpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggMWI0
NGIwZDAxODI3YWRlZTM2MWNjMzFjNTFkYWQzMTg2MDQ4Nzc4Zi4uNTdiM2FlZjUxYTM4OWM1ZDgz
M2JlZjk4ZWM0MDAyNjBiYmNhNWI5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTM2
LDYgKzM2LDcgQEAgUGFnZVRyYW5zaXRpb25FdmVudAogUG9wU3RhdGVFdmVudAogUHJvZ3Jlc3NF
dmVudAogUHJvbWlzZVJlamVjdGlvbkV2ZW50CitQdXNoRXZlbnQgY29uZGl0aW9uYWw9U0VSVklD
RV9XT1JLRVIKIFN1Ym1pdEV2ZW50CiBUZXh0RXZlbnQKIFRyYW5zaXRpb25FdmVudApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaAppbmRleCA2NDE3YzA2MzUw
NjE1NjdkMTRjMDk3MDcxMzBlNjU5YWVkZmI0Y2Q1Li5hYTYwODNlNzRhYjZjM2ZlZTRhYzJhNTVj
YzBmNGNkYjA2Yjc0ZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaApAQCAtMTgwLDYgKzE4MCw4IEBAIHB1YmxpYzoKICAgICBib29sIHRyYW5zZm9y
bVN0cmVhbUFQSUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzVHJhbnNmb3JtU3RyZWFtQVBJ
RW5hYmxlZDsgfQogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGJvb2wgcHVzaEFQ
SUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3B1c2hBUElFbmFibGVkOyB9CisgICAgdm9pZCBz
ZXRQdXNoQVBJRW5hYmxlZChib29sIGlzRW5hYmxlZCkgeyBtX3B1c2hBUElFbmFibGVkID0gaXNF
bmFibGVkOyB9CiAgICAgYm9vbCBzZXJ2aWNlV29ya2VyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fc2VydmljZVdvcmtlckVuYWJsZWQ7IH0KICAgICB2b2lkIHNldFNlcnZpY2VXb3JrZXJFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fc2VydmljZVdvcmtlckVuYWJsZWQgPSBpc0VuYWJsZWQ7
IH0KICNlbmRpZgpAQCAtMzM2LDYgKzMzOCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2lzVHJh
bnNmb3JtU3RyZWFtQVBJRW5hYmxlZCB7IGZhbHNlIH07CiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCisgICAgYm9vbCBtX3B1c2hBUElFbmFibGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
c2VydmljZVdvcmtlckVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5M2FkYjI0
MTY0OWY2YjkzYTgzYjQ2ODRmODZlYzdlNzczNzE0YzM0Li5iNDQ0NDg1MDM5ZTFlMGNmZmNkNjkx
NWM3YmQ4YjU2ZjlkNzM0YzBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDEgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZv
ciBQdXNoRXZlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzMTAwNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM3MDc0NzA+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFw
aS9wdXNoRXZlbnQuYW55LmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9wdXNoLWFwaS9w
dXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbDogQWRk
ZWQuCisKIDIwMjEtMDktMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIEltcG9ydCBXUFQgcHVzaCBhcGkgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCmluZGV4IGVlZTI0ZWRiNzk2ZTVkOWQwYjU3NWE0ZWYwYjRjOWI5Yzk3YWY1MzguLjU4NjI1
ODlhNDc4ZWM3ZjNmNzMyYWUyMThkYjFiOWYxYzRmOTBmYTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUHVzaEV2ZW50Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMDcKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzA3NDcwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lk
bGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5
LTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBvcnQg
V1BUIHB1c2ggYXBpIHRlc3RzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNo
LWFwaS9wdXNoRXZlbnQuYW55LmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVz
aEV2ZW50LmFueS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGQ2ODlmZjBjMzlhMDQ1MDUxZjMyZDA1NjllNmJk
ODA0YWRhNGVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1h
cGkvcHVzaEV2ZW50LmFueS5qcwpAQCAtMCwwICsxLDU0IEBACisvLyBNRVRBOiB0aXRsZT1QdXNo
RXZlbnQgdGVzdHMKKy8vIE1FVEE6IGdsb2JhbD1zZXJ2aWNld29ya2VyCisKK3Rlc3QoKCkgPT4g
eworICAgIGxldCBldmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giKTsKKyAgICBhc3NlcnRfZXF1
YWxzKGV2ZW50LmRhdGEsIG51bGwpOworCisgICAgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNo
IiwgeyB9KTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsIG51bGwpOworfSwgIlB1c2hF
dmVudCB3aXRob3V0IGRhdGEiKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50ID0gbmV3
IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6ICIiIH0pOworICAgIGFzc2VydF9ub3RfZXF1YWxz
KGV2ZW50LmRhdGEsIG51bGwpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YS50ZXh0KCks
ICIiKTsKKworICAgIGNvbnN0IHZhbHVlID0geyB0ZXN0IDogMSB9OworICAgIGNvbnN0IHN0cmlu
Z1ZhbHVlID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpOworICAgIGNvbnN0IGVuY29kZXIgPSBuZXcg
VGV4dEVuY29kZXIoKTsKKworICAgIGZvciAobGV0IHZhbHVlIG9mIFtzdHJpbmdWYWx1ZSwgZW5j
b2Rlci5lbmNvZGUoc3RyaW5nVmFsdWUpXSkgeworICAgICAgICBldmVudCA9IG5ldyBQdXNoRXZl
bnQoInB1c2giLCB7IGRhdGEgOiB2YWx1ZSB9KTsKKyAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQg
aW5zdGFuY2VvZiBQdXNoRXZlbnQpOworICAgICAgICBhc3NlcnRfdHJ1ZShldmVudCBpbnN0YW5j
ZW9mIEV4dGVuZGFibGVFdmVudCk7CisKKyAgICAgICAgY29uc3QgZGF0YSA9IGV2ZW50LmRhdGE7
CisgICAgICAgIGFzc2VydF90cnVlKGRhdGEgaW5zdGFuY2VvZiBQdXNoTWVzc2FnZURhdGEpOwor
ICAgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEudGV4dCgpLCBzdHJpbmdWYWx1ZSk7CisgICAgICAg
IGFzc2VydF90cnVlKGRhdGEuYmxvYigpIGluc3RhbmNlb2YgQmxvYik7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS5qc29uKCkudGVzdCwgMSk7CisgICAgICAgIGFzc2VydF9lcXVhbHMoZGF0
YS5hcnJheUJ1ZmZlcigpLmJ5dGVMZW5ndGgsIHN0cmluZ1ZhbHVlLmxlbmd0aCk7CisgICAgfQor
fSwgIlB1c2hFdmVudCB3aXRoIGRhdGEiKTsKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2ZW50
ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6IG5ldyBBcnJheUJ1ZmZlcigpIH0pOwor
ICAgIGFzc2VydF9ub3RfZXF1YWxzKGV2ZW50LmRhdGEsIG51bGwpOworICAgIGFzc2VydF9lcXVh
bHMoZXZlbnQuZGF0YS50ZXh0KCksICIiKTsKKworICAgIGNvbnN0IHZhbHVlID0gInBvdGF0byI7
CisgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpOworICAgIGNvbnN0IGVuY29k
ZXIgPSBuZXcgVGV4dEVuY29kZXIoKTsKKyAgICBjb25zdCBidWZmZXIgPSBlbmNvZGVyLmVuY29k
ZSh2YWx1ZSk7CisgICAgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwgeyBkYXRhIDogYnVm
ZmVyIH0pOworCisgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmRhdGEuYXJyYXlCdWZmZXIoKSA9PT0g
YnVmZmVyLCAidGVzdCAxIik7CisgICAgYXNzZXJ0X2ZhbHNlKGV2ZW50LmRhdGEuYXJyYXlCdWZm
ZXIoKSA9PT0gZXZlbnQuZGF0YS5hcnJheUJ1ZmZlcigpLCAidGVzdCAyIik7CisgICAgYXNzZXJ0
X2VxdWFscyhkZWNvZGVyLmRlY29kZShldmVudC5kYXRhLmFycmF5QnVmZmVyKCkpLCB2YWx1ZSk7
Cit9LCAiUHVzaEV2ZW50IGFycmF5QnVmZmVyIGhhbmRsaW5nIik7CisKK3Rlc3QoKCkgPT4gewor
ICAgIGNvbnN0IGV2ZW50ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6ICJ7dGVzdCA6
IDF9IiB9KTsKKyAgICBhc3NlcnRfdGhyb3dzX2RvbSgiU3ludGF4RXJyb3IiLCAoKSA9PiBldmVu
dC5kYXRhLmpzb24oKSk7Cit9LCAiUHVzaEV2ZW50IHdpdGggYmFkIGpzb24iKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2VydmljZXdv
cmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZl
bnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNiNjFhZWRhMDY0
YTk1M2JmM2RhNWM5YTZiMzM2ZTBmZTAwM2MzMjYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNiBAQAorCitQQVNTIFB1c2hFdmVudCB3aXRob3V0IGRhdGEKK1BB
U1MgUHVzaEV2ZW50IHdpdGggZGF0YQorUEFTUyBQdXNoRXZlbnQgYXJyYXlCdWZmZXIgaGFuZGxp
bmcKK1BBU1MgUHVzaEV2ZW50IHdpdGggYmFkIGpzb24KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwgYi9M
YXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yMzgyOTEzNTI4ZTY5M2IzYTVkNTZjNjYwYTQ1MDYwOTgwYjU0OGMz
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2
ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwKQEAgLTAsMCArMSBAQAorPCEtLSBUaGlzIGZpbGUg
aXMgcmVxdWlyZWQgZm9yIFdlYktpdCB0ZXN0IGluZnJhc3RydWN0dXJlIHRvIHJ1biB0aGUgdGVt
cGxhdGVkIHRlc3QgLS0+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxo
YXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRw
cy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggZTljN2NhZTQ2NDYzNGQzODgw
MzRhODg4MGQ0ZDQxYjllOGMzYzg5OS4uYTc1ZjdmY2JkNDA2Y2NiNzQ1OWEyNDQ5YThjNjM0YmJk
MWE1NTNiYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC00NSwyNiArNDUsMjYgQEAgRkFJTCBQdXNoU3Vic2NyaXB0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIG9wdGlvbnMgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2UKIEZBSUwgUHVzaFN1
YnNjcmlwdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRLZXkoUHVzaEVuY3J5cHRpb25LZXlO
YW1lKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQdXNoU3Vic2NyaXB0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbiIg
bWlzc2luZwogRkFJTCBQdXNoU3Vic2NyaXB0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHVuc3Vi
c2NyaWJlKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRp
b24iIG1pc3NpbmcKIEZBSUwgUHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB0
b0pTT04oKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJQdXNoU3Vic2NyaXB0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlv
biIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGlu
dGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1
c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlIG9i
amVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0
YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNz
YWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNz
YWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBl
eHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNz
YWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcnJheUJ1ZmZlcigpIGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVz
c2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmxvYigpIGFzc2VydF9vd25fcHJvcGVydHk6
IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0
ZWQgcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURh
dGEgaW50ZXJmYWNlOiBvcGVyYXRpb24ganNvbigpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJv
cGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50
ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJvcGVydHkg
IlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVjdGVk
IHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2lu
ZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVy
dHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQg
cHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2
ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVu
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5z
Y29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBt
aXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBkYXRhIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIg
ZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgbXVz
dCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUHVzaEV2ZW50KCJ0eXBlIikgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogUHVzaEV2ZW50IgotRkFJTCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFB1c2hFdmVudCgidHlw
ZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBv
YmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0
IGZpbmQgdmFyaWFibGU6IFB1c2hFdmVudCIKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZTogbmV3
IFB1c2hFdmVudCgidHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFs
dWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogUHVzaEV2ZW50IgorUEFTUyBQdXNoTWVzc2FnZURhdGEg
aW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAor
UEFTUyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUHVzaE1l
c3NhZ2VEYXRhIGludGVyZmFjZSBvYmplY3QgbmFtZQorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eQorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3Bl
cnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHByb3Bl
cnR5CitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhcnJheUJ1ZmZl
cigpCitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBibG9iKCkKK1BB
U1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGpzb24oKQorUEFTUyBQdXNo
TWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gdGV4dCgpCitQQVNTIFB1c2hFdmVudCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQ
QVNTIFB1c2hFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQdXNoRXZlbnQgaW50
ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQdXNoRXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFB1c2hFdmVudCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZTog
YXR0cmlidXRlIGRhdGEKK1BBU1MgUHVzaEV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ug
b2YgbmV3IFB1c2hFdmVudCgidHlwZSIpCitQQVNTIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgUHVz
aEV2ZW50KCJ0eXBlIikKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZTogbmV3IFB1c2hFdmVudCgi
dHlwZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAiZGF0YSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUK
IEZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50
IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5n
CiBGQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
dXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2Ny
aXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKIEZBSUwgUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2
ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVj
dGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439832</attachid>
            <date>2021-10-01 01:58:01 -0700</date>
            <delta_ts>2021-10-01 08:07:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231007-20211001105759.patch</filename>
            <type>text/plain</type>
            <size>51657</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwOTk2MTExYzdhZTYxNzBkNDgyNDRk
YjhhYzdkNGVmMTg5YTI5ODQuLjYzZGFiNDJhMWJkYWMwYjM5MzhiYmIxOTRmNTUyMGU3YmFkOTdj
NjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODM3MDc0NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDktMjkgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25v
cmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBSRUdSRVNTSU9OKHIyODA3
MjYpOiByZWdpc3RyeSBrZXlzIGVuYWJsaW5nIEdQVSBwcm9jZXNzIG1vZGUgZG9uJ3Qgd29yawpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCmluZGV4IGFhNGQyZmNlNTBjNGQ2ODMzY2I5NGZjZjA3NjY5MzI4ZjNjYjYxZTAuLjVk
MWJlNzkwMDI0YjkyYjhmMjA0NWI2NDA3NDI0NjI5NzdmMTRiOWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzOSBAQAorMjAyMS0xMC0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFB1c2hFdmVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDA3CisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS84MzcwNzQ3MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbXBsZW1lbnQgUHVzaEV2ZW50IGFuZCBQdXNoTWVzc2FnZURhdGEgYXMgcGVyIHNw
ZWNpZmljYXRpb24uCisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wdXNoLWFwaS8jcHVz
aGV2ZW50LWludGVyZmFjZSBhbmQKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3B1c2gt
YXBpLyNwdXNobWVzc2FnZWRhdGEtaW50ZXJmYWNlLgorCisgICAgICAgIFdlIG1vZGVsIFB1c2hN
ZXNzYWdlRGF0YSBhcyBhIFZlY3Rvcjx1aW50OF90PiBmb2xsb3dpbmcgdGhlIHNwZWMgd2hpY2gg
dGVsbHMgdXMgdGhhdCBpdCBoYXMgYW4gYXNzb2NpYXRlZCBieXRlIHNlcXVlbmNlLgorCisgICAg
ICAgIFB1dCB0aGVtIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQuCisKKyAg
ICAgICAgVGVzdDogaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2Vy
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1
bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVz
aC1hcGkvUHVzaEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVz
aEV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJ
bml0Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50SW5pdC5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmNw
cDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaDog
QWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsOiBB
ZGRlZC4KKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5O
YW1lcy5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIHBhZ2UvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5oOgorCiAyMDIxLTA5LTI5ICBLaW1tbyBLaW5udW5lbiAgPGtr
aW5udW5lbkBhcHBsZS5jb20+CiAKICAgICAgICAgR1BVUCBDb2NvYSBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTCBzaG91bGQgY2hlY2sgZm9yIEFOR0xFIHByZXNlbmNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCmluZGV4IGYwYmNiMmZkNDczM2E2YzQyY2Q0MjRlMzU3MzZlMGE3MDJkZmQ4ZDAu
LjU5MzA2MGJlYmYzMzIzODhjNDE2YjQ2NmFmOGIyZDY2MDc1ZTc1NWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCkBAIC05OTcsNiArOTk3LDE4IEBAIFByb2Nlc3NTd2FwT25Dcm9zc1Np
dGVOYXZpZ2F0aW9uRW5hYmxlZDoKICAgICAgICJQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElP
UykgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVs
dDogZmFsc2UKIAorUHVzaEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBF
TkFCTEUoU0VSVklDRV9XT1JLRVIpCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHVzaCBBUEkiCisg
IGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQdXNoIEFQSSIKKyAgd2ViY29yZUJp
bmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNv
cmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZh
bHNlCisKIFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJSZWFkYWJsZUJ5dGVTdHJlYW0iCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IDVhYzE3NDk2MTM5ZDQzOTI4MjhlNTkzOGI0MjljZGFhNjFkNTNhYWUuLjkwOGQ4ZTJmYzAz
MWE4MmVjMjk3ZjNiY2NjYjI4ZTc3OWRiNDllOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01
Miw2ICs1Miw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAg
ICIke1dFQkNPUkVfRElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElS
fS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMv
cGx1Z2lucyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wdXNoLWFwaSIKICAgICAiJHtX
RUJDT1JFX0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKICAgICAiJHtXRUJDT1JFX0RJUn0v
TW9kdWxlcy9zcGVlY2giCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RvcmFnZSIKQEAg
LTIwOSw2ICsyMTAsNyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL25v
dGlmaWNhdGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0CiAgICAgTW9kdWxlcy9wZXJt
aXNzaW9ucworICAgIE1vZHVsZXMvcHVzaC1hcGkKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1v
ZHVsZXMvc3RvcmFnZQogICAgIE1vZHVsZXMvc3RyZWFtcwpAQCAtNDk2LDYgKzQ5OCwxMCBAQCBz
ZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVy
ZS9IVE1MVmlkZW9FbGVtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0
dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaWRsCiAKKyAgICBNb2R1bGVzL3B1
c2gtYXBpL1B1c2hFdmVudC5pZGwKKyAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudEluaXQu
aWRsCisgICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCisKICAgICBNb2R1
bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAogICAgIE1vZHVsZXMvcmVtb3Rl
cGxheWJhY2svUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjay5pZGwKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0
NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2NjEwNDljMy4uNDIyZWFhMGNlYjY1NDU1OTZlNjI4
N2NiYWM3YjdmYzNmNWZjNTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC00MjEsNiArNDIxLDkgQEAgJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9waWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3NzCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFj
ZW1lbnQuanMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmlkbAor
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0LmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRpYUVsZW1lbnQrUmVtb3RlUGxheWJh
Y2suaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXli
YWNrLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5
YmFja0F2YWlsYWJpbGl0eUNhbGxiYWNrLmlkbApAQCAtMTQ0MCw2ICsxNDQzLDkgQEAgJChQUk9K
RUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5pZGwKICQoUFJPSkVDVF9E
SVIpL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJ
Uikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVNZXNzYWdlRXZlbnQuaWRsCiAkKFBST0pFQ1Rf
RElSKS93b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL3dvcmtl
cnMvc2VydmljZS9QdXNoRXZlbnQuaWRsCiskKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2Uv
UHVzaEV2ZW50SW5pdC5pZGwKKyQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9QdXNoTWVz
c2FnZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ci5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50
LmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRU
eXBlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCBiNjBhNDljMTUyZDhmOTJhYjI1NTIyYTk5MjlhMjNhMGNhNWJmYWVlLi5hMDg3
NDU1ODQzYjNmYjdhMTFjYTA3YTg3ODNmZWQwYzkzNTkxYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY5NSw2ICsxNjk1LDEy
IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVibGlj
S2V5Q3JlZGVudGlhbFJlcXVlc3RPcHRpb25zCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNy
ZWRlbnRpYWxUeXBlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hFdmVudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50LmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50SW5pdC5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50SW5pdC5o
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hNZXNz
YWdlRGF0YS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTUHVzaE1lc3NhZ2VEYXRhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1F1aWNrVGltZVBsdWdpblJlcGxhY2Vt
ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRD
QW5zd2VyT3B0aW9ucy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGEzNTIy
OTM2MWEwZGE1NGIzZTEyYjcyYjQ1OWZjNjIzMGM3YTZjOTUuLjdiMmVkNDA4YzZlNDkxYjBmYmUx
NWQ0OGQyZWI2ZWJlMDkyZjQ2YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAt
MzQ2LDYgKzM0Niw5IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudCtQaWN0dXJlSW5QaWN0dXJlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvUGljdHVyZUluUGlj
dHVyZVdpbmRvdy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGlt
ZVBsdWdpblJlcGxhY2VtZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZl
bnRJbml0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdl
RGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9IVE1MTWVk
aWFFbGVtZW50K1JlbW90ZVBsYXliYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Jl
bW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJhY2suaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZDIxYTE4OTIwOWVjOGE1MDY4NWY5NmVmNzM0MGRiMGJjNjE2ZDNiCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwCkBA
IC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiUHVzaEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRl
ICJQdXNoTWVzc2FnZURhdGEuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0FycmF5QnVm
ZmVyLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNBcnJheUJ1ZmZlclZpZXcuaD4KKyNp
bmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoUHVzaEV2ZW50KTsKKworc3RhdGljIFZlY3Rvcjx1aW50OF90PiBkYXRhRnJv
bVB1c2hNZXNzYWdlRGF0YUluaXQoUHVzaE1lc3NhZ2VEYXRhSW5pdCYgZGF0YSkKK3sKKyAgICBy
ZXR1cm4gV1RGOjpzd2l0Y2hPbihkYXRhLCBbXShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mIHZh
bHVlKSAtPiBWZWN0b3I8dWludDhfdD4geworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1
aW50OF90Kj4odmFsdWUtPmRhdGEoKSksIHZhbHVlLT5ieXRlTGVuZ3RoKCkgfTsKKyAgICB9LCBb
XShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+JiB2YWx1ZSkgLT4gVmVjdG9yPHVpbnQ4X3Q+
IHsKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAg
IHJldHVybiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlLT5iYXNlQWRk
cmVzcygpKSwgdmFsdWUtPmJ5dGVMZW5ndGgoKSB9OworICAgIH0sIFtdKFN0cmluZyYgdmFsdWUp
IC0+IFZlY3Rvcjx1aW50OF90PiB7CisgICAgICAgIGF1dG8gdXRmOCA9IHZhbHVlLnV0ZjgoKTsK
KyAgICAgICAgcmV0dXJuIFZlY3Rvcjx1aW50OF90PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
dWludDhfdCo+KHV0ZjguZGF0YSgpKSwgdXRmOC5sZW5ndGgoKSB9OworICAgIH0pOworfQorCitS
ZWY8UHVzaEV2ZW50PiBQdXNoRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQ
dXNoRXZlbnRJbml0JiYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCit7CisgICAg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGE7CisgICAgaWYgKGluaXRpYWxpemVy
LmRhdGEpCisgICAgICAgIGRhdGEgPSBkYXRhRnJvbVB1c2hNZXNzYWdlRGF0YUluaXQoKmluaXRp
YWxpemVyLmRhdGEpOworICAgIHJldHVybiBjcmVhdGUodHlwZSwgV1RGTW92ZShpbml0aWFsaXpl
ciksIFdURk1vdmUoZGF0YSksIGlzVHJ1c3RlZCk7Cit9CisKK1JlZjxQdXNoRXZlbnQ+IFB1c2hF
dmVudDo6Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4dGVuZGFibGVFdmVudEluaXQm
JiBpbml0aWFsaXplciwgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYgZGF0YSwgSXNU
cnVzdGVkIGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQdXNoRXZlbnQo
dHlwZSwgV1RGTW92ZShpbml0aWFsaXplciksIFdURk1vdmUoZGF0YSksIGlzVHJ1c3RlZCkpOwor
fQorCitQdXNoRXZlbnQ6OlB1c2hFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBFeHRlbmRh
YmxlRXZlbnRJbml0JiYgZXZlbnRJbml0LCBzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4m
JiBkYXRhLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXh0ZW5kYWJsZUV2ZW50KHR5cGUs
IFdURk1vdmUoZXZlbnRJbml0KSwgaXNUcnVzdGVkKQoreworICAgIGlmIChkYXRhKQorICAgICAg
ICBtX2RhdGEgPSBQdXNoTWVzc2FnZURhdGE6OmNyZWF0ZShXVEZNb3ZlKCpkYXRhKSk7Cit9CisK
K1B1c2hFdmVudDo6flB1c2hFdmVudCgpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkMmZkYWE2MzMwZDQwOTc0ZTg3
ZjAwOWExOTMzZGZkMmJlYjAzOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUg
IlB1c2hFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQdXNoTWVz
c2FnZURhdGE7CisKK2NsYXNzIFB1c2hFdmVudCBmaW5hbCA6IHB1YmxpYyBFeHRlbmRhYmxlRXZl
bnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUHVzaEV2ZW50KTsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFB1c2hFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmLCBQdXNoRXZl
bnRJbml0JiYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOworICAgIHN0YXRpYyBSZWY8UHVz
aEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVuZGFibGVFdmVudEluaXQmJiwg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYsIElzVHJ1c3RlZCk7CisgICAgflB1c2hF
dmVudCgpOworCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBQdXNoRXZlbnRJbnRlcmZhY2VUeXBlOyB9CisgICAgUHVzaE1lc3NhZ2VEYXRh
KiBkYXRhKCkgeyByZXR1cm4gbV9kYXRhLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgUHVzaEV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYsIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPHVpbnQ4X3Q+PiYmLCBJc1RydXN0ZWQpOworCisgICAgUmVmUHRyPFB1c2hNZXNz
YWdlRGF0YT4gbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMGQ0ZDE4OTczZGZlZDIzOTY1MTc1MjQ1
NzdmNTAyMjc1ZTE3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUiwKKyAgICBFbmFibGVkQXRSdW50aW1lPVB1
c2hBUEksCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2
aWNlV29ya2VyLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250
ZXh0CitdIGludGVyZmFjZSBQdXNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0
cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBQdXNoRXZlbnRJbml0IGV2ZW50SW5pdERp
Y3QpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQdXNoTWVzc2FnZURhdGE/IGRhdGE7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudEluaXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mM2ZjMWRmYzAwODkyNWExY2RkYjhlZDY5MGUzYWZiMzZmZDkyYzBjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiRXh0ZW5kYWJsZUV2ZW50LmgiCisjaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvVmFyaWFu
dC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIFB1c2hNZXNzYWdlRGF0YUluaXQg
PSBWYXJpYW50PFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxKU0M6OkFycmF5
QnVmZmVyPiwgU3RyaW5nPjsKKworc3RydWN0IFB1c2hFdmVudEluaXQgOiBFeHRlbmRhYmxlRXZl
bnRJbml0IHsKKyAgICBzdGQ6Om9wdGlvbmFsPFB1c2hNZXNzYWdlRGF0YUluaXQ+IGRhdGE7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hF
dmVudEluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJ
bml0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iODI3YjA2ODNkMTVmNGI4NGUwYjRhYzVmNzQ2NTQ3NDdlMjUx
Y2U1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoRXZlbnRJbml0LmlkbApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwordHlwZWRlZiAo
QnVmZmVyU291cmNlIG9yIFVTVlN0cmluZykgUHVzaE1lc3NhZ2VEYXRhSW5pdDsKKworWworICAg
IENvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSCitdIGRpY3Rpb25hcnkgUHVzaEV2ZW50SW5pdCA6
IEV4dGVuZGFibGVFdmVudEluaXQgeworICAgIFB1c2hNZXNzYWdlRGF0YUluaXQgZGF0YTsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdl
RGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0
YS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNjE5Y2YwOTBmMDI5NWNhNzhmNDViZmJhMzRkZTZkNTEzYzQxODg0
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVz
aE1lc3NhZ2VEYXRhLmNwcApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIlB1c2hNZXNzYWdlRGF0YS5oIgorCisjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiQmxvYi5oIgorI2luY2x1ZGUgIkpTRE9NR2xvYmFs
T2JqZWN0LmgiCisjaW5jbHVkZSAiVGV4dFJlc291cmNlRGVjb2Rlci5oIgorI2luY2x1ZGUgPEph
dmFTY3JpcHRDb3JlL0pTTG9jay5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTT05PYmpl
Y3QuaD4KKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChQdXNoTWVzc2FnZURhdGEpOwor
CitFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+IFB1c2hNZXNzYWdlRGF0YTo6
YXJyYXlCdWZmZXIoKQoreworICAgIGF1dG8gYnVmZmVyID0gQXJyYXlCdWZmZXI6OnRyeUNyZWF0
ZShtX2RhdGEuZGF0YSgpLCBtX2RhdGEuc2l6ZSgpKTsKKyAgICBpZiAoIWJ1ZmZlcikKKyAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE91dE9mTWVtb3J5RXJyb3IgfTsKKyAgICByZXR1cm4gYnVm
ZmVyOworfQorCitSZWZQdHI8QmxvYj4gUHVzaE1lc3NhZ2VEYXRhOjpibG9iKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmV0dXJuIEJsb2I6OmNyZWF0ZSgmY29udGV4
dCwgVmVjdG9yPHVpbnQ4X3Q+IHsgbV9kYXRhIH0sIHsgfSk7Cit9CisKK0V4Y2VwdGlvbk9yPEpT
Qzo6SlNWYWx1ZT4gUHVzaE1lc3NhZ2VEYXRhOjpqc29uKEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9i
YWxPYmplY3QpCit7CisgICAgSlNDOjpKU0xvY2tIb2xkZXIgbG9jaygmZ2xvYmFsT2JqZWN0KTsK
KyAgICBhdXRvIHZhbHVlID0gSlNDOjpKU09OUGFyc2UoJmdsb2JhbE9iamVjdCwgdGV4dCgpKTsK
KyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4RXJyb3Ig
fTsKKyAgICByZXR1cm4gdmFsdWU7Cit9CisKK1N0cmluZyBQdXNoTWVzc2FnZURhdGE6OnRleHQo
KQoreworICAgIHJldHVybiBUZXh0UmVzb3VyY2VEZWNvZGVyOjp0ZXh0RnJvbVVURjgobV9kYXRh
LmRhdGEoKSwgbV9kYXRhLnNpemUoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgyNzE0OTcwZWM0
NWRkZTk1YjA0NzkxYjJhNDE5MjE4ZjVkZmVkNmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5oCkBAIC0wLDAgKzEsNjUg
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
UikKKworI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
QXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+Cisj
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJs
b2I7CitjbGFzcyBKU0RPTUdsb2JhbE9iamVjdDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ7CisKK2NsYXNzIFB1c2hNZXNzYWdlRGF0YSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFB1
c2hNZXNzYWdlRGF0YT4geworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUHVzaE1lc3NhZ2VE
YXRhKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFB1c2hNZXNzYWdlRGF0YT4gY3JlYXRlKFZl
Y3Rvcjx1aW50OF90PiYmIGRhdGEpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUHVzaE1lc3NhZ2VE
YXRhKFdURk1vdmUoZGF0YSkpKTsgfQorICAgIH5QdXNoTWVzc2FnZURhdGEoKSA9IGRlZmF1bHQ7
CisKKyAgICBFeGNlcHRpb25PcjxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+IGFycmF5QnVmZmVy
KCk7CisgICAgUmVmUHRyPEJsb2I+IGJsb2IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAg
IEV4Y2VwdGlvbk9yPEpTQzo6SlNWYWx1ZT4ganNvbihKU0RPTUdsb2JhbE9iamVjdCYpOworICAg
IFN0cmluZyB0ZXh0KCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgUHVzaE1lc3NhZ2VEYXRh
KFZlY3Rvcjx1aW50OF90PiYmKTsKKworICAgIFZlY3Rvcjx1aW50OF90PiBtX2RhdGE7Cit9Owor
CitpbmxpbmUgUHVzaE1lc3NhZ2VEYXRhOjpQdXNoTWVzc2FnZURhdGEoVmVjdG9yPHVpbnQ4X3Q+
JiYgZGF0YSkKKyAgICA6IG1fZGF0YShXVEZNb3ZlKGRhdGEpKQoreworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTNjNjhlMWU4NjdlNDYwYjY0NjE1NDFhYzhmYjdiMzY0OGY0MWI0YQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VE
YXRhLmlkbApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PVNFUlZJQ0VfV09SS0VSLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UHVzaEFQSSwKKyAgICBFeHBv
c2VkPVNlcnZpY2VXb3JrZXIsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKK10gaW50
ZXJmYWNlIFB1c2hNZXNzYWdlRGF0YSB7CisgICAgQXJyYXlCdWZmZXIgYXJyYXlCdWZmZXIoKTsK
KyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gQmxvYiBibG9iKCk7CisgICAg
W0NhbGxXaXRoPUdsb2JhbE9iamVjdF0gYW55IGpzb24oKTsKKyAgICBVU1ZTdHJpbmcgdGV4dCgp
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKaW5kZXggZTQzYWZkY2FlZjIwZGZjNDNhNWYwNjljZDRhZDJkYWEx
NmQ5YzllYy4uZjJiM2E4YmY5YWI0ZWI3MTk5YzA1N2EwYTNmZjYwZGViZTBhNjc0YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKQEAgLTIxOCw2ICsyMTgsOCBAQCBNb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvRG9j
dW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0VudGVy
UGljdHVyZUluUGljdHVyZUV2ZW50LmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0hUTUxW
aWRlb0VsZW1lbnRQaWN0dXJlSW5QaWN0dXJlLmNwcAogTW9kdWxlcy9waWN0dXJlaW5waWN0dXJl
L1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuY3BwCitNb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5j
cHAKK01vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmNwcAogTW9kdWxlcy9yZW1vdGVw
bGF5YmFjay9SZW1vdGVQbGF5YmFjay5jcHAKIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0
aW9uLmNwcAogTW9kdWxlcy9zcGVlY2gvU3BlZWNoUmVjb2duaXRpb25BbHRlcm5hdGl2ZS5jcHAK
QEAgLTMzNTEsNiArMzM1Myw5IEBAIEpTUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9u
cy5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbERlc2NyaXB0b3IuY3BwCiBKU1B1YmxpY0tleUNy
ZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5jcHAKIEpTUHVibGljS2V5Q3JlZGVudGlhbFR5cGUuY3Bw
CitKU1B1c2hFdmVudC5jcHAKK0pTUHVzaEV2ZW50SW5pdC5jcHAKK0pTUHVzaE1lc3NhZ2VEYXRh
LmNwcAogSlNSVENBbnN3ZXJPcHRpb25zLmNwcAogSlNSVENDZXJ0aWZpY2F0ZS5jcHAKIEpTUlRD
Q29uZmlndXJhdGlvbi5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCAwMmQ4NDE1YjQ2MGIyNzUwMTY1NGExNTc0MjkxMmI1YzRm
ZGIxMjVhLi43ZDc0MWVhNmNhMjI4MjBjZjIyZmFmNTJjYzQ3YTJlZDJjNjY1OGUxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0x
MTc3LDYgKzExNzcsOCBAQAogCQk0MTg5MzhCMjI0MjlGOUI0MDA3RkRDNDEgLyogUmV0cmlldmVS
ZWNvcmRzT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDE4OTM4QUYyNDI5RjlBQjAwN0ZEQzQxIC8qIFJldHJpZXZlUmVjb3Jkc09wdGlvbnMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk0MThB
MDZEMDEzM0MwNEQ1MDBDRDM3OUMgLyogRXZlbnREaXNwYXRjaGVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThBMDZDRTEzM0MwNEQ1MDBDRDM3OUMg
LyogRXZlbnREaXNwYXRjaGVyLmggKi87IH07CiAJCTQxOEY4ODA1MEZGOTU3QUYwMDgwRjA0NSAv
KiBKU0Fic3RyYWN0V29ya2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5o
ICovOyB9OworCQk0MThGQ0JDMTI3MDZFNEZCMDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGQ0JCRDI3MDZFNEY3
MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJNDE4RkNCQzIyNzA2RTUwMTAwRjk2RUNBIC8qIFB1c2hFdmVudElu
aXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOEZD
QkJGMjcwNkU0RjgwMEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5MEYzQTUyNEEwQjRFRTAwNTMxQzU3
IC8qIEZyYW1lUmF0ZU1vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxOTBGM0EzMjQ5RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9y
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE5
MjQyNDkyMTI3QjkzRTAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29h
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5MjQy
NDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1t
ICovOyB9OwogCQk0MTlBQ0Y5MjFGOTdFN0RBMDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNo
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTlBQ0Y4
RTFGOTdFN0Q1MDA5RjFBODMgLyogU2VydmljZVdvcmtlckZldGNoLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgxMDAsNiArODEwMiwxNCBAQAog
CQk0MThDMzk1RjFDOEYwQUFCMDA1MUM4QTMgLyogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJv
bGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZWFkYWJsZVN0cmVhbURl
ZmF1bHRDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOEY4ODAy
MEZGOTU3QUUwMDgwRjA0NSAvKiBKU0Fic3RyYWN0V29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQWJzdHJhY3RXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0MThGODgwMzBGRjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdv
cmtlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0Fic3RyYWN0V29ya2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkJBMjcwNkU0RjUwMEY5NkVD
QSAvKiBQdXNoTWVzc2FnZURhdGEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1c2hNZXNzYWdlRGF0YS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkJCMjcwNkU0RjYwMEY5NkVDQSAvKiBQdXNo
RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUHVzaEV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDE4RkNCQkMyNzA2RTRGNjAwRjk2RUNBIC8qIFB1c2hNZXNzYWdl
RGF0YS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBQdXNoTWVzc2FnZURhdGEuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDE4RkNCQkQyNzA2RTRGNzAwRjk2RUNBIC8qIFB1c2hFdmVudC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBQdXNoRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDE4RkNCQkUyNzA2RTRGNzAwRjk2RUNBIC8qIFB1c2hNZXNzYWdlRGF0YS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBQdXNoTWVzc2FnZURhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MThGQ0JCRjI3MDZFNEY4MDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBQdXNoRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
OEZDQkMwMjcwNkU0RjgwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFB1c2hFdmVudC5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxOEZDQkMzMjcwNkU2MkMwMEY5NkVD
QSAvKiBQdXNoRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoRXZlbnRJbml0LmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDE5MEYzQTEyNDlEMTUyNzAwNTMxQzU3IC8qIEZyYW1lUmF0
ZU1vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRnJhbWVS
YXRlTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0EzMjQ5
RDE1MjgwMDUzMUM1NyAvKiBGcmFtZVJhdGVNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEZyYW1lUmF0ZU1vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDE5MjQyNDcyMTI3QjdDQzAwNjM0RkNGIC8qIFJlYWx0aW1lT3V0Z29pbmdWaWRlb1Nv
dXJjZUNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gUmVh
bHRpbWVPdXRnb2luZ1ZpZGVvU291cmNlQ29jb2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xOTg1Myw2ICsxOTg2MywyMSBAQAogCQkJcGF0aCA9IGpzOwogCQkJc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDE4RkNCQjgyNzA2RTRCRDAwRjk2RUNBIC8qIHB1c2gt
YXBpICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MThG
Q0JCQjI3MDZFNEY2MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmNwcCAqLywKKwkJCQk0MThGQ0JCRDI3
MDZFNEY3MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmggKi8sCisJCQkJNDE4RkNCQzAyNzA2RTRGODAw
Rjk2RUNBIC8qIFB1c2hFdmVudC5pZGwgKi8sCisJCQkJNDE4RkNCQkYyNzA2RTRGODAwRjk2RUNB
IC8qIFB1c2hFdmVudEluaXQuaCAqLywKKwkJCQk0MThGQ0JDMzI3MDZFNjJDMDBGOTZFQ0EgLyog
UHVzaEV2ZW50SW5pdC5pZGwgKi8sCisJCQkJNDE4RkNCQkUyNzA2RTRGNzAwRjk2RUNBIC8qIFB1
c2hNZXNzYWdlRGF0YS5jcHAgKi8sCisJCQkJNDE4RkNCQkMyNzA2RTRGNjAwRjk2RUNBIC8qIFB1
c2hNZXNzYWdlRGF0YS5oICovLAorCQkJCTQxOEZDQkJBMjcwNkU0RjUwMEY5NkVDQSAvKiBQdXNo
TWVzc2FnZURhdGEuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSAicHVzaC1hcGkiOworCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDFBMDIzRUExQTM5REI3OTAwRjcyMkNGIC8q
IHN0cmVhbXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAt
MjQyMjksNiArMjQyNTQsNyBAQAogCQkJCTkzQjBBNjQyMjZDREM1NzQwMEFBMjFFNCAvKiBwZXJt
aXNzaW9ucyAqLywKIAkJCQkxREVGMDZBMjIzM0MzMkRCMDBFRTIyOEQgLyogcGljdHVyZWlucGlj
dHVyZSAqLywKIAkJCQkwNzJBRTFERTE4M0MwNTEzMDAwQTU5ODggLyogcGx1Z2lucyAqLywKKwkJ
CQk0MThGQ0JCODI3MDZFNEJEMDBGOTZFQ0EgLyogcHVzaC1hcGkgKi8sCiAJCQkJQ0RDMzEyRTAy
MkZDRDBCMDAwMTIwNEVDIC8qIHJlbW90ZXBsYXliYWNrICovLAogCQkJCUFBMkE1QUI3MTZBNDg1
QTQwMDk3NUEyNSAvKiBzcGVlY2ggKi8sCiAJCQkJOTMwODVEQjMyNkUwMDY4RTAwMEVDNkE3IC8q
IHN0b3JhZ2UgKi8sCkBAIC0zNDYxNSw2ICszNDY0MSw4IEBACiAJCQkJNTczMDNCRUIyMDA5N0Y0
MDAwMzU1OTY1IC8qIFB1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwMDgxRkYwMDE2QjBBMkQzMDA4QUFBN0EgLyogUHVibGljU3VmZml4LmggaW4gSGVhZGVycyAq
LywKIAkJCQkxMEZCMDg0QjE0RTE1QzdFMDBBM0RCOTggLyogUHVibGljVVJMTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDE4RkNCQzEyNzA2RTRGQjAwRjk2RUNBIC8qIFB1c2hFdmVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDE4RkNCQzIyNzA2RTUwMTAwRjk2RUNBIC8qIFB1c2hFdmVu
dEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzRDUxMUY2MjUwQzFDQkYwMDJFREM1MSAvKiBQ
dXNoUHVsbEZJRk8uaCBpbiBIZWFkZXJzICovLAogCQkJCTU1MEEwQkNBMDg1RjYwMzkwMDczNTNE
NiAvKiBRdWFsaWZpZWROYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0MxRjU5NDFFREY2OUQz
MDA0MTBEMjcgLyogUXVhbGlmaWVkTmFtZUNhY2hlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA5Yjhh
MThiNGM5OWYzNjhlNzcwY2NlMDZiOTY0NTA2MWRlNGQ3YjdjLi4wOWIyM2U1MzE5YjM1MTM5Nzk4
NGY5NWY5M2EzYTliMzRlYzM5N2RkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0yMDcsNiArMjA3LDggQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIG1hY3JvKFBlcm1pc3Npb25zKSBcCiAgICAgbWFjcm8oUG9pbnRlckV2ZW50
KSBcCiAgICAgbWFjcm8oUHVibGljS2V5Q3JlZGVudGlhbCkgXAorICAgIG1hY3JvKFB1c2hFdmVu
dCkgXAorICAgIG1hY3JvKFB1c2hNZXNzYWdlRGF0YSkgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2Vy
dmVyKSBcCiAgICAgbWFjcm8oUmVzaXplT2JzZXJ2ZXJFbnRyeSkgXAogICAgIG1hY3JvKFJUQ0Nl
cnRpZmljYXRlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5p
biBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDFiNDRiMGQwMTgyN2Fk
ZWUzNjFjYzMxYzUxZGFkMzE4NjA0ODc3OGYuLjU3YjNhZWY1MWEzODljNWQ4MzNiZWY5OGVjNDAw
MjYwYmJjYTViOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmlu
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0zNiw2ICszNiw3IEBA
IFBhZ2VUcmFuc2l0aW9uRXZlbnQKIFBvcFN0YXRlRXZlbnQKIFByb2dyZXNzRXZlbnQKIFByb21p
c2VSZWplY3Rpb25FdmVudAorUHVzaEV2ZW50IGNvbmRpdGlvbmFsPVNFUlZJQ0VfV09SS0VSCiBT
dWJtaXRFdmVudAogVGV4dEV2ZW50CiBUcmFuc2l0aW9uRXZlbnQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXggNjQxN2MwNjM1MDYxNTY3ZDE0YzA5
NzA3MTMwZTY1OWFlZGZiNGNkNS4uYWE2MDgzZTc0YWI2YzNmZWU0YWMyYTU1Y2MwZjRjZGIwNmI3
NGRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgK
QEAgLTE4MCw2ICsxODAsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCB0cmFuc2Zvcm1TdHJlYW1BUElF
bmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1RyYW5zZm9ybVN0cmVhbUFQSUVuYWJsZWQ7IH0K
IAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBib29sIHB1c2hBUElFbmFibGVkKCkg
Y29uc3QgeyByZXR1cm4gbV9wdXNoQVBJRW5hYmxlZDsgfQorICAgIHZvaWQgc2V0UHVzaEFQSUVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9wdXNoQVBJRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQog
ICAgIGJvb2wgc2VydmljZVdvcmtlckVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NlcnZpY2VX
b3JrZXJFbmFibGVkOyB9CiAgICAgdm9pZCBzZXRTZXJ2aWNlV29ya2VyRW5hYmxlZChib29sIGlz
RW5hYmxlZCkgeyBtX3NlcnZpY2VXb3JrZXJFbmFibGVkID0gaXNFbmFibGVkOyB9CiAjZW5kaWYK
QEAgLTMzNiw2ICszMzgsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1RyYW5zZm9ybVN0cmVh
bUFQSUVuYWJsZWQgeyBmYWxzZSB9OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAg
IGJvb2wgbV9wdXNoQVBJRW5hYmxlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NlcnZpY2VXb3Jr
ZXJFbmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOTNhZGIyNDE2NDlmNmI5M2E4
M2I0Njg0Zjg2ZWM3ZTc3MzcxNGMzNC4uYTM4ZDBhNDk5YTc2YjM3NDQzNTU4ODI4NzRkNzVhMGUy
ZGMwMDkzMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDIxLTEwLTAxICBZb3Vlbm4gRmFibGV0
ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUHVzaEV2ZW50
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMDcK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzNzA3NDcwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNraXAgdGVzdHMgaW4gV0sxLgorCisgICAgICAg
ICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5qczogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2
aWNld29ya2VyLmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azEvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS93aW5jYWlyby13azEvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0w
OS0yOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgSW1wb3J0
IFdQVCBwdXNoIGFwaSB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZWVl
MjRlZGI3OTZlNWQ5ZDBiNTc1YTRlZjBiNGM5YjljOTdhZjUzOC4uNTg2MjU4OWE0NzhlYzdmM2Y3
MzJhZTIxOGRiMWI5ZjFjNGY5MGZhOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vODM3MDc0NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRw
cy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMjEtMDktMjkgIFlvdWVubiBG
YWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQgcHVzaCBhcGkg
dGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVu
dC5hbnkuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55Lmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMwZDY4OWZmMGMzOWEwNDUwNTFmMzJkMDU2OWU2YmQ4MDRhZGE0ZWEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQu
YW55LmpzCkBAIC0wLDAgKzEsNTQgQEAKKy8vIE1FVEE6IHRpdGxlPVB1c2hFdmVudCB0ZXN0cwor
Ly8gTUVUQTogZ2xvYmFsPXNlcnZpY2V3b3JrZXIKKwordGVzdCgoKSA9PiB7CisgICAgbGV0IGV2
ZW50ID0gbmV3IFB1c2hFdmVudCgicHVzaCIpOworICAgIGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0
YSwgbnVsbCk7CisKKyAgICBldmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IH0pOworICAg
IGFzc2VydF9lcXVhbHMoZXZlbnQuZGF0YSwgbnVsbCk7Cit9LCAiUHVzaEV2ZW50IHdpdGhvdXQg
ZGF0YSIpOworCit0ZXN0KCgpID0+IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJw
dXNoIiwgeyBkYXRhIDogIiIgfSk7CisgICAgYXNzZXJ0X25vdF9lcXVhbHMoZXZlbnQuZGF0YSwg
bnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5kYXRhLnRleHQoKSwgIiIpOworCisgICAg
Y29uc3QgdmFsdWUgPSB7IHRlc3QgOiAxIH07CisgICAgY29uc3Qgc3RyaW5nVmFsdWUgPSBKU09O
LnN0cmluZ2lmeSh2YWx1ZSk7CisgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2Rlcigp
OworCisgICAgZm9yIChsZXQgdmFsdWUgb2YgW3N0cmluZ1ZhbHVlLCBlbmNvZGVyLmVuY29kZShz
dHJpbmdWYWx1ZSldKSB7CisgICAgICAgIGV2ZW50ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsg
ZGF0YSA6IHZhbHVlIH0pOworICAgICAgICBhc3NlcnRfdHJ1ZShldmVudCBpbnN0YW5jZW9mIFB1
c2hFdmVudCk7CisgICAgICAgIGFzc2VydF90cnVlKGV2ZW50IGluc3RhbmNlb2YgRXh0ZW5kYWJs
ZUV2ZW50KTsKKworICAgICAgICBjb25zdCBkYXRhID0gZXZlbnQuZGF0YTsKKyAgICAgICAgYXNz
ZXJ0X3RydWUoZGF0YSBpbnN0YW5jZW9mIFB1c2hNZXNzYWdlRGF0YSk7CisgICAgICAgIGFzc2Vy
dF9lcXVhbHMoZGF0YS50ZXh0KCksIHN0cmluZ1ZhbHVlKTsKKyAgICAgICAgYXNzZXJ0X3RydWUo
ZGF0YS5ibG9iKCkgaW5zdGFuY2VvZiBCbG9iKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhkYXRh
Lmpzb24oKS50ZXN0LCAxKTsKKyAgICAgICAgYXNzZXJ0X2VxdWFscyhkYXRhLmFycmF5QnVmZmVy
KCkuYnl0ZUxlbmd0aCwgc3RyaW5nVmFsdWUubGVuZ3RoKTsKKyAgICB9Cit9LCAiUHVzaEV2ZW50
IHdpdGggZGF0YSIpOworCit0ZXN0KCgpID0+IHsKKyAgICBsZXQgZXZlbnQgPSBuZXcgUHVzaEV2
ZW50KCJwdXNoIiwgeyBkYXRhIDogbmV3IEFycmF5QnVmZmVyKCkgfSk7CisgICAgYXNzZXJ0X25v
dF9lcXVhbHMoZXZlbnQuZGF0YSwgbnVsbCk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5kYXRh
LnRleHQoKSwgIiIpOworCisgICAgY29uc3QgdmFsdWUgPSAicG90YXRvIjsKKyAgICBjb25zdCBk
ZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKCk7CisgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0
RW5jb2RlcigpOworICAgIGNvbnN0IGJ1ZmZlciA9IGVuY29kZXIuZW5jb2RlKHZhbHVlKTsKKyAg
ICBldmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IGRhdGEgOiBidWZmZXIgfSk7CisKKyAg
ICBhc3NlcnRfZmFsc2UoZXZlbnQuZGF0YS5hcnJheUJ1ZmZlcigpID09PSBidWZmZXIsICJ0ZXN0
IDEiKTsKKyAgICBhc3NlcnRfZmFsc2UoZXZlbnQuZGF0YS5hcnJheUJ1ZmZlcigpID09PSBldmVu
dC5kYXRhLmFycmF5QnVmZmVyKCksICJ0ZXN0IDIiKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRlY29k
ZXIuZGVjb2RlKGV2ZW50LmRhdGEuYXJyYXlCdWZmZXIoKSksIHZhbHVlKTsKK30sICJQdXNoRXZl
bnQgYXJyYXlCdWZmZXIgaGFuZGxpbmciKTsKKwordGVzdCgoKSA9PiB7CisgICAgY29uc3QgZXZl
bnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwgeyBkYXRhIDogInt0ZXN0IDogMX0iIH0pOworICAg
IGFzc2VydF90aHJvd3NfZG9tKCJTeW50YXhFcnJvciIsICgpID0+IGV2ZW50LmRhdGEuanNvbigp
KTsKK30sICJQdXNoRXZlbnQgd2l0aCBiYWQganNvbiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2Vydmlj
ZXdvcmtlci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I2MWFlZGEwNjRhOTUzYmYzZGE1Yzlh
NmIzMzZlMGZlMDAzYzMyNgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw2IEBACisKK1BBU1MgUHVzaEV2ZW50IHdpdGhvdXQgZGF0YQorUEFTUyBQdXNoRXZlbnQg
d2l0aCBkYXRhCitQQVNTIFB1c2hFdmVudCBhcnJheUJ1ZmZlciBoYW5kbGluZworUEFTUyBQdXNo
RXZlbnQgd2l0aCBiYWQganNvbgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9w
dXNoLWFwaS9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXIuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjIzODI5MTM1MjhlNjkzYjNhNWQ1NmM2NjBhNDUwNjA5ODBiNTQ4YzMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55LnNlcnZp
Y2V3b3JrZXIuaHRtbApAQCAtMCwwICsxIEBACis8IS0tIFRoaXMgZmlsZSBpcyByZXF1aXJlZCBm
b3IgV2ViS2l0IHRlc3QgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIHRoZSB0ZW1wbGF0ZWQgdGVzdCAt
LT4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMu
YW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9pZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNl
d29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBlOWM3Y2FlNDY0NjM0ZDM4ODAzNGE4ODgwZDRkNDFi
OWU4YzNjODk5Li5hNzVmN2ZjYmQ0MDZjY2I3NDU5YTI0NDlhOGM2MzRiYmQxYTU1M2JjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gt
YXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRs
aGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTQ1LDI2ICs0
NSwyNiBAQCBGQUlMIFB1c2hTdWJzY3JpcHRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb3B0aW9u
cyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZQogRkFJTCBQdXNoU3Vic2NyaXB0aW9uIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGdldEtleShQdXNoRW5jcnlwdGlvbktleU5hbWUpIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3Jp
cHRpb24iIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uIiBtaXNzaW5nCiBGQUlM
IFB1c2hTdWJzY3JpcHRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gdW5zdWJzY3JpYmUoKSBhc3Nl
cnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoU3Vi
c2NyaXB0aW9uIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbiIgbWlzc2luZwog
RkFJTCBQdXNoU3Vic2NyaXB0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHRvSlNPTigpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJz
Y3JpcHRpb24iIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uIiBtaXNzaW5nCi1G
QUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2
ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hN
ZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlIG9iamVj
dCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRh
IiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1l
c3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1G
QUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3Bl
cnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVy
ZmFjZTogb3BlcmF0aW9uIGFycmF5QnVmZmVyKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBibG9iKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAi
UHVzaE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6
IG9wZXJhdGlvbiBqc29uKCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZl
IG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1l
c3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJh
dGlvbiB0ZXh0KCkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VE
YXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1
c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVz
aEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hF
dmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2Vz
IG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVz
aEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVjdGVk
IHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
ImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoRXZl
bnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJQdXNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwg
UHVzaEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIGRhdGEgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3RlZCBwcm9w
ZXJ0eSAiUHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBtdXN0IGJlIHByaW1hcnkg
aW50ZXJmYWNlIG9mIG5ldyBQdXNoRXZlbnQoInR5cGUiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVj
dGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBQdXNoRXZlbnQi
Ci1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgUHVzaEV2ZW50KCJ0eXBlIikgYXNzZXJ0X2Vx
dWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3Rl
ZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJs
ZTogUHVzaEV2ZW50IgotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBuZXcgUHVzaEV2ZW50KCJ0
eXBlIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJkYXRhIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBh
c3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBQdXNoRXZlbnQiCitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0CitQQVNTIFB1c2hNZXNz
YWdlRGF0YSBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aAorUEFTUyBQdXNoTWVzc2FnZURhdGEgaW50
ZXJmYWNlIG9iamVjdCBuYW1lCitQQVNTIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdAorUEFTUyBQ
dXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5CitQQVNTIFB1
c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkKK1BBU1MgUHVz
aE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGFycmF5QnVmZmVyKCkKK1BBU1MgUHVz
aE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3BlcmF0aW9uIGJsb2IoKQorUEFTUyBQdXNoTWVzc2Fn
ZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24ganNvbigpCitQQVNTIFB1c2hNZXNzYWdlRGF0YSBp
bnRlcmZhY2U6IG9wZXJhdGlvbiB0ZXh0KCkKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUHVzaEV2ZW50
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2Ugb2JqZWN0
IG5hbWUKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
ICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNj
b3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGF0
YQorUEFTUyBQdXNoRXZlbnQgbXVzdCBiZSBwcmltYXJ5IGludGVyZmFjZSBvZiBuZXcgUHVzaEV2
ZW50KCJ0eXBlIikKK1BBU1MgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBQdXNoRXZlbnQoInR5cGUi
KQorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlOiBuZXcgUHVzaEV2ZW50KCJ0eXBlIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJkYXRhIiB3aXRoIHRoZSBwcm9wZXIgdHlwZQogRkFJTCBQdXNoU3Vi
c2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQiIG1pc3NpbmcKIEZBSUwgUHVzaFN1
YnNjcmlwdGlvbkNoYW5nZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRp
b25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VF
dmVudCIgbWlzc2luZwogRkFJTCBQdXNoU3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkg
IlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2luZwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDYzZWVlYzQ5NWJiM2FkNmIxZWEz
YmU5YTliYTcxYjNlZjhiNTI1NjUuLjdmZmVjYjEyMjZkZjQ4YmRmNDIxODk0YmI4MDdmNzY3OTBm
OGFiMjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTMzOSw2ICszMzksNyBAQCBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UgWyBTa2lwIF0K
IGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0Y2gtaW4tY3Jvc3Mtb3JpZ2luLXNlcnZp
Y2Utd29ya2VyLmh0bWwgWyBTa2lwIF0KIGh0dHAvdGVzdHMvY29va2llcy9zYW1lLXNpdGUvZmV0
Y2gtaW4tc2FtZS1vcmlnaW4tc2VydmljZS13b3JrZXIuaHRtbCBbIFNraXAgXQogaHR0cC93cHQv
Y2FjaGUtc3RvcmFnZSBbIFNraXAgXQoraHR0cC93cHQvcHVzaC1hcGkgWyBTa2lwIF0KIGh0dHAv
d3B0L3NlcnZpY2Utd29ya2VycyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9pbnNpZGUtd29ya2VyL3NlcnZpY2V3b3JrZXIt
cmVwb3J0LW9ubHkuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY29udGVudC1zZWN1cml0eS1wb2xpY3kvc2FuZGJveC9zZXJ2aWNlLXdvcmtl
ci1zYW5kYm94Lmh0dHBzLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rl
c3RFeHBlY3RhdGlvbnMKaW5kZXggNzQ0YmIxNzY4OTVjNmZmZGQ0OTcwMGUxZjQzOWJhNDAyZWQ1
MGZlMi4uOGNiZDE3NDhhMzUxYjY2MDNmYzU4ZGEyMDAzYWNkNTc2ZWQ5Y2QyYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM3MTIsNiArMzcxMiw3IEBA
IGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZSBbIFNraXAgXQogaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
bmV0d29yay9yZXNvdXJjZS1yZXNwb25zZS1zZXJ2aWNlLXdvcmtlci5odG1sIFsgU2tpcCBdCiBo
dHRwL3Rlc3RzL3dvcmtlcnMvc2VydmljZSBbIFNraXAgXQogaHR0cC93cHQvY2FjaGUtc3RvcmFn
ZSBbIFNraXAgXQoraHR0cC93cHQvcHVzaC1hcGkgWyBTa2lwIF0KIGh0dHAvd3B0L3NlcnZpY2Ut
d29ya2VycyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jb250ZW50
LXNlY3VyaXR5LXBvbGljeS9zZWN1cml0eXBvbGljeXZpb2xhdGlvbi9pbnNpZGUtc2VydmljZS13
b3JrZXIuaHR0cHMuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS93b3JrZXItc3JjL3NlcnZpY2Utd29ya2VyLXNyYy1j
aGlsZC1mYWxsYmFjay1ibG9ja2VkLmh0dHBzLnN1Yi5odG1sIFsgU2tpcCBdCkBAIC0zNzI1LDYg
KzM3MjYsNyBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xp
Y2llcy9yZWZlcnJlci1vcmlnaW4td2hlbi1jcm9zcy1vcgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItdW5zYWZlLXVybC1zZXJ2aWNl
LXdvcmtlci5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9yZXF1ZXN0L2Rlc3RpbmF0aW9uIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Nyb3NzLW9yaWdpbi1yZXNvdXJjZS1wb2xpY3kgWyBT
a2lwIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkgWyBTa2lwIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmVyLXRpbWluZy9zZXJ2aWNlX3dv
cmtlcl9pZGwuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC93ZWJhcHBhcGlzL3NjcmlwdGluZy9wcm9jZXNzaW5nLW1vZGVsLTIvaW50ZWdyYXRpb24t
d2l0aC10aGUtamF2YXNjcmlwdC1hZ2VudC1mb3JtYWxpc20vcmVxdWlyZXMtZmFpbHVyZS5odHRw
cy5hbnkuc2VydmljZXdvcmtlci5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW5jYWlyby13azEvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGJmOWI2N2Q3OTQzZGU0
ODdjOGY4ZGMwZTU3NjE2NmIxNTA0NzIxNWYuLjU1ZjhhNDU3NzY4NmMwZDc0MmUxNWZkYmVhZDdk
MTcwYTIwYWM5OWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdr
MS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdr
MS9UZXN0RXhwZWN0YXRpb25zCkBAIC0zMjMsNiArMzIzLDggQEAgaHR0cC90ZXN0cy9tdWx0aXBh
cnQvbXVsdGlwYXJ0LXdhaXQtYmVmb3JlLWJvdW5kYXJ5Lmh0bWwgWyBUaW1lb3V0IF0KIAogIyBT
a2lwIFNlcnZpY2UgV29ya2VycyBpbiBXSzEKIGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlIFsg
U2tpcCBdCitodHRwL3dwdC9wdXNoLWFwaSBbIFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9wdXNoLWFwaSBbIFNraXAgXQogaHR0cC93cHQvc2VydmljZS13b3JrZXJzIFsg
U2tpcCBdCiAKIGZhc3QvY3NzL2FzcGVjdC1yYXRpby1pbnZhbGlkYXRlLWlmLWRpc2FibGVkLmh0
bWwgWyBGYWlsdXJlIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439861</attachid>
            <date>2021-10-01 08:07:22 -0700</date>
            <delta_ts>2021-10-01 11:50:10 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-231007-20211001170720.patch</filename>
            <type>text/plain</type>
            <size>51887</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDkwOTk2MTExYzdhZTYxNzBkNDgyNDRk
YjhhYzdkNGVmMTg5YTI5ODQuLjE0YzY4MTQ5OTcyMWUzZmFiY2MxMDFjZmE1ZDE5YTg0MWMwYWYz
NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMTAtMDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vl
bm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBQdXNoRXZlbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTAwNworICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vODM3MDc0NzA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMg
RHVtZXouCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhw
ZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMDktMjkgIEZ1amlpIEhpcm9ub3JpICA8SGlyb25vcmku
RnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgW1dpbkNhaXJvXSBSRUdSRVNTSU9OKHIyODA3MjYp
OiByZWdpc3RyeSBrZXlzIGVuYWJsaW5nIEdQVSBwcm9jZXNzIG1vZGUgZG9uJ3Qgd29yawpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IGFhNGQyZmNlNTBjNGQ2ODMzY2I5NGZjZjA3NjY5MzI4ZjNjYjYxZTAuLjE5OTVl
YThhYWM1OWNjYzRlN2Q3NWI3M2FjNzU1OTYyOTk5ZTU0MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwzOSBAQAorMjAyMS0xMC0wMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFB1c2hFdmVudAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDA3CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS84MzcwNzQ3MD4KKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICBJbXBsZW1lbnQgUHVzaEV2ZW50IGFuZCBQdXNoTWVzc2FnZURhdGEgYXMgcGVyIHNwZWNpZmlj
YXRpb24uCisgICAgICAgIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9wdXNoLWFwaS8jcHVzaGV2ZW50
LWludGVyZmFjZSBhbmQKKyAgICAgICAgaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3B1c2gtYXBpLyNw
dXNobWVzc2FnZWRhdGEtaW50ZXJmYWNlLgorCisgICAgICAgIFdlIG1vZGVsIFB1c2hNZXNzYWdl
RGF0YSBhcyBhIFZlY3Rvcjx1aW50OF90PiBmb2xsb3dpbmcgdGhlIHNwZWMgd2hpY2ggdGVsbHMg
dXMgdGhhdCBpdCBoYXMgYW4gYXNzb2NpYXRlZCBieXRlIHNlcXVlbmNlLgorCisgICAgICAgIFB1
dCB0aGVtIGJlaGluZCBhIHJ1bnRpbWUgZmxhZywgb2ZmIGJ5IGRlZmF1bHQuCisKKyAgICAgICAg
VGVzdDogaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwK
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3B1
c2gtYXBpL1B1c2hFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkv
UHVzaEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50
LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0Lmg6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50SW5pdC5pZGw6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvcHVzaC1hcGkvUHVzaE1lc3NhZ2VEYXRhLmNwcDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaDogQWRkZWQu
CisgICAgICAgICogTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
OgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmluOgorICAgICAgICAqIHBhZ2UvUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oOgorCiAyMDIxLTA5LTI5ICBLaW1tbyBLaW5udW5lbiAgPGtraW5udW5l
bkBhcHBsZS5jb20+CiAKICAgICAgICAgR1BVUCBDb2NvYSBHcmFwaGljc0NvbnRleHRHTE9wZW5H
TCBzaG91bGQgY2hlY2sgZm9yIEFOR0xFIHByZXNlbmNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sCmluZGV4IGYwYmNiMmZkNDczM2E2YzQyY2Q0MjRlMzU3MzZlMGE3MDJkZmQ4ZDAuLjU5MzA2
MGJlYmYzMzIzODhjNDE2YjQ2NmFmOGIyZDY2MDc1ZTc1NWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisr
KyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCkBAIC05OTcsNiArOTk3LDE4IEBAIFByb2Nlc3NTd2FwT25Dcm9zc1NpdGVOYXZp
Z2F0aW9uRW5hYmxlZDoKICAgICAgICJQTEFURk9STShNQUMpIHx8IFBMQVRGT1JNKElPUykgfHwg
UExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXUEUpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFs
c2UKIAorUHVzaEFQSUVuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgY29uZGl0aW9uOiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiUHVzaCBBUEkiCisgIGh1bWFu
UmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBQdXNoIEFQSSIKKyAgd2ViY29yZUJpbmRpbmc6
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYkNvcmU6Cisg
ICAgICBkZWZhdWx0OiBmYWxzZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisK
IFJlYWRhYmxlQnl0ZVN0cmVhbUFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJSZWFkYWJsZUJ5dGVTdHJlYW0iCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVh
YzE3NDk2MTM5ZDQzOTI4MjhlNTkzOGI0MjljZGFhNjFkNTNhYWUuLjkwOGQ4ZTJmYzAzMWE4MmVj
Mjk3ZjNiY2NjYjI4ZTc3OWRiNDllOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC01Miw2ICs1
Miw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dF
QkNPUkVfRElSfS9Nb2R1bGVzL3Blcm1pc3Npb25zIgogICAgICIke1dFQkNPUkVfRElSfS9Nb2R1
bGVzL3BpY3R1cmVpbnBpY3R1cmUiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvcGx1Z2lu
cyIKKyAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxlcy9wdXNoLWFwaSIKICAgICAiJHtXRUJDT1JF
X0RJUn0vTW9kdWxlcy9yZW1vdGVwbGF5YmFjayIKICAgICAiJHtXRUJDT1JFX0RJUn0vTW9kdWxl
cy9zcGVlY2giCiAgICAgIiR7V0VCQ09SRV9ESVJ9L01vZHVsZXMvc3RvcmFnZSIKQEAgLTIwOSw2
ICsyMTAsNyBAQCBzZXQoV2ViQ29yZV9JRExfSU5DTFVERVMKICAgICBNb2R1bGVzL25vdGlmaWNh
dGlvbnMKICAgICBNb2R1bGVzL3BheW1lbnRyZXF1ZXN0CiAgICAgTW9kdWxlcy9wZXJtaXNzaW9u
cworICAgIE1vZHVsZXMvcHVzaC1hcGkKICAgICBNb2R1bGVzL3NwZWVjaAogICAgIE1vZHVsZXMv
c3RvcmFnZQogICAgIE1vZHVsZXMvc3RyZWFtcwpAQCAtNDk2LDYgKzQ5OCwxMCBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9IVE1M
VmlkZW9FbGVtZW50K1BpY3R1cmVJblBpY3R1cmUuaWRsCiAgICAgTW9kdWxlcy9waWN0dXJlaW5w
aWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaWRsCiAKKyAgICBNb2R1bGVzL3B1c2gtYXBp
L1B1c2hFdmVudC5pZGwKKyAgICBNb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudEluaXQuaWRsCisg
ICAgTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCisKICAgICBNb2R1bGVzL3Jl
bW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbAogICAgIE1vZHVsZXMvcmVtb3RlcGxheWJh
Y2svUmVtb3RlUGxheWJhY2tBdmFpbGFiaWxpdHlDYWxsYmFjay5pZGwKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0NzFhYTRi
NzZhMWQ1YWEwODQyMGNiNmVjOGY2NjEwNDljMy4uNDIyZWFhMGNlYjY1NDU1OTZlNjI4N2NiYWM3
YjdmYzNmNWZjNTZmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CkBAIC00MjEsNiArNDIxLDkgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9w
aWN0dXJlaW5waWN0dXJlL1BpY3R1cmVJblBpY3R1cmVXaW5kb3cuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3NzCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3BsdWdpbnMvUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQu
anMKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmlkbAorJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0LmlkbAorJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3JlbW90ZXBsYXliYWNrL0hUTUxNZWRpYUVsZW1lbnQrUmVtb3RlUGxheWJhY2suaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3JlbW90ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9SZW1vdGVQbGF5YmFja0F2
YWlsYWJpbGl0eUNhbGxiYWNrLmlkbApAQCAtMTQ0MCw2ICsxNDQzLDkgQEAgJChQUk9KRUNUX0RJ
Uikvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL3dv
cmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnRJbml0LmlkbAogJChQUk9KRUNUX0RJUikvd29y
a2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVNZXNzYWdlRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS93
b3JrZXJzL3NlcnZpY2UvRmV0Y2hFdmVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2Vy
dmljZS9QdXNoRXZlbnQuaWRsCiskKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvUHVzaEV2
ZW50SW5pdC5pZGwKKyQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9QdXNoTWVzc2FnZURh
dGEuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlci5pZGwK
ICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50LmlkbAog
JChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnRUeXBlLmlk
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApp
bmRleCBiNjBhNDljMTUyZDhmOTJhYjI1NTIyYTk5MjlhMjNhMGNhNWJmYWVlLi5hMDg3NDU1ODQz
YjNmYjdhMTFjYTA3YTg3ODNmZWQwYzkzNTkxYmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTY5NSw2ICsxNjk1LDEyIEBAICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVibGljS2V5Q3Jl
ZGVudGlhbFJlcXVlc3RPcHRpb25zCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucy5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1YmxpY0tleUNyZWRlbnRp
YWxUeXBlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hFdmVudC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50SW5pdC5jcHAKKyQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVzaEV2ZW50SW5pdC5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1B1c2hNZXNzYWdlRGF0
YS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUHVz
aE1lc3NhZ2VEYXRhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTUXVpY2tUaW1lUGx1Z2luUmVwbGFjZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1F1aWNrVGltZVBsdWdpblJlcGxhY2VtZW50LmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTUlRDQW5zd2Vy
T3B0aW9ucy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGEzNTIyOTM2MWEw
ZGE1NGIzZTEyYjcyYjQ1OWZjNjIzMGM3YTZjOTUuLjdiMmVkNDA4YzZlNDkxYjBmYmUxNWQ0OGQy
ZWI2ZWJlMDkyZjQ2YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzQ2LDYg
KzM0Niw5IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3Bp
Y3R1cmVpbnBpY3R1cmUvSFRNTFZpZGVvRWxlbWVudCtQaWN0dXJlSW5QaWN0dXJlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3BpY3R1cmVpbnBpY3R1cmUvUGljdHVyZUluUGljdHVyZVdp
bmRvdy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wbHVnaW5zL1F1aWNrVGltZVBsdWdp
blJlcGxhY2VtZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hF
dmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9yZW1vdGVwbGF5YmFjay9IVE1MTWVkaWFFbGVt
ZW50K1JlbW90ZVBsYXliYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3JlbW90ZXBs
YXliYWNrL1JlbW90ZVBsYXliYWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3JlbW90
ZXBsYXliYWNrL1JlbW90ZVBsYXliYWNrQXZhaWxhYmlsaXR5Q2FsbGJhY2suaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2ZW50LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40
MmI4ZmUyNWViNTc2MjlmYjZkNGI1YjdhN2QzMDIwY2MxOTg1ODJhCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3BwCkBAIC0wLDAg
KzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUHVz
aEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisKKyNpbmNsdWRlICJQdXNo
TWVzc2FnZURhdGEuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0FycmF5QnVmZmVyLmg+
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNBcnJheUJ1ZmZlclZpZXcuaD4KKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoUHVzaEV2ZW50KTsKKworc3RhdGljIFZlY3Rvcjx1aW50OF90PiBkYXRhRnJvbVB1c2hN
ZXNzYWdlRGF0YUluaXQoUHVzaE1lc3NhZ2VEYXRhSW5pdCYgZGF0YSkKK3sKKyAgICByZXR1cm4g
V1RGOjpzd2l0Y2hPbihkYXRhLCBbXShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mIHZhbHVlKSAt
PiBWZWN0b3I8dWludDhfdD4geworICAgICAgICBpZiAoIXZhbHVlKQorICAgICAgICAgICAgcmV0
dXJuIHsgfTsKKyAgICAgICAgcmV0dXJuIHsgcmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90
Kj4odmFsdWUtPmRhdGEoKSksIHZhbHVlLT5ieXRlTGVuZ3RoKCkgfTsKKyAgICB9LCBbXShSZWZQ
dHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+JiB2YWx1ZSkgLT4gVmVjdG9yPHVpbnQ4X3Q+IHsKKyAg
ICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiB7IH07CisgICAgICAgIHJldHVy
biB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlLT5iYXNlQWRkcmVzcygp
KSwgdmFsdWUtPmJ5dGVMZW5ndGgoKSB9OworICAgIH0sIFtdKFN0cmluZyYgdmFsdWUpIC0+IFZl
Y3Rvcjx1aW50OF90PiB7CisgICAgICAgIGF1dG8gdXRmOCA9IHZhbHVlLnV0ZjgoKTsKKyAgICAg
ICAgcmV0dXJuIFZlY3Rvcjx1aW50OF90PiB7IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhf
dCo+KHV0ZjguZGF0YSgpKSwgdXRmOC5sZW5ndGgoKSB9OworICAgIH0pOworfQorCitSZWY8UHVz
aEV2ZW50PiBQdXNoRXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBQdXNoRXZl
bnRJbml0JiYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCit7CisgICAgc3RkOjpv
cHRpb25hbDxWZWN0b3I8dWludDhfdD4+IGRhdGE7CisgICAgaWYgKGluaXRpYWxpemVyLmRhdGEp
CisgICAgICAgIGRhdGEgPSBkYXRhRnJvbVB1c2hNZXNzYWdlRGF0YUluaXQoKmluaXRpYWxpemVy
LmRhdGEpOworICAgIHJldHVybiBjcmVhdGUodHlwZSwgV1RGTW92ZShpbml0aWFsaXplciksIFdU
Rk1vdmUoZGF0YSksIGlzVHJ1c3RlZCk7Cit9CisKK1JlZjxQdXNoRXZlbnQ+IFB1c2hFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIEV4dGVuZGFibGVFdmVudEluaXQmJiBpbml0
aWFsaXplciwgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYgZGF0YSwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBQdXNoRXZlbnQodHlwZSwg
V1RGTW92ZShpbml0aWFsaXplciksIFdURk1vdmUoZGF0YSksIGlzVHJ1c3RlZCkpOworfQorCitz
dGF0aWMgaW5saW5lIFJlZlB0cjxQdXNoTWVzc2FnZURhdGE+IHB1c2hNZXNzYWdlRGF0YUZyb21P
cHRpb25hbFZlY3RvcihzdGQ6Om9wdGlvbmFsPFZlY3Rvcjx1aW50OF90Pj4mJiBkYXRhKQorewor
ICAgIGlmICghZGF0YSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIFB1c2hN
ZXNzYWdlRGF0YTo6Y3JlYXRlKFdURk1vdmUoKmRhdGEpKTsKK30KKworUHVzaEV2ZW50OjpQdXNo
RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgRXh0ZW5kYWJsZUV2ZW50SW5pdCYmIGV2ZW50
SW5pdCwgc3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYgZGF0YSwgSXNUcnVzdGVkIGlz
VHJ1c3RlZCkKKyAgICA6IEV4dGVuZGFibGVFdmVudCh0eXBlLCBXVEZNb3ZlKGV2ZW50SW5pdCks
IGlzVHJ1c3RlZCkKKyAgICAsIG1fZGF0YShwdXNoTWVzc2FnZURhdGFGcm9tT3B0aW9uYWxWZWN0
b3IoV1RGTW92ZShkYXRhKSkpCit7Cit9CisKK1B1c2hFdmVudDo6flB1c2hFdmVudCgpCit7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjQ2MGM2MTBmNDE0NTE3MjU4ZGM2OWFhNGM4M2ExN2ViODhiZmRhODEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudC5oCkBA
IC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIkV4dGVuZGFibGVFdmVudC5oIgorI2luY2x1ZGUg
IlB1c2hFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBQdXNoTWVz
c2FnZURhdGE7CisKK2NsYXNzIFB1c2hFdmVudCBmaW5hbCA6IHB1YmxpYyBFeHRlbmRhYmxlRXZl
bnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoUHVzaEV2ZW50KTsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFB1c2hFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmLCBQdXNoRXZl
bnRJbml0JiYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOworICAgIHN0YXRpYyBSZWY8UHVz
aEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYsIEV4dGVuZGFibGVFdmVudEluaXQmJiwg
c3RkOjpvcHRpb25hbDxWZWN0b3I8dWludDhfdD4+JiYsIElzVHJ1c3RlZCk7CisgICAgflB1c2hF
dmVudCgpOworCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiBQdXNoRXZlbnRJbnRlcmZhY2VUeXBlOyB9CisgICAgUHVzaE1lc3NhZ2VEYXRh
KiBkYXRhKCkgeyByZXR1cm4gbV9kYXRhLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgUHVzaEV2
ZW50KGNvbnN0IEF0b21TdHJpbmcmLCBFeHRlbmRhYmxlRXZlbnRJbml0JiYsIHN0ZDo6b3B0aW9u
YWw8VmVjdG9yPHVpbnQ4X3Q+PiYmLCBJc1RydXN0ZWQpOworCisgICAgUmVmUHRyPFB1c2hNZXNz
YWdlRGF0YT4gbV9kYXRhOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNo
LWFwaS9QdXNoRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMGQ0ZDE4OTczZGZlZDIzOTY1MTc1MjQ1
NzdmNTAyMjc1ZTE3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3B1c2gtYXBpL1B1c2hFdmVudC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUiwKKyAgICBFbmFibGVkQXRSdW50aW1lPVB1
c2hBUEksCisgICAgRXhwb3J0TWFjcm89V0VCQ09SRV9FWFBPUlQsCisgICAgRXhwb3NlZD1TZXJ2
aWNlV29ya2VyLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBTZWN1cmVDb250
ZXh0CitdIGludGVyZmFjZSBQdXNoRXZlbnQgOiBFeHRlbmRhYmxlRXZlbnQgeworICAgIGNvbnN0
cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBQdXNoRXZlbnRJbml0IGV2ZW50SW5pdERp
Y3QpOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQdXNoTWVzc2FnZURhdGE/IGRhdGE7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hFdmVudEluaXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4xMGVhNGRmMjQzNjY5N2Y2MmQ4MWZmZDY1YTFhY2Q4MzM1ZjMwYTVkCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnRJbml0
LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorCisjaW5jbHVkZSAiRXh0ZW5kYWJsZUV2ZW50SW5pdC5oIgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL1Zh
cmlhbnQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBQdXNoTWVzc2FnZURhdGFJ
bml0ID0gVmFyaWFudDxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8SlNDOjpB
cnJheUJ1ZmZlcj4sIFN0cmluZz47CisKK3N0cnVjdCBQdXNoRXZlbnRJbml0IDogRXh0ZW5kYWJs
ZUV2ZW50SW5pdCB7CisgICAgc3RkOjpvcHRpb25hbDxQdXNoTWVzc2FnZURhdGFJbml0PiBkYXRh
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9Q
dXNoRXZlbnRJbml0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVzaEV2
ZW50SW5pdC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjgyN2IwNjgzZDE1ZjRiODRlMGI0YWM1Zjc0NjU0NzQ3
ZTI1MWNlNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1h
cGkvUHVzaEV2ZW50SW5pdC5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK3R5cGVk
ZWYgKEJ1ZmZlclNvdXJjZSBvciBVU1ZTdHJpbmcpIFB1c2hNZXNzYWdlRGF0YUluaXQ7CisKK1sK
KyAgICBDb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUgorXSBkaWN0aW9uYXJ5IFB1c2hFdmVudElu
aXQgOiBFeHRlbmRhYmxlRXZlbnRJbml0IHsKKyAgICBQdXNoTWVzc2FnZURhdGFJbml0IGRhdGE7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVz
c2FnZURhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2Fn
ZURhdGEuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI5NGYwNjRlMThiNGE1MTA2NWYwNDRjOTI1MDc4ZWUxNzU3
MTc2MTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hNZXNzYWdlRGF0YS5jcHAKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQdXNoTWVzc2FnZURhdGEuaCIKKworI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIkJsb2IuaCIKKyNpbmNsdWRlICJKU0RPTUds
b2JhbE9iamVjdC5oIgorI2luY2x1ZGUgIlRleHRSZXNvdXJjZURlY29kZXIuaCIKKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU0xvY2suaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09O
T2JqZWN0Lmg+CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoUHVzaE1lc3NhZ2VEYXRh
KTsKKworRXhjZXB0aW9uT3I8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PiBQdXNoTWVzc2FnZURh
dGE6OmFycmF5QnVmZmVyKCkKK3sKKyAgICBhdXRvIGJ1ZmZlciA9IEFycmF5QnVmZmVyOjp0cnlD
cmVhdGUobV9kYXRhLmRhdGEoKSwgbV9kYXRhLnNpemUoKSk7CisgICAgaWYgKCFidWZmZXIpCisg
ICAgICAgIHJldHVybiBFeGNlcHRpb24geyBPdXRPZk1lbW9yeUVycm9yIH07CisgICAgcmV0dXJu
IGJ1ZmZlcjsKK30KKworUmVmUHRyPEJsb2I+IFB1c2hNZXNzYWdlRGF0YTo6YmxvYihTY3JpcHRF
eGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAgIHJldHVybiBCbG9iOjpjcmVhdGUoJmNv
bnRleHQsIFZlY3Rvcjx1aW50OF90PiB7IG1fZGF0YSB9LCB7IH0pOworfQorCitFeGNlcHRpb25P
cjxKU0M6OkpTVmFsdWU+IFB1c2hNZXNzYWdlRGF0YTo6anNvbihKU0RPTUdsb2JhbE9iamVjdCYg
Z2xvYmFsT2JqZWN0KQoreworICAgIEpTQzo6SlNMb2NrSG9sZGVyIGxvY2soJmdsb2JhbE9iamVj
dCk7CisKKyAgICBhdXRvIHZhbHVlID0gSlNDOjpKU09OUGFyc2UoJmdsb2JhbE9iamVjdCwgdGV4
dCgpKTsKKyAgICBpZiAoIXZhbHVlKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgU3ludGF4
RXJyb3IsICJKU09OIHBhcnNpbmcgZmFpbGVkIl9zIH07CisKKyAgICByZXR1cm4gdmFsdWU7Cit9
CisKK1N0cmluZyBQdXNoTWVzc2FnZURhdGE6OnRleHQoKQoreworICAgIHJldHVybiBUZXh0UmVz
b3VyY2VEZWNvZGVyOjp0ZXh0RnJvbVVURjgobV9kYXRhLmRhdGEoKSwgbV9kYXRhLnNpemUoKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvcHVzaC1hcGkvUHVz
aE1lc3NhZ2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNz
YWdlRGF0YS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU1Y2RkOWY3ODY0NDk5YTc1OWUwMjQ4ZTY2YTQ1NWNhOGU4
YzZhYTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBp
L1B1c2hNZXNzYWdlRGF0YS5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKworI2luY2x1ZGUgIkV4Y2VwdGlv
bk9yLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9KU0NKU1ZhbHVlLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJsb2I7CitjbGFzcyBKU0RPTUdsb2JhbE9i
amVjdDsKK2NsYXNzIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ7CisKK2NsYXNzIFB1c2hNZXNzYWdl
RGF0YSBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPFB1c2hNZXNzYWdlRGF0YT4geworICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoUHVzaE1lc3NhZ2VEYXRhKTsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFB1c2hNZXNzYWdlRGF0YT4gY3JlYXRlKFZlY3Rvcjx1aW50OF90PiYmIGRhdGEpIHsg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgUHVzaE1lc3NhZ2VEYXRhKFdURk1vdmUoZGF0YSkpKTsgfQor
CisgICAgRXhjZXB0aW9uT3I8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PiBhcnJheUJ1ZmZlcigp
OworICAgIFJlZlB0cjxCbG9iPiBibG9iKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICBF
eGNlcHRpb25PcjxKU0M6OkpTVmFsdWU+IGpzb24oSlNET01HbG9iYWxPYmplY3QmKTsKKyAgICBT
dHJpbmcgdGV4dCgpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFB1c2hNZXNzYWdlRGF0YShW
ZWN0b3I8dWludDhfdD4mJik7CisKKyAgICBWZWN0b3I8dWludDhfdD4gbV9kYXRhOworfTsKKwor
aW5saW5lIFB1c2hNZXNzYWdlRGF0YTo6UHVzaE1lc3NhZ2VEYXRhKFZlY3Rvcjx1aW50OF90PiYm
IGRhdGEpCisgICAgOiBtX2RhdGEoV1RGTW92ZShkYXRhKSkKK3sKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9wdXNoLWFwaS9QdXNoTWVzc2FnZURhdGEuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUzYzY4ZTFlODY3ZTQ2MGI2NDYxNTQxYWM4ZmI3YjM2NDhmNDFiNGEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0
YS5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1T
RVJWSUNFX1dPUktFUiwKKyAgICBFbmFibGVkQXRSdW50aW1lPVB1c2hBUEksCisgICAgRXhwb3Nl
ZD1TZXJ2aWNlV29ya2VyLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCitdIGludGVy
ZmFjZSBQdXNoTWVzc2FnZURhdGEgeworICAgIEFycmF5QnVmZmVyIGFycmF5QnVmZmVyKCk7Cisg
ICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIEJsb2IgYmxvYigpOworICAgIFtD
YWxsV2l0aD1HbG9iYWxPYmplY3RdIGFueSBqc29uKCk7CisgICAgVVNWU3RyaW5nIHRleHQoKTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IGU0M2FmZGNhZWYyMGRmYzQzYTVmMDY5Y2Q0YWQyZGFhMTZk
OWM5ZWMuLmYyYjNhOGJmOWFiNGViNzE5OWMwNTdhMGEzZmY2MGRlYmUwYTY3NGMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0yMTgsNiArMjE4LDggQEAgTW9kdWxlcy9waWN0dXJlaW5waWN0dXJlL0RvY3Vt
ZW50UGljdHVyZUluUGljdHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9FbnRlclBp
Y3R1cmVJblBpY3R1cmVFdmVudC5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9IVE1MVmlk
ZW9FbGVtZW50UGljdHVyZUluUGljdHVyZS5jcHAKIE1vZHVsZXMvcGljdHVyZWlucGljdHVyZS9Q
aWN0dXJlSW5QaWN0dXJlV2luZG93LmNwcAorTW9kdWxlcy9wdXNoLWFwaS9QdXNoRXZlbnQuY3Bw
CitNb2R1bGVzL3B1c2gtYXBpL1B1c2hNZXNzYWdlRGF0YS5jcHAKIE1vZHVsZXMvcmVtb3RlcGxh
eWJhY2svUmVtb3RlUGxheWJhY2suY3BwCiBNb2R1bGVzL3NwZWVjaC9TcGVlY2hSZWNvZ25pdGlv
bi5jcHAKIE1vZHVsZXMvc3BlZWNoL1NwZWVjaFJlY29nbml0aW9uQWx0ZXJuYXRpdmUuY3BwCkBA
IC0zMzUxLDYgKzMzNTMsOSBAQCBKU1B1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMu
Y3BwCiBKU1B1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yLmNwcAogSlNQdWJsaWNLZXlDcmVk
ZW50aWFsUmVxdWVzdE9wdGlvbnMuY3BwCiBKU1B1YmxpY0tleUNyZWRlbnRpYWxUeXBlLmNwcAor
SlNQdXNoRXZlbnQuY3BwCitKU1B1c2hFdmVudEluaXQuY3BwCitKU1B1c2hNZXNzYWdlRGF0YS5j
cHAKIEpTUlRDQW5zd2VyT3B0aW9ucy5jcHAKIEpTUlRDQ2VydGlmaWNhdGUuY3BwCiBKU1JUQ0Nv
bmZpZ3VyYXRpb24uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMDJkODQxNWI0NjBiMjc1MDE2NTRhMTU3NDI5MTJiNWM0ZmRi
MTI1YS4uN2Q3NDFlYTZjYTIyODIwY2YyMmZhZjUyY2M0N2EyZWQyYzY2NThlMSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTE3
Nyw2ICsxMTc3LDggQEAKIAkJNDE4OTM4QjIyNDI5RjlCNDAwN0ZEQzQxIC8qIFJldHJpZXZlUmVj
b3Jkc09wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxODkzOEFGMjQyOUY5QUIwMDdGREM0MSAvKiBSZXRyaWV2ZVJlY29yZHNPcHRpb25zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDE4QTA2
RDAxMzNDMDRENTAwQ0QzNzlDIC8qIEV2ZW50RGlzcGF0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4QTA2Q0UxMzNDMDRENTAwQ0QzNzlDIC8q
IEV2ZW50RGlzcGF0Y2hlci5oICovOyB9OwogCQk0MThGODgwNTBGRjk1N0FGMDA4MEYwNDUgLyog
SlNBYnN0cmFjdFdvcmtlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3JrZXIuaCAq
LzsgfTsKKwkJNDE4RkNCQzEyNzA2RTRGQjAwRjk2RUNBIC8qIFB1c2hFdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4RkNCQkQyNzA2RTRGNzAw
Rjk2RUNBIC8qIFB1c2hFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CisJCTQxOEZDQkMyMjcwNkU1MDEwMEY5NkVDQSAvKiBQdXNoRXZlbnRJbml0
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MThGQ0JC
RjI3MDZFNEY4MDBGOTZFQ0EgLyogUHVzaEV2ZW50SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxOTBGM0E1MjRBMEI0RUUwMDUzMUM1NyAv
KiBGcmFtZVJhdGVNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTkwRjNBMzI0OUQxNTI4MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxOTI0
MjQ5MjEyN0I5M0UwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5t
bSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxOTI0MjQ3
MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3VyY2VDb2NvYS5tbSAq
LzsgfTsKIAkJNDE5QUNGOTIxRjk3RTdEQTAwOUYxQTgzIC8qIFNlcnZpY2VXb3JrZXJGZXRjaC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE5QUNGOEUx
Rjk3RTdENTAwOUYxQTgzIC8qIFNlcnZpY2VXb3JrZXJGZXRjaC5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MTAwLDYgKzgxMDIsMTQgQEAKIAkJ
NDE4QzM5NUYxQzhGMEFBQjAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVhZGFibGVTdHJlYW1EZWZh
dWx0Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MThGODgwMjBG
Rjk1N0FFMDA4MEYwNDUgLyogSlNBYnN0cmFjdFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU0Fic3RyYWN0V29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDE4Rjg4MDMwRkY5NTdBRTAwODBGMDQ1IC8qIEpTQWJzdHJhY3RXb3Jr
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBYnN0cmFjdFdvcmtlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JCQTI3MDZFNEY1MDBGOTZFQ0Eg
LyogUHVzaE1lc3NhZ2VEYXRhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoTWVzc2FnZURhdGEuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JCQjI3MDZFNEY2MDBGOTZFQ0EgLyogUHVzaEV2
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFB1c2hFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxOEZDQkJDMjcwNkU0RjYwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURh
dGEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gUHVzaE1lc3NhZ2VEYXRhLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxOEZDQkJEMjcwNkU0RjcwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUHVzaEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
OEZDQkJFMjcwNkU0RjcwMEY5NkVDQSAvKiBQdXNoTWVzc2FnZURhdGEuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gUHVzaE1lc3NhZ2VEYXRhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDE4RkNCQkYyNzA2RTRGODAwRjk2RUNBIC8qIFB1c2hFdmVudEluaXQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gUHVzaEV2ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThG
Q0JDMDI3MDZFNEY4MDBGOTZFQ0EgLyogUHVzaEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBQdXNoRXZlbnQuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MThGQ0JDMzI3MDZFNjJDMDBGOTZFQ0Eg
LyogUHVzaEV2ZW50SW5pdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gUHVzaEV2ZW50SW5pdC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTQxOTBGM0ExMjQ5RDE1MjcwMDUzMUM1NyAvKiBGcmFtZVJhdGVN
b25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZyYW1lUmF0
ZU1vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTkwRjNBMzI0OUQx
NTI4MDA1MzFDNTcgLyogRnJhbWVSYXRlTW9uaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGcmFtZVJhdGVNb25pdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxOTI0MjQ3MjEyN0I3Q0MwMDYzNEZDRiAvKiBSZWFsdGltZU91dGdvaW5nVmlkZW9Tb3Vy
Y2VDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFJlYWx0
aW1lT3V0Z29pbmdWaWRlb1NvdXJjZUNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTk4NTMsNiArMTk4NjMsMjEgQEAKIAkJCXBhdGggPSBqczsKIAkJCXNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7CiAJCX07CisJCTQxOEZDQkI4MjcwNkU0QkQwMEY5NkVDQSAvKiBwdXNoLWFw
aSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDE4RkNC
QkIyNzA2RTRGNjAwRjk2RUNBIC8qIFB1c2hFdmVudC5jcHAgKi8sCisJCQkJNDE4RkNCQkQyNzA2
RTRGNzAwRjk2RUNBIC8qIFB1c2hFdmVudC5oICovLAorCQkJCTQxOEZDQkMwMjcwNkU0RjgwMEY5
NkVDQSAvKiBQdXNoRXZlbnQuaWRsICovLAorCQkJCTQxOEZDQkJGMjcwNkU0RjgwMEY5NkVDQSAv
KiBQdXNoRXZlbnRJbml0LmggKi8sCisJCQkJNDE4RkNCQzMyNzA2RTYyQzAwRjk2RUNBIC8qIFB1
c2hFdmVudEluaXQuaWRsICovLAorCQkJCTQxOEZDQkJFMjcwNkU0RjcwMEY5NkVDQSAvKiBQdXNo
TWVzc2FnZURhdGEuY3BwICovLAorCQkJCTQxOEZDQkJDMjcwNkU0RjYwMEY5NkVDQSAvKiBQdXNo
TWVzc2FnZURhdGEuaCAqLywKKwkJCQk0MThGQ0JCQTI3MDZFNEY1MDBGOTZFQ0EgLyogUHVzaE1l
c3NhZ2VEYXRhLmlkbCAqLywKKwkJCSk7CisJCQlwYXRoID0gInB1c2gtYXBpIjsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQxQTAyM0VBMUEzOURCNzkwMEY3MjJDRiAvKiBz
dHJlYW1zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTI0
MjI5LDYgKzI0MjU0LDcgQEAKIAkJCQk5M0IwQTY0MjI2Q0RDNTc0MDBBQTIxRTQgLyogcGVybWlz
c2lvbnMgKi8sCiAJCQkJMURFRjA2QTIyMzNDMzJEQjAwRUUyMjhEIC8qIHBpY3R1cmVpbnBpY3R1
cmUgKi8sCiAJCQkJMDcyQUUxREUxODNDMDUxMzAwMEE1OTg4IC8qIHBsdWdpbnMgKi8sCisJCQkJ
NDE4RkNCQjgyNzA2RTRCRDAwRjk2RUNBIC8qIHB1c2gtYXBpICovLAogCQkJCUNEQzMxMkUwMjJG
Q0QwQjAwMDEyMDRFQyAvKiByZW1vdGVwbGF5YmFjayAqLywKIAkJCQlBQTJBNUFCNzE2QTQ4NUE0
MDA5NzVBMjUgLyogc3BlZWNoICovLAogCQkJCTkzMDg1REIzMjZFMDA2OEUwMDBFQzZBNyAvKiBz
dG9yYWdlICovLApAQCAtMzQ2MTUsNiArMzQ2NDEsOCBAQAogCQkJCTU3MzAzQkVCMjAwOTdGNDAw
MDM1NTk2NSAvKiBQdWJsaWNLZXlDcmVkZW50aWFsVHlwZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDA4MUZGMDAxNkIwQTJEMzAwOEFBQTdBIC8qIFB1YmxpY1N1ZmZpeC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMTBGQjA4NEIxNEUxNUM3RTAwQTNEQjk4IC8qIFB1YmxpY1VSTE1hbmFnZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxOEZDQkMxMjcwNkU0RkIwMEY5NkVDQSAvKiBQdXNoRXZlbnQuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxOEZDQkMyMjcwNkU1MDEwMEY5NkVDQSAvKiBQdXNoRXZlbnRJ
bml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk4M0Q1MTFGNjI1MEMxQ0JGMDAyRURDNTEgLyogUHVz
aFB1bGxGSUZPLmggaW4gSGVhZGVycyAqLywKIAkJCQk1NTBBMEJDQTA4NUY2MDM5MDA3MzUzRDYg
LyogUXVhbGlmaWVkTmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODNDMUY1OTQxRURGNjlEMzAw
NDEwRDI3IC8qIFF1YWxpZmllZE5hbWVDYWNoZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggOWI4YTE4
YjRjOTlmMzY4ZTc3MGNjZTA2Yjk2NDUwNjFkZTRkN2I3Yy4uMDliMjNlNTMxOWIzNTEzOTc5ODRm
OTVmOTNhM2E5YjM0ZWMzOTdkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMjA3LDYgKzIwNyw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhQZXJtaXNzaW9ucykgXAogICAgIG1hY3JvKFBvaW50ZXJFdmVudCkg
XAogICAgIG1hY3JvKFB1YmxpY0tleUNyZWRlbnRpYWwpIFwKKyAgICBtYWNybyhQdXNoRXZlbnQp
IFwKKyAgICBtYWNybyhQdXNoTWVzc2FnZURhdGEpIFwKICAgICBtYWNybyhSZXNpemVPYnNlcnZl
cikgXAogICAgIG1hY3JvKFJlc2l6ZU9ic2VydmVyRW50cnkpIFwKICAgICBtYWNybyhSVENDZXJ0
aWZpY2F0ZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCAxYjQ0YjBkMDE4MjdhZGVl
MzYxY2MzMWM1MWRhZDMxODYwNDg3NzhmLi41N2IzYWVmNTFhMzg5YzVkODMzYmVmOThlYzQwMDI2
MGJiY2E1YjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtMzYsNiArMzYsNyBAQCBQ
YWdlVHJhbnNpdGlvbkV2ZW50CiBQb3BTdGF0ZUV2ZW50CiBQcm9ncmVzc0V2ZW50CiBQcm9taXNl
UmVqZWN0aW9uRXZlbnQKK1B1c2hFdmVudCBjb25kaXRpb25hbD1TRVJWSUNFX1dPUktFUgogU3Vi
bWl0RXZlbnQKIFRleHRFdmVudAogVHJhbnNpdGlvbkV2ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCmluZGV4IDY0MTdjMDYzNTA2MTU2N2QxNGMwOTcw
NzEzMGU2NTlhZWRmYjRjZDUuLmFhNjA4M2U3NGFiNmMzZmVlNGFjMmE1NWNjMGY0Y2RiMDZiNzRk
ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBA
IC0xODAsNiArMTgwLDggQEAgcHVibGljOgogICAgIGJvb2wgdHJhbnNmb3JtU3RyZWFtQVBJRW5h
YmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNUcmFuc2Zvcm1TdHJlYW1BUElFbmFibGVkOyB9CiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgYm9vbCBwdXNoQVBJRW5hYmxlZCgpIGNv
bnN0IHsgcmV0dXJuIG1fcHVzaEFQSUVuYWJsZWQ7IH0KKyAgICB2b2lkIHNldFB1c2hBUElFbmFi
bGVkKGJvb2wgaXNFbmFibGVkKSB7IG1fcHVzaEFQSUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KICAg
ICBib29sIHNlcnZpY2VXb3JrZXJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9zZXJ2aWNlV29y
a2VyRW5hYmxlZDsgfQogICAgIHZvaWQgc2V0U2VydmljZVdvcmtlckVuYWJsZWQoYm9vbCBpc0Vu
YWJsZWQpIHsgbV9zZXJ2aWNlV29ya2VyRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQogI2VuZGlmCkBA
IC0zMzYsNiArMzM4LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNUcmFuc2Zvcm1TdHJlYW1B
UElFbmFibGVkIHsgZmFsc2UgfTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBi
b29sIG1fcHVzaEFQSUVuYWJsZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zZXJ2aWNlV29ya2Vy
RW5hYmxlZCB7IGZhbHNlIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDkzYWRiMjQxNjQ5ZjZiOTNhODNi
NDY4NGY4NmVjN2U3NzM3MTRjMzQuLjk5NGRkOWU1NDgyNTE1MzI3NTdhZjA2ZTVmNGM0NjQ5NWM1
OTBiOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0xMC0wMSAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFB1c2hFdmVudAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMDA3Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzcwNzQ3MD4KKworICAgICAgICBSZXZpZXdlZCBieSBD
aHJpcyBEdW1lei4KKworICAgICAgICBTa2lwIHRlc3RzIGluIFdLMS4KKworICAgICAgICAqIGh0
dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAv
d3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQ6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2VydmljZXdv
cmtlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3Rh
dGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDktMjkg
IFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEltcG9ydCBXUFQg
cHVzaCBhcGkgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGVlZTI0ZWRi
Nzk2ZTVkOWQwYjU3NWE0ZWYwYjRjOWI5Yzk3YWY1MzguLjM0ZWUzZDkwNzI5N2ViODBhNzRiYWU0
ZTllNzc1N2VlZmQ3NmRiZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDIxLTEwLTAxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
KworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUHVzaEV2ZW50CisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEwMDcKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzgzNzA3NDcwPgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNl
cnZpY2V3b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA5LTI5ICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBJbXBvcnQgV1BUIHB1c2ggYXBpIHRlc3RzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55Lmpz
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5qcwpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4yNzBkMmMwMzJkNDk0OGM3OGE4ZTRiMmVjNGNlNDVhYWFkYWI5MDQ0Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5qcwpA
QCAtMCwwICsxLDU0IEBACisvLyBNRVRBOiB0aXRsZT1QdXNoRXZlbnQgdGVzdHMKKy8vIE1FVEE6
IGdsb2JhbD1zZXJ2aWNld29ya2VyCisKK3Rlc3QoKCkgPT4geworICAgIGxldCBldmVudCA9IG5l
dyBQdXNoRXZlbnQoInB1c2giKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsIG51bGws
ICIxIik7CisKKyAgICBldmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IH0pOworICAgIGFz
c2VydF9lcXVhbHMoZXZlbnQuZGF0YSwgbnVsbCwgIjIiKTsKK30sICJQdXNoRXZlbnQgd2l0aG91
dCBkYXRhIik7CisKK3Rlc3QoKCkgPT4geworICAgIGxldCBldmVudCA9IG5ldyBQdXNoRXZlbnQo
InB1c2giLCB7IGRhdGEgOiAiIiB9KTsKKyAgICBhc3NlcnRfbm90X2VxdWFscyhldmVudC5kYXRh
LCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEudGV4dCgpLCAiIik7CisKKyAg
ICBjb25zdCB2YWx1ZSA9IHsgdGVzdCA6IDEgfTsKKyAgICBjb25zdCBzdHJpbmdWYWx1ZSA9IEpT
T04uc3RyaW5naWZ5KHZhbHVlKTsKKyAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVy
KCk7CisKKyAgICBmb3IgKGxldCB2YWx1ZSBvZiBbc3RyaW5nVmFsdWUsIGVuY29kZXIuZW5jb2Rl
KHN0cmluZ1ZhbHVlKV0pIHsKKyAgICAgICAgZXZlbnQgPSBuZXcgUHVzaEV2ZW50KCJwdXNoIiwg
eyBkYXRhIDogdmFsdWUgfSk7CisgICAgICAgIGFzc2VydF90cnVlKGV2ZW50IGluc3RhbmNlb2Yg
UHVzaEV2ZW50KTsKKyAgICAgICAgYXNzZXJ0X3RydWUoZXZlbnQgaW5zdGFuY2VvZiBFeHRlbmRh
YmxlRXZlbnQpOworCisgICAgICAgIGNvbnN0IGRhdGEgPSBldmVudC5kYXRhOworICAgICAgICBh
c3NlcnRfdHJ1ZShkYXRhIGluc3RhbmNlb2YgUHVzaE1lc3NhZ2VEYXRhKTsKKyAgICAgICAgYXNz
ZXJ0X2VxdWFscyhkYXRhLnRleHQoKSwgc3RyaW5nVmFsdWUpOworICAgICAgICBhc3NlcnRfdHJ1
ZShkYXRhLmJsb2IoKSBpbnN0YW5jZW9mIEJsb2IpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGRh
dGEuanNvbigpLnRlc3QsIDEpOworICAgICAgICBhc3NlcnRfZXF1YWxzKGRhdGEuYXJyYXlCdWZm
ZXIoKS5ieXRlTGVuZ3RoLCBzdHJpbmdWYWx1ZS5sZW5ndGgpOworICAgIH0KK30sICJQdXNoRXZl
bnQgd2l0aCBkYXRhIik7CisKK3Rlc3QoKCkgPT4geworICAgIGxldCBldmVudCA9IG5ldyBQdXNo
RXZlbnQoInB1c2giLCB7IGRhdGEgOiBuZXcgQXJyYXlCdWZmZXIoKSB9KTsKKyAgICBhc3NlcnRf
bm90X2VxdWFscyhldmVudC5kYXRhLCBudWxsKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRh
dGEudGV4dCgpLCAiIik7CisKKyAgICBjb25zdCB2YWx1ZSA9ICJwb3RhdG8iOworICAgIGNvbnN0
IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKTsKKyAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRl
eHRFbmNvZGVyKCk7CisgICAgY29uc3QgYnVmZmVyID0gZW5jb2Rlci5lbmNvZGUodmFsdWUpOwor
ICAgIGV2ZW50ID0gbmV3IFB1c2hFdmVudCgicHVzaCIsIHsgZGF0YSA6IGJ1ZmZlciB9KTsKKwor
ICAgIGFzc2VydF9mYWxzZShldmVudC5kYXRhLmFycmF5QnVmZmVyKCkgPT09IGJ1ZmZlciwgInRl
c3QgMSIpOworICAgIGFzc2VydF9mYWxzZShldmVudC5kYXRhLmFycmF5QnVmZmVyKCkgPT09IGV2
ZW50LmRhdGEuYXJyYXlCdWZmZXIoKSwgInRlc3QgMiIpOworICAgIGFzc2VydF9lcXVhbHMoZGVj
b2Rlci5kZWNvZGUoZXZlbnQuZGF0YS5hcnJheUJ1ZmZlcigpKSwgdmFsdWUpOworfSwgIlB1c2hF
dmVudCBhcnJheUJ1ZmZlciBoYW5kbGluZyIpOworCit0ZXN0KCgpID0+IHsKKyAgICBjb25zdCBl
dmVudCA9IG5ldyBQdXNoRXZlbnQoInB1c2giLCB7IGRhdGEgOiAie3Rlc3QgOiAxfSIgfSk7Cisg
ICAgYXNzZXJ0X3Rocm93c19kb20oIlN5bnRheEVycm9yIiwgKCkgPT4gZXZlbnQuZGF0YS5qc29u
KCkpOworfSwgIlB1c2hFdmVudCB3aXRoIGJhZCBqc29uIik7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9wdXNoLWFwaS9wdXNoRXZlbnQuYW55LnNlcnZpY2V3b3JrZXItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2
aWNld29ya2VyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYjYxYWVkYTA2NGE5NTNiZjNkYTVj
OWE2YjMzNmUwZmUwMDNjMzI2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDYgQEAKKworUEFTUyBQdXNoRXZlbnQgd2l0aG91dCBkYXRhCitQQVNTIFB1c2hFdmVu
dCB3aXRoIGRhdGEKK1BBU1MgUHVzaEV2ZW50IGFycmF5QnVmZmVyIGhhbmRsaW5nCitQQVNTIFB1
c2hFdmVudCB3aXRoIGJhZCBqc29uCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0
L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2VydmljZXdvcmtlci5odG1sIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvcHVzaC1hcGkvcHVzaEV2ZW50LmFueS5zZXJ2aWNld29ya2VyLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMjM4MjkxMzUyOGU2OTNiM2E1ZDU2YzY2MGE0NTA2MDk4MGI1NDhjMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3B1c2gtYXBpL3B1c2hFdmVudC5hbnkuc2Vy
dmljZXdvcmtlci5odG1sCkBAIC0wLDAgKzEgQEAKKzwhLS0gVGhpcyBmaWxlIGlzIHJlcXVpcmVk
IGZvciBXZWJLaXQgdGVzdCBpbmZyYXN0cnVjdHVyZSB0byBydW4gdGhlIHRlbXBsYXRlZCB0ZXN0
IC0tPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVzaC1hcGkvaWRsaGFybmVzcy5odHRw
cy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3B1c2gtYXBpL2lkbGhhcm5lc3MuaHR0cHMuYW55LnNlcnZp
Y2V3b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGU5YzdjYWU0NjQ2MzRkMzg4MDM0YTg4ODBkNGQ0
MWI5ZThjM2M4OTkuLmE3NWY3ZmNiZDQwNmNjYjc0NTlhMjQ0OWE4YzYzNGJiZDFhNTUzYmMgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvcHVz
aC1hcGkvaWRsaGFybmVzcy5odHRwcy5hbnkuc2VydmljZXdvcmtlci1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaS9p
ZGxoYXJuZXNzLmh0dHBzLmFueS5zZXJ2aWNld29ya2VyLWV4cGVjdGVkLnR4dApAQCAtNDUsMjYg
KzQ1LDI2IEBAIEZBSUwgUHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvcHRp
b25zIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lCiBGQUlMIFB1c2hTdWJzY3JpcHRpb24g
aW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0S2V5KFB1c2hFbmNyeXB0aW9uS2V5TmFtZSkgYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNj
cmlwdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb24iIG1pc3NpbmcKIEZB
SUwgUHVzaFN1YnNjcmlwdGlvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1bnN1YnNjcmliZSgpIGFz
c2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hT
dWJzY3JpcHRpb24iIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoU3Vic2NyaXB0aW9uIiBtaXNzaW5n
CiBGQUlMIFB1c2hTdWJzY3JpcHRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gdG9KU09OKCkgYXNz
ZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1
YnNjcmlwdGlvbiIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb24iIG1pc3NpbmcK
LUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiUHVzaE1lc3NhZ2VEYXRhIiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVz
aE1lc3NhZ2VEYXRhIiBtaXNzaW5nCi1GQUlMIFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2Ugb2Jq
ZWN0IGxlbmd0aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoTWVzc2FnZURh
dGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZSBvYmplY3QgbmFtZSBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNo
TWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcK
LUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVz
IG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJv
cGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJv
cGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QncyBAQHVuc2NvcGFibGVzIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgZXhwZWN0ZWQgcHJv
cGVydHkgIlB1c2hNZXNzYWdlRGF0YSIgbWlzc2luZwotRkFJTCBQdXNoTWVzc2FnZURhdGEgaW50
ZXJmYWNlOiBvcGVyYXRpb24gYXJyYXlCdWZmZXIoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGJsb2IoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMg
bm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5
ICJQdXNoTWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFj
ZTogb3BlcmF0aW9uIGpzb24oKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNo
TWVzc2FnZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogb3Bl
cmF0aW9uIHRleHQoKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3du
IHByb3BlcnR5ICJQdXNoTWVzc2FnZURhdGEiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoTWVzc2Fn
ZURhdGEiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAi
UHVzaEV2ZW50IiBtaXNzaW5nCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0
aCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQ
dXNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVz
aEV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJQ
dXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0
ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBu
b3QgaGF2ZSBvd24gcHJvcGVydHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hF
dmVudCIgbWlzc2luZwotRkFJTCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2NvcGFibGVzIHBy
b3BlcnR5IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIlB1c2hFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIlB1c2hFdmVudCIgbWlzc2luZwotRkFJ
TCBQdXNoRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgZGF0YSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJQdXNoRXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJQdXNoRXZlbnQiIG1pc3NpbmcKLUZBSUwgUHVzaEV2ZW50IG11c3QgYmUgcHJpbWFy
eSBpbnRlcmZhY2Ugb2YgbmV3IFB1c2hFdmVudCgidHlwZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhw
ZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQg
Z290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFB1c2hFdmVu
dCIKLUZBSUwgU3RyaW5naWZpY2F0aW9uIG9mIG5ldyBQdXNoRXZlbnQoInR5cGUiKSBhc3NlcnRf
ZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVj
dGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlh
YmxlOiBQdXNoRXZlbnQiCi1GQUlMIFB1c2hFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoRXZlbnQo
InR5cGUiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3BlciB0eXBl
IGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmpl
Y3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IFB1c2hFdmVudCIKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QKK1BBU1MgUHVzaE1l
c3NhZ2VEYXRhIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoCitQQVNTIFB1c2hNZXNzYWdlRGF0YSBp
bnRlcmZhY2Ugb2JqZWN0IG5hbWUKK1BBU1MgUHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0CitQQVNT
IFB1c2hNZXNzYWdlRGF0YSBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBp
bnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkKK1BBU1Mg
UHVzaE1lc3NhZ2VEYXRhIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eQorUEFTUyBQ
dXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYXJyYXlCdWZmZXIoKQorUEFTUyBQ
dXNoTWVzc2FnZURhdGEgaW50ZXJmYWNlOiBvcGVyYXRpb24gYmxvYigpCitQQVNTIFB1c2hNZXNz
YWdlRGF0YSBpbnRlcmZhY2U6IG9wZXJhdGlvbiBqc29uKCkKK1BBU1MgUHVzaE1lc3NhZ2VEYXRh
IGludGVyZmFjZTogb3BlcmF0aW9uIHRleHQoKQorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdAorUEFTUyBQdXNoRXZl
bnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFjZSBvYmpl
Y3QgbmFtZQorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QKK1BBU1MgUHVzaEV2ZW50IGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eQorUEFTUyBQdXNoRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVu
c2NvcGFibGVzIHByb3BlcnR5CitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBk
YXRhCitQQVNTIFB1c2hFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBQdXNo
RXZlbnQoInR5cGUiKQorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IFB1c2hFdmVudCgidHlw
ZSIpCitQQVNTIFB1c2hFdmVudCBpbnRlcmZhY2U6IG5ldyBQdXNoRXZlbnQoInR5cGUiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImRhdGEiIHdpdGggdGhlIHByb3BlciB0eXBlCiBGQUlMIFB1c2hT
dWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3Qg
aGF2ZSBvd24gcHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgZXhwZWN0ZWQg
cHJvcGVydHkgIlB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCIgbWlzc2luZwogRkFJTCBQdXNo
U3Vic2NyaXB0aW9uQ2hhbmdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlw
dGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5n
ZUV2ZW50IiBtaXNzaW5nCiBGQUlMIFB1c2hTdWJzY3JpcHRpb25DaGFuZ2VFdmVudCBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0
eSAiUHVzaFN1YnNjcmlwdGlvbkNoYW5nZUV2ZW50IiBtaXNzaW5nCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNjNlZWVjNDk1YmIzYWQ2YjFl
YTNiZTlhOWJhNzFiM2VmOGI1MjU2NS4uN2ZmZWNiMTIyNmRmNDhiZGY0MjE4OTRiYjgwN2Y3Njc5
MGY4YWIyMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMS9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azEvVGVzdEV4cGVjdGF0
aW9ucwpAQCAtMzM5LDYgKzMzOSw3IEBAIGh0dHAvdGVzdHMvY2FjaGUtc3RvcmFnZSBbIFNraXAg
XQogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9mZXRjaC1pbi1jcm9zcy1vcmlnaW4tc2Vy
dmljZS13b3JrZXIuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0cy9jb29raWVzL3NhbWUtc2l0ZS9m
ZXRjaC1pbi1zYW1lLW9yaWdpbi1zZXJ2aWNlLXdvcmtlci5odG1sIFsgU2tpcCBdCiBodHRwL3dw
dC9jYWNoZS1zdG9yYWdlIFsgU2tpcCBdCitodHRwL3dwdC9wdXNoLWFwaSBbIFNraXAgXQogaHR0
cC93cHQvc2VydmljZS13b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L2luc2lkZS13b3JrZXIvc2VydmljZXdvcmtl
ci1yZXBvcnQtb25seS5odHRwcy5zdWIuaHRtbCBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jb250ZW50LXNlY3VyaXR5LXBvbGljeS9zYW5kYm94L3NlcnZpY2Utd29y
a2VyLXNhbmRib3guaHR0cHMuaHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4v
VGVzdEV4cGVjdGF0aW9ucwppbmRleCA3NDRiYjE3Njg5NWM2ZmZkZDQ5NzAwZTFmNDM5YmE0MDJl
ZDUwZmUyLi44Y2JkMTc0OGEzNTFiNjYwM2ZjNThkYTIwMDNhY2Q1NzZlZDljZDJhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzcxMiw2ICszNzEyLDcg
QEAgaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlIFsgU2tpcCBdCiBodHRwL3Rlc3RzL2luc3BlY3Rv
ci9uZXR3b3JrL3Jlc291cmNlLXJlc3BvbnNlLXNlcnZpY2Utd29ya2VyLmh0bWwgWyBTa2lwIF0K
IGh0dHAvdGVzdHMvd29ya2Vycy9zZXJ2aWNlIFsgU2tpcCBdCiBodHRwL3dwdC9jYWNoZS1zdG9y
YWdlIFsgU2tpcCBdCitodHRwL3dwdC9wdXNoLWFwaSBbIFNraXAgXQogaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2NvbnRl
bnQtc2VjdXJpdHktcG9saWN5L3NlY3VyaXR5cG9saWN5dmlvbGF0aW9uL2luc2lkZS1zZXJ2aWNl
LXdvcmtlci5odHRwcy5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2NvbnRlbnQtc2VjdXJpdHktcG9saWN5L3dvcmtlci1zcmMvc2VydmljZS13b3JrZXItc3Jj
LWNoaWxkLWZhbGxiYWNrLWJsb2NrZWQuaHR0cHMuc3ViLmh0bWwgWyBTa2lwIF0KQEAgLTM3MjUs
NiArMzcyNiw3IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Bv
bGljaWVzL3JlZmVycmVyLW9yaWdpbi13aGVuLWNyb3NzLW9yCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci11bnNhZmUtdXJsLXNlcnZp
Y2Utd29ya2VyLmh0dHBzLmh0bWwgWyBTa2lwIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZmV0Y2gvYXBpL3JlcXVlc3QvZGVzdGluYXRpb24gWyBTa2lwIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvY3Jvc3Mtb3JpZ2luLXJlc291cmNlLXBvbGljeSBb
IFNraXAgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wdXNoLWFwaSBbIFNraXAg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2ZXItdGltaW5nL3NlcnZpY2Vf
d29ya2VyX2lkbC5odG1sIFsgU2tpcCBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2VycyBbIFNraXAgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3dlYmFwcGFwaXMvc2NyaXB0aW5nL3Byb2Nlc3NpbmctbW9kZWwtMi9pbnRlZ3JhdGlv
bi13aXRoLXRoZS1qYXZhc2NyaXB0LWFnZW50LWZvcm1hbGlzbS9yZXF1aXJlcy1mYWlsdXJlLmh0
dHBzLmFueS5zZXJ2aWNld29ya2VyLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvLXdrMS9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luY2Fpcm8td2sxL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYmY5YjY3ZDc5NDNk
ZTQ4N2M4ZjhkYzBlNTc2MTY2YjE1MDQ3MjE1Zi4uNTVmOGE0NTc3Njg2YzBkNzQyZTE1ZmRiZWFk
N2QxNzBhMjBhYzk5ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8t
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8t
d2sxL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTMyMyw2ICszMjMsOCBAQCBodHRwL3Rlc3RzL211bHRp
cGFydC9tdWx0aXBhcnQtd2FpdC1iZWZvcmUtYm91bmRhcnkuaHRtbCBbIFRpbWVvdXQgXQogCiAj
IFNraXAgU2VydmljZSBXb3JrZXJzIGluIFdLMQogaHR0cC90ZXN0cy93b3JrZXJzL3NlcnZpY2Ug
WyBTa2lwIF0KK2h0dHAvd3B0L3B1c2gtYXBpIFsgU2tpcCBdCitpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3B1c2gtYXBpIFsgU2tpcCBdCiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMg
WyBTa2lwIF0KIAogZmFzdC9jc3MvYXNwZWN0LXJhdGlvLWludmFsaWRhdGUtaWYtZGlzYWJsZWQu
aHRtbCBbIEZhaWx1cmUgXQo=
</data>
<flag name="commit-queue"
          id="463643"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>