<?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>239122</bug_id>
          
          <creation_ts>2022-04-12 05:37:07 -0700</creation_ts>
          <short_desc>Shared workers should match service worker registrations</short_desc>
          <delta_ts>2022-04-27 01:22:36 -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>
          <dependson>239066</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1860651</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-12 05:37:07 -0700</bug_when>
    <thetext>Shared workers should match service worker registrations</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1860652</commentid>
    <comment_count>1</comment_count>
      <attachid>457327</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-12 05:40:37 -0700</bug_when>
    <thetext>Created attachment 457327
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861425</commentid>
    <comment_count>2</comment_count>
      <attachid>457605</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 02:30:15 -0700</bug_when>
    <thetext>Created attachment 457605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861462</commentid>
    <comment_count>3</comment_count>
      <attachid>457619</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 06:24:32 -0700</bug_when>
    <thetext>Created attachment 457619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861505</commentid>
    <comment_count>4</comment_count>
      <attachid>457631</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-14 08:17:23 -0700</bug_when>
    <thetext>Created attachment 457631
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861751</commentid>
    <comment_count>5</comment_count>
      <attachid>457680</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-15 00:17:09 -0700</bug_when>
    <thetext>Created attachment 457680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861799</commentid>
    <comment_count>6</comment_count>
      <attachid>457680</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-15 07:32:16 -0700</bug_when>
    <thetext>Comment on attachment 457680
Patch

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

r=me

&gt; Source/WebCore/workers/service/SWClientConnection.cpp:134
&gt; +        worker-&gt;postTaskToWorkerGlobalScope([message = WTFMove(message), sourceData = WTFMove(sourceData), sourceOrigin = WTFMove(sourceOrigin).isolatedCopy()] (auto&amp; context) mutable {

WTFMove(sourceData).isolatedCopy()

Let the optimization in `ServiceWorkerData isolatedCopy() &amp;&amp;;` determine if moving is safe.

&gt; Source/WebCore/workers/service/SWClientConnection.cpp:141
&gt; +        sharedWorker-&gt;thread().runLoop().postTask([message = WTFMove(message), sourceData = WTFMove(sourceData), sourceOrigin = WTFMove(sourceOrigin).isolatedCopy()] (auto&amp; context) mutable {

WTFMove(sourceData).isolatedCopy()

&gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:54
&gt; +    static NeverDestroyed&lt;HashMap&lt;ScriptExecutionContextIdentifier, SharedWorkerThreadProxy*&gt;&gt; map;

Should probably use MainThreadNeverDestroyed.

&gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:93
&gt; +    , m_clientIdentifier(*initializationData.clientIdentifier)

use-after-move of initializationData. While this may work in practice, it looks unsafe and should be avoided.

&gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:88
&gt; +    ScriptExecutionContextIdentifier m_clientIdentifier;

I am a bit unclear about what this means. A sharedWorker doesn&apos;t necessarily have a single client.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861804</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-15 07:53:54 -0700</bug_when>
    <thetext>
&gt; &gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:93
&gt; &gt; +    , m_clientIdentifier(*initializationData.clientIdentifier)
&gt; 
&gt; use-after-move of initializationData. While this may work in practice, it
&gt; looks unsafe and should be avoided.
&gt; 
&gt; &gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:88
&gt; &gt; +    ScriptExecutionContextIdentifier m_clientIdentifier;
&gt; 
&gt; I am a bit unclear about what this means. A sharedWorker doesn&apos;t necessarily
&gt; have a single client.

It is the id of the shared worker context, exposed as client.id.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861805</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-15 07:59:32 -0700</bug_when>
    <thetext>(In reply to youenn fablet from comment #7)
&gt; &gt; &gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:93
&gt; &gt; &gt; +    , m_clientIdentifier(*initializationData.clientIdentifier)
&gt; &gt; 
&gt; &gt; use-after-move of initializationData. While this may work in practice, it
&gt; &gt; looks unsafe and should be avoided.
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:88
&gt; &gt; &gt; +    ScriptExecutionContextIdentifier m_clientIdentifier;
&gt; &gt; 
&gt; &gt; I am a bit unclear about what this means. A sharedWorker doesn&apos;t necessarily
&gt; &gt; have a single client.
&gt; 
&gt; It is the id of the shared worker context, exposed as client.id.

I see but the naming is confusing in the context of a shared worker when we say &quot;client&quot;. I thought you meant client of the shared worker. When you meant that the shared worker is the client of the service worker. Not sure how to clarify though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1861806</commentid>
    <comment_count>9</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-15 08:00:08 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #8)
&gt; (In reply to youenn fablet from comment #7)
&gt; &gt; &gt; &gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.cpp:93
&gt; &gt; &gt; &gt; +    , m_clientIdentifier(*initializationData.clientIdentifier)
&gt; &gt; &gt; 
&gt; &gt; &gt; use-after-move of initializationData. While this may work in practice, it
&gt; &gt; &gt; looks unsafe and should be avoided.
&gt; &gt; &gt; 
&gt; &gt; &gt; &gt; Source/WebCore/workers/shared/context/SharedWorkerThreadProxy.h:88
&gt; &gt; &gt; &gt; +    ScriptExecutionContextIdentifier m_clientIdentifier;
&gt; &gt; &gt; 
&gt; &gt; &gt; I am a bit unclear about what this means. A sharedWorker doesn&apos;t necessarily
&gt; &gt; &gt; have a single client.
&gt; &gt; 
&gt; &gt; It is the id of the shared worker context, exposed as client.id.
&gt; 
&gt; I see but the naming is confusing in the context of a shared worker when we
&gt; say &quot;client&quot;. I thought you meant client of the shared worker. When you
&gt; meant that the shared worker is the client of the service worker. Not sure
&gt; how to clarify though.

Maybe it should be m_contextIdentifier?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1862509</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-04-19 05:38:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/91954369&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863253</commentid>
    <comment_count>11</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-21 03:16:18 -0700</bug_when>
    <thetext>&gt; Maybe it should be m_contextIdentifier?

Sounds good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863273</commentid>
    <comment_count>12</comment_count>
      <attachid>458056</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-21 06:37:10 -0700</bug_when>
    <thetext>Created attachment 458056
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863601</commentid>
    <comment_count>13</comment_count>
      <attachid>458130</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-22 03:14:37 -0700</bug_when>
    <thetext>Created attachment 458130
Fix remote worker process change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863636</commentid>
    <comment_count>14</comment_count>
      <attachid>458139</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-22 05:56:13 -0700</bug_when>
    <thetext>Created attachment 458139
Fix remote worker process change</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863650</commentid>
    <comment_count>15</comment_count>
      <attachid>458144</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-22 07:15:37 -0700</bug_when>
    <thetext>Created attachment 458144
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864399</commentid>
    <comment_count>16</comment_count>
      <attachid>458347</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-26 02:37:40 -0700</bug_when>
    <thetext>Created attachment 458347
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864414</commentid>
    <comment_count>17</comment_count>
      <attachid>458351</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-26 04:52:54 -0700</bug_when>
    <thetext>Created attachment 458351
Rebasing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864416</commentid>
    <comment_count>18</comment_count>
      <attachid>458353</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-26 05:04:00 -0700</bug_when>
    <thetext>Created attachment 458353
Fix build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864729</commentid>
    <comment_count>19</comment_count>
      <attachid>458420</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-26 23:17:55 -0700</bug_when>
    <thetext>Created attachment 458420
Fix WinCairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864736</commentid>
    <comment_count>20</comment_count>
      <attachid>458423</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2022-04-26 23:52:10 -0700</bug_when>
    <thetext>Created attachment 458423
Fix WinCairo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1864754</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-27 01:22:32 -0700</bug_when>
    <thetext>Committed r293501 (250032@main): &lt;https://commits.webkit.org/250032@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458423.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457327</attachid>
            <date>2022-04-12 05:40:37 -0700</date>
            <delta_ts>2022-04-14 02:30:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239122-20220412144035.patch</filename>
            <type>text/plain</type>
            <size>66598</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyNzY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQ3ZTZlYjk2ZmVlMzUx
NGY1ZDY0NzhlNGYyZGRiZDFhZDI5MGVhOS4uMGFiYjNjYjYwYWNmMThlNjYxNzVjNjZkYzk5YmYx
NDMwOGJkYTE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIyLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtl
clRocmVhZC5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHA6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaDoKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0
aW9uLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERh
dGEuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJG
ZXRjaC5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29u
bmVjdGlvbi5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlw
dExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wNC0xMSAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIg
Y2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVk
IHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggYmMzZGM1MjBmY2U1ZDYyODI0YTYyNmM1MWYyNGFmNzZjYjcx
MTFkZS4uY2NhOTQxZTE0MWQ1OTE3NTdjNmZkODAzNTdiZmQ3YTMxMjM4NjljZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNCBAQAorMjAyMi0wNC0xMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29y
a2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisKIDIw
MjItMDQtMTEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4
cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdp
c3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggMGRkZjVlZTU1OTgx
MDJkMzdjMWNmMjBiZmRjZTNhNTRmZTU3MDU2YS4uNDRlYzdhYmVhMDAyMGFkMjcwOTc1ZDM3MmZm
YjhmZDc0NTI1NTQ0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcApAQCAtNTAsOCArNTAsMTAgQEAgUmVmPFdvcmtlckdsb2JhbFNjb3Bl
PiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdv
cmsKIHsKICAgICBhdXRvIHNjb3BlID0gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZShwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRi
Q29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwogI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKLSAgICBpZiAocGFyYW1zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhICYm
IHBhcmFtcy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS0+YWN0aXZlV29ya2VyKQorICAg
IGlmIChwYXJhbXMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEgJiYgcGFyYW1zLnNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLT5hY3RpdmVXb3JrZXIpIHsKICAgICAgICAgc2NvcGUt
PnNldEFjdGl2ZVNlcnZpY2VXb3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoc2NvcGUu
Z2V0KCksIFNlcnZpY2VXb3JrZXJEYXRhIHsgKnBhcmFtcy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uRGF0YS0+YWN0aXZlV29ya2VyIH0pKTsKKyAgICAgICAgc2NvcGUtPnVwZGF0ZVNlcnZpY2VX
b3JrZXJDbGllbnREYXRhKCk7CisgICAgfQogI2VuZGlmCiAgICAgcmV0dXJuIHNjb3BlOwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRh
dGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgK
aW5kZXggZTNlZmMwOGM0YTI2N2I2ZjNkNWViMjVlMTlmZjhhYzdlM2I2OTY5OS4uOWE1ZTlhOWI0
OGI5ZmI2Yjc0NzRiMzNlY2UyMjg4ODFhNGRiMDFhMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0zNyw2ICszNyw2MCBAQCBz
dHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKICNlbmRpZgogICAgIHN0ZDo6b3B0aW9u
YWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXI7CiAg
ICAgU3RyaW5nIHVzZXJBZ2VudDsKKworICAgIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBpc29s
YXRlZENvcHkoKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+IGRlY29kZShEZWNvZGVyJik7
CiB9OwogCitpbmxpbmUgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIFdvcmtlckluaXRpYWxpemF0
aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geworI2lmIEVOQUJM
RShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VXb3JrZXJS
ZWdpc3RyYXRpb25EYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZGVudGlmaWVyLCB1c2Vy
QWdlbnQuaXNvbGF0ZWRDb3B5KCkKKyAgICB9OworfQorCisKK3RlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+Cit2b2lkIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGVuY29kZXIgPDwg
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CisjZW5kaWYKKyAgICBlbmNvZGVyIDw8IGNs
aWVudElkZW50aWZpZXIgPDwgdXNlckFnZW50OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVy
Pgorc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+IFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uRGF0YT4+IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhOworICAgIGRl
Y29kZXIgPj4gc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CisgICAgaWYgKCFzZXJ2aWNl
V29ya2VyUmVnaXN0cmF0aW9uRGF0YSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyNlbmRpZgorCisg
ICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVu
dGlmaWVyPj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGNsaWVudElkZW50aWZp
ZXI7CisgICAgaWYgKCFjbGllbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4geyB9OworCisg
ICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHVzZXJBZ2VudDsKKyAgICBkZWNvZGVyID4+IHVzZXJB
Z2VudDsKKyAgICBpZiAoIXVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJl
dHVybiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKKyAgICAgICAgV1RGTW92ZSgqc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEpLAorI2Vu
ZGlmCisgICAgICAgIFdURk1vdmUoKmNsaWVudElkZW50aWZpZXIpLAorICAgICAgICBXVEZNb3Zl
KCp1c2VyQWdlbnQpCisgICAgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IGFmMGNlODZi
ZTQwNzUwNTdlYmEzZGY3ZjQ5MjY0N2M2Mzc4OTg0YzYuLjgzOThiNmFjOGMxYjI3NDE4MmYzZGM0
MzYwMTMzNTYyOTQ4OGNhMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKQEAgLTE1NCw4ICsxNTQsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dAogICAgIC8vIEEgc2VydmljZSB3b3JrZXIgam9iIGNhbiBiZSBleGVjdXRlZCBmcm9tIGEgd29y
a2VyIGNvbnRleHQgb3IgYSBkb2N1bWVudCBjb250ZXh0LgogICAgIG9wdGlvbnMuc2VydmljZVdv
cmtlcnNNb2RlID0gc2VydmljZVdvcmtlck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KLSAgICBpZiAo
bV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpIHsKKyAg
ICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIg
fHwgbV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3Jr
ZXIpIHsKICAgICAgICAgbV9jbGllbnRJZGVudGlmaWVyID0gb3B0aW9ucy5jbGllbnRJZGVudGlm
aWVyID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CiAgICAg
ICAgIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyVG9Xb3JrZXJTY3JpcHRMb2FkZXJN
YXAoKS5hZGQoKm1fY2xpZW50SWRlbnRpZmllciwgdGhpcyk7CiAgICAgfSBlbHNlIHsKQEAgLTE2
Niw2ICsxNjUsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgICAgICAgICAgb3B0aW9u
cy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBTZXJ2aWNlV29ya2Vyc01vZGU6Ok5vbmU7CiAgICAgfQog
I2VuZGlmCisgICAgaWYgKG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2hhcmVkd29ya2VyKQorICAgICAgICBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlciA9IHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQudXNlckFnZW50KHNjcmlwdFJlcXVlc3QudXJsKCkpOwogCiAg
ICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRo
ZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29ya2VyU2NyaXB0TG9h
ZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oCmluZGV4IGM1MGEwMGJlZjMzNDcwMWEzMmVmMjRmYjhlZWFiNjBjZjNk
OTJkNzAuLjI4MDU0N2JlMTM4N2JjNTRiMzI4MDJjNWY1NWQzNzhiYjQyZTIxNDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMTA0LDYgKzEwNCw4
IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25E
YXRhPiB0YWtlU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEoKSB7IHJldHVybiBzdGQ6OmV4
Y2hhbmdlKG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEsIHsgfSk7IH0KICNlbmRpZgog
CisgICAgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKSBjb25zdCB7IHJl
dHVybiBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsgfQorCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJpZW5kIHN0cnVj
dCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0xMzksNiArMTQx
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4gbV9zZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YTsKICNlbmRpZgorICAgIFN0cmluZyBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtl
cjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNsaWVudERhdGEuY3BwCmluZGV4
IGVjMzA2ZjVjMTc3ODQ0ZTY3MTQ1ZGRiMjU2N2MyYTM5NWI2ZGM2MGEuLmM4ZTcwZjM3YTg2MDE1
NWJiNTdkNDNiODUxZmRhZTEyNWRjNDJhYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDbGllbnREYXRhLmNwcApAQCAtOTQs
OCArOTQsOCBAQCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0
YTo6ZnJvbShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjbwogICAgICAgICB9OwogICAgIH0KIAot
ICAgIC8vIEZJWE1FOiBXZSBzaG91bGQKICAgICBhdXRvJiBzY29wZSA9IGRvd25jYXN0PFdvcmtl
ckdsb2JhbFNjb3BlPihjb250ZXh0KTsKKyAgICBmcHJpbnRmKHN0ZGVyciwgIlNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhIGlzc2hhcmVkd29ya2VyPSVkXG4iLCBzY29wZS50eXBlKCkgPT0gV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6OlNoYXJlZFdvcmtlcik7CiAgICAgcmV0dXJuIHsK
ICAgICAgICAgc2NvcGUuaWRlbnRpZmllcigpLAogICAgICAgICBzY29wZS50eXBlKCkgPT0gV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6OlNoYXJlZFdvcmtlciA/IFNlcnZpY2VXb3Jr
ZXJDbGllbnRUeXBlOjpTaGFyZWR3b3JrZXIgOiBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29y
a2VyLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlckZldGNoLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9j
b250ZXh0L1NlcnZpY2VXb3JrZXJGZXRjaC5jcHAKaW5kZXggOTVlZWE5MTcxOWE4ZWVjMmI1ZDZi
YzRkODRlMTJiZGE4NWJlNDYyZC4uMjdiYmYwNzI0N2FkOTAxMzczMTIyMTNhMDRjNDg3ZGZmNDM1
YTA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlckZldGNoLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyRmV0Y2guY3BwCkBAIC01Miw2ICs1Miw5IEBAIHN0YXRp
YyBpbmxpbmUgUmVzb3VyY2VFcnJvciB2YWxpZGF0ZVJlc3BvbnNlKGNvbnN0IFJlc291cmNlUmVz
cG9uc2UmIHJlc3BvbnNlLCBGCiAgICAgaWYgKHJlc3BvbnNlLnR5cGUoKSA9PSBSZXNvdXJjZVJl
c3BvbnNlOjpUeXBlOjpFcnJvcikKICAgICAgICAgcmV0dXJuIFJlc291cmNlRXJyb3IgeyBlcnJv
ckRvbWFpbldlYktpdEludGVybmFsLCAwLCByZXNwb25zZS51cmwoKSwgIlJlc3BvbnNlIHNlcnZl
ZCBieSBzZXJ2aWNlIHdvcmtlciBpcyBhbiBlcnJvciJfcywgUmVzb3VyY2VFcnJvcjo6VHlwZTo6
R2VuZXJhbCwgUmVzb3VyY2VFcnJvcjo6SXNTYW5pdGl6ZWQ6OlllcyB9OwogCisgICAgaWYgKG1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpTYW1lT3JpZ2luICYmIHJlc3BvbnNlLnR5cGUoKSA9
PSBSZXNvdXJjZVJlc3BvbnNlOjpUeXBlOjpDb3JzKQorICAgICAgICByZXR1cm4gUmVzb3VyY2VF
cnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHJlc3BvbnNlLnVybCgpLCAiUmVz
cG9uc2Ugc2VydmVkIGJ5IHNlcnZpY2Ugd29ya2VyIGlzIGNvcnMgd2hpbGUgbW9kZSBpcyBzYW1l
IG9yaWdpbiJfcywgUmVzb3VyY2VFcnJvcjo6VHlwZTo6R2VuZXJhbCwgUmVzb3VyY2VFcnJvcjo6
SXNTYW5pdGl6ZWQ6OlllcyB9OworCiAgICAgaWYgKG1vZGUgIT0gRmV0Y2hPcHRpb25zOjpNb2Rl
OjpOb0NvcnMgJiYgcmVzcG9uc2UudGFpbnRpbmcoKSA9PSBSZXNvdXJjZVJlc3BvbnNlOjpUYWlu
dGluZzo6T3BhcXVlKQogICAgICAgICByZXR1cm4gUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWlu
V2ViS2l0SW50ZXJuYWwsIDAsIHJlc3BvbnNlLnVybCgpLCAiUmVzcG9uc2Ugc2VydmVkIGJ5IHNl
cnZpY2Ugd29ya2VyIGlzIG9wYXF1ZSJfcywgUmVzb3VyY2VFcnJvcjo6VHlwZTo6QWNjZXNzQ29u
dHJvbCwgUmVzb3VyY2VFcnJvcjo6SXNTYW5pdGl6ZWQ6OlllcyB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENv
bm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEyYTM5Njg3ZTU1YzVkNzM0OWVk
YjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2MmQ2NDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9i
amVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiU2hhcmVkV29y
a2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAi
V29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OlNoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKIFNoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBkZWZhdWx0Owog
Ci12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQo
VVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xp
ZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKGlzTWFp
blRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9IFNoYXJlZFdvcmtlcjo6ZnJv
bUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcik7CiAgICAgQ09OTkVDVElP
Tl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlm
aWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2JqZWN0KTsKICAgICBpZiAoIXdv
cmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHdvcmtlckZldGNo
RXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbiB9
KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRjaEVycm9yKFJl
c291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24gfSksIHsgfSk7
CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRlcklkZW50aWZpZXJTZWVkOwog
ICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI+
KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSk7CiAg
ICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAgbV9sb2FkZXJzLmFkZChsb2Fk
ZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAgbG9hZGVyUHRyLT5sb2FkKFt0
aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KSBtdXRhYmxlIHsK
KyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBmZXRjaFJlc3VsdCwg
YXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAgICAgICAgIENPTk5FQ1RJT05f
UkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlzaGVkIHNjcmlwdCBsb2FkLCBz
dWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkpOwogICAgICAgICBhdXRvIGxv
YWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIpOwogICAgICAgICBBU1NFUlQo
bG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRjaFJlc3VsdCkp
OworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZldGNoUmVzdWx0KSwgV1RGTW92
ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5oCmluZGV4IDhmOWMwNGU5NjUxODY4ZTIyZTg2NTQ5NjUzZmFjYzhjZGM4YTg4Y2IuLmY0OTI5
ZWZiM2JmZjNlMmQwM2ZjMzJkOTg3N2M2NWFhODI5NzczZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0
aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOwog
CiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3Ry
dWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRpb25zOwogCiBj
bGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8U2hh
cmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTAsNyArNTEsNyBAQCBwdWJsaWM6CiAK
IHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2Vy
RmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmV0Y2hTY3JpcHRJ
bkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29y
a2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYs
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtl
ck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGlu
dCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRl
ci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVkOThhMzZjOWUyMzM3Ny4uMTVh
NjljNjNkNzAyMzZlMDVmNWZmNWYzYTM0MDRmMTViMTRhZTZkMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
LmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1
bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJX
b3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAKQEAgLTQz
LDcgKzQ0LDcgQEAgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpTaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIoVVJMJiYgdXJsLCBTaGFyZWRXb3JrZXImIHdvcmsKIHsKIH0KIAotdm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IEFTU0VSVCghbV9jb21wbGV0aW9uSGFuZGxlcik7CiAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0
KCk7ICFtX2xvYWRlci0+ZmFpbGVkKCkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6c2NyaXB0SW1wb3J0ZWQoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVu
dGlmaWVyKCksIG1fbG9hZGVyLT5zY3JpcHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRp
b25IYW5kbGVyKG1fbG9hZGVyLT5mZXRjaFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAg
IG1fY29tcGxldGlvbkhhbmRsZXIobV9sb2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xv
YWRlci0+dGFrZVNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhKCksCisjZW5kaWYKKyAgICAg
ICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZpZXIoKSwKKyAgICAgICAgbV9sb2FkZXItPnVzZXJB
Z2VudEZvclNoYXJlZFdvcmtlcigpCisgICAgfSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAppbmRleCA3MWNiNGI2NWJjOTk1YzU1
Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40NWU2NWZmNmMwMzY2Y2NkNDgyMjYxMWE4N2E2NTc5
YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDAsMTMgKzQwLDE0IEBAIHN0cnVjdCBT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNzIFNoYXJlZFdvcmtlcjsKIGNsYXNz
IFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRl
ciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIoVVJMJiYs
IFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlvbnMmJik7CiAKLSAgICB2b2lkIGxvYWQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBsb2Fk
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1
cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3JrZXImIHdvcmtlcigpIHsgcmV0dXJuIG1fd29ya2Vy
LmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgUmVmPFNoYXJl
ZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29uc3QgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9s
b2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJsOwotICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
V29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRh
dGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJl
ZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0
L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNTg1OTlhYmM5NGUzYmNkNmNiMmRlMDYwYzdk
ZTc3NzVhMjRhMmIwNy4uODQ3MTU4NmY0NTIwYjFiMjI2OTU2ZDJiYmVhYzA5YjQwZDM1NDg0NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRl
eHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApAQCAtNDMsNyArNDMsMTQgQEAgU2hhcmVkV29ya2Vy
VGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQoU2hhcmVkV29ya2VySWRlbnRpZmllciBpZGVudGlm
aWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNy
ZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMs
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiJXAgLSBTaGFyZWRXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlOiBtX2lkZW50aWZpZXI9JSIgUFJJdTY0
LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0gICAgcmV0dXJuIFNoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpleGNoYW5nZShtX25hbWUsIHsgfSksIHBhcmFtZXRl
cnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVj
dGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAgIGF1dG8gc2NvcGUgPSBTaGFyZWRX
b3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0pLCBwYXJh
bWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNv
bm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGEg
JiYgcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YS0+YWN0aXZlV29ya2Vy
KSB7CisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6
OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpwYXJhbWV0ZXJz
LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhLT5hY3RpdmVXb3JrZXIgfSkpOworICAgICAg
ICBzY29wZS0+dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKTsKKyAgICB9CisjZW5kaWYK
KyAgICByZXR1cm4gc2NvcGU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXggMzM3MTg0MzRiMDk1ZTE4NjQwYjgzNzBkYTVl
YjM2MTc5Y2I3NDJlNi4uNDQ1Y2ZlMDcyMTQ5NWIzMThlMWU0MjBmMDM2YmU5Y2YzODMwODFjNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
Y29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKQEAgLTU1LDEzICs1NSwxMyBAQCBz
dGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+JiBhbGxTaGFyZWRXb3JrZXJU
aHJlYWRQcm94aWVzKCkKICAgICByZXR1cm4gc2V0OwogfQogCi1zdGF0aWMgV29ya2VyUGFyYW1l
dGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdv
cmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIERvY3VtZW50JiBkb2N1bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0
ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29y
a2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIERvY3VtZW50JiBkb2N1bWVudCkK
IHsKICAgICByZXR1cm4gewogICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVS
TCwKICAgICAgICAgd29ya2VyT3B0aW9ucy5uYW1lLAogICAgICAgICAic2hhcmVkd29ya2VyOiIg
KyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLAotICAg
ICAgICB1c2VyQWdlbnQsCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJB
Z2VudCksCiAgICAgICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5p
c09uTGluZSgpLAogICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xp
Y3ksCiAgICAgICAgIGZhbHNlLApAQCAtNzQsMTYgKzc0LDE2IEBAIHN0YXRpYyBXb3JrZXJQYXJh
bWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYg
d29ya2VyCiAgICAgICAgIFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwKICAgICAg
ICAgeyB9LAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAgICAgeyB9LAorICAgICAg
ICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YS5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YSksCiAjZW5kaWYKLSAgICAgICAgeyB9CisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGll
bnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHsg
fSkKICAgICB9OwogfQogCi1TaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBz
aGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwg
V29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdv
cmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRl
ciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCitTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVk
V29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29ya2VySWRl
bnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVu
dE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0
aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxp
emF0aW9uRGF0YSwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQog
ICAgIDogbV9wYWdlKFdURk1vdmUocGFnZSkpCiAgICAgLCBtX2RvY3VtZW50KCptX3BhZ2UtPm1h
aW5GcmFtZSgpLmRvY3VtZW50KCkpCi0gICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJU
aHJlYWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFt
ZXRlcnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIHVzZXJBZ2Vu
dCwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRoaXMs
ICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9yaWdp
bi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlvblBy
b3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdzOjpj
cmVhdGVBbGxFbmFibGVkKCkpKQorICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhy
ZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0
ZXJzKHdvcmtlckZldGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGlu
aXRpYWxpemF0aW9uRGF0YSksIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0
LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9y
bWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQt
PmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6
OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKICAgICAsIG1fY2FjaGVTdG9yYWdl
UHJvdmlkZXIoY2FjaGVTdG9yYWdlUHJvdmlkZXIpCiB7CiAgICAgQVNTRVJUKCFhbGxTaGFyZWRX
b3JrZXJUaHJlYWRQcm94aWVzKCkuY29udGFpbnModGhpcykpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJl
YWRQcm94eS5oCmluZGV4IGRhYjNhMTIzZGVlMThkYmI2MjRkNzdmNThlZDk4ZDQ0OTRjN2ZhOTku
LjFkZDA5MWQ1ZjY3ZWFlOTkyOTY0MzMzOWVlNTc4ZDMyODQ0MThjMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdv
cmtlclRocmVhZFByb3h5LmgKQEAgLTQxLDYgKzQxLDcgQEAgY2xhc3MgU2hhcmVkV29ya2VyVGhy
ZWFkOwogCiBzdHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0Owor
c3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIAogY2xhc3MgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkgZmluYWwgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U2hhcmVkV29ya2Vy
VGhyZWFkUHJveHk+LCBwdWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2Fk
ZXJQcm94eSwgcHVibGljIFdvcmtlckRlYnVnZ2VyUHJveHkgewogcHVibGljOgpAQCAtNTQsNyAr
NTUsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVkKCkg
eyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAg
V0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYs
IFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIENhY2hl
U3RvcmFnZVByb3ZpZGVyJik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFk
UHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENs
aWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAKICAgICAvLyBX
b3JrZXJPYmplY3RQcm94eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChj
b25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1i
ZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCBlZDcz
ZjBhNzEyMjZmNWJlZjM4MmMwZmNiNmQxYzlmZGZmZDg2NDdjLi41NGM0ZTg4ZGI0NzE1YTExNzNm
ZjA3NWQzOGU4NTFlYmU0Zjk4M2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMjE1LDEyICsxMjE1LDIx
IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpyZXN0YXJ0TmV0d29ya0xvYWQoV2ViQ29y
ZTo6UmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxCiAgICAgc3RhcnROZXR3b3JrTG9hZChXVEZNb3Zl
KG5ld1JlcXVlc3QpLCBGaXJzdExvYWQ6Ok5vKTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKK3N0YXRpYyBib29sIHNob3VsZFRyeVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0
aW9uKGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0aW9ucywgYm9vbCBpc1NlcnZpY2VXb3JrZXJMb2Fk
ZWQpCit7CisgICAgaWYgKG9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmln
YXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gaXNTZXJ2aWNlV29ya2VyTG9h
ZGVkICYmIChvcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OldvcmtlciB8fCBvcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNoYXJlZHdvcmtlcik7Cit9CisjZW5kaWYKKwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3Qs
IGJvb2wgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHMpCiB7CiAgICAgTE9BREVSX1JF
TEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVxdWVzdDogKGlzQWxsb3dlZFRvQXNrVXNlckZv
ckNyZWRlbnRpYWxzPSVkKSIsIGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKTsKIAog
I2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMu
bW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IChwYXJhbWV0ZXJzKCkub3B0
aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYg
bV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgeworICAgIGlmIChzaG91bGRUcnlUb01hdGNoUmVn
aXN0cmF0aW9uT25SZWRpcmVjdGlvbihwYXJhbWV0ZXJzKCkub3B0aW9ucywgISFtX3NlcnZpY2VX
b3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAgIG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiA9
IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2VydmljZVdvcmtlckZldGNoVGFzayA9IG1fY29ubmVj
dGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlzLCBuZXdSZXF1ZXN0KSkgewogICAgICAgICAgICAg
TE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVxdWVzdDogQ3JlYXRlZCBhIFNl
cnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFuZGxlIHRoZSByZWRpcmVjdCAoZmV0Y2hJZGVudGlm
aWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VXb3JrZXJGZXRjaFRhc2stPmZldGNoSWRlbnRpZmll
cigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApp
bmRleCBiM2RkNGE1MjgyMDkyNGQ5MDEyNDkxMzcxN2ZiYjIwMjVhZjU1MzljLi5iYTFkY2UyZjgx
Y2JmMjMwYzNlMDNkMzBmZjdkYWZmZWYyY2U3MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY5LDYgKzE2OSw4IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
JiBwCiAgICAgU2VydmljZVdvcmtlckNsaWVudFR5cGUgY2xpZW50VHlwZTsKICAgICBpZiAocGFy
YW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9u
OjpXb3JrZXIpCiAgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6
V29ya2VyOworICAgIGVsc2UgaWYgKHBhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKQorICAgICAgICBjbGllbnRU
eXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OlNoYXJlZHdvcmtlcjsKICAgICBlbHNlCiAg
ICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V2luZG93OwogCkBA
IC0yMDEsNyArMjAzLDcgQEAgc3RkOjp1bmlxdWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRlRmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJu
IG51bGxwdHI7CiAKICAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25J
ZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAo
bG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpO
YXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0
ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9h
ZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OldvcmtlciB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRp
b24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSB7CiAgICAgICAg
IGF1dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBhcmFtZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRp
b24gPyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21VUkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIu
cGFyYW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0YSgpOwogICAgICAgICBhdXRvKiByZWdpc3RyYXRp
b24gPSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRvcE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAg
ICAgICAgIGlmICghcmVnaXN0cmF0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaAppbmRleCA3NTM1
MjRmNjRjMmIyY2RlNmFmYjllYWU4YTA1NDdlMWVhNDk3NjVkLi4zOWRiMzI3MWJhMmUwOTFkMzBm
MTY0OGJhY2MxZjVmOWNmOTJkYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaApAQCAtMzAsNiAr
MzAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmZXJyZWRNZXNzYWdlUG9ydC5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VyT3B0aW9ucy5oPgog
I2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTcwLDcgKzcxLDkgQEAgcHVibGljOgogICAg
IHZvaWQgbWFya0FzUnVubmluZygpIHsgbV9pc1J1bm5pbmcgPSB0cnVlOyB9CiAKICAgICBjb25z
dCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYgZmV0Y2hSZXN1bHQoKSBjb25zdCB7IHJldHVy
biBtX2ZldGNoUmVzdWx0OyB9CisgICAgY29uc3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRp
b25EYXRhJiBpbml0aWFsaXphdGlvbkRhdGEoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxpemF0
aW9uRGF0YTsgfQogICAgIHZvaWQgc2V0RmV0Y2hSZXN1bHQoV2ViQ29yZTo6V29ya2VyRmV0Y2hS
ZXN1bHQmJiBmZXRjaFJlc3VsdCkgeyBtX2ZldGNoUmVzdWx0ID0gV1RGTW92ZShmZXRjaFJlc3Vs
dCk7IH0KKyAgICB2b2lkIHNldEluaXRpYWxpemF0aW9uRGF0YShXZWJDb3JlOjpXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpIHsgbV9pbml0aWFsaXphdGlvbkRh
dGEgPSBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSk7IH0KICAgICBib29sIGRpZEZpbmlzaEZl
dGNoaW5nKCkgY29uc3QgeyByZXR1cm4gISFtX2ZldGNoUmVzdWx0LnNjcmlwdDsgfQogCiBwcml2
YXRlOgpAQCAtODUsNiArODgsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6Oldvcmtlck9wdGlv
bnMgbV93b3JrZXJPcHRpb25zOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydD4gbV9zaGFyZWRX
b3JrZXJPYmplY3RzOwogICAgIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IG1fZmV0Y2hSZXN1
bHQ7CisgICAgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIG1faW5pdGlhbGl6YXRp
b25EYXRhOwogICAgIGJvb2wgbV9pc1J1bm5pbmcgeyBmYWxzZSB9OwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKaW5kZXggNTgxYTZlOGU0OWNiNzY2MDE3MTUwYzkz
MDY3MDRmZDc4OTA4YmIzYy4uYmVkOWIzOGUwZjM2NmM0ZTM0N2NiOTA3ZjkzOWE1N2M4ZjE0ZTJj
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIv
V2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04NywxMyArODcs
MTMgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXIoV2Vi
Q29yZTo6U2hhcmVkV29ya2VyS2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVyQ29ubmVjdGlv
bik7CiAKICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2
ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIgc2NyaXB0IGlu
IGNsaWVudCIpOwotICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNo
YXJlZFdvcmtlciwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vh
a1B0ciB7ICp0aGlzIH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1d
KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAgICBzZXJ2ZXJD
b25uZWN0aW9uLT5mZXRjaFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtl
ck9iamVjdElkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRX
b3JrZXIgPSBXZWFrUHRyIHsgKnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1
dG8mJiBpbml0aWFsaXphdGlvbkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHNoYXJl
ZFdvcmtlcikKLSAgICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdv
cmtlclNjcmlwdCgqc2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAg
ICAgICB3ZWFrVGhpcy0+ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJl
ZFdvcmtlciwgV1RGTW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRh
KSk7CiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hG
ZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwg
V2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVk
V29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFy
ZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRj
aFJlc3VsdCwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRp
b25EYXRhKQogewogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtl
clNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hhcmVkV29ya2Vy
SWRlbnRpZmllcj0lIiBQUkl1NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNzPSVkIiwgc2hh
cmVkV29ya2VyLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2VyLCBmZXRjaFJl
c3VsdC5lcnJvci5pc051bGwoKSk7CiAKQEAgLTEwOCw2ICsxMDgsNyBAQCB2b2lkIFdlYlNoYXJl
ZFdvcmtlclNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hh
cmVkV29ya2VyJgogICAgIH0KIAogICAgIHNoYXJlZFdvcmtlci5zZXRGZXRjaFJlc3VsdChXVEZN
b3ZlKGZldGNoUmVzdWx0KSk7CisgICAgc2hhcmVkV29ya2VyLnNldEluaXRpYWxpemF0aW9uRGF0
YShXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSkpOwogCiAgICAgaWYgKGF1dG8qIGNvbnRleHRD
b25uZWN0aW9uID0gc2hhcmVkV29ya2VyLmNvbnRleHRDb25uZWN0aW9uKCkpIHsKICAgICAgICAg
Y29udGV4dENvbm5lY3Rpb24tPmxhdW5jaFNoYXJlZFdvcmtlcihzaGFyZWRXb3JrZXIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hh
cmVkV29ya2VyU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAppbmRleCBmOGI0NWFlNGEwMThlYWYwMzYxMGE1
YjlhZmQ5ZmM1NjNiNjEyZjhlLi5jOTUzODAzODgwZjMxMDU4ZWEyOWNkZWIyMWQxYWRjMWU0YmNm
N2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaApAQCAtNDIsNiArNDIsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29y
a2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogc3RydWN0
IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTc1LDcgKzc2LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWlu
Jiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcj4gcmVxdWVzdGluZ1By
b2Nlc3NJZGVudGlmaWVyKTsKICAgICBib29sIG5lZWRzQ29udGV4dENvbm5lY3Rpb25Gb3JSZWdp
c3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpIGNvbnN0Owog
ICAgIHZvaWQgY29udGV4dENvbm5lY3Rpb25DcmVhdGVkKFdlYlNoYXJlZFdvcmtlclNlcnZlclRv
Q29udGV4dENvbm5lY3Rpb24mKTsKLSAgICB2b2lkIGRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29y
a2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYp
OworICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVk
V29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5p
dGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgc2h1dERvd25TaGFyZWRXb3JrZXIoY29uc3Qg
V2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5Jik7CiAKICAgICBOZXR3b3JrU2Vzc2lvbiYgbV9zZXNz
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9u
LmNwcAppbmRleCBlODgxZGM1MzRjOTM0MTBlZTkxYzBhM2MwNjJiMDMyMWUzZDZiYTc0Li45ZmQ1
Zjk5MjUyNzk2NzBiZTgzMDk0MWQ3M2IyOWQ1YTEwZjJlMGEyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJD
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtOTgsNyArOTgsNyBA
QCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OnNoYXJlZFdvcmtlck9iamVj
dElzR29pbmdBd2F5KFdlYkNvcmU6OlNoYQogICAgICAgICBzZXNzaW9uLT5lbnN1cmVTaGFyZWRX
b3JrZXJTZXJ2ZXIoKS5zaGFyZWRXb3JrZXJPYmplY3RJc0dvaW5nQXdheShzaGFyZWRXb3JrZXJL
ZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNoYXJlZFdv
cmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVk
V29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZp
ZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
V2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChjb25z
dCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBDT05ORUNU
SU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBzaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpX
ZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50IHsgc2hh
cmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzaGFyZWRXb3Jr
ZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAppbmRleCAzYjhh
MmMyMzI0YWU5OGU2MzljMjgxOTg5NDY4ODU2NjA2ZTRlM2YzLi5lZTM5NjIwYjk1MWY4MjdlY2Rh
YzdkZWU4YzI2NDM1NmI5NmIzYzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2Vy
JiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBmZXRj
aFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYm
KTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29yZTo6
U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDQ0NmI5ZTU2ZGE5NTEyYzg1MjkxYWU3MWQwZjA4MzNm
ODAyYTM5NDEuLjk2NDIzZGRhYzQwZjM0Nzc1ODIzZmM0MjEyZmQ0NDA0Mzc1MTc1NWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24uY3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYlNoYXJlZFdvcmtl
CiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJsYXVuY2hTaGFyZWRXb3Jr
ZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXIuaWRlbnRp
ZmllcigpLnRvVUludDY0KCkpOwogICAgIHNoYXJlZFdvcmtlci5tYXJrQXNSdW5uaW5nKCk7Ci0g
ICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtl
ci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtl
ci5mZXRjaFJlc3VsdCgpIH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2Vy
Lm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2Vy
T3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSwgc2hhcmVkV29ya2VyLmluaXRp
YWxpemF0aW9uRGF0YSgpIH0pOwogICAgIHNoYXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2Vy
T2JqZWN0KFsmXShhdXRvLCBhdXRvJiBwb3J0KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQo
c2hhcmVkV29ya2VyLCBwb3J0KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDkx
Y2Y5NzJiY2U0NTU4YzY3NTlmZDRmYjA0OWIyMzNiOGQ1OWEwMjcuLjRiNzE4Y2NlN2VjNTVlOTli
ZmNjOWY1YzU3YTEzNTVhM2QyZGIwN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTkyLDYg
KzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2VyQ2xp
ZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGxvYWRlciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uKFdURk1vdmUoZGF0YSkpIDogZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQorCiAg
ICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29y
a2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCAyYmZmNjBhYmNmMDEzNDhkOGFj
ZjNjNDcyMzg5YmI1MDBhYTJkMzJlLi5lMTk1N2UyMzUwM2MyOTllODMwNGFkYWMzYTNmZTYxY2Jm
Y2Y3MTJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
aGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFdvcmtl
clRocmVhZFByb3h5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQWdlbnQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTg5LDcgKzkw
LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OnVwZGF0
ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHIKICAgICBtX3ByZWZlcmVuY2VzU3RvcmUgPSBz
dG9yZTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNv
cmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVz
dWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQpCit2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYm
IG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVu
dGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV2ViQ29yZTo6V29ya2VySW5p
dGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewogICAgIFJFTEVBU0VfTE9H
KFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6
bGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCwgc2hh
cmVkV29ya2VySWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICBhdXRvIHBhZ2VDb25maWd1cmF0
aW9uID0gV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRzKFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsKQEAgLTExMCw4ICsxMTEsMTIgQEAgdm9pZCBX
ZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtl
cihXZWJDb3JlOjpDbGllbnQKICAgICAgICAgV2ViUGFnZTo6dXBkYXRlU2V0dGluZ3NHZW5lcmF0
ZWQoKm1fcHJlZmVyZW5jZXNTdG9yZSwgcGFnZS0+c2V0dGluZ3MoKSk7CiAgICAgICAgIHBhZ2Ut
PnNldHRpbmdzKCkuc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KHN0YXRpY19jYXN0PFdlYkNvcmU6
OlN0b3JhZ2VCbG9ja2luZ1BvbGljeT4obV9wcmVmZXJlbmNlc1N0b3JlLT5nZXRVSW50MzJWYWx1
ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c3RvcmFnZUJsb2NraW5nUG9saWN5S2V5KCkpKSk7
CiAgICAgfQorCisgICAgaWYgKCFpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50LmlzRW1wdHko
KSkKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCA9IG1fdXNlckFnZW50Owor
CiAgICAgcGFnZS0+c2V0dXBGb3JSZW1vdGVXb3JrZXIod29ya2VyRmV0Y2hSZXN1bHQubGFzdFJl
cXVlc3RVUkwsIG9yaWdpbi50b3BPcmlnaW4sIHdvcmtlckZldGNoUmVzdWx0LnJlZmVycmVyUG9s
aWN5KTsKLSAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVk
V29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVu
dGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdvcmtl
ck9wdGlvbnMpLCBtX3VzZXJBZ2VudCwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9y
YWdlUHJvdmlkZXIoKSk7CisgICAgYXV0byBzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSA9IFdlYkNv
cmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpjcmVhdGUoV1RGTW92ZShwYWdlKSwgc2hhcmVk
V29ya2VySWRlbnRpZmllciwgb3JpZ2luLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0KSwgV1RG
TW92ZSh3b3JrZXJPcHRpb25zKSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpLCBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpKTsKIAogICAgIFdlYkNvcmU6
OlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZWdpc3RlclNoYXJlZFdv
cmtlclRocmVhZChXVEZNb3ZlKHNoYXJlZFdvcmtlclRocmVhZFByb3h5KSk7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4IGFiMzVjYmQw
MTg4NWNlYjM3NjEzMTBiZGY0ZDViN2I4ODcyMGFmNjMuLmQwYjhlNmYxNDFiZGEyYWMyY2Q3YmM0
YjU5Y2MwODEwMzdlODdlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oCkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBz
dHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRpb25zOwogfQogCkBAIC01
OCw3ICs1OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJUEMgTWVzc2FnZXMuCi0g
ICAgdm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNv
cmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiwgV2Vi
Q29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik7CisgICAgdm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIo
V2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwg
V2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgdXBkYXRlUHJl
ZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAgICAgdm9pZCBzZXRV
c2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7IG1fdXNlckFnZW50ID0gV1RGTW92ZSh1c2Vy
QWdlbnQpOyB9CiAgICAgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDhlZGE3YWI1
OTgzMTA0MDMxYWM1MjMyZmFhNGViZDg1ZjBlNjc4MWUuLjg5NDViMDk5OTQxYTJlMDA3MDM5OTNj
YjczNWEwZGRmMGNlNTgzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5p
bgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uIE5vdFJlZkNvdW50ZWQgewotICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9u
cyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2Vy
RmV0Y2hSZXN1bHQpCisgICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdv
cmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlv
bnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJlc3VsdCwg
c3RydWN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSB3b3JrZXJJbml0aWFsaXph
dGlvbkRhdGEpCiAgICAgUG9zdENvbm5lY3RFdmVudChXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVu
dGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlRyYW5zZmVycmVkTWVzc2Fn
ZVBvcnQgcG9ydCwgU3RyaW5nIHNvdXJjZU9yaWdpbikKICAgICBUZXJtaW5hdGVTaGFyZWRXb3Jr
ZXIoV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVy
KQogICAgIFVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoc3RydWN0IFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZSBzdG9yZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluCmluZGV4IGMyNjlmZDI2YTkxZWJmY2I0YzU0ZjBkNmM5ZTBlYjNlNGIwZGY2
MzIuLmI2YzA0ZDY2NGFlY2Q2ZWM0MTdiOGRjY2NiOTRmYzVlMWMzNzhkZTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEsNyAr
MjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uIHsKLSAgICBGZXRjaFNjcmlwdEluQ2xpZW50KFVSTCB1cmwsIFdlYkNvcmU6
OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucykgLT4gKHN0cnVj
dCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCBmZXRjaFJlc3VsdCkKKyAgICBGZXRjaFNjcmlw
dEluQ2xpZW50KFVSTCB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlv
bnMgd29ya2VyT3B0aW9ucykgLT4gKHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCBm
ZXRjaFJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSBpbml0
aWFsaXphdGlvbkRhdGEpCiAgICAgTm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29tcGxldGlvbihX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElk
ZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCiAgICAgUG9zdEV4Y2VwdGlv
blRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgU3RyaW5nIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFN0cmluZyBzb3VyY2VVUkwpCiB9CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmM2FiZmM5YjQyNWUyZDQyYTBkYmU5OTQ3NWEzNTc3ZmU4
YTA2NWI5Li4wYTA5NjhlMmNlYjZlZjhhNWJjNDM1NGM0ZWFlODJhMWZkMDk4NTNjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMi0wNC0xMiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMg
c2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvZmV0Y2gtcmVzcG9uc2UtdGFpbnQuaHR0cHMtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0xMSAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHdvcmtl
cnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBt
YXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGRmNzM1ZmFmZDA3YmY2MTkzY2QzZGIwMTU0M2U1N2ExNzgxNDdjMjIuLjg5Mjk2MTlhNWM5
Mjk0ZTQ1N2FiYjg3OWQ3YThhY2Q5N2RkN2E2MzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IENsaWVudHMuZ2V0KCkgd2l0aCB3aW5kb3cg
YW5kIHdvcmtlciBjbGllbnRzIGFzc2VydF9ub3RfZXF1YWxzOiBTaGFyZWQgd29ya2VyIGNsaWVu
dCBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSB1bmRlZmluZWQK
K1BBU1MgVGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIgY2xpZW50cwog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10
eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNmIwZjExNDY3ZjRmNDhi
NWFlOTI3YzlmN2ViNWZmZmVhYWM3MTBhZS4uMTk1N2RlY2M4Nzk3MjFjNmI2MjI1Y2QwM2MxNWQ5
OGRhMWFkMjU5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFs
bC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAogUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBjbGllbnQgdHlw
ZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29y
a2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50IGV4cGVjdGVkIDEg
YnV0IGdvdCAwCitQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29y
a2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9mZXRjaC1yZXNwb25zZS10YWludC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9mZXRjaC1yZXNwb25zZS10YWludC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYjM2MjNj
ODY4NDQ5ZDFiNTVmMzJkNDNjN2EzNmUzNzk5OGU0ZTRiNC4uZGY1NTlmNjZjMDc5OGFhNmY1Y2Fi
NzRlM2Q4MDVkMzc3ZGFlN2E3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZmV0Y2gt
cmVzcG9uc2UtdGFpbnQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2ZldGNoLXJlc3BvbnNlLXRhaW50Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtOTQsOSArOTQsOSBA
QCBQQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0My8/dXJsPWh0dHBzJTNB
JTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRgogUEFTUyB1cmw6Imh0dHBzOi8vMTI3LjAuMC4xOjk0
NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
Jm1vZGU9bm8tY29ycyZjcmVkZW50aWFscz1vbWl0JiIgbW9kZToiY29ycyIgY3JlZGVudGlhbHM6
Im9taXQiIHNob3VsZCBmYWlsLgogUEFTUyB1cmw6Imh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvP3Vy
bD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2
aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGJm1vZGU9
bm8tY29ycyZjcmVkZW50aWFscz1vbWl0JiIgbW9kZToiY29ycyIgY3JlZGVudGlhbHM6InNhbWUt
b3JpZ2luIiBzaG91bGQgZmFpbC4KIFBBU1MgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91
cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vy
dmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRiZtb2Rl
PW5vLWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6ImNvcnMiIGNyZWRlbnRpYWxzOiJpbmNs
dWRlIiBzaG91bGQgZmFpbC4KLUZBSUwgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9
aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2Vydmlj
ZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdp
biUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3Jl
ZGVudGlhbHM6Im9taXQiIHNob3VsZCBmYWlsLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2
ZSByZWplY3RlZDogdW5kZWZpbmVkIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCB1cmw6
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0
NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNo
LWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9
b21pdCYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoic2FtZS1vcmlnaW4iIHNob3Vs
ZCBmYWlsLiBhc3NlcnRfdW5yZWFjaGVkOiBTaG91bGQgaGF2ZSByZWplY3RlZDogdW5kZWZpbmVk
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMl
MkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNG
QUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6InNhbWUtb3Jp
Z2luIiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIGZhaWwuIGFzc2VydF91bnJlYWNoZWQ6
IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
CitQQVNTIHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3
LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3Vy
Y2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0QqJm1vZGU9Y29ycyZj
cmVkZW50aWFscz1vbWl0JiIgbW9kZToic2FtZS1vcmlnaW4iIGNyZWRlbnRpYWxzOiJvbWl0IiBz
aG91bGQgZmFpbC4KK1BBU1MgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMl
M0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3Jr
ZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCom
bW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlh
bHM6InNhbWUtb3JpZ2luIiBzaG91bGQgZmFpbC4KK1BBU1MgdXJsOiJodHRwczovL2xvY2FsaG9z
dDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3Jr
ZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5w
eSUzRkFDQU9yaWdpbiUzRCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJzYW1l
LW9yaWdpbiIgY3JlZGVudGlhbHM6ImluY2x1ZGUiIHNob3VsZCBmYWlsLgogUEFTUyBmZXRjaGlu
ZyB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAu
MSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUy
RmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVu
dGlhbHM9b21pdCYiIG1vZGU6Im5vLWNvcnMiIGNyZWRlbnRpYWxzOiJvbWl0IiBzaG91bGQgc3Vj
Y2VlZC4KIFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0
cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13
b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUz
RCombW9kZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJuby1jb3JzIiBjcmVkZW50aWFs
czoic2FtZS1vcmlnaW4iIHNob3VsZCBzdWNjZWVkLgogUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZz
ZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vz
cy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYi
IG1vZGU6Im5vLWNvcnMiIGNyZWRlbnRpYWxzOiJpbmNsdWRlIiBzaG91bGQgc3VjY2VlZC4KQEAg
LTExMiw5ICsxMTIsOSBAQCBQQVNTIGZldGNoaW5nIHVybDoiaHR0cHM6Ly8xMjcuMC4wLjE6OTQ0
My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRgogUEFTUyBmZXRjaGluZyB1
cmw6Imh0dHBzOi8vMTI3LjAuMC4xOjk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUz
QTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZl
dGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlh
bHM9b21pdCYiIG1vZGU6ImNvcnMiIGNyZWRlbnRpYWxzOiJvbWl0IiBzaG91bGQgc3VjY2VlZC4K
IFBBU1MgZmV0Y2hpbmcgdXJsOiJodHRwczovLzEyNy4wLjAuMTo5NDQzLz91cmw9aHR0cHMlM0El
MkYlMkYxMjcuMC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIl
MkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRCombW9k
ZT1jb3JzJmNyZWRlbnRpYWxzPW9taXQmIiBtb2RlOiJjb3JzIiBjcmVkZW50aWFsczoic2FtZS1v
cmlnaW4iIHNob3VsZCBzdWNjZWVkLgogUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vMTI3LjAu
MC4xOjk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGQUNBT3JpZ2luJTNEKiZtb2RlPWNvcnMmY3JlZGVudGlhbHM9b21pdCYiIG1vZGU6ImNv
cnMiIGNyZWRlbnRpYWxzOiJpbmNsdWRlIiBzaG91bGQgc3VjY2VlZC4KLUZBSUwgdXJsOiJodHRw
czovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5NDQzJTJG
c2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRjaC1hY2Nl
c3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0JTNBOTQ0
MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2RlPWNvcnMmY3JlZGVudGlhbHM9aW5jbHVkZSYi
IG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoib21pdCIgc2hvdWxkIGZhaWwuIGFzc2Vy
dF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVhY2hlZCB1bnJl
YWNoYWJsZSBjb2RlCi1GQUlMIHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBz
JTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29y
a2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0Ro
dHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9k
ZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlh
bHM6InNhbWUtb3JpZ2luIiBzaG91bGQgZmFpbC4gYXNzZXJ0X3VucmVhY2hlZDogU2hvdWxkIGhh
dmUgcmVqZWN0ZWQ6IHVuZGVmaW5lZCBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgdXJs
OiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcuMC4wLjElM0E5
NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJjZXMlMkZmZXRj
aC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJGbG9jYWxob3N0
JTNBOTQ0MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2RlPWNvcnMmY3JlZGVudGlhbHM9aW5j
bHVkZSYiIG1vZGU6InNhbWUtb3JpZ2luIiBjcmVkZW50aWFsczoiaW5jbHVkZSIgc2hvdWxkIGZh
aWwuIGFzc2VydF91bnJlYWNoZWQ6IFNob3VsZCBoYXZlIHJlamVjdGVkOiB1bmRlZmluZWQgUmVh
Y2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIHVybDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/
dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNBOTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNl
cnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FP
cmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9zdCUzQTk0NDMlMjZBQ0FDcmVkZW50aWFscyUz
RHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWluY2x1ZGUmIiBtb2RlOiJzYW1lLW9yaWdpbiIg
Y3JlZGVudGlhbHM6Im9taXQiIHNob3VsZCBmYWlsLgorUEFTUyB1cmw6Imh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGQUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTI2QUNBQ3Jl
ZGVudGlhbHMlM0R0cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1pbmNsdWRlJiIgbW9kZToic2Ft
ZS1vcmlnaW4iIGNyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiIgc2hvdWxkIGZhaWwuCitQQVNTIHVy
bDoiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My8/dXJsPWh0dHBzJTNBJTJGJTJGMTI3LjAuMC4xJTNB
OTQ0MyUyRnNlcnZpY2Utd29ya2VycyUyRnNlcnZpY2Utd29ya2VyJTJGcmVzb3VyY2VzJTJGZmV0
Y2gtYWNjZXNzLWNvbnRyb2wucHklM0ZBQ0FPcmlnaW4lM0RodHRwcyUzQSUyRiUyRmxvY2FsaG9z
dCUzQTk0NDMlMjZBQ0FDcmVkZW50aWFscyUzRHRydWUmbW9kZT1jb3JzJmNyZWRlbnRpYWxzPWlu
Y2x1ZGUmIiBtb2RlOiJzYW1lLW9yaWdpbiIgY3JlZGVudGlhbHM6ImluY2x1ZGUiIHNob3VsZCBm
YWlsLgogUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvP3VybD1odHRw
cyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdvcmtlcnMlMkZzZXJ2aWNlLXdv
cmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9sLnB5JTNGQUNBT3JpZ2luJTNE
aHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTI2QUNBQ3JlZGVudGlhbHMlM0R0cnVlJm1v
ZGU9Y29ycyZjcmVkZW50aWFscz1pbmNsdWRlJiIgbW9kZToibm8tY29ycyIgY3JlZGVudGlhbHM6
Im9taXQiIHNob3VsZCBzdWNjZWVkLgogUEFTUyBmZXRjaGluZyB1cmw6Imh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvP3VybD1odHRwcyUzQSUyRiUyRjEyNy4wLjAuMSUzQTk0NDMlMkZzZXJ2aWNlLXdv
cmtlcnMlMkZzZXJ2aWNlLXdvcmtlciUyRnJlc291cmNlcyUyRmZldGNoLWFjY2Vzcy1jb250cm9s
LnB5JTNGQUNBT3JpZ2luJTNEaHR0cHMlM0ElMkYlMkZsb2NhbGhvc3QlM0E5NDQzJTI2QUNBQ3Jl
ZGVudGlhbHMlM0R0cnVlJm1vZGU9Y29ycyZjcmVkZW50aWFscz1pbmNsdWRlJiIgbW9kZToibm8t
Y29ycyIgY3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIiBzaG91bGQgc3VjY2VlZC4KIFBBU1MgZmV0
Y2hpbmcgdXJsOiJodHRwczovL2xvY2FsaG9zdDo5NDQzLz91cmw9aHR0cHMlM0ElMkYlMkYxMjcu
MC4wLjElM0E5NDQzJTJGc2VydmljZS13b3JrZXJzJTJGc2VydmljZS13b3JrZXIlMkZyZXNvdXJj
ZXMlMkZmZXRjaC1hY2Nlc3MtY29udHJvbC5weSUzRkFDQU9yaWdpbiUzRGh0dHBzJTNBJTJGJTJG
bG9jYWxob3N0JTNBOTQ0MyUyNkFDQUNyZWRlbnRpYWxzJTNEdHJ1ZSZtb2RlPWNvcnMmY3JlZGVu
dGlhbHM9aW5jbHVkZSYiIG1vZGU6Im5vLWNvcnMiIGNyZWRlbnRpYWxzOiJpbmNsdWRlIiBzaG91
bGQgc3VjY2VlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNl
cHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmExNGVk
ZmUyMmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNkYWExYzRlYjM4Njlh
NDMzODJlOGQyMjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQK
QEAgLTEwLDEyICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2Nv
cGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+
b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtl
ciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjMzogc3cgc2NvcGUx
LT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBl
cnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNj
b3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEt
Pm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2FzZSAjNDogc3cgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBX
b3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBX
b3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIGNsZWFudXAgZ2xv
YmFsIHN0YXRlCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMg
RGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMjMs
MTEgKzIzLDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3Np
YyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkK
IFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9k
dWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJv
bSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290
ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6
IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hh
cmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29y
a2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0
aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUg
dGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2Nv
cGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFT
UyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAgLTM1LDExICszNSwx
MSBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVk
aWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRX
b3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlMIENhc2UgIzI6IG5l
dHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJv
bSBuZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFz
c2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNo
KCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBz
aW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2Nv
cGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgp
KQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRj
aCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2gg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BB
U1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtl
ciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9k
dWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUx
LT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2Vy
OiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvaW1wb3J0
LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhl
IHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUy
L2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBn
b3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCkBAIC00
NywxMCArNDcsMjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1MgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkK
IEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIs
IGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBm
ZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBm
ZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczog
bG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9u
X3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0
JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9z
dDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dv
cmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
Y29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0
IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZB
SUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2Nh
dGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczov
L2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5n
PXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQi
IGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3
b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
ZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAi
ZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwgQ2Fz
ZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhy
ZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIv
d29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIw
c2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdv
dCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5w
eSIKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNj
b3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVm
KQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29w
ZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitQ
QVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwg
aW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xh
c3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2FzZSAj
NDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRX
b3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDE2
YzQzOTMzYmJiOTc1ZWNmNjYwZWU2N2VkMzYzYWViNGI0ZjM4N2IuLjAwYWVhMmM4YTZiOGEwZDA2
OTVlNzQ2OGNmMjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2
IEBACiAKIFBBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1
ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIn
cyBvd24gc2VydmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNh
dGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1l
bnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2Vy
LgotRkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9t
IGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBz
ZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0
IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdv
cmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29y
a2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGlu
ZyBhIGRlZGljYXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBz
Y3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBz
aGFyZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogdW5kZWZpbmVkCi1GQUlMIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LiBhc3NlcnRfZXF1
YWxzOiBFeHBlY3RlZCBlcnJvciBldmVudCwgYnV0IGdvdCBtZXNzYWdlIGV2ZW50IGluc3RlYWQg
ZXhwZWN0ZWQgImVycm9yIiBidXQgZ290ICJtZXNzYWdlIgorUEFTUyBWZXJpZnkgYSBzYW1lLW9y
aWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGlu
IHN0YXJ0aW5nIGEgc2hhcmVkIHdvcmtlci4KK1BBU1MgVmVyaWZ5IGEgY29ycyB3b3JrZXIgc2Ny
aXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIGRlZGljYXRlZCB3b3JrZXIgc3Rh
cnQuCiBQQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNl
IHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBuby1jb3Jz
IGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZh
aWxzIGRlZGljYXRlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mt
b3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hh
cmVkIHdvcmtlciBzdGFydC4KIFBBU1MgUmVnaXN0ZXIgYSBzZXJ2aWNlIHdvcmtlciBmb3Igd29y
a2VyIHN1YnJlc291cmNlIGludGVyY2VwdGlvbiB0ZXN0cy4KIFBBU1MgUmVxdWVzdHMgb24gYSBk
ZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KLUZBSUwgUmVx
dWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVy
Y2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29kZVwiOiA0MDQsIFwibWVzc2FnZVwi
OiBcIjQwNFwifX0iCitQQVNTIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtlciBjb250cm9sbGVk
IGJ5IGEgc2VydmljZSB3b3JrZXIuCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtl
ciBuZXN0ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2Vydmlj
ZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1
bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2
YXJpYWJsZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVz
dGVkIGluIGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRl
cmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6
IFdvcmtlciIKIFBBU1MgVW5yZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciBzdWJyZXNvdXJj
ZSBpbnRlcmNlcHRpb24gdGVzdHMuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457605</attachid>
            <date>2022-04-14 02:30:15 -0700</date>
            <delta_ts>2022-04-14 06:24:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239122-20220414113012.patch</filename>
            <type>text/plain</type>
            <size>67137</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uYjU3YmFlM2NlMDcyMzc3ODgxMDA3MDc2ZTYxMGE1
MWVkM2IzNDdlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlw
dExvYWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0
YS4KKyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50
Q29ubmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3Qg
bWVzc2FnaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5oOgorICAg
ICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAqIHdvcmtlcnMv
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmg6Cisg
ICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaDoKKyAgICAg
ICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAg
KiB3b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5Lmg6
CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVu
dCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDMxOTYxMGVjOTNmOGMyMjBmMGQ4M2NkYzZkYjU1MGU1MzY3MjI2ZGYuLmY3ZmVlNDk5YWJmMzZk
ZWY0NTI5MjQzNDg0ZDY5YzVlMjg4ZDQ2YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIw
MjItMDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNo
YXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcDoKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVy
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5l
Y3Rpb24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
Lm1lc3NhZ2VzLmluOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorCiAyMDIyLTA0LTEzICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2
aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZv
ciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDg4M2Y3
ZDNmMTJhYzgyN2JlMGM1OWE3YTQyMjc2MjViNDJjZDA2OTguLmIyMmVkNzBhZDI5MGNjZDA1YjMy
MDA3ZmJhZjJiNDg3NTI5NGIwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTI2
Myw3ICsyNjMsNyBAQCB2b2lkIFdvcmtlcjo6Zm9yRWFjaFdvcmtlcihjb25zdCBGdW5jdGlvbjxG
dW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKQogICAgICAgICB3b3JrZXItPnBv
c3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShjYWxsYmFjaygpKTsKIH0KIAotV29ya2VyKiBXb3Jr
ZXI6OndvcmtlckJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBp
ZGVudGlmaWVyKQorV29ya2VyKiBXb3JrZXI6OmJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBhbGxXb3JrZXJzKCku
Z2V0KGlkZW50aWZpZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXggY2MyYmI4YWE1
OTNmMjRhNjdiZDIwNWQ3MTk0MmIwNTdlMjhjOTZhMC4uNzM3N2JmMDk3ODQ1ZmQ2YWQ2Njk1Yjc5
YWUyOTE5N2ExZmIyMzcxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC04Myw3ICs4Myw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlv
bjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJik7CiAKICAgICBzdGF0aWMgdm9pZCBm
b3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYpPigpPiYpOwotICAgIHN0YXRpYyBXb3JrZXIqIHdvcmtlckJ5SWRlbnRpZmllcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisgICAgc3RhdGljIFdvcmtlciogYnlJ
ZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKIAogcHJpdmF0ZToK
ICAgICBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBX
b3JrZXJPcHRpb25zJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcAppbmRleCBhYzRkZTRiN2MwZWRkNDk1ZjBjMDQ1NDI2NjZmYjgyNjI3MDVlNDkxLi5k
YzhiMzgyNGVhYWMxNzViYjYxNmVlMGE3NTgzZTA2Y2E4YWQ5YWNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNjU3LDcgKzY1Nyw3IEBAIHZv
aWQgV29ya2VyR2xvYmFsU2NvcGU6OnVwZGF0ZVNvdXJjZVByb3ZpZGVyQnVmZmVycyhjb25zdCBT
Y3JpcHRCdWZmZXImIG1haW5TY3JpCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogdm9pZCBX
b3JrZXJHbG9iYWxTY29wZTo6dXBkYXRlU2VydmljZVdvcmtlckNsaWVudERhdGEoKQogewotICAg
IEFTU0VSVCh0eXBlKCkgPT0gV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU6OlR5cGU6OkRlZGlj
YXRlZFdvcmtlcik7CisgICAgQVNTRVJUKHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxT
Y29wZTo6VHlwZTo6RGVkaWNhdGVkV29ya2VyIHx8IHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZTo6VHlwZTo6U2hhcmVkV29ya2VyKTsKICAgICBhdXRvIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyKCkg
PyBzdGQ6Om1ha2Vfb3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+
KGFjdGl2ZVNlcnZpY2VXb3JrZXIoKS0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpKSA6IHN0ZDo6
bnVsbG9wdDsKICAgICBTV0NsaWVudENvbm5lY3Rpb24mIGNvbm5lY3Rpb24gPSBzd0NsaWVudENv
bm5lY3Rpb24oKTsKICAgICBjb25uZWN0aW9uLnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCh0
b3BPcmlnaW4oKSwgU2VydmljZVdvcmtlckNsaWVudERhdGE6OmZyb20oKnRoaXMpLCBjb250cm9s
bGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBTdHJpbmcgeyBtX3VzZXJB
Z2VudCB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0
aW9uRGF0YS5oCmluZGV4IDU2OTcwZDA0YTNhNzBjMTg5NWNlOTcxOTU4MjZkMDk5YzY3MDhhZWEu
LjMzOTViNDUwYjU4Y2JkYWYwNzMxMzVmM2ZjNjZiZWI1ZmUzNTIwZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApAQCAtMzcsNiAr
MzcsNjAgQEAgc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CiAjZW5kaWYKICAgICBz
dGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVu
dGlmaWVyOwogICAgIFN0cmluZyB1c2VyQWdlbnQ7CisKKyAgICBXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEgaXNvbGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
PiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rl
cj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBkZWNvZGUo
RGVjb2RlciYpOwogfTsKIAoraW5saW5lIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2
aWNlV29ya2VyRGF0YSksCisjZW5kaWYKKyAgICAgICAgY2xpZW50SWRlbnRpZmllciwgdXNlckFn
ZW50Lmlzb2xhdGVkQ29weSgpCisgICAgfTsKK30KKworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
Pgordm9pZCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBlbmNvZGVyIDw8IHNl
cnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCisgICAgZW5jb2RlciA8PCBjbGllbnRJZGVudGlmaWVy
IDw8IHVzZXJBZ2VudDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9u
YWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBzZXJ2aWNl
V29ya2VyRGF0YTsKKyAgICBkZWNvZGVyID4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGlmICgh
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHJldHVybiB7IH07CisjZW5kaWYKKworICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4+IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBjbGllbnRJZGVudGlmaWVyOwor
ICAgIGlmICghY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiB1c2VyQWdlbnQ7CisgICAgZGVjb2RlciA+PiB1c2VyQWdlbnQ7
CisgICAgaWYgKCF1c2VyQWdlbnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgICAgIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBXVEZN
b3ZlKCpjbGllbnRJZGVudGlmaWVyKSwKKyAgICAgICAgV1RGTW92ZSgqdXNlckFnZW50KQorICAg
IH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA5MWFkYzBmMzM3YjljNGIyZGU1NGRmMjdm
MWM2ZjFjMjNmMGQ5NzgzLi40Y2Q2MmNhNmQ4NjE1YzY5OTM0N2MyZTMyNjYxYTE4ZDE0ZWYxNjIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBA
IC0xNDgsOCArMTQ4LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICAvLyBBIHNlcnZp
Y2Ugd29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBhIHdvcmtlciBjb250ZXh0IG9yIGEg
ZG9jdW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IHNlcnZp
Y2VXb3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHNoYXJlZCB3b3JrZXIuCi0gICAgaWYgKG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIGlzPERvY3VtZW50PihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSkgeworICAgIGlmICgobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpICYmIGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KSkgewogICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7CiAgICAgICAg
IC8vIEluIGNhc2Ugb2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUgZG9jdW1lbnQgY29udHJvbGxp
bmcgc2VydmljZSB3b3JrZXIuCiAgICAgICAgIGlmIChyZXF1ZXN0LT51cmwoKS5wcm90b2NvbElz
QmxvYigpICYmIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQpA
QCAtMTYxLDYgKzE2MCw4IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9u
b3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgfSBlbHNlIGlm
IChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3Rp
dmVTZXJ2aWNlV29ya2VyKCkpCiAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlm
aWVyKCk7CiAjZW5kaWYKKyAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpCisgICAgICAgIG1fdXNlckFnZW50Rm9yU2hhcmVkV29y
a2VyID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC51c2VyQWdlbnQoc2NyaXB0UmVxdWVzdC51cmwo
KSk7CiAKICAgICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCBy
ZW1vdmUgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJT
Y3JpcHRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggYjY4YjAyNGQ2MTNhZTFkZjJlNWE0OTUxZjUw
OTg5YWQ2OTYwZWU0OC4uZmYxMDcwZmVkOWQ1NDY4OWZhNzMzNGQ4ZjU4ZDJiMmM3MWNlNDFlOSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCkBAIC0xMDEs
OSArMTAxLDEyIEBAIHB1YmxpYzoKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIHNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlcihTZXJ2aWNlV29y
a2VyRGF0YSYmKTsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJ
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRJZGVudGlmaWVyOyB9CiAgICAgc3Rk
OjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gdGFrZVNlcnZpY2VXb3JrZXJEYXRhKCkgeyBy
ZXR1cm4gc3RkOjpleGNoYW5nZShtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhLCB7IH0pOyB9CiAj
ZW5kaWYKIAorICAgIGNvbnN0IFN0cmluZyYgdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyKCkgY29u
c3QgeyByZXR1cm4gbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXI7IH0KKwogcHJpdmF0ZToKICAg
ICBmcmllbmQgY2xhc3MgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+OwogICAgIGZyaWVu
ZCBzdHJ1Y3Qgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXb3JrZXJTY3JpcHRMb2FkZXI+OwpAQCAtMTM5
LDYgKzE0Miw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIHN0
ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IG1fYWN0aXZlU2VydmljZVdvcmtlckRhdGE7
CiAjZW5kaWYKKyAgICBTdHJpbmcgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDg4YjRkODRjODllOTljMWM0ZjI1
YTA4MjMxZTQxMWRmNTkwNzRkNTEuLmYwOGQwMTYzZDVmYWM5YWFlMmE0OWExMTAwODNiYzY1YTYy
M2M3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVu
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0Ns
aWVudENvbm5lY3Rpb24uY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiU2VydmljZVdv
cmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgiCiAj
aW5jbHVkZSAiU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXIuaCIKKyNpbmNsdWRlICJTaGFyZWRX
b3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oIgogI2lu
Y2x1ZGUgIldvcmtlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVk
ZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CkBAIC0xMTMsMTggKzExNSwzMyBAQCB2b2lkIFNX
Q2xpZW50Q29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEZvclNlcnZlcihTZXJ2aWNlV29ya2Vy
Sm9iSWRlbnRpZmllciBqbwogICAgICAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsg
c2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgam9iSWRlbnRpZmllciB9LCBXVEZNb3ZlKHJl
Z2lzdHJhdGlvbktleSksIHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9t
YWluV2ViS2l0SW50ZXJuYWwsIDAsIHsgfSwgbWFrZVN0cmluZygiRmFpbGVkIHRvIGZldGNoIHNj
cmlwdCBmb3Igc2VydmljZSB3b3JrZXIgd2l0aCBzY29wZSAiLCByZWdpc3RyYXRpb25LZXkuc2Nv
cGUoKS5zdHJpbmcoKSkgfSkpOwogfQogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRvQ29udGFp
bmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBv
cnRzJiYgbWVzc2FnZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBz
b3VyY2VPcmlnaW4pCit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuZW5zdXJl
U2VydmljZVdvcmtlckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdl
KFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3Jp
Z2luKSk7Cit9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2Vydmlj
ZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlv
bkNvbnRleHRJZGVudGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNl
cnZpY2VXb3JrZXJEYXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQogewog
ICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25D
b250ZXh0SWRlbnRpZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21l
bnQuCi0gICAgYXV0byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVu
dHNNYXAoKS5nZXQoZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYgKCFkZXN0
aW5hdGlvbkRvY3VtZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9j
dW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVy
KSkgeworICAgICAgICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRvY3VtZW50
LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9y
aWdpbikpOwogICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNvbnRhaW5l
ciA9IGRlc3RpbmF0aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkK
LSAgICAgICAgY29udGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3Zl
KHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRvKiB3b3Jr
ZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkg
eworICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVzc2FnZSA9
IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLCBzb3Vy
Y2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBj
b250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoY29u
dGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3Vy
Y2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBp
ZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRp
ZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICBzaGFyZWRXb3Jr
ZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVzc2FnZSA9IFdURk1vdmUobWVzc2Fn
ZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLCBzb3VyY2VPcmlnaW4gPSBXVEZN
b3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxl
IHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZSht
ZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAg
ICAgICAgfSk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBmb3JBbGxXb3JrZXJzKGNvbnN0IEZ1
bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPigpPiYgY2FsbGJh
Y2spCkBAIC0yNDQsMTMgKzI2MSwxOCBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5
Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0PFNjcmlwdEV4ZQogICAgICAg
ICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFNlcnZpY2VXb3JrZXJEYXRhIHsgbmV3
Q29udHJvbGxlciB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAg
IGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihjbGllbnRJZGVu
dGlmaWVyKSkgeworICAgICAgICBpZiAoYXV0byogd29ya2VyID0gV29ya2VyOjpieUlkZW50aWZp
ZXIoY2xpZW50SWRlbnRpZmllcikpIHsKICAgICAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dv
cmtlckdsb2JhbFNjb3BlKFtuZXdDb250cm9sbGVyID0gbmV3Q29udHJvbGxlci5pc29sYXRlZENv
cHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgewogICAgICAgICAgICAgICAgIHVwZGF0ZUNv
bnRyb2xsZXIoY29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVyKSk7CiAgICAgICAgICAgICB9
KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FOiBT
dXBwb3J0IHNoYXJlZCB3b3JrZXJzLgorICAgICAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0g
U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkg
eworICAgICAgICAgICAgc2hhcmVkV29ya2VyLT50aHJlYWQoKS5ydW5Mb29wKCkucG9zdFRhc2so
W25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29u
dGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcihjb250ZXh0
LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAg
Y29udGludWU7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBk
YjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYwYjQ4MWY4YTBhLi45NGYxNTQ5NTA0NThjZTZj
NWIyODFlNWI0MGE3MDNiYWQ0YzgyN2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC01OCw2ICs1
OCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2
aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVGhyZWFkLmgiCisj
aW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRj
aFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1
ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzMsNyArMTM0LDcgQEAgYXV0byBTZXJ2
aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgpIC0+IFJlYWR5UHJvbWlzZSYKIFNlcnZpY2VXb3Jr
ZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xsZXIoKSBjb25zdAogewogICAgIGF1
dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7Ci0gICAgQVNTRVJUX1dJVEhf
TUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRleHQpIHx8IGlzPERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VX
b3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFuZCBkZWRpY2F0ZWQgd29ya2VycyBjYW4gaGF2ZSBh
IGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFj
b250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU+KCpjb250ZXh0KSAgfHwgaXM8U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250
ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMs
IGRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtlcnMgY2FuIGhhdmUgYSBjb250cm9sbGVyLiIpOwog
ICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpIDogbnVs
bHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hh
cmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmNwcAppbmRleCAzMDhiYmZhNmFmOTAz
MDA5NTZhMmEzOTY4N2U1NWM1ZDczNDllZGI1Li5iMDRiNzY5YzE0ZDEzMjU2YWE1NWJlNzMyMzQ3
NjI3OTliNjJkNjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9T
aGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmNwcApAQCAtMzMsNiArMzMs
NyBAQAogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCisjaW5jbHVkZSAi
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVy
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQ2LDI1ICs0NywyNSBAQCBTaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uOjpTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBkZWZh
dWx0OwogCiBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjp+U2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbigpID0gZGVmYXVsdDsKIAotdm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0
aW9uOjpmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRp
b25zJiYgd29ya2VyT3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJl
c3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU2hhcmVkV29ya2VyT2JqZWN0Q29u
bmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiB1cmwsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2Vy
T3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0
Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKICAgICBhdXRvKiB3b3JrZXJP
YmplY3QgPSBTaGFyZWRXb3JrZXI6OmZyb21JZGVudGlmaWVyKHNoYXJlZFdvcmtlck9iamVjdElk
ZW50aWZpZXIpOwogICAgIENPTk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGll
bnQ6IHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXI9JXtwdWJsaWN9cywgd29ya2VyPSVwIiwg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHdv
cmtlck9iamVjdCk7CiAgICAgaWYgKCF3b3JrZXJPYmplY3QpCi0gICAgICAgIHJldHVybiBjb21w
bGV0aW9uSGFuZGxlcih3b3JrZXJGZXRjaEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVy
cm9yOjpUeXBlOjpDYW5jZWxsYXRpb24gfSkpOworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhh
bmRsZXIod29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgUmVzb3VyY2VFcnJvcjo6VHlw
ZTo6Q2FuY2VsbGF0aW9uIH0pLCB7IH0pOwogCiAgICAgYXV0byBsb2FkZXJJZGVudGlmaWVyID0g
Kytsb2FkZXJJZGVudGlmaWVyU2VlZDsKICAgICBhdXRvIGxvYWRlciA9IG1ha2VVbmlxdWVSZWY8
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyPihXVEZNb3ZlKHVybCksICp3b3JrZXJPYmplY3QsIFdU
Rk1vdmUod29ya2VyT3B0aW9ucykpOwogICAgIGF1dG8gbG9hZGVyUHRyID0gbG9hZGVyLnB0cigp
OwogICAgIG1fbG9hZGVycy5hZGQobG9hZGVySWRlbnRpZmllciwgV1RGTW92ZShsb2FkZXIpKTsK
IAotICAgIGxvYWRlclB0ci0+bG9hZChbdGhpcywgbG9hZGVySWRlbnRpZmllciwgY29tcGxldGlv
bkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0oV29ya2VyRmV0Y2hSZXN1bHQm
JiBmZXRjaFJlc3VsdCkgbXV0YWJsZSB7CisgICAgbG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2Fk
ZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1dG8mJiBpbml0aWFsaXphdGlvbkRhdGEpIG11dGFi
bGUgewogICAgICAgICBDT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50
OiBmaW5pc2hlZCBzY3JpcHQgbG9hZCwgc3VjY2Vzcz0lZCIsIGZldGNoUmVzdWx0LmVycm9yLmlz
TnVsbCgpKTsKICAgICAgICAgYXV0byBsb2FkZXIgPSBtX2xvYWRlcnMudGFrZShsb2FkZXJJZGVu
dGlmaWVyKTsKICAgICAgICAgQVNTRVJUKGxvYWRlcik7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaAppbmRleCBkMmUyNDczNzExNGY2MWRhMjBhZDU5
YjdmN2ZiMDBkNWUwNTliYjcwLi4xODI5OWE4MzU0YTIwMmY3ZDRlMDdlMTY4NTYyN2VjMmU5MmFj
MDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlcjsKIAogc3RydWN0IFNoYXJlZFdvcmtlcktleTsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBz
dHJ1Y3QgV29ya2VyT3B0aW9uczsKIAogY2xhc3MgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
biA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24+IHsKQEAg
LTUyLDcgKzUzLDcgQEAgcHVibGljOgogCiBwcm90ZWN0ZWQ6CiAgICAgLy8gSVBDIG1lc3NhZ2Vz
LgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2Vi
Q29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoVVJMJiYsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgbm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29tcGxl
dGlvbihXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJj
ZUVycm9yJik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJP
YmplY3QoU2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDA3Mjg0ZTAyNzg0M2VjZGM5M2Nh
OTcxZGZlZDk4YTM2YzllMjMzNzcuLjdlNWI5NDgxZTNlNTY4MmNiN2RiZmUxZWY0NzgzZWEyNDlm
ZmJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdv
cmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgog
I2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldvcmtl
clNjcmlwdExvYWRlci5oIgogCkBAIC00MywxMyArNDQsMTMgQEAgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOjpTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIoVVJMJiYgdXJsLCBTaGFyZWRXb3JrZXIm
IHdvcmsKIHsKIH0KIAotdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3ZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVCghbV9jb21wbGV0aW9uSGFuZGxlcik7
CiAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwog
CiAgICAgYXV0byBzb3VyY2UgPSBtX29wdGlvbnMudHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUg
PyBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJjZTo6TW9kdWxlU2NyaXB0IDogV29ya2VyU2NyaXB0
TG9hZGVyOjpTb3VyY2U6OkNsYXNzaWNXb3JrZXJTY3JpcHQ7Ci0gICAgbV9sb2FkZXItPmxvYWRB
c3luY2hyb25vdXNseSgqbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3Vy
Y2VSZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBtX3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25zKG1f
b3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29udGVu
dFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNl
cnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUo
KSk7CisgICAgbV9sb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqbV93b3JrZXItPnNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBtX3dvcmtl
ci0+d29ya2VyRmV0Y2hPcHRpb25zKG1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2hhcmVkd29ya2VyKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9y
Y2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcywgV29y
a2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXI6OmdlbmVyYXRlKCkpOwogfQogCiB2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6ZGlk
UmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJikKQEAgLTYxLDcgKzYyLDEzIEBAIHZvaWQgU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hlZCgpCiB7CiAgICAgaWYgKGF1dG8qIHNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQgPSBtX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyAhbV9s
b2FkZXItPmZhaWxlZCgpKQogICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlw
dEltcG9ydGVkKCpzY3JpcHRFeGVjdXRpb25Db250ZXh0LCBtX2xvYWRlci0+aWRlbnRpZmllcigp
LCBtX2xvYWRlci0+c2NyaXB0KCkudG9TdHJpbmcoKSk7Ci0gICAgbV9jb21wbGV0aW9uSGFuZGxl
cihtX2xvYWRlci0+ZmV0Y2hSZXN1bHQoKSk7IC8vIGRlbGV0ZXMgdGhpcy4KKyAgICBtX2NvbXBs
ZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRjaFJlc3VsdCgpLCBXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgbV9sb2FkZXItPnRh
a2VTZXJ2aWNlV29ya2VyRGF0YSgpLAorI2VuZGlmCisgICAgICAgIG1fbG9hZGVyLT5jbGllbnRJ
ZGVudGlmaWVyKCksCisgICAgICAgIG1fbG9hZGVyLT51c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIo
KQorICAgIH0pOyAvLyBkZWxldGVzIHRoaXMuCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmgKaW5kZXggNzFjYjRiNjViYzk5NWM1NWNiZWZiMDFhMzllYzJkMTYxM2Yy
ODFhMi4uNDVlNjVmZjZjMDM2NmNjZDQ4MjI2MTFhODdhNjU3OWExYWFhODU5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyLmgKQEAgLTQwLDEzICs0MCwxNCBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJh
dGlvbkRhdGE7CiBjbGFzcyBTaGFyZWRXb3JrZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXI7
CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIgOiBwcml2YXRlIFdvcmtlclNj
cmlwdExvYWRlckNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6
CiAgICAgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyKFVSTCYmLCBTaGFyZWRXb3JrZXImLCBXb3Jr
ZXJPcHRpb25zJiYpOwogCi0gICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29y
a2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIHZvaWQgbG9hZChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7
CiAKICAgICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgU2hh
cmVkV29ya2VyJiB3b3JrZXIoKSB7IHJldHVybiBtX3dvcmtlci5nZXQoKTsgfQpAQCAtNjAsNyAr
NjEsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0IFJlZjxTaGFyZWRXb3JrZXI+IG1fd29ya2VyOwog
ICAgIGNvbnN0IFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IG1fbG9hZGVyOwogICAgIGNvbnN0IFVS
TCBtX3VybDsKLSAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYp
PiBtX2NvbXBsZXRpb25IYW5kbGVyOworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2Vy
RmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiBtX2NvbXBsZXRpb25I
YW5kbGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQu
Y3BwCmluZGV4IDU4NTk5YWJjOTRlM2JjZDZjYjJkZTA2MGM3ZGU3Nzc1YTI0YTJiMDcuLjYwNzk2
NGM5ZGY3MmFhMWM5MGZhNDNiZjE3NjNhY2NkNzUxMTI2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVh
ZC5jcHAKQEAgLTQzLDcgKzQzLDEyIEBAIFNoYXJlZFdvcmtlclRocmVhZDo6U2hhcmVkV29ya2Vy
VGhyZWFkKFNoYXJlZFdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QKIFJlZjxXb3Jr
ZXJHbG9iYWxTY29wZT4gU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgb3JpZ2luLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKQogewogICAgIFJFTEVB
U0VfTE9HKFNoYXJlZFdvcmtlciwgIiVwIC0gU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZTogbV9pZGVudGlmaWVyPSUiIFBSSXU2NCwgdGhpcywgbV9pZGVudGlmaWVy
LnRvVUludDY0KCkpOwotICAgIHJldHVybiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRl
KHN0ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiks
ICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQ
cm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3BlID0gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNy
ZWF0ZShzdGQ6OmV4Y2hhbmdlKG1fbmFtZSwgeyB9KSwgcGFyYW1ldGVycywgV1RGTW92ZShvcmln
aW4pLCAqdGhpcywgV1RGTW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29j
a2V0UHJvdmlkZXIoKSk7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChwYXJh
bWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhKQorICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2Vydmlj
ZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRPckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdv
cmtlckRhdGEgeyAqcGFyYW1ldGVycy5zZXJ2aWNlV29ya2VyRGF0YSB9KSk7CisjZW5kaWYKKyAg
ICByZXR1cm4gc2NvcGU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFk
UHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXggMzM3MTg0MzRiMDk1ZTE4NjQwYjgzNzBkYTVlYjM2
MTc5Y2I3NDJlNi4uOTcxMzkzZWVlNTgzZWVkNzY5YjY0ZmE0NWNiNDA3OWQyMmY3OWE2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29u
dGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKQEAgLTQ5LDE5ICs0OSwxOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRpYyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFBy
b3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKQorc3RhdGljIEhhc2hNYXA8U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4m
IGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4+IHNldDsKLSAgICByZXR1cm4g
c2V0OworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBtYXA7CisgICAgcmV0
dXJuIG1hcDsKIH0KIAotc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJh
bWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2Vy
T3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVu
dCYgZG9jdW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFt
ZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJP
cHRpb25zJiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlh
bGl6YXRpb25EYXRhLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgcmV0dXJuIHsKICAgICAg
ICAgd29ya2VyRmV0Y2hSZXN1bHQubGFzdFJlcXVlc3RVUkwsCiAgICAgICAgIHdvcmtlck9wdGlv
bnMubmFtZSwKICAgICAgICAgInNoYXJlZHdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVy
c0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwKLSAgICAgICAgdXNlckFnZW50LAorICAgICAg
ICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQpLAogICAgICAgICBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwKICAgICAgICAgd29y
a2VyRmV0Y2hSZXN1bHQuY29udGVudFNlY3VyaXR5UG9saWN5LAogICAgICAgICBmYWxzZSwKQEAg
LTc0LDIwICs3NCwyNiBAQCBzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBh
cmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlcgogICAgICAgICBXb3JrZXJU
aHJlYWRNb2RlOjpDcmVhdGVOZXdUaHJlYWQsCiAgICAgICAgIHsgfSwKICNpZiBFTkFCTEUoU0VS
VklDRV9XT1JLRVIpCi0gICAgICAgIHsgfSwKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXphdGlv
bkRhdGEuc2VydmljZVdvcmtlckRhdGEpLAogI2VuZGlmCi0gICAgICAgIHsgfQorICAgICAgICBp
bml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllci52YWx1ZV9vcihTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciB7IH0pCiAgICAgfTsKIH0KIAotU2hhcmVkV29ya2VyVGhyZWFk
UHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNo
YXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50
T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1
bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQorU2hhcmVkV29y
a2VyVGhyZWFkUHJveHkqIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlkZW50aWZpZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4g
YWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmdldChpZGVudGlmaWVyKTsKK30KKworU2hh
cmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQ
YWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmll
ciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYg
d29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIENhY2hlU3RvcmFnZVByb3Zp
ZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IG1fcGFnZShXVEZNb3ZlKHBhZ2UpKQog
ICAgICwgbV9kb2N1bWVudCgqbV9wYWdlLT5tYWluRnJhbWUoKS5kb2N1bWVudCgpKQotICAgICwg
bV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRl
bnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVzdWx0LCBXVEZN
b3ZlKHdvcmtlck9wdGlvbnMpLCB1c2VyQWdlbnQsIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtl
ckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0
YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCks
IG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92
aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKKyAgICAsIG1f
d29ya2VyVGhyZWFkKFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNoYXJlZFdvcmtlcklkZW50
aWZpZXIsIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyh3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92
ZSh3b3JrZXJPcHRpb25zKSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpLCBtX2RvY3VtZW50
KSwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdC5zY3JpcHQpLCAqdGhpcywgKnRoaXMsICp0aGlz
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgY2xpZW50T3JpZ2luLnRvcE9yaWdpbi5z
ZWN1cml0eU9yaWdpbigpLCBtX2RvY3VtZW50LT5pZGJDb25uZWN0aW9uUHJveHkoKSwgbV9kb2N1
bWVudC0+c29ja2V0UHJvdmlkZXIoKSwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJs
ZWQoKSkpCiAgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKGNhY2hlU3RvcmFnZVByb3ZpZGVy
KQorICAgICwgbV9jbGllbnRJZGVudGlmaWVyKCppbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRl
bnRpZmllcikKIHsKLSAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5j
b250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmFkZCh0
aGlzKTsKKyAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlu
cyhtX2NsaWVudElkZW50aWZpZXIpKTsKKyAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkuYWRkKG1fY2xpZW50SWRlbnRpZmllciwgdGhpcyk7CiAKICAgICBzdGF0aWMgYm9vbCBhZGRl
ZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtOTgsOCArMTA0LDggQEAg
U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJl
ZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFcKIAogU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6On5TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eSgpCiB7Ci0gICAgQVNTRVJUKGFsbFNoYXJlZFdvcmtlclRocmVh
ZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJv
eGllcygpLnJlbW92ZSh0aGlzKTsKKyAgICBBU1NFUlQoYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJv
eGllcygpLmNvbnRhaW5zKG1fY2xpZW50SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtl
clRocmVhZFByb3hpZXMoKS5yZW1vdmUobV9jbGllbnRJZGVudGlmaWVyKTsKIH0KIAogU2hhcmVk
V29ya2VySWRlbnRpZmllciBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6aWRlbnRpZmllcigpIGNv
bnN0CkBAIC0xNzUsNyArMTgxLDcgQEAgdm9pZCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6c2V0
UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWRCeVdlYkluc3BlY3Rvcihib29sKQogCiB2b2lkIFNoYXJl
ZFdvcmtlclRocmVhZFByb3h5OjpuZXR3b3JrU3RhdGVDaGFuZ2VkKGJvb2wgaXNPbkxpbmUpCiB7
Ci0gICAgZm9yIChhdXRvKiBwcm94eSA6IGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKSkK
KyAgICBmb3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLnZh
bHVlcygpKQogICAgICAgICBwcm94eS0+bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGlzT25MaW5l
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4
dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCmluZGV4IGRhYjNhMTIzZGVlMThk
YmI2MjRkNzdmNThlZDk4ZDQ0OTRjN2ZhOTkuLjQwZTAwNmM2MTE1NmViNmIwOWYxZWI3NTc2OTk3
ZTQ4MDBhZjhiYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2Nv
bnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKQEAgLTQxLDEyICs0
MSwxNSBAQCBjbGFzcyBTaGFyZWRXb3JrZXJUaHJlYWQ7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47
CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eT4sIHB1YmxpYyBXb3JrZXJP
YmplY3RQcm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5LCBwdWJsaWMgV29ya2VyRGVidWdn
ZXJQcm94eSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGlj
IFJlZjxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eT4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJl
dHVybiBhZG9wdFJlZigqbmV3IFNoYXJlZFdvcmtlclRocmVhZFByb3h5KHN0ZDo6Zm9yd2FyZDxB
cmdzPihhcmdzKS4uLikpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgflNoYXJlZFdvcmtlclRocmVh
ZFByb3h5KCk7CiAKKyAgICBzdGF0aWMgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIGJ5SWRlbnRp
ZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisKICAgICBTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdDsKICAgICBTaGFyZWRXb3JrZXJUaHJlYWQm
IHRocmVhZCgpIHsgcmV0dXJuIG1fd29ya2VyVGhyZWFkOyB9CiAKQEAgLTU0LDcgKzU3LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCgpIHsgbV9pc1Rl
cm1pbmF0aW5nT3JUZXJtaW5hdGVkID0gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFdFQkNPUkVf
RVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRX
b3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJGZXRjaFJlc3VsdCYm
LCBXb3JrZXJPcHRpb25zJiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQ
cm92aWRlciYpOworICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVu
aXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmln
aW4mLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YSYmLCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOwogCiAgICAgLy8gV29ya2VyT2Jq
ZWN0UHJveHkuCiAgICAgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3Ry
aW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25z
dCBTdHJpbmcmIHNvdXJjZVVSTCkgZmluYWw7CkBAIC04Miw2ICs4NSw3IEBAIHByaXZhdGU6CiAg
ICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVm
UHRyPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlvbjsKICAg
ICBib29sIG1faXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCB7IGZhbHNlIH07CisgICAgU2NyaXB0
RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9jbGllbnRJZGVudGlmaWVyOwogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4IGVkNzNmMGE3MTIyNmY1YmVmMzgy
YzBmY2I2ZDFjOWZkZmZkODY0N2MuLjU0YzRlODhkYjQ3MTVhMTE3M2ZmMDc1ZDM4ZTg1MWViZTRm
OTgzZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEyMTUsMTIgKzEyMTUsMjEgQEAgdm9pZCBOZXR3b3Jr
UmVzb3VyY2VMb2FkZXI6OnJlc3RhcnROZXR3b3JrTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmJiBuZXdSZXEKICAgICBzdGFydE5ldHdvcmtMb2FkKFdURk1vdmUobmV3UmVxdWVzdCksIEZp
cnN0TG9hZDo6Tm8pOwogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorc3RhdGljIGJv
b2wgc2hvdWxkVHJ5VG9NYXRjaFJlZ2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24oY29uc3QgRmV0Y2hP
cHRpb25zJiBvcHRpb25zLCBib29sIGlzU2VydmljZVdvcmtlckxvYWRlZCkKK3sKKyAgICBpZiAo
b3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpCisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIHJldHVybiBpc1NlcnZpY2VXb3JrZXJMb2FkZWQgJiYgKG9wdGlvbnMu
ZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG9wdGlv
bnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2Vy
KTsKK30KKyNlbmRpZgorCiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxs
U2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgYm9vbCBpc0FsbG93ZWRU
b0Fza1VzZXJGb3JDcmVkZW50aWFscykKIHsKICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRp
bnVlV2lsbFNlbmRSZXF1ZXN0OiAoaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHM9JWQp
IiwgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHMpOwogCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQotICAgIGlmIChwYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0
aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgKHBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciAmJiBtX3NlcnZpY2VXb3JrZXJG
ZXRjaFRhc2spKSB7CisgICAgaWYgKHNob3VsZFRyeVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGly
ZWN0aW9uKHBhcmFtZXRlcnMoKS5vcHRpb25zLCAhIW1fc2VydmljZVdvcmtlckZldGNoVGFzaykp
IHsKICAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uID0geyB9OwogICAgICAgICBp
ZiAoYXV0byBzZXJ2aWNlV29ya2VyRmV0Y2hUYXNrID0gbV9jb25uZWN0aW9uLT5jcmVhdGVGZXRj
aFRhc2soKnRoaXMsIG5ld1JlcXVlc3QpKSB7CiAgICAgICAgICAgICBMT0FERVJfUkVMRUFTRV9M
T0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiBDcmVhdGVkIGEgU2VydmljZVdvcmtlckZldGNo
VGFzayB0byBoYW5kbGUgdGhlIHJlZGlyZWN0IChmZXRjaElkZW50aWZpZXI9JSIgUFJJdTY0ICIp
Iiwgc2VydmljZVdvcmtlckZldGNoVGFzay0+ZmV0Y2hJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGIzZGQ0YTUyODIw
OTI0ZDkwMTI0OTEzNzE3ZmJiMjAyNWFmNTUzOWMuLmJhMWRjZTJmODFjYmYyMzBjM2UwM2QzMGZm
N2RhZmZlZjJjZTcyZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3Bw
CkBAIC0xNjksNiArMTY5LDggQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xD
bGllbnQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHAKICAgICBTZXJ2aWNl
V29ya2VyQ2xpZW50VHlwZSBjbGllbnRUeXBlOwogICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMu
ZGVzdGluYXRpb24gID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikKICAgICAg
ICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxz
ZSBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpCisgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZTo6U2hhcmVkd29ya2VyOwogICAgIGVsc2UKICAgICAgICAgY2xpZW50VHlw
ZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXaW5kb3c7CiAKQEAgLTIwMSw3ICsyMDMsNyBA
QCBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtlckZldGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAg
IHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IHNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyOwotICAgIGlmIChsb2FkZXIucGFyYW1ldGVy
cygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRl
ci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3Rp
bmF0aW9uOjpXb3JrZXIpIHsKKyAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygp
Lm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
IHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpIHsKICAgICAgICAgYXV0byB0b3BPcmlnaW4g
PSBsb2FkZXIucGFyYW1ldGVycygpLmlzTWFpbkZyYW1lTmF2aWdhdGlvbiA/IFNlY3VyaXR5T3Jp
Z2luRGF0YTo6ZnJvbVVSTChyZXF1ZXN0LnVybCgpKSA6IGxvYWRlci5wYXJhbWV0ZXJzKCkudG9w
T3JpZ2luLT5kYXRhKCk7CiAgICAgICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IGRvUmVnaXN0cmF0
aW9uTWF0Y2hpbmcodG9wT3JpZ2luLCByZXF1ZXN0LnVybCgpKTsKICAgICAgICAgaWYgKCFyZWdp
c3RyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJl
ZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5oCmluZGV4IDEzOWY2MDcwMjA2MGUwNGE2ODky
YjdmMWEzNTc4ZTgyZDA2NmJhMjguLjAzYTNkZDVkMzY1YmY4NjFhOGU4YjU5ZTRjZDY0N2RjNTUy
M2QzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJG
ZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1dl
YWtQdHIuaD4KIApAQCAtNzIsNyArNzMsOSBAQCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrQXNSdW5u
aW5nKCkgeyBtX2lzUnVubmluZyA9IHRydWU7IH0KIAogICAgIGNvbnN0IFdlYkNvcmU6Oldvcmtl
ckZldGNoUmVzdWx0JiBmZXRjaFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1fZmV0Y2hSZXN1bHQ7
IH0KKyAgICBjb25zdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmIGluaXRpYWxp
emF0aW9uRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbGl6YXRpb25EYXRhOyB9CiAgICAg
dm9pZCBzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVz
dWx0KSB7IG1fZmV0Y2hSZXN1bHQgPSBXVEZNb3ZlKGZldGNoUmVzdWx0KTsgfQorICAgIHZvaWQg
c2V0SW5pdGlhbGl6YXRpb25EYXRhKFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYm
IGluaXRpYWxpemF0aW9uRGF0YSkgeyBtX2luaXRpYWxpemF0aW9uRGF0YSA9IFdURk1vdmUoaW5p
dGlhbGl6YXRpb25EYXRhKTsgfQogICAgIGJvb2wgZGlkRmluaXNoRmV0Y2hpbmcoKSBjb25zdCB7
IHJldHVybiAhIW1fZmV0Y2hSZXN1bHQuc2NyaXB0OyB9CiAKIHByaXZhdGU6CkBAIC05Miw2ICs5
NSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyBtX3dvcmtlck9wdGlv
bnM7CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBT
aGFyZWRXb3JrZXJPYmplY3RTdGF0ZT4gbV9zaGFyZWRXb3JrZXJPYmplY3RzOwogICAgIFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0IG1fZmV0Y2hSZXN1bHQ7CisgICAgV2ViQ29yZTo6V29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhIG1faW5pdGlhbGl6YXRpb25EYXRhOwogICAgIGJvb2wgbV9pc1J1
bm5pbmcgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2Vi
U2hhcmVkV29ya2VyU2VydmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKaW5kZXggOWE2OWYxMzhmOWY1ZGMz
MzZmMDMzOGE3MGM1NGUxMTIzZTQ2MmQ0Yy4uMzFmM2VlMDZhYmI4MjQyYzljOWUxNjJkNTg2YjQw
NTEzYTJjOTJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFy
ZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04
NywxMyArODcsMTMgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRX
b3JrZXIoV2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVy
Q29ubmVjdGlvbik7CiAKICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRX
b3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIg
c2NyaXB0IGluIGNsaWVudCIpOwotICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5D
bGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtU
aGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVk
V29ya2VyIH1dKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAg
ICBzZXJ2ZXJDb25uZWN0aW9uLT5mZXRjaFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9
LCBzaGFyZWRXb3JrZXIgPSBXZWFrUHRyIHsgKnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hS
ZXN1bHQsIGF1dG8mJiBpbml0aWFsaXphdGlvbkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlz
ICYmIHNoYXJlZFdvcmtlcikKLSAgICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGlu
Z1NoYXJlZFdvcmtlclNjcmlwdCgqc2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7
CisgICAgICAgICAgICB3ZWFrVGhpcy0+ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3Jp
cHQoKnNoYXJlZFdvcmtlciwgV1RGTW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6
YXRpb25EYXRhKSk7CiAgICAgfSk7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpk
aWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJl
ZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQg
V2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlw
dChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJiBmZXRjaFJlc3VsdCwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5p
dGlhbGl6YXRpb25EYXRhKQogewogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNo
YXJlZFdvcmtlclNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hh
cmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNz
PSVkIiwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2Vy
LCBmZXRjaFJlc3VsdC5lcnJvci5pc051bGwoKSk7CiAKQEAgLTEwOCw2ICsxMDgsNyBAQCB2b2lk
IFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3Jp
cHQoV2ViU2hhcmVkV29ya2VyJgogICAgIH0KIAogICAgIHNoYXJlZFdvcmtlci5zZXRGZXRjaFJl
c3VsdChXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgc2hhcmVkV29ya2VyLnNldEluaXRpYWxp
emF0aW9uRGF0YShXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSkpOwogCiAgICAgaWYgKGF1dG8q
IGNvbnRleHRDb25uZWN0aW9uID0gc2hhcmVkV29ya2VyLmNvbnRleHRDb25uZWN0aW9uKCkpIHsK
ICAgICAgICAgY29udGV4dENvbm5lY3Rpb24tPmxhdW5jaFNoYXJlZFdvcmtlcihzaGFyZWRXb3Jr
ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAppbmRleCBiMjA2YWYyYzBlYzJi
MjhlMTE5NjgzZGRlMGRmNzQwMWQwODgyOTZlLi5lNjM3MGQ3MzM0MzE0Y2U3ZTczYzlhMmFmYjcw
MjUzNmJlNWFjOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1No
YXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaApAQCAtNDIs
NiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBz
dHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
Owogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTc3LDcgKzc4LDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJh
YmxlRG9tYWluJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcj4gcmVx
dWVzdGluZ1Byb2Nlc3NJZGVudGlmaWVyKTsKICAgICBib29sIG5lZWRzQ29udGV4dENvbm5lY3Rp
b25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYp
IGNvbnN0OwogICAgIHZvaWQgY29udGV4dENvbm5lY3Rpb25DcmVhdGVkKFdlYlNoYXJlZFdvcmtl
clNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKLSAgICB2b2lkIGRpZEZpbmlzaEZldGNoaW5n
U2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OldvcmtlckZldGNo
UmVzdWx0JiYpOworICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQo
V2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgc2h1dERvd25TaGFyZWRXb3Jr
ZXIoY29uc3QgV2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5Jik7CiAKICAgICBOZXR3b3JrU2Vzc2lv
biYgbV9zZXNzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJD
b25uZWN0aW9uLmNwcAppbmRleCA5YTZkMzY1ZTMwYzhmZmIwZjdhNWQyNDZkZmVmYWFiNmIyNWE4
YmUxLi4xMmYzNWY1NWU5NTFlODk5M2M2NTk3NGZlZTA3ZWY1NjU4MzkyNjQyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3Jr
ZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTE0
LDcgKzExNCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6cmVzdW1l
Rm9yQmFja0ZvcndhcmRDYWNoZShXZWJDb3JlOjpTaGFyZWRXCiAgICAgICAgIHNlc3Npb24tPmVu
c3VyZVNoYXJlZFdvcmtlclNlcnZlcigpLnJlc3VtZUZvckJhY2tGb3J3YXJkQ2FjaGUoc2hhcmVk
V29ya2VyS2V5LCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdl
YlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGll
bnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
Q09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zIiwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6V2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6RmV0Y2hTY3JpcHRJbkNsaWVu
dCB7IHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgc2hh
cmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSB9LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgKaW5k
ZXggYjQxOTE5NjVjMzQyNWZmMWUwNmFmMzdlNGJhMjViNDUyYzgyZmZiOC4uZjFiNzEyYjdjODQy
Njg1OTFiNzE1NjM2NjZkNGM4ZmQ2NTZjMDFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2Rl
ciYpIGZpbmFsOwogCi0gICAgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJl
ZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIHZv
aWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3JrZXImLCBXZWJDb3JlOjpT
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0
YSYmKT4mJik7CiAgICAgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdl
YkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlRXJyb3ImKTsKICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChXZWJDb3Jl
OjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCA1ZTQzZjExY2YzYTZjMzRmOTk3N2Q1NGZi
YTY2MWE1M2M5YmEzMzE0Li5lNmM5NjhkNDg4ZGUyZWY1NDE3NGZlNzQzNWI5ODQ4MDdmNGJjMmI3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJU
b0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtOTksNyArOTksNyBAQCB2b2lkIFdlYlNoYXJlZFdv
cmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJTaGFy
ZWRXb3JrZQogewogICAgIENPTlRFWFRfQ09OTkVDVElPTl9SRUxFQVNFX0xPRygibGF1bmNoU2hh
cmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCwgc2hhcmVkV29ya2Vy
LmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICBzaGFyZWRXb3JrZXIubWFya0FzUnVubmlu
ZygpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9yaWdpbigpLCBzaGFy
ZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9ucygpLCBzaGFy
ZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSB9KTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OkxhdW5jaFNoYXJlZFdvcmtlciB7IHNoYXJl
ZFdvcmtlci5vcmlnaW4oKSwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKSwgc2hhcmVkV29ya2Vy
Lndvcmtlck9wdGlvbnMoKSwgc2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCksIHNoYXJlZFdvcmtl
ci5pbml0aWFsaXphdGlvbkRhdGEoKSB9KTsKICAgICBzaGFyZWRXb3JrZXIuZm9yRWFjaFNoYXJl
ZFdvcmtlck9iamVjdChbJl0oYXV0bywgYXV0byYgcG9ydCkgewogICAgICAgICBwb3N0Q29ubmVj
dEV2ZW50KHNoYXJlZFdvcmtlciwgcG9ydCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApp
bmRleCAxNzgwY2FjN2I2YTc3N2JmMTNmODIzMjQ1N2U1NGQzOTExNWVkYzBlLi45NGQ5M2Q5Zjk0
MjVlYThlMDYwYTVhNjY4YmI1MDgyZTlkNjY5MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAg
LTE5Miw2ICsxOTIsNyBAQCB2b2lkIFdlYlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0U2VydmljZVdv
cmtlckNsaWVudElzQ29udHJvbGxlZChTY3JpcHRFeGVjdXRpb25DbwogICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtlciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyKFdURk1vdmUoKmRhdGEuYWN0aXZlV29ya2VyKSkgOiBmYWxzZSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CisKICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtl
ckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4
IDJiZmY2MGFiY2YwMTM0OGQ4YWNmM2M0NzIzODliYjUwMGFhMmQzMmUuLmUxOTU3ZTIzNTAzYzI5
OWU4MzA0YWRhYzNhM2ZlNjFjYmZjZjcxMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Vz
ZXJBZ2VudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oPgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIApAQCAtODksNyArOTAsNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1f
cHJlZmVyZW5jZXNTdG9yZSA9IHN0b3JlOwogfQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV2Vi
Q29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2Vi
Q29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlm
aWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3Jr
ZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0
LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEp
CiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50
aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAg
IGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhF
bXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAtMTEw
LDggKzExMSwxMiBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudAogICAgICAgICBXZWJQYWdlOjp1
cGRhdGVTZXR0aW5nc0dlbmVyYXRlZCgqbV9wcmVmZXJlbmNlc1N0b3JlLCBwYWdlLT5zZXR0aW5n
cygpKTsKICAgICAgICAgcGFnZS0+c2V0dGluZ3MoKS5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3ko
c3RhdGljX2Nhc3Q8V2ViQ29yZTo6U3RvcmFnZUJsb2NraW5nUG9saWN5PihtX3ByZWZlcmVuY2Vz
U3RvcmUtPmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzdG9yYWdlQmxv
Y2tpbmdQb2xpY3lLZXkoKSkpKTsKICAgICB9CisKKyAgICBpZiAoIWluaXRpYWxpemF0aW9uRGF0
YS51c2VyQWdlbnQuaXNFbXB0eSgpKQorICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEudXNlckFn
ZW50ID0gbV91c2VyQWdlbnQ7CisKICAgICBwYWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3Jr
ZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0
Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kpOwotICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFn
ZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJl
c3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpKTsKKyAgICBhdXRvIHNoYXJlZFdvcmtl
clRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShX
VEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29y
a2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxp
emF0aW9uRGF0YSksIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVy
KCkpOwogCiAgICAgV2ViQ29yZTo6U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRv
bigpLnJlZ2lzdGVyU2hhcmVkV29ya2VyVGhyZWFkKFdURk1vdmUoc2hhcmVkV29ya2VyVGhyZWFk
UHJveHkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmgKaW5kZXggYWIzNWNiZDAxODg1Y2ViMzc2MTMxMGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBi
OGU2ZjE0MWJkYTJhYzJjZDdiYzRiNTljYzA4MTAzN2U4N2U5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0
Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtl
ck9wdGlvbnM7CiB9CiAKQEAgLTU4LDcgKzU5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAg
IC8vIElQQyBNZXNzYWdlcy4KLSAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6
V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lk
IGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7
CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3Rv
cmUmKTsKICAgICB2b2lkIHNldFVzZXJBZ2VudChTdHJpbmcmJiB1c2VyQWdlbnQpIHsgbV91c2Vy
QWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCk7IH0KICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4KaW5kZXggODJkNWRlZGY4ZmFjNGIzZmRjNDVkNTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZk
Y2FmMjdhNzRlYTUzNjU5YTM1ZmFhNWFkMWYxZWIwY2YyYWQ1YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpA
QCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24gTm90UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNo
U2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3Jl
OjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBX
ZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3Jr
ZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJlc3VsdCkKKyAgICBMYXVuY2hTaGFyZWRXb3JrZXIo
c3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtl
cklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtl
ck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0
IHdvcmtlckZldGNoUmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25E
YXRhIHdvcmtlckluaXRpYWxpemF0aW9uRGF0YSkKICAgICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNv
cmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBwb3J0LCBTdHJpbmcgc291cmNlT3JpZ2luKQogICAg
IFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNo
YXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRlUHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3Qg
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggYzI2OWZkMjZhOTFlYmZjYjRj
NTRmMGQ2YzllMGViM2U0YjBkZjYzMi4uYjZjMDRkNjY0YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUx
YzM3OGRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+
IFdlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24gewotICAgIEZldGNoU2NyaXB0SW5DbGll
bnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3Jr
ZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVz
dWx0KQorICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29y
a2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3Qg
V2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6
OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5p
dGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSkKICAgICBOb3RpZnlXb3JrZXJPYmpl
Y3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJv
cikKICAgICBQb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTdHJpbmcgZXJy
b3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgU3RyaW5nIHNvdXJj
ZVVSTCkKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDkyNzZmNDdlOTFhZDYz
NWI1MjI1MTg5NjM3Nzc3NWNkZDNkMjAwOGIuLmNmZjgxZTUyMTk4ZDYzMjJiOWFlZjdjNjY5YzEz
ZjM2NzlhNzY0ZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDIyLTA0LTE0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAg
ICAgICBTaGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0
aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5
MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
Z2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxs
LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9u
LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0
cHMtZXhwZWN0ZWQudHh0OgorCiAyMDIyLTA0LTEzICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBzZXJ2aWNlIHdvcmtlciBjbGll
bnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5nIGZvciBkZWRpY2F0ZWQgd29y
a2VycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5
cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZGY3MzVmYWZkMDdiZjYxOTNjZDNk
YjAxNTQzZTU3YTE3ODE0N2MyMi4uODkyOTYxOWE1YzkyOTRlNDU3YWJiODc5ZDdhOGFjZDk3ZGQ3
YTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5
cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdl
dC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogCi1GQUlM
IFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQgd29ya2VyIGNsaWVudHMgYXNzZXJ0
X25vdF9lcXVhbHM6IFNoYXJlZCB3b3JrZXIgY2xpZW50IHNob3VsZCBub3QgYmUgdW5kZWZpbmVk
IGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFTUyBUZXN0IENsaWVudHMuZ2V0KCkg
d2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4
cGVjdGVkLnR4dAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5MjdjOWY3ZWI1ZmZmZWFhYzcxMGFl
Li4xOTU3ZGVjYzg3OTcyMWM2YjYyMjVjZDAzYzE1ZDk4ZGExYWQyNTlmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQt
dHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiBQQVNTIFZlcmlmeSBt
YXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgp
IHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBhc3NlcnRf
ZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgVmVyaWZ5IG1h
dGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5cGVz
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVk
aXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVy
Y2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmExNGVkZmUyMmNlMDky
YTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNkYWExYzRlYjM4NjlhNDMzODJlOGQy
MjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2Vw
dGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEwLDEy
ICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBS
ZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIg
KG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNs
YXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9k
dWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29w
ZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJy
b3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJy
b3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIGNsZWFudXAgZ2xvYmFsIHN0YXRl
CiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMjMsMTEgKzIzLDEx
IEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0
Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGlj
YXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2Ny
aXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3Jr
IChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3Np
YyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgp
OiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgp
OiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQ
QVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29w
ZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBD
YXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRj
aCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2gg
ZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxl
IChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMy
OiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1w
b3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAgLTM1LDExICszNSwxMSBAQCBQQVNT
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29y
a2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNj
b3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2Ug
IzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZl
dGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBE
ZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBvcnQtc2Ny
aXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBuZXR3b3Jr
IgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJl
ZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBz
YXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4
dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzI6IG5ldHdvcmsg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBD
YXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwg
bG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUg
d29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUu
dHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1MgQ2FzZSAj
MjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2go
KSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvaW1wb3J0LXNjcmlwdHMt
ZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjog
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1z
Y3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNo
KCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNo
KCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCkBAIC00NywxMCArNDcs
MjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIEZBSUwgQ2Fz
ZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1
YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Nj
b3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24u
aHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0
X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIw
dGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRl
cmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBvcnQtc2Ny
aXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1w
b3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNs
YXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0
Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0
Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVm
KSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9z
dDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dv
cmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNh
dyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3Qg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHki
CitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBp
bXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTog
c3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTog
c3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2Vy
dF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29ya2VyX2lu
dGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhl
JTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIKIFBBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBp
bXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFz
c2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBD
YXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1w
b3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitQQVNTIENhc2Ug
IzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2Ny
aXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFy
ZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2FzZSAjNDogc3cgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BB
U1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZl
dGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93
b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGFiYTE5MDA2OTRj
NGU0OTk0YWE4NjgzOTUyNTg0MGE1ZDZmNTdkOGEuLjAwYWVhMmM4YTZiOGEwZDA2OTVlNzQ2OGNm
MjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRl
cmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2IEBACiAKIFBB
U1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBh
IHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2Vy
dmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNhdGVkIHdvcmtl
ciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1lbnQgc2hvdWxk
IG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBW
ZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250
cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdv
cmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVm
aW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBm
cm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93
biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlw
dCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIGRlZGlj
YXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2Vy
dmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFyZWQgd29y
a2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZp
bmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEg
c2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFyZWQgd29ya2VyLgogUEFT
UyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIg
ZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgY29ycyB3b3JrZXIg
c2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3Rh
cnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2Vy
dmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBB
U1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBSZWdpc3Rl
ciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRl
c3RzLgogUEFTUyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgY29udHJvbGxlZCBieSBh
IHNlcnZpY2Ugd29ya2VyLgotRkFJTCBSZXF1ZXN0cyBvbiBhIHNoYXJlZCB3b3JrZXIgY29udHJv
bGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBs
b2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJ7XCJlcnJvclwiOiB7
XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIKK1BBU1MgUmVxdWVzdHMgb24g
YSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KIEZBSUwgUmVx
dWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIGRlZGljYXRlZCB3b3JrZXIg
YW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJVbmV4
cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBGQUlMIFJlcXVlc3Rz
IG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBzaGFyZWQgd29ya2VyIGFuZCBjb250
cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMg
bG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBl
cnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgogUEFTUyBVbnJlZ2lzdGVyIGEgc2Vy
dmljZSB3b3JrZXIgZm9yIHN1YnJlc291cmNlIGludGVyY2VwdGlvbiB0ZXN0cy4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457619</attachid>
            <date>2022-04-14 06:24:32 -0700</date>
            <delta_ts>2022-04-14 08:21:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239122-20220414152429.patch</filename>
            <type>text/plain</type>
            <size>67700</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMjJmOWQ1ZThhY2VkMGIxZWU0ZGVmOTcxYWM2OGQ2
OWI1OThmY2VjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlw
dExvYWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0
YS4KKyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50
Q29ubmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3Qg
bWVzc2FnaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAg
ICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU1dDbGll
bnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
clNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQv
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3
b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVk
aWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUw
ZTUzNjcyMjZkZi4uZjdmZWU0OTlhYmYzNmRlZjQ1MjkyNDM0ODRkNjljNWUyODhkNDZiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZp
Y2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5l
Y3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVk
V29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46
CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVu
dCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCBlMjQ0NTc4NmJiZjYxM2U3ZDU3NzYzMjllZTEyOTc2OGNlOGE1M2RjLi4xMWZj
ZTA2MzU4MjJlZmVmZjM4N2U0NDIyYjhjZGFlMDJkYjYyMTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTE5ODUsNiArMTk4NSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURF
UlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVzdWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZv
bnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVy
UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2JqZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29y
a2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggODgzZjdkM2YxMmFj
ODI3YmUwYzU5YTdhNDIyNzYyNWI0MmNkMDY5OC4uYjIyZWQ3MGFkMjkwY2NkMDViMzIwMDdmYmFm
MmI0ODc1Mjk0YjA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjYzLDcgKzI2
Myw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9u
PHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpCiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tU
b1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkpOwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29y
a2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZp
ZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgcmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRl
bnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCBjYzJiYjhhYTU5M2YyNGE2
N2JkMjA1ZDcxOTQyYjA1N2UyOGM5NmEwLi43Mzc3YmYwOTc4NDVmZDZhZDY2OTViNzlhZTI5MTk3
YTFmYjIzNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKIAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hX
b3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciogd29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdv
cmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9w
dGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGFjNGRlNGI3YzBlZGQ0OTVmMGMwNDU0MjY2NmZiODI2MjcwNWU0OTEuLmRjOGIzODI0
ZWFhYzE3NWJiNjE2ZWUwYTc1ODNlMDZjYThhZDlhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02NTcsNyArNjU3LDcgQEAgdm9pZCBXb3Jr
ZXJHbG9iYWxTY29wZTo6dXBkYXRlU291cmNlUHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNjcmlwdEJ1
ZmZlciYgbWFpblNjcmkKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIFdvcmtlckds
b2JhbFNjb3BlOjp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCiB7Ci0gICAgQVNTRVJU
KHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6VHlwZTo6RGVkaWNhdGVkV29y
a2VyKTsKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpU
eXBlOjpEZWRpY2F0ZWRXb3JrZXIgfHwgdHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNj
b3BlOjpUeXBlOjpTaGFyZWRXb3JrZXIpOwogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6
bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZl
U2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0
OwogICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlv
bigpOwogICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdp
bigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
LmgKaW5kZXggNTY5NzBkMDRhM2E3MGMxODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYS4uMzM5NWI0
NTBiNThjYmRhZjA3MzEzNWYzZmM2NmJlYjVmZTM1MjBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0zNyw2ICszNyw2MCBA
QCBzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKICNlbmRpZgogICAgIHN0ZDo6b3B0
aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXI7
CiAgICAgU3RyaW5nIHVzZXJBZ2VudDsKKworICAgIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBp
c29sYXRlZENvcHkoKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+IGRlY29kZShEZWNvZGVy
Jik7CiB9OwogCitpbmxpbmUgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geworI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VXb3Jr
ZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZGVudGlmaWVyLCB1c2VyQWdlbnQuaXNv
bGF0ZWRDb3B5KCkKKyAgICB9OworfQorCisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lk
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGVuY29kZXIgPDwgc2VydmljZVdv
cmtlckRhdGE7CisjZW5kaWYKKyAgICBlbmNvZGVyIDw8IGNsaWVudElkZW50aWZpZXIgPDwgdXNl
ckFnZW50OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25hbDxXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGE+IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIHN0ZDo6
b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4+IHNlcnZpY2VXb3JrZXJE
YXRhOworICAgIGRlY29kZXIgPj4gc2VydmljZVdvcmtlckRhdGE7CisgICAgaWYgKCFzZXJ2aWNl
V29ya2VyRGF0YSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyNlbmRpZgorCisgICAgc3RkOjpvcHRp
b25hbDxzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPj4gY2xp
ZW50SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGNsaWVudElkZW50aWZpZXI7CisgICAgaWYg
KCFjbGllbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgc3RkOjpvcHRp
b25hbDxTdHJpbmc+IHVzZXJBZ2VudDsKKyAgICBkZWNvZGVyID4+IHVzZXJBZ2VudDsKKyAgICBp
ZiAoIXVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAg
V1RGTW92ZSgqc2VydmljZVdvcmtlckRhdGEpLAorI2VuZGlmCisgICAgICAgIFdURk1vdmUoKmNs
aWVudElkZW50aWZpZXIpLAorICAgICAgICBXVEZNb3ZlKCp1c2VyQWdlbnQpCisgICAgfTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDkxYWRjMGYzMzdiOWM0YjJkZTU0ZGYyN2YxYzZmMWMy
M2YwZDk3ODMuLjRjZDYyY2E2ZDg2MTVjNjk5MzQ3YzJlMzI2NjFhMThkMTRlZjE2MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTE0OCw4
ICsxNDgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEEgc2VydmljZSB3b3Jr
ZXIgam9iIGNhbiBiZSBleGVjdXRlZCBmcm9tIGEgd29ya2VyIGNvbnRleHQgb3IgYSBkb2N1bWVu
dCBjb250ZXh0LgogICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gc2VydmljZVdvcmtl
ck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIC8vIEZJWE1FOiBBZGQgc3Vw
cG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KLSAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpKSB7CisgICAgaWYgKChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OldvcmtlciB8fCBtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OlNoYXJlZHdvcmtlcikgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpKSB7CiAgICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlmaWVyKTsKICAgICAgICAgLy8gSW4g
Y2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2
aWNlIHdvcmtlci4KICAgICAgICAgaWYgKHJlcXVlc3QtPnVybCgpLnByb3RvY29sSXNCbG9iKCkg
JiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCkBAIC0xNjEs
NiArMTYwLDggQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICB9IGVsc2UgaWYgKGF1dG8q
IGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZp
Y2VXb3JrZXIoKSkKICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsK
ICNlbmRpZgorICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNoYXJlZHdvcmtlcikKKyAgICAgICAgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LnVzZXJBZ2VudChzY3JpcHRSZXF1ZXN0LnVybCgpKTsKIAog
ICAgIC8vIER1cmluZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0
aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExv
YWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuaAppbmRleCBiNjhiMDI0ZDYxM2FlMWRmMmU1YTQ5NTFmNTA5ODlhZDY5
NjBlZTQ4Li5mZjEwNzBmZWQ5ZDU0Njg5ZmE3MzM0ZDhmNThkMmIyYzcxY2U0MWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTEwMSw5ICsxMDEs
MTIgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJEYXRh
JiYpOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KICAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0YWtlU2VydmljZVdvcmtlckRhdGEoKSB7IHJldHVybiBz
dGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2VydmljZVdvcmtlckRhdGEsIHsgfSk7IH0KICNlbmRpZgog
CisgICAgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKSBjb25zdCB7IHJl
dHVybiBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsgfQorCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJpZW5kIHN0cnVj
dCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0xMzksNiArMTQy
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gbV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0YTsKICNlbmRp
ZgorICAgIFN0cmluZyBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggODhiNGQ4NGM4OWU5OWMxYzRmMjVhMDgyMzFl
NDExZGY1OTA3NGQ1MS4uZjA4ZDAxNjNkNWZhYzlhYWUyYTQ5YTExMDA4M2JjNjVhNjIzYzczMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDggQEAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9i
RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRl
ICJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlci5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRo
cmVhZC5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZFByb3h5LmgiCiAjaW5jbHVkZSAi
V29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNsdWRlIDx3dGYv
Q3Jvc3NUaHJlYWRDb3BpZXIuaD4KQEAgLTExMywxOCArMTE1LDMzIEBAIHZvaWQgU1dDbGllbnRD
b25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JJZGVu
dGlmaWVyIGpvCiAgICAgICAgIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoeyBzZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllcigpLCBqb2JJZGVudGlmaWVyIH0sIFdURk1vdmUocmVnaXN0cmF0
aW9uS2V5KSwgd29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgZXJyb3JEb21haW5XZWJL
aXRJbnRlcm5hbCwgMCwgeyB9LCBtYWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2ggc2NyaXB0IGZv
ciBzZXJ2aWNlIHdvcmtlciB3aXRoIHNjb3BlICIsIHJlZ2lzdHJhdGlvbktleS5zY29wZSgpLnN0
cmluZygpKSB9KSk7CiB9CiAKK3N0YXRpYyB2b2lkIHBvc3RNZXNzYWdlVG9Db250YWluZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBt
ZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZURhdGEsIFN0cmluZyYmIHNvdXJjZU9y
aWdpbikKK3sKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5lbnN1cmVTZXJ2aWNl
V29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgIGNvbnRhaW5lci0+cG9zdE1lc3NhZ2UoV1RGTW92
ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsK
K30KIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4
dElkZW50aWZpZXIsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnZSwgU2VydmljZVdv
cmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4pCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIC8vIEZJWE1FOiBkZXN0aW5hdGlvbkNvbnRleHRJ
ZGVudGlmaWVyIGNhbiBvbmx5IGlkZW50aWZ5IGEgRG9jdW1lbnQgYXQgdGhlIG1vbWVudC4KLSAg
ICBhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgp
LmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKTsKLSAgICBpZiAoIWRlc3RpbmF0aW9u
RG9jdW1lbnQpCisgICAgaWYgKGF1dG8qIGRlc3RpbmF0aW9uRG9jdW1lbnQgPSBEb2N1bWVudDo6
YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoKmRlc3RpbmF0aW9uRG9jdW1lbnQsIFdURk1v
dmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7
CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBpZiAoYXV0byogY29udGFpbmVyID0gZGVz
dGluYXRpb25Eb2N1bWVudC0+ZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigpKQotICAgICAg
ICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNl
RGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7CisgICAgaWYgKGF1dG8qIHdvcmtlciA9IFdv
cmtlcjo6YnlJZGVudGlmaWVyKGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7CisgICAg
ICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFttZXNzYWdlID0gV1RGTW92
ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSksIHNvdXJjZU9yaWdp
biA9IFdURk1vdmUoc291cmNlT3JpZ2luKS5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQp
IG11dGFibGUgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2VUb0NvbnRhaW5lcihjb250ZXh0LCBX
VEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdp
bikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdXRv
KiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6YnlJZGVudGlmaWVyKGRl
c3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7CisgICAgICAgIHNoYXJlZFdvcmtlci0+dGhy
ZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFttZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291
cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSksIHNvdXJjZU9yaWdpbiA9IFdURk1vdmUoc291
cmNlT3JpZ2luKS5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAg
ICAgICAgICAgcG9zdE1lc3NhZ2VUb0NvbnRhaW5lcihjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2Up
LCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgICAgICB9
KTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIGZvckFsbFdvcmtlcnMoY29uc3QgRnVuY3Rpb248
RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+JiBjYWxsYmFjaykKQEAg
LTI0NCwxMyArMjYxLDE4IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpub3RpZnlDbGllbnRz
T2ZDb250cm9sbGVyQ2hhbmdlKGNvbnN0IEhhc2hTZXQ8U2NyaXB0RXhlCiAgICAgICAgICAgICB1
cGRhdGVDb250cm9sbGVyKCpkb2N1bWVudCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdDb250cm9s
bGVyIH0pOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGF1
dG8qIHdvcmtlciA9IFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIp
KSB7CisgICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihjbGll
bnRJZGVudGlmaWVyKSkgewogICAgICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xv
YmFsU2NvcGUoW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAo
YXV0byYgY29udGV4dCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxl
cihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQg
c2hhcmVkIHdvcmtlcnMuCisgICAgICAgIGlmIChhdXRvKiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRX
b3JrZXJUaHJlYWRQcm94eTo6YnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAg
ICAgICAgICBzaGFyZWRXb3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbmV3Q29u
dHJvbGxlciA9IG5ld0NvbnRyb2xsZXIuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBt
dXRhYmxlIHsKKyAgICAgICAgICAgICAgICB1cGRhdGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1v
dmUobmV3Q29udHJvbGxlcikpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGRiOGQ0MDBh
Mzc1NDRkYzhiZTIxZGMxMDZiMjMxNjBiNDgxZjhhMGEuLjk0ZjE1NDk1MDQ1OGNlNmM1YjI4MWU1
YjQwYTcwM2JhZDRjODI3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJQcm92aWRlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRl
ICJTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0
LmgiCiAjaW5jbHVkZSAiV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTEzMyw3ICsxMzQsNyBAQCBhdXRvIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6Y29udHJvbGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMgYW5kIGRlZGljYXRlZCB3b3JrZXJzIGNhbiBoYXZlIGEgY29udHJv
bGxlciBhdCB0aGUgbW9tZW50LiIpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIWNvbnRleHQg
fHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZT4oKmNvbnRleHQpICB8fCBpczxTaGFyZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8
ICFjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cywgZGVkaWNh
dGVkIGFuZCBzaGFyZWQgd29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIuIik7CiAgICAgcmV0
dXJuIGNvbnRleHQgPyBjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEy
YTM5Njg3ZTU1YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2
MmQ2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAK
IFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0
aW9uKCkgPSBkZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZl
dGNoU2NyaXB0SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3
b3JrZXJPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9u
OjpmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3Vs
dCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9
IFNoYXJlZFdvcmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
cik7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2Jq
ZWN0KTsKICAgICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5
cGU6OkNhbmNlbGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3
b3JrZXJGZXRjaEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5j
ZWxsYXRpb24gfSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRl
cklkZW50aWZpZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3
b3JrZXJPcHRpb25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAg
bV9sb2FkZXJzLmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAg
bG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNo
UmVzdWx0KSBtdXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50
aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1
dG8mJiBmZXRjaFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAg
ICAgICAgIENPTk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlz
aGVkIHNjcmlwdCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkp
OwogICAgICAgICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIp
OwogICAgICAgICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShmZXRjaFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZl
dGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyT2JqZWN0Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFkNTliN2Y3ZmIw
MGQ1ZTA1OWJiNzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTkyYWMwMGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtl
ckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBX
b3JrZXJPcHRpb25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVi
bGljIFJlZkNvdW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTIsNyAr
NTMsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpT
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdv
cmtlckZldGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdl
YkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3Im
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChT
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVk
OThhMzZjOWUyMzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0OWZmYmQ4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVk
ZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRh
dGEuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0
TG9hZGVyLmgiCiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6
OlNoYXJlZFdvcmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtlciYgd29yawog
ewogfQogCi12b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9p
ZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
b3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVyKTsKICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBh
dXRvIHNvdXJjZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSA/IFdvcmtl
clNjcmlwdExvYWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3JpcHRMb2FkZXI6
OlNvdXJjZTo6Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJv
bm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVl
c3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25z
LCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdv
cmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAg
ICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3Jr
ZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFy
ZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtl
clNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5M
b29wOjpkZWZhdWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSk7CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZl
UmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCA9IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+
ZmFpbGVkKCkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0
ZWQoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9h
ZGVyLT5zY3JpcHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9h
ZGVyLT5mZXRjaFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhh
bmRsZXIobV9sb2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7
CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+dGFrZVNlcnZp
Y2VXb3JrZXJEYXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZp
ZXIoKSwKKyAgICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpCisgICAg
fSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIuaAppbmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40
NWU2NWZmNmMwMzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIu
aApAQCAtNDAsMTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YTsKIGNsYXNzIFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAK
IGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBT
aGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlv
bnMmJik7CiAKLSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29y
a2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAg
IGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3Jr
ZXImIHdvcmtlcigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBA
IHByaXZhdGU6CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29u
c3QgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJs
OwotICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29t
cGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJl
c3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5k
ZXggNTg1OTlhYmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3OTY0YzlkZjcy
YWExYzkwZmE0M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApA
QCAtNDMsNyArNDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQo
U2hhcmVkV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2Jh
bFNjb3BlPiBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmln
aW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0co
U2hhcmVkV29ya2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2Jh
bFNjb3BlOiBtX2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50
NjQoKSk7Ci0gICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpl
eGNoYW5nZShtX25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMs
IFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVy
KCkpOworICAgIGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0
ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0
aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92
aWRlcigpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMu
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2Vy
KFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0
YSB7ICpwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVy
biBzY29wZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRo
cmVhZFByb3h5LmNwcAppbmRleCAzMzcxODQzNGIwOTVlMTg2NDBiODM3MGRhNWViMzYxNzljYjc0
MmU2Li45NzEzOTNlZWU1ODNlZWQ3NjliNjRmYTQ1Y2I0MDc5ZDIyZjc5YTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVh
ZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1No
YXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNDksMTkgKzQ5LDE5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYg
YWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hh
cmVkV29ya2VyVGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhh
c2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4+IG1hcDsKKyAgICByZXR1cm4gbWFw
OwogfQogCi1zdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERvY3VtZW50JiBkb2N1
bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhj
b25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMm
JiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlv
bkRhdGEsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gewogICAgICAgICB3b3Jr
ZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAgICAgd29ya2VyT3B0aW9ucy5uYW1l
LAogICAgICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9y
eTo6Y3JlYXRlSWRlbnRpZmllcigpLAotICAgICAgICB1c2VyQWdlbnQsCisgICAgICAgIFdURk1v
dmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCksCiAgICAgICAgIHBsYXRmb3JtU3RyYXRl
Z2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLAogICAgICAgICB3b3JrZXJGZXRj
aFJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIGZhbHNlLApAQCAtNzQsMjAg
Kzc0LDI2IEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVy
cyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyCiAgICAgICAgIFdvcmtlclRocmVhZE1v
ZGU6OkNyZWF0ZU5ld1RocmVhZCwKICAgICAgICAgeyB9LAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKLSAgICAgICAgeyB9LAorICAgICAgICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YS5z
ZXJ2aWNlV29ya2VyRGF0YSksCiAjZW5kaWYKLSAgICAgICAgeyB9CisgICAgICAgIGluaXRpYWxp
emF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyIHsgfSkKICAgICB9OwogfQogCi1TaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29y
a2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29y
a2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCitTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eSogU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBhbGxTaGFy
ZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuZ2V0KGlkZW50aWZpZXIpOworfQorCitTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYg
cGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25z
dCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJG
ZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNh
Y2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9wYWdlKFdURk1vdmUocGFnZSkpCiAgICAgLCBt
X2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRvY3VtZW50KCkpCi0gICAgLCBtX3dvcmtl
clRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVy
LCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29y
a2VyT3B0aW9ucyksIHVzZXJBZ2VudCwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hS
ZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
OjpOb3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1
bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCks
IEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpKQorICAgICwgbV93b3JrZXJU
aHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwg
Z2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtl
ck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIG1fZG9jdW1lbnQpLCBXVEZN
b3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5
T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5z
b2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkK
ICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoY2FjaGVTdG9yYWdlUHJvdmlkZXIpCisgICAg
LCBtX2NsaWVudElkZW50aWZpZXIoKmluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVy
KQogewotICAgIEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5z
KHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKHRoaXMpOwor
ICAgIEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY2xp
ZW50SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5hZGQo
bV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKIAogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVu
ZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC05OCw4ICsxMDQsOCBAQCBTaGFyZWRX
b3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+
JiYgcGFnZSwgU2hhcmVkVwogCiBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6flNoYXJlZFdvcmtl
clRocmVhZFByb3h5KCkKIHsKLSAgICBBU1NFUlQoYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGll
cygpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCku
cmVtb3ZlKHRoaXMpOworICAgIEFTU0VSVChhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCku
Y29udGFpbnMobV9jbGllbnRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhyZWFk
UHJveGllcygpLnJlbW92ZShtX2NsaWVudElkZW50aWZpZXIpOwogfQogCiBTaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjppZGVudGlmaWVyKCkgY29uc3QKQEAg
LTE3NSw3ICsxODEsNyBAQCB2b2lkIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpzZXRSZXNvdXJj
ZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKGJvb2wpCiAKIHZvaWQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHk6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoYm9vbCBpc09uTGluZSkKIHsKLSAgICBm
b3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpKQorICAgIGZv
ciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkudmFsdWVzKCkp
CiAgICAgICAgIHByb3h5LT5ub3RpZnlOZXR3b3JrU3RhdGVDaGFuZ2UoaXNPbkxpbmUpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJl
ZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250
ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXggZGFiM2ExMjNkZWUxOGRiYjYyNGQ3
N2Y1OGVkOThkNDQ5NGM3ZmE5OS4uNDBlMDA2YzYxMTU2ZWI2YjA5ZjFlYjc1NzY5OTdlNDgwMGFm
OGJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9T
aGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaApAQCAtNDEsMTIgKzQxLDE1IEBA
IGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZDsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAK
IGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZFByb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPFNoYXJlZFdvcmtlclRocmVhZFByb3h5PiwgcHVibGljIFdvcmtlck9iamVjdFBy
b3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1YmxpYyBXb3JrZXJEZWJ1Z2dlclByb3h5
IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPFNo
YXJlZFdvcmtlclRocmVhZFByb3h5PiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoc3RkOjpmb3J3YXJkPEFyZ3M+KGFy
Z3MpLi4uKSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB+U2hhcmVkV29ya2VyVGhyZWFkUHJveHko
KTsKIAorICAgIHN0YXRpYyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSogYnlJZGVudGlmaWVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwogICAgIFNoYXJlZFdvcmtlcklkZW50
aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIFNoYXJlZFdvcmtlclRocmVhZCYgdGhyZWFk
KCkgeyByZXR1cm4gbV93b3JrZXJUaHJlYWQ7IH0KIApAQCAtNTQsNyArNTcsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVkKCkgeyBtX2lzVGVybWluYXRp
bmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQg
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklk
ZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtl
ck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIENhY2hlU3RvcmFnZVByb3ZpZGVy
Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVm
PFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdv
cmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAKICAgICAvLyBXb3JrZXJPYmplY3RQcm94
eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKSBmaW5hbDsKQEAgLTgyLDYgKzg1LDcgQEAgcHJpdmF0ZToKICAgICBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jYWNoZVN0b3JhZ2VDb25uZWN0aW9uOwogICAgIGJvb2wg
bV9pc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVkIHsgZmFsc2UgfTsKKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBtX2NsaWVudElkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZWQ3M2YwYTcxMjI2ZjViZWYzODJjMGZjYjZk
MWM5ZmRmZmQ4NjQ3Yy4uNTRjNGU4OGRiNDcxNWExMTczZmYwNzVkMzhlODUxZWJlNGY5ODNmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtMTIxNSwxMiArMTIxNSwyMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6cmVzdGFydE5ldHdvcmtMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIG5l
d1JlcQogICAgIHN0YXJ0TmV0d29ya0xvYWQoV1RGTW92ZShuZXdSZXF1ZXN0KSwgRmlyc3RMb2Fk
OjpObyk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCitzdGF0aWMgYm9vbCBzaG91
bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVjdGlvbihjb25zdCBGZXRjaE9wdGlvbnMm
IG9wdGlvbnMsIGJvb2wgaXNTZXJ2aWNlV29ya2VyTG9hZGVkKQoreworICAgIGlmIChvcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgcmV0dXJuIGlzU2VydmljZVdvcmtlckxvYWRlZCAmJiAob3B0aW9ucy5kZXN0aW5h
dGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgb3B0aW9ucy5kZXN0
aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpOworfQor
I2VuZGlmCisKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBib29sIGlzQWxsb3dlZFRvQXNrVXNl
ckZvckNyZWRlbnRpYWxzKQogewogICAgIExPQURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxs
U2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscz0lZCkiLCBpc0Fs
bG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCi0gICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpN
b2RlOjpOYXZpZ2F0ZSB8fCAocGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIG1fc2VydmljZVdvcmtlckZldGNoVGFz
aykpIHsKKyAgICBpZiAoc2hvdWxkVHJ5VG9NYXRjaFJlZ2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24o
cGFyYW1ldGVycygpLm9wdGlvbnMsICEhbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewogICAg
ICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gPSB7IH07CiAgICAgICAgIGlmIChhdXRv
IHNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgPSBtX2Nvbm5lY3Rpb24tPmNyZWF0ZUZldGNoVGFzaygq
dGhpcywgbmV3UmVxdWVzdCkpIHsKICAgICAgICAgICAgIExPQURFUl9SRUxFQVNFX0xPRygiY29u
dGludWVXaWxsU2VuZFJlcXVlc3Q6IENyZWF0ZWQgYSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrIHRv
IGhhbmRsZSB0aGUgcmVkaXJlY3QgKGZldGNoSWRlbnRpZmllcj0lIiBQUkl1NjQgIikiLCBzZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrLT5mZXRjaElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggYjNkZDRhNTI4MjA5MjRkOTAx
MjQ5MTM3MTdmYmIyMDI1YWY1NTM5Yy4uYmExZGNlMmY4MWNiZjIzMGMzZTAzZDMwZmY3ZGFmZmVm
MmNlNzJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE2
OSw2ICsxNjksOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y29udHJvbENsaWVudChj
b25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgcAogICAgIFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlIGNsaWVudFR5cGU7CiAgICAgaWYgKHBhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5h
dGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKQogICAgICAgICBjbGll
bnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlcjsKKyAgICBlbHNlIGlmIChw
YXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNoYXJlZHdvcmtlcikKKyAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlOjpTaGFyZWR3b3JrZXI7CiAgICAgZWxzZQogICAgICAgICBjbGllbnRUeXBlID0gU2Vy
dmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdzsKIApAQCAtMjAxLDcgKzIwMyw3IEBAIHN0ZDo6
dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrPiBXZWJTV1NlcnZlckNvbm5lY3Rpb246
OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0gICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0
aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFt
ZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OldvcmtlcikgeworICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBG
ZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbG9h
ZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OlNoYXJlZHdvcmtlcikgewogICAgICAgICBhdXRvIHRvcE9yaWdpbiA9IGxvYWRl
ci5wYXJhbWV0ZXJzKCkuaXNNYWluRnJhbWVOYXZpZ2F0aW9uID8gU2VjdXJpdHlPcmlnaW5EYXRh
Ojpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIDogbG9hZGVyLnBhcmFtZXRlcnMoKS50b3BPcmlnaW4t
PmRhdGEoKTsKICAgICAgICAgYXV0byogcmVnaXN0cmF0aW9uID0gZG9SZWdpc3RyYXRpb25NYXRj
aGluZyh0b3BPcmlnaW4sIHJlcXVlc3QudXJsKCkpOwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlv
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKaW5kZXggMTM5ZjYwNzAyMDYwZTA0YTY4OTJiN2YxYTM1
NzhlODJkMDY2YmEyOC4uMDNhM2RkNWQzNjViZjg2MWE4ZThiNTllNGNkNjQ3ZGM1NTIzZDMzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2Vi
U2hhcmVkV29ya2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1NoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Ry
YW5zZmVycmVkTWVzc2FnZVBvcnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVz
dWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1dvcmtlck9wdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5o
PgogCkBAIC03Miw3ICs3Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIG1hcmtBc1J1bm5pbmcoKSB7
IG1faXNSdW5uaW5nID0gdHJ1ZTsgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hS
ZXN1bHQmIGZldGNoUmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9mZXRjaFJlc3VsdDsgfQorICAg
IGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYgaW5pdGlhbGl6YXRpb25E
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXphdGlvbkRhdGE7IH0KICAgICB2b2lkIHNl
dEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsg
bV9mZXRjaFJlc3VsdCA9IFdURk1vdmUoZmV0Y2hSZXN1bHQpOyB9CisgICAgdm9pZCBzZXRJbml0
aWFsaXphdGlvbkRhdGEoV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlh
bGl6YXRpb25EYXRhKSB7IG1faW5pdGlhbGl6YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFsaXph
dGlvbkRhdGEpOyB9CiAgICAgYm9vbCBkaWRGaW5pc2hGZXRjaGluZygpIGNvbnN0IHsgcmV0dXJu
ICEhbV9mZXRjaFJlc3VsdC5zY3JpcHQ7IH0KIAogcHJpdmF0ZToKQEAgLTkyLDYgKzk1LDcgQEAg
cHJpdmF0ZToKICAgICBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIG1fd29ya2VyT3B0aW9uczsKICAg
ICBIYXNoTWFwPFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFNoYXJlZFdv
cmtlck9iamVjdFN0YXRlPiBtX3NoYXJlZFdvcmtlck9iamVjdHM7CiAgICAgV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQgbV9mZXRjaFJlc3VsdDsKKyAgICBXZWJDb3JlOjpXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEgbV9pbml0aWFsaXphdGlvbkRhdGE7CiAgICAgYm9vbCBtX2lzUnVubmluZyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcAppbmRleCA5YTY5ZjEzOGY5ZjVkYzMzNmYwMzM4
YTcwYzU0ZTExMjNlNDYyZDRjLi4zMWYzZWUwNmFiYjgyNDJjOWM5ZTE2MmQ1ODZiNDA1MTNhMmM5
MmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKQEAgLTg3LDEzICs4
NywxMyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcihX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmJiBzaGFyZQogICAgIEFTU0VSVChzZXJ2ZXJDb25uZWN0
aW9uKTsKIAogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNl
cnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcjogRmV0Y2hpbmcgc2hhcmVkIHdvcmtlciBzY3JpcHQg
aW4gY2xpZW50Iik7Ci0gICAgc2VydmVyQ29ubmVjdGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVudCgq
c2hhcmVkV29ya2VyLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBX
ZWFrUHRyIHsgKnRoaXMgfSwgc2hhcmVkV29ya2VyID0gV2Vha1B0ciB7ICpzaGFyZWRXb3JrZXIg
fV0oV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgeworICAgIHNlcnZl
ckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVkV29y
a2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNoYXJl
ZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKGF1dG8mJiBmZXRjaFJlc3VsdCwg
YXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgewogICAgICAgICBpZiAod2Vha1RoaXMgJiYgc2hh
cmVkV29ya2VyKQotICAgICAgICAgICAgd2Vha1RoaXMtPmRpZEZpbmlzaEZldGNoaW5nU2hhcmVk
V29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIsIFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICAg
ICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgqc2hh
cmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRh
dGEpKTsKICAgICB9KTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlz
aEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2Vy
LCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNo
YXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZl
dGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXph
dGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29y
a2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyPSUiIFBSSXU2NCAiLCBzaGFyZWRXb3JrZXI9JXAsIHN1Y2Nlc3M9JWQiLCBz
aGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCksICZzaGFyZWRXb3JrZXIsIGZldGNo
UmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKIApAQCAtMTA4LDYgKzEwOCw3IEBAIHZvaWQgV2ViU2hh
cmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJT
aGFyZWRXb3JrZXImCiAgICAgfQogCiAgICAgc2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0KFdU
Rk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0SW5pdGlhbGl6YXRpb25E
YXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAKICAgICBpZiAoYXV0byogY29udGV4
dENvbm5lY3Rpb24gPSBzaGFyZWRXb3JrZXIuY29udGV4dENvbm5lY3Rpb24oKSkgewogICAgICAg
ICBjb250ZXh0Q29ubmVjdGlvbi0+bGF1bmNoU2hhcmVkV29ya2VyKHNoYXJlZFdvcmtlcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCmluZGV4IGIyMDZhZjJjMGVjMmIyOGUxMTk2
ODNkZGUwZGY3NDAxZDA4ODI5NmUuLmU2MzcwZDczMzQzMTRjZTdlNzNjOWEyYWZiNzAyNTM2YmU1
YWM4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCkBAIC00Miw2ICs0Miw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBX
b3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1
Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNzcsNyArNzgsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4mLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiByZXF1ZXN0aW5n
UHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIGJvb2wgbmVlZHNDb250ZXh0Q29ubmVjdGlvbkZvclJl
Z2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJikgY29uc3Q7
CiAgICAgdm9pZCBjb250ZXh0Q29ubmVjdGlvbkNyZWF0ZWQoV2ViU2hhcmVkV29ya2VyU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbiYpOwotICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRX
b3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
Jik7CisgICAgdm9pZCBkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFy
ZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCBzaHV0RG93blNoYXJlZFdvcmtlcihjb25z
dCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmKTsKIAogICAgIE5ldHdvcmtTZXNzaW9uJiBtX3Nl
c3Npb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rp
b24uY3BwCmluZGV4IDlhNmQzNjVlMzBjOGZmYjBmN2E1ZDI0NmRmZWZhYWI2YjI1YThiZTEuLjEy
ZjM1ZjU1ZTk1MWU4OTkzYzY1OTc0ZmVlMDdlZjU2NTgzOTI2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZl
ckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xMTQsNyArMTE0
LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpyZXN1bWVGb3JCYWNr
Rm9yd2FyZENhY2hlKFdlYkNvcmU6OlNoYXJlZFcKICAgICAgICAgc2Vzc2lvbi0+ZW5zdXJlU2hh
cmVkV29ya2VyU2VydmVyKCkucmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShzaGFyZWRXb3JrZXJL
ZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNoYXJlZFdv
cmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVk
V29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZp
ZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
V2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChjb25z
dCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBDT05ORUNU
SU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBzaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpX
ZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50IHsgc2hh
cmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzaGFyZWRXb3Jr
ZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBiNDE5
MTk2NWMzNDI1ZmYxZTA2YWYzN2U0YmEyNWI0NTJjODJmZmI4Li5mMWI3MTJiN2M4NDI2ODU5MWI3
MTU2MzY2NmQ0YzhmZDY1NmMwMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2Vy
JiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBmZXRj
aFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYm
KTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29yZTo6
U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDVlNDNmMTFjZjNhNmMzNGY5OTc3ZDU0ZmJhNjYxYTUz
YzliYTMzMTQuLmU2Yzk2OGQ0ODhkZTJlZjU0MTc0ZmU3NDM1Yjk4NDgwN2Y0YmMyYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24uY3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYlNoYXJlZFdvcmtl
CiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJsYXVuY2hTaGFyZWRXb3Jr
ZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXIuaWRlbnRp
ZmllcigpLnRvVUludDY0KCkpOwogICAgIHNoYXJlZFdvcmtlci5tYXJrQXNSdW5uaW5nKCk7Ci0g
ICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtl
ci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtl
ci5mZXRjaFJlc3VsdCgpIH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2Vy
Lm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2Vy
T3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSwgc2hhcmVkV29ya2VyLmluaXRp
YWxpemF0aW9uRGF0YSgpIH0pOwogICAgIHNoYXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2Vy
T2JqZWN0KFsmXShhdXRvLCBhdXRvJiBwb3J0KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQo
c2hhcmVkV29ya2VyLCBwb3J0KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDE3
ODBjYWM3YjZhNzc3YmYxM2Y4MjMyNDU3ZTU0ZDM5MTE1ZWRjMGUuLjk0ZDkzZDlmOTQyNWVhOGUw
NjBhNWE2NjhiYjUwODJlOWQ2NjkwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTkyLDYg
KzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2VyQ2xp
ZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGRhdGEuYWN0aXZlV29ya2VyID8gbG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VXb3Jr
ZXIoV1RGTW92ZSgqZGF0YS5hY3RpdmVXb3JrZXIpKSA6IGZhbHNlKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KKwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggMmJmZjYw
YWJjZjAxMzQ4ZDhhY2YzYzQ3MjM4OWJiNTAwYWEyZDMyZS4uZTE5NTdlMjM1MDNjMjk5ZTgzMDRh
ZGFjM2EzZmU2MWNiZmNmNzEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFnZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC04OSw3ICs5MCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdlYlByCiAgICAgbV9wcmVmZXJl
bmNlc1N0b3JlID0gc3RvcmU7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYg
b3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50
aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hh
cmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlv
bnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdlYkNv
cmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKIHsKICAg
ICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0l
IiBQUkl1NjQsIHNoYXJlZFdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSk7CiAgICAgYXV0byBw
YWdlQ29uZmlndXJhdGlvbiA9IFdlYkNvcmU6OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xp
ZW50cyhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CkBAIC0xMTAsOCArMTEx
LDEyIEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVu
Y2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50CiAgICAgICAgIFdlYlBhZ2U6OnVwZGF0ZVNl
dHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVuY2VzU3RvcmUsIHBhZ2UtPnNldHRpbmdzKCkpOwog
ICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShzdGF0aWNf
Y2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3k+KG1fcHJlZmVyZW5jZXNTdG9yZS0+
Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0b3JhZ2VCbG9ja2luZ1Bv
bGljeUtleSgpKSkpOwogICAgIH0KKworICAgIGlmICghaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJB
Z2VudC5pc0VtcHR5KCkpCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQgPSBt
X3VzZXJBZ2VudDsKKwogICAgIHBhZ2UtPnNldHVwRm9yUmVtb3RlV29ya2VyKHdvcmtlckZldGNo
UmVzdWx0Lmxhc3RSZXF1ZXN0VVJMLCBvcmlnaW4udG9wT3JpZ2luLCB3b3JrZXJGZXRjaFJlc3Vs
dC5yZWZlcnJlclBvbGljeSk7Ci0gICAgYXV0byBzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSA9IFdl
YkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpjcmVhdGUoV1RGTW92ZShwYWdlKSwgc2hh
cmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2luLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0KSwg
V1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgbV91c2VyQWdlbnQsIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOworICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFk
UHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUo
cGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRj
aFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9ucyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CiAK
ICAgICBXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVn
aXN0ZXJTaGFyZWRXb3JrZXJUaHJlYWQoV1RGTW92ZShzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApp
bmRleCBhYjM1Y2JkMDE4ODVjZWIzNzYxMzEwYmRmNGQ1YjdiODg3MjBhZjYzLi5kMGI4ZTZmMTQx
YmRhMmFjMmNkN2JjNGI1OWNjMDgxMDM3ZTg3ZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzgsNiArMzgsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3Vs
dDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9u
czsKIH0KIApAQCAtNTgsNyArNTksNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gSVBD
IE1lc3NhZ2VzLgotICAgIHZvaWQgbGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJP
cHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgbGF1bmNo
U2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKTsKICAgICB2
b2lkIHVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOwog
ICAgIHZvaWQgc2V0VXNlckFnZW50KFN0cmluZyYmIHVzZXJBZ2VudCkgeyBtX3VzZXJBZ2VudCA9
IFdURk1vdmUodXNlckFnZW50KTsgfQogICAgIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpp
bmRleCA4MmQ1ZGVkZjhmYWM0YjNmZGM0NWQ1NjQ1ZTQ0YzdlZWRkNWZjMzM2Li44ZmRjYWYyN2E3
NGVhNTM2NTlhMzVmYWE1YWQxZjFlYjBjZjJhZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbiBOb3RSZWZDb3VudGVkIHsKLSAgICBMYXVuY2hTaGFyZWRX
b3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6
Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNo
UmVzdWx0IHdvcmtlckZldGNoUmVzdWx0KQorICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9u
cyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2Vy
RmV0Y2hSZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgd29y
a2VySW5pdGlhbGl6YXRpb25EYXRhKQogICAgIFBvc3RDb25uZWN0RXZlbnQoV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpUcmFu
c2ZlcnJlZE1lc3NhZ2VQb3J0IHBvcnQsIFN0cmluZyBzb3VyY2VPcmlnaW4pCiAgICAgVGVybWlu
YXRlU2hhcmVkV29ya2VyKFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29y
a2VySWRlbnRpZmllcikKICAgICBVcGRhdGVQcmVmZXJlbmNlc1N0b3JlKHN0cnVjdCBXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBjMjY5ZmQyNmE5MWViZmNiNGM1NGYwZDZj
OWUwZWIzZTRiMGRmNjMyLi5iNmMwNGQ2NjRhZWNkNmVjNDE3YjhkY2NjYjk0ZmM1ZTFjMzc4ZGUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hh
cmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiB7Ci0gICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwg
dXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9i
amVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlv
bnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQpCisg
ICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3Jl
OjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2Vy
RmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEgaW5pdGlhbGl6YXRpb25EYXRhKQogICAgIE5vdGlmeVdvcmtlck9iamVjdE9mTG9h
ZENvbXBsZXRpb24oV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQogICAg
IFBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFN0cmluZyBlcnJvck1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBTdHJpbmcgc291cmNlVVJMKQog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggOTI3NmY0N2U5MWFkNjM1YjUyMjUx
ODk2Mzc3Nzc1Y2RkM2QyMDA4Yi4uY2ZmODFlNTIxOThkNjMyMmI5YWVmN2M2NjljMTNmMzY3OWE3
NjRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MjItMDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNo
YXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50
LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJl
Y3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBl
Y3RlZC50eHQ6CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5k
IGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0
cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5
cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBkZjczNWZhZmQwN2JmNjE5M2NkM2RiMDE1NDNl
NTdhMTc4MTQ3YzIyLi44OTI5NjE5YTVjOTI5NGU0NTdhYmI4NzlkN2E4YWNkOTdkZDdhNjM5IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0
cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNsaWVu
dC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwgVGVzdCBD
bGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIgY2xpZW50cyBhc3NlcnRfbm90X2Vx
dWFsczogU2hhcmVkIHdvcmtlciBjbGllbnQgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQgZ290IGRp
c2FsbG93ZWQgdmFsdWUgdW5kZWZpbmVkCitQQVNTIFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdp
bmRvdyBhbmQgd29ya2VyIGNsaWVudHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEwYWUuLjE5NTdk
ZWNjODc5NzIxYzZiNjIyNWNkMDNjMTVkOThkYTFhZDI1OWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIFBBU1MgVmVyaWZ5IG1hdGNoQWxs
KCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7
d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5cGVzIGFzc2VydF9lcXVhbHM6
IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFTUyBWZXJpZnkgbWF0Y2hBbGwo
KSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5o
dHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9u
LXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiYTE0ZWRmZTIyY2UwOTJhN2U5NTIx
NTdjNTQ4ZjA5NjUwZGEwY2Q2Li42YTI3ZWRhY2RhYTFjNGViMzg2OWE0MzM4MmU4ZDIyN2Q0YzZm
ZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJl
ZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXIt
aW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTAsMTIgKzEwLDEy
IEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFy
ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVs
ZSBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVs
ZSBEZWRpY2F0ZWRXb3JrZXIpCi1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFz
c2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQg
dW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBT
aGFyZWRXb3JrZXIpCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hh
cmVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1
bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAo
Y2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUg
KG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJvciBSZWFj
aGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29w
ZSAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgY2xlYW51cCBnbG9iYWwgc3RhdGUKIFBBU1Mg
Q2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIs
IGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCkBAIC0yMywxMSArMjMsMTEgQEAgUEFT
UyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtl
ciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMxOiBu
ZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQog
UEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29y
a2VyLCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVj
aG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsgKHNjb3Bl
Mi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJl
ZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBz
YXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2lt
cGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNo
KCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2Nv
cGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzE6
IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3Bl
Mi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3Bl
Mi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFy
ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdv
cmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMg
RGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMzUsMTEgKzM1LDExIEBAIFBBU1MgQ2FzZSAj
MjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxv
Y2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMjogbmV0
d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkK
IFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3JpcHRzLWVj
aG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsiCi1GQUlM
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUg
ZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVc
biIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFy
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEt
Pm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50eHQiIGJ1
dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFT
UyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2Vy
LCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3Np
YyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5
IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMt
ZWNoby5weSIKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNh
dGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cy
IHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cy
IHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKQEAgLTQ3LDEwICs0NywyMiBAQCBG
QUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwg
bG9jYXRpb24uaHJlZikgYXNzZXJ0XwogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3Np
bXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3Np
bXBsZS50eHQiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4
cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29y
a2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3
b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlv
bl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL2ltcG9ydC1zY3JpcHRzLWVj
aG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2Ny
aXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBT
aGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2Vy
dF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29ya2VyX2lu
dGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhl
JTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6
Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIKK1BBU1Mg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9ydFNj
cmlwdHMoKSkKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRX
b3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFs
czogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0
aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1
ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2Fs
aG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUy
L3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgogUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNj
cmlwdHMoKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVk
aWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29w
ZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzQ6
IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkp
CitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtl
ciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMg
U2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNl
ICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkK
K1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1p
bnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYWJhMTkwMDY5NGM0ZTQ5OTRh
YTg2ODM5NTI1ODQwYTVkNmY1N2Q4YS4uMDBhZWEyYzhhNmI4YTBkMDY5NWU3NDY4Y2YyNzAwMjBk
OWQwMTg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlv
bi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVy
Y2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAogUEFTUyBWZXJp
ZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250
cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdv
cmtlci4KIFBBU1MgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlw
dCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1bWVudCBzaG91bGQgbm90IGJl
IGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3b3JrZXIuCi1GQUlMIFZlcmlmeSBh
IHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQg
ZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLiBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCitQ
QVNTIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1
bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZp
Y2Ugd29ya2VyLgogUEFTUyBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZl
ZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVkaWNhdGVkIHdv
cmtlci4KLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3JrZXIuIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKK1BB
U1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNl
IHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3JrZXIuCiBQQVNTIFZlcmlm
eSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBk
ZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQg
c2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hhcmVkIHdvcmtlciBzdGFydC4KIFBB
U1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJp
ZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZp
Y2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFJlZ2lzdGVyIGEgc2Vy
dmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJyZXNvdXJjZSBpbnRlcmNlcHRpb24gdGVzdHMuCiBQ
QVNTIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBjb250cm9sbGVkIGJ5IGEgc2Vydmlj
ZSB3b3JrZXIuCi1GQUlMIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtlciBjb250cm9sbGVkIGJ5
IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2Fz
IHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIntcImVycm9yXCI6IHtcImNvZGVc
IjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFTUyBSZXF1ZXN0cyBvbiBhIHNoYXJl
ZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgogRkFJTCBSZXF1ZXN0cyBv
biBhIGRlZGljYXRlZCB3b3JrZXIgbmVzdGVkIGluIGEgZGVkaWNhdGVkIHdvcmtlciBhbmQgY29u
dHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlz
IGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQg
ZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtlciIKIEZBSUwgUmVxdWVzdHMgb24gYSBk
ZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIHNoYXJlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQg
YnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdh
cyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBQQVNTIFVucmVnaXN0ZXIgYSBzZXJ2aWNlIHdv
cmtlciBmb3Igc3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgo=
</data>
<flag name="commit-queue"
          id="486298"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457631</attachid>
            <date>2022-04-14 08:17:23 -0700</date>
            <delta_ts>2022-04-15 00:17:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239122-20220414171718.patch</filename>
            <type>text/plain</type>
            <size>70200</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMjJmOWQ1ZThhY2VkMGIxZWU0ZGVmOTcxYWM2OGQ2
OWI1OThmY2VjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlw
dExvYWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0
YS4KKyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50
Q29ubmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3Qg
bWVzc2FnaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAg
ICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU1dDbGll
bnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
clNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQv
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3
b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVk
aWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUw
ZTUzNjcyMjZkZi4uZjdmZWU0OTlhYmYzNmRlZjQ1MjkyNDM0ODRkNjljNWUyODhkNDZiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZp
Y2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5l
Y3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVk
V29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46
CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVu
dCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCBlMjQ0NTc4NmJiZjYxM2U3ZDU3NzYzMjllZTEyOTc2OGNlOGE1M2RjLi4xMWZj
ZTA2MzU4MjJlZmVmZjM4N2U0NDIyYjhjZGFlMDJkYjYyMTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTE5ODUsNiArMTk4NSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURF
UlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVzdWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZv
bnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVy
UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2JqZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29y
a2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggODgzZjdkM2YxMmFj
ODI3YmUwYzU5YTdhNDIyNzYyNWI0MmNkMDY5OC4uYjIyZWQ3MGFkMjkwY2NkMDViMzIwMDdmYmFm
MmI0ODc1Mjk0YjA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjYzLDcgKzI2
Myw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9u
PHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpCiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tU
b1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkpOwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29y
a2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZp
ZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgcmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRl
bnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCBjYzJiYjhhYTU5M2YyNGE2
N2JkMjA1ZDcxOTQyYjA1N2UyOGM5NmEwLi43Mzc3YmYwOTc4NDVmZDZhZDY2OTViNzlhZTI5MTk3
YTFmYjIzNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKIAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hX
b3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciogd29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdv
cmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9w
dGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGFjNGRlNGI3YzBlZGQ0OTVmMGMwNDU0MjY2NmZiODI2MjcwNWU0OTEuLmRjOGIzODI0
ZWFhYzE3NWJiNjE2ZWUwYTc1ODNlMDZjYThhZDlhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02NTcsNyArNjU3LDcgQEAgdm9pZCBXb3Jr
ZXJHbG9iYWxTY29wZTo6dXBkYXRlU291cmNlUHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNjcmlwdEJ1
ZmZlciYgbWFpblNjcmkKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIFdvcmtlckds
b2JhbFNjb3BlOjp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCiB7Ci0gICAgQVNTRVJU
KHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6VHlwZTo6RGVkaWNhdGVkV29y
a2VyKTsKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpU
eXBlOjpEZWRpY2F0ZWRXb3JrZXIgfHwgdHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNj
b3BlOjpUeXBlOjpTaGFyZWRXb3JrZXIpOwogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6
bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZl
U2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0
OwogICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlv
bigpOwogICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdp
bigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
LmgKaW5kZXggNTY5NzBkMDRhM2E3MGMxODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYS4uMzM5NWI0
NTBiNThjYmRhZjA3MzEzNWYzZmM2NmJlYjVmZTM1MjBmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0zNyw2ICszNyw2MCBA
QCBzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKICNlbmRpZgogICAgIHN0ZDo6b3B0
aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXI7
CiAgICAgU3RyaW5nIHVzZXJBZ2VudDsKKworICAgIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBp
c29sYXRlZENvcHkoKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
ZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0
aWMgc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+IGRlY29kZShEZWNvZGVy
Jik7CiB9OwogCitpbmxpbmUgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICByZXR1cm4geworI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRDb3B5KHNlcnZpY2VXb3Jr
ZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZGVudGlmaWVyLCB1c2VyQWdlbnQuaXNv
bGF0ZWRDb3B5KCkKKyAgICB9OworfQorCisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+Cit2b2lk
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGVuY29kZXIgPDwgc2VydmljZVdv
cmtlckRhdGE7CisjZW5kaWYKKyAgICBlbmNvZGVyIDw8IGNsaWVudElkZW50aWZpZXIgPDwgdXNl
ckFnZW50OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPgorc3RkOjpvcHRpb25hbDxXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGE+IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZGVjb2RlKERl
Y29kZXImIGRlY29kZXIpCit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIHN0ZDo6
b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4+IHNlcnZpY2VXb3JrZXJE
YXRhOworICAgIGRlY29kZXIgPj4gc2VydmljZVdvcmtlckRhdGE7CisgICAgaWYgKCFzZXJ2aWNl
V29ya2VyRGF0YSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyNlbmRpZgorCisgICAgc3RkOjpvcHRp
b25hbDxzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPj4gY2xp
ZW50SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGNsaWVudElkZW50aWZpZXI7CisgICAgaWYg
KCFjbGllbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgc3RkOjpvcHRp
b25hbDxTdHJpbmc+IHVzZXJBZ2VudDsKKyAgICBkZWNvZGVyID4+IHVzZXJBZ2VudDsKKyAgICBp
ZiAoIXVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHJldHVybiBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAg
V1RGTW92ZSgqc2VydmljZVdvcmtlckRhdGEpLAorI2VuZGlmCisgICAgICAgIFdURk1vdmUoKmNs
aWVudElkZW50aWZpZXIpLAorICAgICAgICBXVEZNb3ZlKCp1c2VyQWdlbnQpCisgICAgfTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDkxYWRjMGYzMzdiOWM0YjJkZTU0ZGYyN2YxYzZmMWMy
M2YwZDk3ODMuLjRjZDYyY2E2ZDg2MTVjNjk5MzQ3YzJlMzI2NjFhMThkMTRlZjE2MjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTE0OCw4
ICsxNDgsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIC8vIEEgc2VydmljZSB3b3Jr
ZXIgam9iIGNhbiBiZSBleGVjdXRlZCBmcm9tIGEgd29ya2VyIGNvbnRleHQgb3IgYSBkb2N1bWVu
dCBjb250ZXh0LgogICAgIG9wdGlvbnMuc2VydmljZVdvcmtlcnNNb2RlID0gc2VydmljZVdvcmtl
ck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIC8vIEZJWE1FOiBBZGQgc3Vw
cG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KLSAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQpKSB7CisgICAgaWYgKChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OldvcmtlciB8fCBtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGlu
YXRpb246OlNoYXJlZHdvcmtlcikgJiYgaXM8RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQpKSB7CiAgICAgICAgIEFTU0VSVChjbGllbnRJZGVudGlmaWVyKTsKICAgICAgICAgLy8gSW4g
Y2FzZSBvZiBibG9iIFVSTHMsIHdlIHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2
aWNlIHdvcmtlci4KICAgICAgICAgaWYgKHJlcXVlc3QtPnVybCgpLnByb3RvY29sSXNCbG9iKCkg
JiYgc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCkBAIC0xNjEs
NiArMTYwLDggQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICB9IGVsc2UgaWYgKGF1dG8q
IGFjdGl2ZVNlcnZpY2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZp
Y2VXb3JrZXIoKSkKICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRl
bnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsK
ICNlbmRpZgorICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNoYXJlZHdvcmtlcikKKyAgICAgICAgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIgPSBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0LnVzZXJBZ2VudChzY3JpcHRSZXF1ZXN0LnVybCgpKTsKIAog
ICAgIC8vIER1cmluZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0
aGUgbGFzdCByZWZlcmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExv
YWRlcj4gcHJvdGVjdGVkVGhpcygqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJTY3JpcHRMb2FkZXIuaAppbmRleCBiNjhiMDI0ZDYxM2FlMWRmMmU1YTQ5NTFmNTA5ODlhZDY5
NjBlZTQ4Li5mZjEwNzBmZWQ5ZDU0Njg5ZmE3MzM0ZDhmNThkMmIyYzcxY2U0MWU5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTEwMSw5ICsxMDEs
MTIgQEAgcHVibGljOgogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgc2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFNlcnZpY2VXb3JrZXJEYXRh
JiYpOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZp
ZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KICAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0YWtlU2VydmljZVdvcmtlckRhdGEoKSB7IHJldHVybiBz
dGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2VydmljZVdvcmtlckRhdGEsIHsgfSk7IH0KICNlbmRpZgog
CisgICAgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKSBjb25zdCB7IHJl
dHVybiBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsgfQorCiBwcml2YXRlOgogICAgIGZyaWVu
ZCBjbGFzcyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJpZW5kIHN0cnVj
dCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0xMzksNiArMTQy
LDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gbV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0YTsKICNlbmRp
ZgorICAgIFN0cmluZyBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggODhiNGQ4NGM4OWU5OWMxYzRmMjVhMDgyMzFl
NDExZGY1OTA3NGQ1MS4uZjA4ZDAxNjNkNWZhYzlhYWUyYTQ5YTExMDA4M2JjNjVhNjIzYzczMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDggQEAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9i
RGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRl
ICJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlci5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRo
cmVhZC5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZFByb3h5LmgiCiAjaW5jbHVkZSAi
V29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNsdWRlIDx3dGYv
Q3Jvc3NUaHJlYWRDb3BpZXIuaD4KQEAgLTExMywxOCArMTE1LDMzIEBAIHZvaWQgU1dDbGllbnRD
b25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JJZGVu
dGlmaWVyIGpvCiAgICAgICAgIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIoeyBzZXJ2ZXJD
b25uZWN0aW9uSWRlbnRpZmllcigpLCBqb2JJZGVudGlmaWVyIH0sIFdURk1vdmUocmVnaXN0cmF0
aW9uS2V5KSwgd29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgZXJyb3JEb21haW5XZWJL
aXRJbnRlcm5hbCwgMCwgeyB9LCBtYWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2ggc2NyaXB0IGZv
ciBzZXJ2aWNlIHdvcmtlciB3aXRoIHNjb3BlICIsIHJlZ2lzdHJhdGlvbktleS5zY29wZSgpLnN0
cmluZygpKSB9KSk7CiB9CiAKK3N0YXRpYyB2b2lkIHBvc3RNZXNzYWdlVG9Db250YWluZXIoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBt
ZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZURhdGEsIFN0cmluZyYmIHNvdXJjZU9y
aWdpbikKK3sKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5lbnN1cmVTZXJ2aWNl
V29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgIGNvbnRhaW5lci0+cG9zdE1lc3NhZ2UoV1RGTW92
ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsK
K30KIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2aWNlV29ya2Vy
Q2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0aW9uQ29udGV4
dElkZW50aWZpZXIsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnZSwgU2VydmljZVdv
cmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4pCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIC8vIEZJWE1FOiBkZXN0aW5hdGlvbkNvbnRleHRJ
ZGVudGlmaWVyIGNhbiBvbmx5IGlkZW50aWZ5IGEgRG9jdW1lbnQgYXQgdGhlIG1vbWVudC4KLSAg
ICBhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgp
LmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKTsKLSAgICBpZiAoIWRlc3RpbmF0aW9u
RG9jdW1lbnQpCisgICAgaWYgKGF1dG8qIGRlc3RpbmF0aW9uRG9jdW1lbnQgPSBEb2N1bWVudDo6
YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoKmRlc3RpbmF0aW9uRG9jdW1lbnQsIFdURk1v
dmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7
CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBpZiAoYXV0byogY29udGFpbmVyID0gZGVz
dGluYXRpb25Eb2N1bWVudC0+ZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigpKQotICAgICAg
ICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNl
RGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7CisgICAgaWYgKGF1dG8qIHdvcmtlciA9IFdv
cmtlcjo6YnlJZGVudGlmaWVyKGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7CisgICAg
ICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFttZXNzYWdlID0gV1RGTW92
ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSksIHNvdXJjZU9yaWdp
biA9IFdURk1vdmUoc291cmNlT3JpZ2luKS5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQp
IG11dGFibGUgeworICAgICAgICAgICAgcG9zdE1lc3NhZ2VUb0NvbnRhaW5lcihjb250ZXh0LCBX
VEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdp
bikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChhdXRv
KiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6YnlJZGVudGlmaWVyKGRl
c3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7CisgICAgICAgIHNoYXJlZFdvcmtlci0+dGhy
ZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFttZXNzYWdlID0gV1RGTW92ZShtZXNzYWdlKSwgc291
cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSksIHNvdXJjZU9yaWdpbiA9IFdURk1vdmUoc291
cmNlT3JpZ2luKS5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAg
ICAgICAgICAgcG9zdE1lc3NhZ2VUb0NvbnRhaW5lcihjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2Up
LCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgICAgICB9
KTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIGZvckFsbFdvcmtlcnMoY29uc3QgRnVuY3Rpb248
RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+JiBjYWxsYmFjaykKQEAg
LTI0NCwxMyArMjYxLDE4IEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpub3RpZnlDbGllbnRz
T2ZDb250cm9sbGVyQ2hhbmdlKGNvbnN0IEhhc2hTZXQ8U2NyaXB0RXhlCiAgICAgICAgICAgICB1
cGRhdGVDb250cm9sbGVyKCpkb2N1bWVudCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdDb250cm9s
bGVyIH0pOwogICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGF1
dG8qIHdvcmtlciA9IFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIp
KSB7CisgICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihjbGll
bnRJZGVudGlmaWVyKSkgewogICAgICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xv
YmFsU2NvcGUoW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAo
YXV0byYgY29udGV4dCkgbXV0YWJsZSB7CiAgICAgICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxl
cihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKICAgICAgICAgICAgIH0pOwogICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQg
c2hhcmVkIHdvcmtlcnMuCisgICAgICAgIGlmIChhdXRvKiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRX
b3JrZXJUaHJlYWRQcm94eTo6YnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAg
ICAgICAgICBzaGFyZWRXb3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbmV3Q29u
dHJvbGxlciA9IG5ld0NvbnRyb2xsZXIuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBt
dXRhYmxlIHsKKyAgICAgICAgICAgICAgICB1cGRhdGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1v
dmUobmV3Q29udHJvbGxlcikpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGRiOGQ0MDBh
Mzc1NDRkYzhiZTIxZGMxMDZiMjMxNjBiNDgxZjhhMGEuLjk0ZjE1NDk1MDQ1OGNlNmM1YjI4MWU1
YjQwYTcwM2JhZDRjODI3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3Jr
ZXJQcm92aWRlci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRl
ICJTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0
LmgiCiAjaW5jbHVkZSAiV29ya2VyU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvY0lubGluZXMuaD4KQEAgLTEzMyw3ICsxMzQsNyBAQCBhdXRvIFNlcnZpY2VXb3Jr
ZXJDb250YWluZXI6OnJlYWR5KCkgLT4gUmVhZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2Vy
dmljZVdvcmtlckNvbnRhaW5lcjo6Y29udHJvbGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29u
dGV4dCA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdF
KCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMgYW5kIGRlZGljYXRlZCB3b3JrZXJzIGNhbiBoYXZlIGEgY29udHJv
bGxlciBhdCB0aGUgbW9tZW50LiIpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIWNvbnRleHQg
fHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZT4oKmNvbnRleHQpICB8fCBpczxTaGFyZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8
ICFjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cywgZGVkaWNh
dGVkIGFuZCBzaGFyZWQgd29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIuIik7CiAgICAgcmV0
dXJuIGNvbnRleHQgPyBjb250ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEy
YTM5Njg3ZTU1YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2
MmQ2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAK
IFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0
aW9uKCkgPSBkZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZl
dGNoU2NyaXB0SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3
b3JrZXJPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9u
OjpmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3Vs
dCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9
IFNoYXJlZFdvcmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
cik7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2Jq
ZWN0KTsKICAgICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25I
YW5kbGVyKHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5
cGU6OkNhbmNlbGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3
b3JrZXJGZXRjaEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5j
ZWxsYXRpb24gfSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRl
cklkZW50aWZpZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3
b3JrZXJPcHRpb25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAg
bV9sb2FkZXJzLmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAg
bG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNo
UmVzdWx0KSBtdXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50
aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1
dG8mJiBmZXRjaFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAg
ICAgICAgIENPTk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlz
aGVkIHNjcmlwdCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkp
OwogICAgICAgICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIp
OwogICAgICAgICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShmZXRjaFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZl
dGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyT2JqZWN0Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFkNTliN2Y3ZmIw
MGQ1ZTA1OWJiNzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTkyYWMwMGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtl
ckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBX
b3JrZXJPcHRpb25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVi
bGljIFJlZkNvdW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTIsNyAr
NTMsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpT
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdv
cmtlckZldGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdl
YkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3Im
KTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChT
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVk
OThhMzZjOWUyMzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0OWZmYmQ4YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2Ny
aXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVj
dG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVk
ZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRh
dGEuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0
TG9hZGVyLmgiCiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6
OlNoYXJlZFdvcmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtlciYgd29yawog
ewogfQogCi12b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9p
ZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
b3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVyKTsKICAgICBt
X2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBh
dXRvIHNvdXJjZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSA/IFdvcmtl
clNjcmlwdExvYWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3JpcHRMb2FkZXI6
OlNvdXJjZTo6Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJv
bm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVl
c3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25z
LCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJp
dHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdv
cmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAg
ICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3Jr
ZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFy
ZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtl
clNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5M
b29wOjpkZWZhdWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2Vu
ZXJhdGUoKSk7CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZl
UmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCA9IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+
ZmFpbGVkKCkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0
ZWQoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9h
ZGVyLT5zY3JpcHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9h
ZGVyLT5mZXRjaFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhh
bmRsZXIobV9sb2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7
CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+dGFrZVNlcnZp
Y2VXb3JrZXJEYXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZp
ZXIoKSwKKyAgICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpCisgICAg
fSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIuaAppbmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40
NWU2NWZmNmMwMzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIu
aApAQCAtNDAsMTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0
YTsKIGNsYXNzIFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAK
IGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9h
ZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBT
aGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlv
bnMmJik7CiAKLSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29y
a2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAg
IGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3Jr
ZXImIHdvcmtlcigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBA
IHByaXZhdGU6CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29u
c3QgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJs
OwotICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29t
cGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJl
c3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5k
ZXggNTg1OTlhYmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3OTY0YzlkZjcy
YWExYzkwZmE0M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApA
QCAtNDMsNyArNDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQo
U2hhcmVkV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2Jh
bFNjb3BlPiBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmln
aW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0co
U2hhcmVkV29ya2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2Jh
bFNjb3BlOiBtX2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50
NjQoKSk7Ci0gICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpl
eGNoYW5nZShtX25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMs
IFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVy
KCkpOworICAgIGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0
ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0
aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92
aWRlcigpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMu
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2Vy
KFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0
YSB7ICpwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVy
biBzY29wZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRo
cmVhZFByb3h5LmNwcAppbmRleCAzMzcxODQzNGIwOTVlMTg2NDBiODM3MGRhNWViMzYxNzljYjc0
MmU2Li45NzEzOTNlZWU1ODNlZWQ3NjliNjRmYTQ1Y2I0MDc5ZDIyZjc5YTZhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVh
ZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1No
YXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNDksMTkgKzQ5LDE5IEBACiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYg
YWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hh
cmVkV29ya2VyVGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhh
c2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7Cisg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4+IG1hcDsKKyAgICByZXR1cm4gbWFw
OwogfQogCi1zdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIERvY3VtZW50JiBkb2N1
bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhj
b25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMm
JiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlv
bkRhdGEsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gewogICAgICAgICB3b3Jr
ZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAgICAgd29ya2VyT3B0aW9ucy5uYW1l
LAogICAgICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9y
eTo6Y3JlYXRlSWRlbnRpZmllcigpLAotICAgICAgICB1c2VyQWdlbnQsCisgICAgICAgIFdURk1v
dmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCksCiAgICAgICAgIHBsYXRmb3JtU3RyYXRl
Z2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLAogICAgICAgICB3b3JrZXJGZXRj
aFJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIGZhbHNlLApAQCAtNzQsMjAg
Kzc0LDI2IEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVy
cyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyCiAgICAgICAgIFdvcmtlclRocmVhZE1v
ZGU6OkNyZWF0ZU5ld1RocmVhZCwKICAgICAgICAgeyB9LAogI2lmIEVOQUJMRShTRVJWSUNFX1dP
UktFUikKLSAgICAgICAgeyB9LAorICAgICAgICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YS5z
ZXJ2aWNlV29ya2VyRGF0YSksCiAjZW5kaWYKLSAgICAgICAgeyB9CisgICAgICAgIGluaXRpYWxp
emF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyIHsgfSkKICAgICB9OwogfQogCi1TaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29y
a2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29y
a2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCitTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eSogU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBhbGxTaGFy
ZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuZ2V0KGlkZW50aWZpZXIpOworfQorCitTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYg
cGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25z
dCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJG
ZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNh
Y2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9wYWdlKFdURk1vdmUocGFnZSkpCiAgICAgLCBt
X2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRvY3VtZW50KCkpCi0gICAgLCBtX3dvcmtl
clRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVy
LCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29y
a2VyT3B0aW9ucyksIHVzZXJBZ2VudCwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hS
ZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
OjpOb3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1
bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCks
IEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpKQorICAgICwgbV93b3JrZXJU
aHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwg
Z2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtl
ck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIG1fZG9jdW1lbnQpLCBXVEZN
b3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5
T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5z
b2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkK
ICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoY2FjaGVTdG9yYWdlUHJvdmlkZXIpCisgICAg
LCBtX2NsaWVudElkZW50aWZpZXIoKmluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVy
KQogewotICAgIEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5z
KHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKHRoaXMpOwor
ICAgIEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY2xp
ZW50SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5hZGQo
bV9jbGllbnRJZGVudGlmaWVyLCB0aGlzKTsKIAogICAgIHN0YXRpYyBib29sIGFkZGVkTGlzdGVu
ZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC05OCw4ICsxMDQsOCBAQCBTaGFyZWRX
b3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+
JiYgcGFnZSwgU2hhcmVkVwogCiBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6flNoYXJlZFdvcmtl
clRocmVhZFByb3h5KCkKIHsKLSAgICBBU1NFUlQoYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGll
cygpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCku
cmVtb3ZlKHRoaXMpOworICAgIEFTU0VSVChhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCku
Y29udGFpbnMobV9jbGllbnRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhyZWFk
UHJveGllcygpLnJlbW92ZShtX2NsaWVudElkZW50aWZpZXIpOwogfQogCiBTaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjppZGVudGlmaWVyKCkgY29uc3QKQEAg
LTE3NSw3ICsxODEsNyBAQCB2b2lkIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpzZXRSZXNvdXJj
ZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKGJvb2wpCiAKIHZvaWQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHk6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoYm9vbCBpc09uTGluZSkKIHsKLSAgICBm
b3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpKQorICAgIGZv
ciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkudmFsdWVzKCkp
CiAgICAgICAgIHByb3h5LT5ub3RpZnlOZXR3b3JrU3RhdGVDaGFuZ2UoaXNPbkxpbmUpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJl
ZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250
ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXggZGFiM2ExMjNkZWUxOGRiYjYyNGQ3
N2Y1OGVkOThkNDQ5NGM3ZmE5OS4uNDBlMDA2YzYxMTU2ZWI2YjA5ZjFlYjc1NzY5OTdlNDgwMGFm
OGJjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9T
aGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaApAQCAtNDEsMTIgKzQxLDE1IEBA
IGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZDsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAK
IGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZFByb3h5IGZpbmFsIDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPFNoYXJlZFdvcmtlclRocmVhZFByb3h5PiwgcHVibGljIFdvcmtlck9iamVjdFBy
b3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1YmxpYyBXb3JrZXJEZWJ1Z2dlclByb3h5
IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBBcmdzPiBzdGF0aWMgUmVmPFNo
YXJlZFdvcmtlclRocmVhZFByb3h5PiBjcmVhdGUoQXJncyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoc3RkOjpmb3J3YXJkPEFyZ3M+KGFy
Z3MpLi4uKSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB+U2hhcmVkV29ya2VyVGhyZWFkUHJveHko
KTsKIAorICAgIHN0YXRpYyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSogYnlJZGVudGlmaWVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwogICAgIFNoYXJlZFdvcmtlcklkZW50
aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIFNoYXJlZFdvcmtlclRocmVhZCYgdGhyZWFk
KCkgeyByZXR1cm4gbV93b3JrZXJUaHJlYWQ7IH0KIApAQCAtNTQsNyArNTcsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVkKCkgeyBtX2lzVGVybWluYXRp
bmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQg
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklk
ZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtl
ck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIENhY2hlU3RvcmFnZVByb3ZpZGVy
Jik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVm
PFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdv
cmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAKICAgICAvLyBXb3JrZXJPYmplY3RQcm94
eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmlu
ZyYgc291cmNlVVJMKSBmaW5hbDsKQEAgLTgyLDYgKzg1LDcgQEAgcHJpdmF0ZToKICAgICBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jYWNoZVN0b3JhZ2VDb25uZWN0aW9uOwogICAgIGJvb2wg
bV9pc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVkIHsgZmFsc2UgfTsKKyAgICBTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBtX2NsaWVudElkZW50aWZpZXI7CiB9OwogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05l
dHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggZWQ3M2YwYTcxMjI2ZjViZWYzODJjMGZjYjZk
MWM5ZmRmZmQ4NjQ3Yy4uNTRjNGU4OGRiNDcxNWExMTczZmYwNzVkMzhlODUxZWJlNGY5ODNmNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291
cmNlTG9hZGVyLmNwcApAQCAtMTIxNSwxMiArMTIxNSwyMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjo6cmVzdGFydE5ldHdvcmtMb2FkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIG5l
d1JlcQogICAgIHN0YXJ0TmV0d29ya0xvYWQoV1RGTW92ZShuZXdSZXF1ZXN0KSwgRmlyc3RMb2Fk
OjpObyk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCitzdGF0aWMgYm9vbCBzaG91
bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVjdGlvbihjb25zdCBGZXRjaE9wdGlvbnMm
IG9wdGlvbnMsIGJvb2wgaXNTZXJ2aWNlV29ya2VyTG9hZGVkKQoreworICAgIGlmIChvcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSkKKyAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgcmV0dXJuIGlzU2VydmljZVdvcmtlckxvYWRlZCAmJiAob3B0aW9ucy5kZXN0aW5h
dGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgb3B0aW9ucy5kZXN0
aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpOworfQor
I2VuZGlmCisKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVx
dWVzdChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0LCBib29sIGlzQWxsb3dlZFRvQXNrVXNl
ckZvckNyZWRlbnRpYWxzKQogewogICAgIExPQURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxs
U2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscz0lZCkiLCBpc0Fs
bG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCi0gICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpN
b2RlOjpOYXZpZ2F0ZSB8fCAocGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIG1fc2VydmljZVdvcmtlckZldGNoVGFz
aykpIHsKKyAgICBpZiAoc2hvdWxkVHJ5VG9NYXRjaFJlZ2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24o
cGFyYW1ldGVycygpLm9wdGlvbnMsICEhbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewogICAg
ICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24gPSB7IH07CiAgICAgICAgIGlmIChhdXRv
IHNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgPSBtX2Nvbm5lY3Rpb24tPmNyZWF0ZUZldGNoVGFzaygq
dGhpcywgbmV3UmVxdWVzdCkpIHsKICAgICAgICAgICAgIExPQURFUl9SRUxFQVNFX0xPRygiY29u
dGludWVXaWxsU2VuZFJlcXVlc3Q6IENyZWF0ZWQgYSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrIHRv
IGhhbmRsZSB0aGUgcmVkaXJlY3QgKGZldGNoSWRlbnRpZmllcj0lIiBQUkl1NjQgIikiLCBzZXJ2
aWNlV29ya2VyRmV0Y2hUYXNrLT5mZXRjaElkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggYjNkZDRhNTI4MjA5MjRkOTAx
MjQ5MTM3MTdmYmIyMDI1YWY1NTM5Yy4uYmExZGNlMmY4MWNiZjIzMGMzZTAzZDMwZmY3ZGFmZmVm
MmNlNzJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE2
OSw2ICsxNjksOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y29udHJvbENsaWVudChj
b25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYgcAogICAgIFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlIGNsaWVudFR5cGU7CiAgICAgaWYgKHBhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5h
dGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyKQogICAgICAgICBjbGll
bnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldvcmtlcjsKKyAgICBlbHNlIGlmIChw
YXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OlNoYXJlZHdvcmtlcikKKyAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGll
bnRUeXBlOjpTaGFyZWR3b3JrZXI7CiAgICAgZWxzZQogICAgICAgICBjbGllbnRUeXBlID0gU2Vy
dmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdzsKIApAQCAtMjAxLDcgKzIwMyw3IEBAIHN0ZDo6
dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrPiBXZWJTV1NlcnZlckNvbm5lY3Rpb246
OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgc3RkOjpv
cHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gc2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0gICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0
aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFt
ZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OldvcmtlcikgeworICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBG
ZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbG9h
ZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVz
dGluYXRpb246OlNoYXJlZHdvcmtlcikgewogICAgICAgICBhdXRvIHRvcE9yaWdpbiA9IGxvYWRl
ci5wYXJhbWV0ZXJzKCkuaXNNYWluRnJhbWVOYXZpZ2F0aW9uID8gU2VjdXJpdHlPcmlnaW5EYXRh
Ojpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIDogbG9hZGVyLnBhcmFtZXRlcnMoKS50b3BPcmlnaW4t
PmRhdGEoKTsKICAgICAgICAgYXV0byogcmVnaXN0cmF0aW9uID0gZG9SZWdpc3RyYXRpb25NYXRj
aGluZyh0b3BPcmlnaW4sIHJlcXVlc3QudXJsKCkpOwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlv
bikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKaW5kZXggMTM5ZjYwNzAyMDYwZTA0YTY4OTJiN2YxYTM1
NzhlODJkMDY2YmEyOC4uMDNhM2RkNWQzNjViZjg2MWE4ZThiNTllNGNkNjQ3ZGM1NTIzZDMzMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2Vi
U2hhcmVkV29ya2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJD
b3JlL1NoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Ry
YW5zZmVycmVkTWVzc2FnZVBvcnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVz
dWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1dvcmtlck9wdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5o
PgogCkBAIC03Miw3ICs3Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIG1hcmtBc1J1bm5pbmcoKSB7
IG1faXNSdW5uaW5nID0gdHJ1ZTsgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hS
ZXN1bHQmIGZldGNoUmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9mZXRjaFJlc3VsdDsgfQorICAg
IGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYgaW5pdGlhbGl6YXRpb25E
YXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXphdGlvbkRhdGE7IH0KICAgICB2b2lkIHNl
dEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsg
bV9mZXRjaFJlc3VsdCA9IFdURk1vdmUoZmV0Y2hSZXN1bHQpOyB9CisgICAgdm9pZCBzZXRJbml0
aWFsaXphdGlvbkRhdGEoV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlh
bGl6YXRpb25EYXRhKSB7IG1faW5pdGlhbGl6YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFsaXph
dGlvbkRhdGEpOyB9CiAgICAgYm9vbCBkaWRGaW5pc2hGZXRjaGluZygpIGNvbnN0IHsgcmV0dXJu
ICEhbV9mZXRjaFJlc3VsdC5zY3JpcHQ7IH0KIAogcHJpdmF0ZToKQEAgLTkyLDYgKzk1LDcgQEAg
cHJpdmF0ZToKICAgICBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIG1fd29ya2VyT3B0aW9uczsKICAg
ICBIYXNoTWFwPFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFNoYXJlZFdv
cmtlck9iamVjdFN0YXRlPiBtX3NoYXJlZFdvcmtlck9iamVjdHM7CiAgICAgV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQgbV9mZXRjaFJlc3VsdDsKKyAgICBXZWJDb3JlOjpXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEgbV9pbml0aWFsaXphdGlvbkRhdGE7CiAgICAgYm9vbCBtX2lzUnVubmluZyB7
IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcAppbmRleCA5YTY5ZjEzOGY5ZjVkYzMzNmYwMzM4
YTcwYzU0ZTExMjNlNDYyZDRjLi4zMWYzZWUwNmFiYjgyNDJjOWM5ZTE2MmQ1ODZiNDA1MTNhMmM5
MmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKQEAgLTg3LDEzICs4
NywxMyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcihX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmJiBzaGFyZQogICAgIEFTU0VSVChzZXJ2ZXJDb25uZWN0
aW9uKTsKIAogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNl
cnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcjogRmV0Y2hpbmcgc2hhcmVkIHdvcmtlciBzY3JpcHQg
aW4gY2xpZW50Iik7Ci0gICAgc2VydmVyQ29ubmVjdGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVudCgq
c2hhcmVkV29ya2VyLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBX
ZWFrUHRyIHsgKnRoaXMgfSwgc2hhcmVkV29ya2VyID0gV2Vha1B0ciB7ICpzaGFyZWRXb3JrZXIg
fV0oV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgeworICAgIHNlcnZl
ckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVkV29y
a2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNoYXJl
ZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKGF1dG8mJiBmZXRjaFJlc3VsdCwg
YXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgewogICAgICAgICBpZiAod2Vha1RoaXMgJiYgc2hh
cmVkV29ya2VyKQotICAgICAgICAgICAgd2Vha1RoaXMtPmRpZEZpbmlzaEZldGNoaW5nU2hhcmVk
V29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIsIFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICAg
ICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgqc2hh
cmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRh
dGEpKTsKICAgICB9KTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlz
aEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2Vy
LCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNo
YXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZl
dGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXph
dGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29y
a2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyPSUiIFBSSXU2NCAiLCBzaGFyZWRXb3JrZXI9JXAsIHN1Y2Nlc3M9JWQiLCBz
aGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCksICZzaGFyZWRXb3JrZXIsIGZldGNo
UmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKIApAQCAtMTA4LDYgKzEwOCw3IEBAIHZvaWQgV2ViU2hh
cmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJT
aGFyZWRXb3JrZXImCiAgICAgfQogCiAgICAgc2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0KFdU
Rk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0SW5pdGlhbGl6YXRpb25E
YXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAKICAgICBpZiAoYXV0byogY29udGV4
dENvbm5lY3Rpb24gPSBzaGFyZWRXb3JrZXIuY29udGV4dENvbm5lY3Rpb24oKSkgewogICAgICAg
ICBjb250ZXh0Q29ubmVjdGlvbi0+bGF1bmNoU2hhcmVkV29ya2VyKHNoYXJlZFdvcmtlcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCmluZGV4IGIyMDZhZjJjMGVjMmIyOGUxMTk2
ODNkZGUwZGY3NDAxZDA4ODI5NmUuLmU2MzcwZDczMzQzMTRjZTdlNzNjOWEyYWZiNzAyNTM2YmU1
YWM4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCkBAIC00Miw2ICs0Miw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBX
b3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1
Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNzcsNyArNzgsNyBAQCBwcml2YXRlOgogICAgIHZv
aWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21h
aW4mLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiByZXF1ZXN0aW5n
UHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIGJvb2wgbmVlZHNDb250ZXh0Q29ubmVjdGlvbkZvclJl
Z2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJikgY29uc3Q7
CiAgICAgdm9pZCBjb250ZXh0Q29ubmVjdGlvbkNyZWF0ZWQoV2ViU2hhcmVkV29ya2VyU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbiYpOwotICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRX
b3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
Jik7CisgICAgdm9pZCBkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFy
ZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCBzaHV0RG93blNoYXJlZFdvcmtlcihjb25z
dCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmKTsKIAogICAgIE5ldHdvcmtTZXNzaW9uJiBtX3Nl
c3Npb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rp
b24uY3BwCmluZGV4IDlhNmQzNjVlMzBjOGZmYjBmN2E1ZDI0NmRmZWZhYWI2YjI1YThiZTEuLjEy
ZjM1ZjU1ZTk1MWU4OTkzYzY1OTc0ZmVlMDdlZjU2NTgzOTI2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZl
ckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xMTQsNyArMTE0
LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpyZXN1bWVGb3JCYWNr
Rm9yd2FyZENhY2hlKFdlYkNvcmU6OlNoYXJlZFcKICAgICAgICAgc2Vzc2lvbi0+ZW5zdXJlU2hh
cmVkV29ya2VyU2VydmVyKCkucmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShzaGFyZWRXb3JrZXJL
ZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNoYXJlZFdv
cmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVk
V29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZp
ZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQg
V2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChjb25z
dCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBDT05ORUNU
SU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBzaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpX
ZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50IHsgc2hh
cmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzaGFyZWRXb3Jr
ZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBiNDE5
MTk2NWMzNDI1ZmYxZTA2YWYzN2U0YmEyNWI0NTJjODJmZmI4Li5mMWI3MTJiN2M4NDI2ODU5MWI3
MTU2MzY2NmQ0YzhmZDY1NmMwMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmlu
YWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2Vy
JiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBmZXRj
aFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYm
KTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29yZTo6
U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
ciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQg
bGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDVlNDNmMTFjZjNhNmMzNGY5OTc3ZDU0ZmJhNjYxYTUz
YzliYTMzMTQuLmU2Yzk2OGQ0ODhkZTJlZjU0MTc0ZmU3NDM1Yjk4NDgwN2Y0YmMyYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24uY3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYlNoYXJlZFdvcmtl
CiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJsYXVuY2hTaGFyZWRXb3Jr
ZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXIuaWRlbnRp
ZmllcigpLnRvVUludDY0KCkpOwogICAgIHNoYXJlZFdvcmtlci5tYXJrQXNSdW5uaW5nKCk7Ci0g
ICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
OjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtl
ci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtl
ci5mZXRjaFJlc3VsdCgpIH0pOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2Vy
Lm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2Vy
T3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSwgc2hhcmVkV29ya2VyLmluaXRp
YWxpemF0aW9uRGF0YSgpIH0pOwogICAgIHNoYXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2Vy
T2JqZWN0KFsmXShhdXRvLCBhdXRvJiBwb3J0KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQo
c2hhcmVkV29ya2VyLCBwb3J0KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDE3
ODBjYWM3YjZhNzc3YmYxM2Y4MjMyNDU3ZTU0ZDM5MTE1ZWRjMGUuLjk0ZDkzZDlmOTQyNWVhOGUw
NjBhNWE2NjhiYjUwODJlOWQ2NjkwNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTkyLDYg
KzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2VyQ2xp
ZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKGRhdGEuYWN0aXZlV29ya2VyID8gbG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VXb3Jr
ZXIoV1RGTW92ZSgqZGF0YS5hY3RpdmVXb3JrZXIpKSA6IGZhbHNlKTsKICAgICAgICAgcmV0dXJu
OwogICAgIH0KKwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggMmJmZjYw
YWJjZjAxMzQ4ZDhhY2YzYzQ3MjM4OWJiNTAwYWEyZDMyZS4uZTE5NTdlMjM1MDNjMjk5ZTgzMDRh
ZGFjM2EzZmU2MWNiZmNmNzEyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFnZW50
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewog
CkBAIC04OSw3ICs5MCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdlYlByCiAgICAgbV9wcmVmZXJl
bmNlc1N0b3JlID0gc3RvcmU7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFn
ZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYg
b3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50
aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hh
cmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlv
bnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdlYkNv
cmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKIHsKICAg
ICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0l
IiBQUkl1NjQsIHNoYXJlZFdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSk7CiAgICAgYXV0byBw
YWdlQ29uZmlndXJhdGlvbiA9IFdlYkNvcmU6OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xp
ZW50cyhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CkBAIC0xMTAsOCArMTEx
LDEyIEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVu
Y2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50CiAgICAgICAgIFdlYlBhZ2U6OnVwZGF0ZVNl
dHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVuY2VzU3RvcmUsIHBhZ2UtPnNldHRpbmdzKCkpOwog
ICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShzdGF0aWNf
Y2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3k+KG1fcHJlZmVyZW5jZXNTdG9yZS0+
Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0b3JhZ2VCbG9ja2luZ1Bv
bGljeUtleSgpKSkpOwogICAgIH0KKworICAgIGlmICghaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJB
Z2VudC5pc0VtcHR5KCkpCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQgPSBt
X3VzZXJBZ2VudDsKKwogICAgIHBhZ2UtPnNldHVwRm9yUmVtb3RlV29ya2VyKHdvcmtlckZldGNo
UmVzdWx0Lmxhc3RSZXF1ZXN0VVJMLCBvcmlnaW4udG9wT3JpZ2luLCB3b3JrZXJGZXRjaFJlc3Vs
dC5yZWZlcnJlclBvbGljeSk7Ci0gICAgYXV0byBzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSA9IFdl
YkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpjcmVhdGUoV1RGTW92ZShwYWdlKSwgc2hh
cmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2luLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0KSwg
V1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgbV91c2VyQWdlbnQsIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOworICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFk
UHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUo
cGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRj
aFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9ucyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CiAK
ICAgICBXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVn
aXN0ZXJTaGFyZWRXb3JrZXJUaHJlYWQoV1RGTW92ZShzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSkp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApp
bmRleCBhYjM1Y2JkMDE4ODVjZWIzNzYxMzEwYmRmNGQ1YjdiODg3MjBhZjYzLi5kMGI4ZTZmMTQx
YmRhMmFjMmNkN2JjNGI1OWNjMDgxMDM3ZTg3ZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApAQCAtMzgsNiArMzgsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3Vs
dDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9u
czsKIH0KIApAQCAtNTgsNyArNTksNyBAQCBwdWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gSVBD
IE1lc3NhZ2VzLgotICAgIHZvaWQgbGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJP
cHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgbGF1bmNo
U2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKTsKICAgICB2
b2lkIHVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOwog
ICAgIHZvaWQgc2V0VXNlckFnZW50KFN0cmluZyYmIHVzZXJBZ2VudCkgeyBtX3VzZXJBZ2VudCA9
IFdURk1vdmUodXNlckFnZW50KTsgfQogICAgIHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpp
bmRleCA4MmQ1ZGVkZjhmYWM0YjNmZGM0NWQ1NjQ1ZTQ0YzdlZWRkNWZjMzM2Li44ZmRjYWYyN2E3
NGVhNTM2NTlhMzVmYWE1YWQxZjFlYjBjZjJhZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3
ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbiBOb3RSZWZDb3VudGVkIHsKLSAgICBMYXVuY2hTaGFyZWRX
b3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6
Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNo
UmVzdWx0IHdvcmtlckZldGNoUmVzdWx0KQorICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3Qg
V2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9u
cyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2Vy
RmV0Y2hSZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgd29y
a2VySW5pdGlhbGl6YXRpb25EYXRhKQogICAgIFBvc3RDb25uZWN0RXZlbnQoV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpUcmFu
c2ZlcnJlZE1lc3NhZ2VQb3J0IHBvcnQsIFN0cmluZyBzb3VyY2VPcmlnaW4pCiAgICAgVGVybWlu
YXRlU2hhcmVkV29ya2VyKFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29y
a2VySWRlbnRpZmllcikKICAgICBVcGRhdGVQcmVmZXJlbmNlc1N0b3JlKHN0cnVjdCBXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCBjMjY5ZmQyNmE5MWViZmNiNGM1NGYwZDZj
OWUwZWIzZTRiMGRmNjMyLi5iNmMwNGQ2NjRhZWNkNmVjNDE3YjhkY2NjYjk0ZmM1ZTFjMzc4ZGUy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hh
cmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiB7Ci0gICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwg
dXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9i
amVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlv
bnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQpCisg
ICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3Jl
OjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2Vy
RmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEgaW5pdGlhbGl6YXRpb25EYXRhKQogICAgIE5vdGlmeVdvcmtlck9iamVjdE9mTG9h
ZENvbXBsZXRpb24oV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQogICAg
IFBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFN0cmluZyBlcnJvck1lc3Nh
Z2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBTdHJpbmcgc291cmNlVVJMKQog
fQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IGQxYWEzZjg4ZWJiMGIzMDE3NmY1ZjM4MTJhODIwMDJmZjA5MmNkMDcuLjA0MzA4
MTkxYWU4N2YzNjJmN2ZmZmMxOWJhZWZhYTdkYmUwOWRiZmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAyMi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAg
ICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlv
bnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTEy
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGxh
dGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGll
bnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisK
IDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAg
IEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCBy
ZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCA5Mjc2ZjQ3ZTkxYWQ2MzViNTIyNTE4OTYzNzc3NzVjZGQzZDIw
MDhiLi5jZmY4MWU1MjE5OGQ2MzIyYjlhZWY3YzY2OWMxM2YzNjc5YTc2NGYxIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0xNCAgWW91ZW5u
IEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hv
dWxkIG1hdGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAy
Mi0wNC0xMyAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhw
b3NlIHdvcmtlcnMgYXMgc2VydmljZSB3b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lz
dHJhdGlvbiBtYXRjaGluZyBmb3IgZGVkaWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0
ZWQudHh0CmluZGV4IGRmNzM1ZmFmZDA3YmY2MTkzY2QzZGIwMTU0M2U1N2ExNzgxNDdjMjIuLjg5
Mjk2MTlhNWM5Mjk0ZTQ1N2FiYjg3OWQ3YThhY2Q5N2RkN2E2MzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IENsaWVudHMuZ2V0KCkgd2l0
aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzIGFzc2VydF9ub3RfZXF1YWxzOiBTaGFyZWQgd29y
a2VyIGNsaWVudCBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCBnb3QgZGlzYWxsb3dlZCB2YWx1ZSB1
bmRlZmluZWQKK1BBU1MgVGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIg
Y2xpZW50cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxs
LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGll
bnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggNmIwZjEx
NDY3ZjRmNDhiNWFlOTI3YzlmN2ViNWZmZmVhYWM3MTBhZS4uMTk1N2RlY2M4Nzk3MjFjNmI2MjI1
Y2QwM2MxNWQ5OGRhMWFkMjU5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMSw0ICsxLDQgQEAKIAogUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBj
bGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdv
cmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50IGV4
cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywg
c2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcwogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMt
ZXhwZWN0ZWQudHh0CmluZGV4IGJhMTRlZGZlMjJjZTA5MmE3ZTk1MjE1N2M1NDhmMDk2NTBkYTBj
ZDYuLjZhMjdlZGFjZGFhMWM0ZWIzODY5YTQzMzgyZThkMjI3ZDRjNmZmNTggMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVk
aXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xMCwxMiArMTAsMTIgQEAgUEFTUyBDYXNlICMy
OiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKIFBBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikK
IFBBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2Vy
KQogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtl
cikKLUZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
KSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2Rl
Ci1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyKSBh
c3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQ
QVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BB
U1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNT
IENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikK
IFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3Jr
ZXIpCi1GQUlMIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdv
cmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQotRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdv
cmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUg
Y29kZQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRX
b3JrZXIpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyKQogUEFTUyBjbGVhbnVwIGdsb2JhbCBzdGF0ZQogUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlciwgZmV0Y2goKSkKQEAgLTIzLDExICsyMywxMSBAQCBQQVNTIENhc2UgIzE6IG5ldHdv
cmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVm
KQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5l
dHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhy
ZWYpCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3
IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAi
aW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayAoc2NvcGUyLykiCi1GQUlMIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
Y29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlIChz
Y29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAj
MTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9u
LmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFy
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1
dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2go
KSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdv
cmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2Fz
ZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIs
IGZldGNoKCkpCkBAIC0zNSwxMSArMzUsMTEgQEAgUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBB
U1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
c3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAi
aW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayIKLUZBSUwgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50
eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBDYXNlICMy
OiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0
U2NyaXB0cygpKQorUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFz
c2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEt
Pm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENh
c2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGlt
cG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZl
dGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTog
YSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdv
cmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYp
CiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtl
ciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBv
cnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3ViZGlyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBz
YXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IgogRkFJTCBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNo
KCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBm
cm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBm
cm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Njb3BlMi9zaW1wbGUudHh0IgpAQCAtNDcsMTAgKzQ3LDIyIEBAIEZBSUwgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBh
c3NlcnRfCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdv
dCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKIEZBSUwg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9
c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIg
YnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndv
cmtlci5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3
IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zdWJkaXIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAi
c3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCitG
QUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0
Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNo
IGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNo
IGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2NvcGUyL3NpbXBsZS50eHQiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRp
b24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGly
ZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9y
JTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9p
bnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorUEFTUyBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorRkFJTCBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20g
dGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3Vi
ZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20g
dGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Nv
cGUyL3NpbXBsZS50eHQiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVm
IGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vi
d29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUl
MjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2Vw
dGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBD
YXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZl
dGNoKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNo
KCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29w
ZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQorUEFT
UyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxv
Y2F0aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+
b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQorUEFTUyBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRw
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCBhYmExOTAwNjk0YzRlNDk5NGFhODY4Mzk1MjU4NDBhNWQ2
ZjU3ZDhhLi4wMGFlYTJjOGE2YjhhMGQwNjk1ZTc0NjhjZjI3MDAyMGQ5ZDAxODVhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSwxNiArMSwxNiBAQAogCiBQQVNTIFZlcmlmeSBhIGRlZGljYXRlZCB3
b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQg
aXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLgogUEFTUyBWZXJp
ZnkgYW4gb3V0LW9mLXNjb3BlIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVk
IGZyb20gYSBjb250cm9sbGVkIGRvY3VtZW50IHNob3VsZCBub3QgYmUgaW50ZXJjZXB0ZWQgYnkg
ZG9jdW1lbnQncyBzZXJ2aWNlIHdvcmtlci4KLUZBSUwgVmVyaWZ5IGEgc2hhcmVkIHdvcmtlciBz
Y3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRl
cmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKK1BBU1MgVmVyaWZ5IGEgc2hh
cmVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1
bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuCiBQQVNT
IFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3
b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBkZWRpY2F0ZWQgd29ya2VyLgotRkFJTCBWZXJp
ZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
IHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgc2hhcmVkIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzYW1l
LW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRz
IGluIHN0YXJ0aW5nIGEgc2hhcmVkIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgY29ycyB3b3JrZXIg
c2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIGRlZGljYXRlZCB3b3JrZXIg
c3RhcnQuCiBQQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBuby1j
b3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
IGZhaWxzIGRlZGljYXRlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jv
c3Mtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMg
c2hhcmVkIHdvcmtlciBzdGFydC4KIFBBU1MgUmVnaXN0ZXIgYSBzZXJ2aWNlIHdvcmtlciBmb3Ig
d29ya2VyIHN1YnJlc291cmNlIGludGVyY2VwdGlvbiB0ZXN0cy4KIFBBU1MgUmVxdWVzdHMgb24g
YSBkZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KLUZBSUwg
UmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtl
ci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGlu
dGVyY2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29kZVwiOiA0MDQsIFwibWVzc2Fn
ZVwiOiBcIjQwNFwifX0iCitQQVNTIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtlciBjb250cm9s
bGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdv
cmtlciBuZXN0ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2Vy
dmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vz
c2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmlu
ZCB2YXJpYWJsZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIg
bmVzdGVkIGluIGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29y
a2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBp
bnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFi
bGU6IFdvcmtlciIKIFBBU1MgVW5yZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciBzdWJyZXNv
dXJjZSBpbnRlcmNlcHRpb24gdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1j
bGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5MjdjOWY3ZWI1ZmZmZWFhYzcxMGFlLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0KLVBBU1MgVmVyaWZ5IG1hdGNoQWxs
KCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7
d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5cGVzIGFzc2VydF9lcXVhbHM6
IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAotCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDIzZDZiNWFiNDUwOGU1Yjc0MDc0MDAwMjdlNjIwNTJj
YTAwZWE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQt
dHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0K
LVBBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVy
aWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50
IHR5cGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd3LnBvcnQu
b25tZXNzYWdlID0gXyA9PiByZXNvbHZlKHcpJykiCi0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>457680</attachid>
            <date>2022-04-15 00:17:09 -0700</date>
            <delta_ts>2022-04-21 06:37:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239122-20220415091707.patch</filename>
            <type>text/plain</type>
            <size>70294</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkyODU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGI4NGFkYjE3NDRjNDU1
ZjllZTJjNDM3YjJjNjZmNDA0ZDVlNzUwOC4uMjJmOWQ1ZThhY2VkMGIxZWU0ZGVmOTcxYWM2OGQ2
OWI1OThmY2VjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIyLTA0LTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlw
dExvYWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0
YS4KKyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50
Q29ubmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3Qg
bWVzc2FnaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAg
ICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU1dDbGll
bnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
clNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRX
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQv
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wNC0xMyAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3NlIHdvcmtlcnMgYXMgc2VydmljZSB3
b3JrZXIgY2xpZW50cyBhbmQgaW1wbGVtZW50IHJlZ2lzdHJhdGlvbiBtYXRjaGluZyBmb3IgZGVk
aWNhdGVkIHdvcmtlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzE5NjEwZWM5M2Y4YzIyMGYwZDgzY2RjNmRiNTUw
ZTUzNjcyMjZkZi4uZjdmZWU0OTlhYmYzNmRlZjQ1MjkyNDM0ODRkNjljNWUyODhkNDZiNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAyMi0wNC0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZp
Y2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5l
Y3Rpb24uaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVk
V29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46
CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAg
ICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZpY2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVu
dCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9yIGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQppbmRleCBlMjQ0NTc4NmJiZjYxM2U3ZDU3NzYzMjllZTEyOTc2OGNlOGE1M2RjLi4xMWZj
ZTA2MzU4MjJlZmVmZjM4N2U0NDIyYjhjZGFlMDJkYjYyMTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UK
QEAgLTE5ODUsNiArMTk4NSw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURF
UlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVzdWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZv
bnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVy
UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2JqZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29y
a2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggODgzZjdkM2YxMmFj
ODI3YmUwYzU5YTdhNDIyNzYyNWI0MmNkMDY5OC4uYjIyZWQ3MGFkMjkwY2NkMDViMzIwMDdmYmFm
MmI0ODc1Mjk0YjA5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjYzLDcgKzI2
Myw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9u
PHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpCiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tU
b1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkpOwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29y
a2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZp
ZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAgcmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRl
bnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAppbmRleCBjYzJiYjhhYTU5M2YyNGE2
N2JkMjA1ZDcxOTQyYjA1N2UyOGM5NmEwLi43Mzc3YmYwOTc4NDVmZDZhZDY2OTViNzlhZTI5MTk3
YTFmYjIzNzFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVi
bGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsKIAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hX
b3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciogd29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAgICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdv
cmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgSlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9w
dGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGFjNGRlNGI3YzBlZGQ0OTVmMGMwNDU0MjY2NmZiODI2MjcwNWU0OTEuLmRjOGIzODI0
ZWFhYzE3NWJiNjE2ZWUwYTc1ODNlMDZjYThhZDlhY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02NTcsNyArNjU3LDcgQEAgdm9pZCBXb3Jr
ZXJHbG9iYWxTY29wZTo6dXBkYXRlU291cmNlUHJvdmlkZXJCdWZmZXJzKGNvbnN0IFNjcmlwdEJ1
ZmZlciYgbWFpblNjcmkKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiB2b2lkIFdvcmtlckds
b2JhbFNjb3BlOjp1cGRhdGVTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSgpCiB7Ci0gICAgQVNTRVJU
KHR5cGUoKSA9PSBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6VHlwZTo6RGVkaWNhdGVkV29y
a2VyKTsKKyAgICBBU1NFUlQodHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpU
eXBlOjpEZWRpY2F0ZWRXb3JrZXIgfHwgdHlwZSgpID09IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNj
b3BlOjpUeXBlOjpTaGFyZWRXb3JrZXIpOwogICAgIGF1dG8gY29udHJvbGxpbmdTZXJ2aWNlV29y
a2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFjdGl2ZVNlcnZpY2VXb3JrZXIoKSA/IHN0ZDo6
bWFrZV9vcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4oYWN0aXZl
U2VydmljZVdvcmtlcigpLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCkpIDogc3RkOjpudWxsb3B0
OwogICAgIFNXQ2xpZW50Q29ubmVjdGlvbiYgY29ubmVjdGlvbiA9IHN3Q2xpZW50Q29ubmVjdGlv
bigpOwogICAgIGNvbm5lY3Rpb24ucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KHRvcE9yaWdp
bigpLCBTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTo6ZnJvbSgqdGhpcyksIGNvbnRyb2xsaW5nU2Vy
dmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFN0cmluZyB7IG1fdXNlckFnZW50IH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
LmgKaW5kZXggNTY5NzBkMDRhM2E3MGMxODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYS4uZGNiZWUx
YTc2NjY4ZTFkNTA5NTlmYzk4MmVjZTNmM2E3Y2ExODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0yNyw2ICsyNyw3IEBA
CiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVy
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTM3LDYgKzM4LDYxIEBAIHN0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgewog
I2VuZGlmCiAgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4gY2xpZW50SWRlbnRpZmllcjsKICAgICBTdHJpbmcgdXNlckFnZW50OworCisgICAgV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCisgICAgdGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRl
PGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdvcmtlckluaXRpYWxpemF0aW9u
RGF0YT4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOjppc29sYXRlZENvcHkoKSBjb25zdAorewor
ICAgIHJldHVybiB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBjcm9zc1Ro
cmVhZENvcHkoc2VydmljZVdvcmtlckRhdGEpLAorI2VuZGlmCisgICAgICAgIGNsaWVudElkZW50
aWZpZXIsCisgICAgICAgIHVzZXJBZ2VudC5pc29sYXRlZENvcHkoKQorICAgIH07Cit9CisKKwor
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOjpl
bmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JL
RVIpCisgICAgZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIGVuY29k
ZXIgPDwgY2xpZW50SWRlbnRpZmllciA8PCB1c2VyQWdlbnQ7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPFdvcmtlckluaXRpYWxpemF0aW9uRGF0YT4gV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZp
Y2VXb3JrZXJEYXRhPj4gc2VydmljZVdvcmtlckRhdGE7CisgICAgZGVjb2RlciA+PiBzZXJ2aWNl
V29ya2VyRGF0YTsKKyAgICBpZiAoIXNlcnZpY2VXb3JrZXJEYXRhKQorICAgICAgICByZXR1cm4g
eyB9OworI2VuZGlmCisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXI+PiBjbGllbnRJZGVudGlmaWVyOworICAgIGRlY29kZXIg
Pj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBpZiAoIWNsaWVudElkZW50aWZpZXIpCisgICAgICAg
IHJldHVybiB7IH07CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gdXNlckFnZW50OworICAg
IGRlY29kZXIgPj4gdXNlckFnZW50OworICAgIGlmICghdXNlckFnZW50KQorICAgICAgICByZXR1
cm4geyB9OworCisgICAgcmV0dXJuIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBXVEZNb3ZlKCpzZXJ2aWNlV29ya2VyRGF0YSks
CisjZW5kaWYKKyAgICAgICAgV1RGTW92ZSgqY2xpZW50SWRlbnRpZmllciksCisgICAgICAgIFdU
Rk1vdmUoKnVzZXJBZ2VudCkKKyAgICB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggOTFh
ZGMwZjMzN2I5YzRiMmRlNTRkZjI3ZjFjNmYxYzIzZjBkOTc4My4uNGNkNjJjYTZkODYxNWM2OTkz
NDdjMmUzMjY2MWExOGQxNGVmMTYyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTQ4LDggKzE0OCw3IEBAIHZvaWQgV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0
RXhlY3V0CiAgICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2IgY2FuIGJlIGV4ZWN1dGVkIGZyb20g
YSB3b3JrZXIgY29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRleHQuCiAgICAgb3B0aW9ucy5zZXJ2
aWNlV29ya2Vyc01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCi0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzaGFyZWQgd29ya2VyLgotICAg
IGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciAm
JiBpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKKyAgICBpZiAoKG1fZGVz
dGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG1fZGVzdGlu
YXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSAmJiBpczxE
b2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKICAgICAgICAgQVNTRVJUKGNsaWVu
dElkZW50aWZpZXIpOwogICAgICAgICAvLyBJbiBjYXNlIG9mIGJsb2IgVVJMcywgd2UgcmV1c2Ug
dGhlIGRvY3VtZW50IGNvbnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyLgogICAgICAgICBpZiAocmVx
dWVzdC0+dXJsKCkucHJvdG9jb2xJc0Jsb2IoKSAmJiBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFj
dGl2ZVNlcnZpY2VXb3JrZXIoKSkKQEAgLTE2MSw2ICsxNjAsOCBAQCB2b2lkIFdvcmtlclNjcmlw
dExvYWRlcjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlw
dEV4ZWN1dAogICAgIH0gZWxzZSBpZiAoYXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZlU2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25z
LnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtl
ci0+cmVnaXN0cmF0aW9uSWRlbnRpZmllcigpOwogI2VuZGlmCisgICAgaWYgKG1fZGVzdGluYXRp
b24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKQorICAgICAgICBt
X3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQudXNlckFn
ZW50KHNjcmlwdFJlcXVlc3QudXJsKCkpOwogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJh
Y2tzIG1heSBoYXBwZW4gd2hpY2ggcmVtb3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9i
amVjdC4KICAgICBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IGI2OGIw
MjRkNjEzYWUxZGYyZTVhNDk1MWY1MDk4OWFkNjk2MGVlNDguLjNkYTBhMWQ1YTY5OWY0MDcxN2M5
NDM1MGQ5NDlhOTNhNTQzOGU2NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuaApAQCAtMTA0LDYgKzEwNCw5IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0YWtlU2VydmljZVdvcmtlckRhdGEoKSB7IHJldHVybiBz
dGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2VydmljZVdvcmtlckRhdGEsIHsgfSk7IH0KICNlbmRpZgog
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcigp
IGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50SWRlbnRpZmllcjsgfQorICAgIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50Rm9yU2hhcmVkV29ya2VyKCkgY29uc3QgeyByZXR1cm4gbV91c2VyQWdlbnRGb3JT
aGFyZWRXb3JrZXI7IH0KKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgUmVmQ291bnRlZDxX
b3JrZXJTY3JpcHRMb2FkZXI+OwogICAgIGZyaWVuZCBzdHJ1Y3Qgc3RkOjpkZWZhdWx0X2RlbGV0
ZTxXb3JrZXJTY3JpcHRMb2FkZXI+OwpAQCAtMTM5LDYgKzE0Miw3IEBAIHByaXZhdGU6CiAjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRh
dGE+IG1fYWN0aXZlU2VydmljZVdvcmtlckRhdGE7CiAjZW5kaWYKKyAgICBTdHJpbmcgbV91c2Vy
QWdlbnRGb3JTaGFyZWRXb3JrZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24u
Y3BwCmluZGV4IDg4YjRkODRjODllOTljMWM0ZjI1YTA4MjMxZTQxMWRmNTkwNzRkNTEuLmYwOGQw
MTYzZDVmYWM5YWFlMmE0OWExMTAwODNiYzY1YTYyM2M3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0zNyw2
ICszNyw4IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXIuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlICJT
aGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oIgogI2luY2x1ZGUgIldvcmtlci5oIgogI2luY2x1ZGUg
IldvcmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+
CkBAIC0xMTMsMTggKzExNSwzMyBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRTY3Jp
cHRGZXRjaEZvclNlcnZlcihTZXJ2aWNlV29ya2VySm9iSWRlbnRpZmllciBqbwogICAgICAgICBm
aW5pc2hGZXRjaGluZ1NjcmlwdEluU2VydmVyKHsgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIo
KSwgam9iSWRlbnRpZmllciB9LCBXVEZNb3ZlKHJlZ2lzdHJhdGlvbktleSksIHdvcmtlckZldGNo
RXJyb3IoUmVzb3VyY2VFcnJvciB7IGVycm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHsgfSwg
bWFrZVN0cmluZygiRmFpbGVkIHRvIGZldGNoIHNjcmlwdCBmb3Igc2VydmljZSB3b3JrZXIgd2l0
aCBzY29wZSAiLCByZWdpc3RyYXRpb25LZXkuc2NvcGUoKS5zdHJpbmcoKSkgfSkpOwogfQogCitz
dGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnZSwgU2VydmljZVdvcmtl
ckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4pCit7CisgICAgaWYgKGF1
dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigpKQor
ICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUo
c291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7Cit9CiAKIHZvaWQgU1dDbGllbnRD
b25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBNZXNzYWdl
V2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlRGF0
YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7
CiAKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllciBjYW4gb25seSBp
ZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCi0gICAgYXV0byogZGVzdGluYXRpb25E
b2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQoZGVzdGluYXRpb25Db250
ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYgKCFkZXN0aW5hdGlvbkRvY3VtZW50KQorICAgIGlmIChh
dXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdl
dChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICBwb3N0TWVzc2FnZVRv
Q29udGFpbmVyKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3Zl
KHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogICAgICAgICByZXR1cm47Cisg
ICAgfQogCi0gICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRlc3RpbmF0aW9uRG9jdW1lbnQtPmVu
c3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgY29udGFpbmVyLT5wb3N0TWVz
c2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJj
ZU9yaWdpbikpOworICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihk
ZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICB3b3JrZXItPnBvc3RUYXNr
VG9Xb3JrZXJHbG9iYWxTY29wZShbbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURh
dGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLCBzb3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9y
aWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RG
TW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hh
cmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyKSkgeworICAgICAgICBzaGFyZWRXb3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0
VGFzayhbbWVzc2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNv
dXJjZURhdGEpLCBzb3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRD
b3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdl
VG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRh
KSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiBzdGF0
aWMgdm9pZCBmb3JBbGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MSwxOCBAQCB2
b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShj
b25zdCBIYXNoU2V0PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9j
dW1lbnQsIFNlcnZpY2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6
OndvcmtlckJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBpZiAoYXV0
byogd29ya2VyID0gV29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikpIHsKICAg
ICAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdDb250cm9s
bGVyID0gbmV3Q29udHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFi
bGUgewogICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RGTW92ZShu
ZXdDb250cm9sbGVyKSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJzLgorICAg
ICAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5
SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVkV29ya2Vy
LT50aHJlYWQoKS5ydW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9s
bGVyLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAg
ICAgICAgdXBkYXRlQ29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICB9
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIz
MTYwYjQ4MWY4YTBhLi45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0YzgyN2ZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VX
b3JrZXJDb250YWluZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdv
cmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNs
dWRlICJTZXJ2aWNlV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtl
clNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CkBAIC0xMzMsNyArMTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgp
IC0+IFJlYWR5UHJvbWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6
OmNvbnRyb2xsZXIoKSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1
bWVudD4oKmNvbnRleHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4
dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFu
ZCBkZWRpY2F0ZWQgd29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4i
KTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29u
dGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAgfHwgaXM8
U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2Vy
dmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtl
cnMgY2FuIGhhdmUgYSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4
dC0+YWN0aXZlU2VydmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25u
ZWN0aW9uLmNwcAppbmRleCAzMDhiYmZhNmFmOTAzMDA5NTZhMmEzOTY4N2U1NWM1ZDczNDllZGI1
Li5iMDRiNzY5YzE0ZDEzMjU2YWE1NWJlNzMyMzQ3NjI3OTliNjJkNjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlNoYXJlZFdvcmtl
ci5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgIldv
cmtlckZldGNoUmVzdWx0LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgi
CiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ2LDI1ICs0NywyNSBAQCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBkZWZhdWx0OwogCiBTaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uOjp+U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbigpID0gZGVmYXVsdDsKIAot
dm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xpZW50KFVS
TCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3ZvaWQgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVu
dChVUkwmJiB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAKICAgICBhdXRvKiB3b3JrZXJPYmplY3QgPSBTaGFyZWRXb3JrZXI6OmZyb21J
ZGVudGlmaWVyKHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogICAgIENPTk5FQ1RJT05f
UkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXI9JXtwdWJsaWN9cywgd29ya2VyPSVwIiwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHdvcmtlck9iamVjdCk7CiAgICAgaWYgKCF3b3Jr
ZXJPYmplY3QpCi0gICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRjaEVy
cm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24gfSkp
OworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJvcihSZXNv
dXJjZUVycm9yIHsgUmVzb3VyY2VFcnJvcjo6VHlwZTo6Q2FuY2VsbGF0aW9uIH0pLCB7IH0pOwog
CiAgICAgYXV0byBsb2FkZXJJZGVudGlmaWVyID0gKytsb2FkZXJJZGVudGlmaWVyU2VlZDsKICAg
ICBhdXRvIGxvYWRlciA9IG1ha2VVbmlxdWVSZWY8U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyPihX
VEZNb3ZlKHVybCksICp3b3JrZXJPYmplY3QsIFdURk1vdmUod29ya2VyT3B0aW9ucykpOwogICAg
IGF1dG8gbG9hZGVyUHRyID0gbG9hZGVyLnB0cigpOwogICAgIG1fbG9hZGVycy5hZGQobG9hZGVy
SWRlbnRpZmllciwgV1RGTW92ZShsb2FkZXIpKTsKIAotICAgIGxvYWRlclB0ci0+bG9hZChbdGhp
cywgbG9hZGVySWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oV29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgbXV0YWJsZSB7Cisg
ICAgbG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1
dG8mJiBpbml0aWFsaXphdGlvbkRhdGEpIG11dGFibGUgewogICAgICAgICBDT05ORUNUSU9OX1JF
TEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBmaW5pc2hlZCBzY3JpcHQgbG9hZCwgc3Vj
Y2Vzcz0lZCIsIGZldGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKICAgICAgICAgYXV0byBsb2Fk
ZXIgPSBtX2xvYWRlcnMudGFrZShsb2FkZXJJZGVudGlmaWVyKTsKICAgICAgICAgQVNTRVJUKGxv
YWRlcik7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUo
aW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24u
aAppbmRleCBkMmUyNDczNzExNGY2MWRhMjBhZDU5YjdmN2ZiMDBkNWUwNTliYjcwLi4xODI5OWE4
MzU0YTIwMmY3ZDRlMDdlMTY4NTYyN2VjMmU5MmFjMDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjsKIAog
c3RydWN0IFNoYXJlZFdvcmtlcktleTsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVj
dCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsKIAogY2xh
c3MgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24+IHsKQEAgLTUyLDcgKzUzLDcgQEAgcHVibGljOgogCiBw
cm90ZWN0ZWQ6CiAgICAgLy8gSVBDIG1lc3NhZ2VzLgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
ZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZl
dGNoUmVzdWx0JiYpPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZldGNoU2NyaXB0SW5D
bGllbnQoVVJMJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtl
ck9wdGlvbnMmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
bm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29tcGxldGlvbihXZWJDb3JlOjpTaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoU2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQg
Y29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwCmluZGV4IDA3Mjg0ZTAyNzg0M2VjZGM5M2NhOTcxZGZlZDk4YTM2YzllMjMzNzcuLjdlNWI5
NDgxZTNlNTY4MmNiN2RiZmUxZWY0NzgzZWEyNDlmZmJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0
LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29y
a2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgogCkBAIC00Mywx
MyArNDQsMTMgQEAgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpTaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIoVVJMJiYgdXJsLCBTaGFyZWRXb3JrZXImIHdvcmsKIHsKIH0KIAotdm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IEFTU0VSVCghbV9jb21wbGV0aW9uSGFuZGxlcik7CiAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgYXV0byBzb3VyY2UgPSBtX29wdGlv
bnMudHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUgPyBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJj
ZTo6TW9kdWxlU2NyaXB0IDogV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6OkNsYXNzaWNXb3Jr
ZXJTY3JpcHQ7Ci0gICAgbV9sb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqbV93b3JrZXItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBt
X3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25zKG1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6
OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhp
cywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisgICAgbV9sb2FkZXItPmxvYWRBc3lu
Y2hyb25vdXNseSgqbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3VyY2VS
ZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBtX3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25zKG1fb3B0
aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRlKCkpOwogfQogCiB2b2lk
IFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9h
ZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikKQEAgLTYx
LDcgKzYyLDEzIEBAIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCgpCiB7CiAgICAgaWYgKGF1dG8qIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBtX3dvcmtlci0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyAhbV9sb2FkZXItPmZhaWxlZCgpKQogICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBtX2xvYWRlci0+aWRlbnRpZmllcigpLCBtX2xvYWRlci0+c2NyaXB0KCkudG9TdHJp
bmcoKSk7Ci0gICAgbV9jb21wbGV0aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hSZXN1bHQoKSk7
IC8vIGRlbGV0ZXMgdGhpcy4KKyAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRj
aFJlc3VsdCgpLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICAgICAgbV9sb2FkZXItPnRha2VTZXJ2aWNlV29ya2VyRGF0YSgpLAorI2Vu
ZGlmCisgICAgICAgIG1fbG9hZGVyLT5jbGllbnRJZGVudGlmaWVyKCksCisgICAgICAgIG1fbG9h
ZGVyLT51c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKQorICAgIH0pOyAvLyBkZWxldGVzIHRoaXMu
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggNzFjYjRi
NjViYzk5NWM1NWNiZWZiMDFhMzllYzJkMTYxM2YyODFhMi4uNDVlNjVmZjZjMDM2NmNjZDQ4MjI2
MTFhODdhNjU3OWExYWFhODU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTQwLDEzICs0MCwxNCBA
QCBzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CiBjbGFzcyBTaGFyZWRXb3Jr
ZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXI7CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7
CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJT
Y3JpcHRMb2FkZXIgOiBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyKFVSTCYmLCBTaGFyZWRXb3JrZXImLCBXb3JrZXJPcHRpb25zJiYpOwogCi0gICAgdm9pZCBs
b2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAg
IHZvaWQgbG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYsIFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAKICAgICBjb25zdCBVUkwmIHVybCgpIGNv
bnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgU2hhcmVkV29ya2VyJiB3b3JrZXIoKSB7IHJldHVy
biBtX3dvcmtlci5nZXQoKTsgfQpAQCAtNjAsNyArNjEsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0
IFJlZjxTaGFyZWRXb3JrZXI+IG1fd29ya2VyOwogICAgIGNvbnN0IFJlZjxXb3JrZXJTY3JpcHRM
b2FkZXI+IG1fbG9hZGVyOwogICAgIGNvbnN0IFVSTCBtX3VybDsKLSAgICBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiBtX2NvbXBsZXRpb25IYW5kbGVyOworICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhJiYpPiBtX2NvbXBsZXRpb25IYW5kbGVyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29u
dGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDU4NTk5YWJjOTRlM2JjZDZj
YjJkZTA2MGM3ZGU3Nzc1YTI0YTJiMDcuLjYwNzk2NGM5ZGY3MmFhMWM5MGZhNDNiZjE3NjNhY2Nk
NzUxMTI2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRl
eHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKQEAgLTQzLDcgKzQzLDEyIEBAIFNo
YXJlZFdvcmtlclRocmVhZDo6U2hhcmVkV29ya2VyVGhyZWFkKFNoYXJlZFdvcmtlcklkZW50aWZp
ZXIgaWRlbnRpZmllciwgY29uc3QKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2hhcmVkV29ya2Vy
VGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luKQogewogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIiVwIC0g
U2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZTogbV9pZGVudGlmaWVy
PSUiIFBSSXU2NCwgdGhpcywgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOwotICAgIHJldHVybiBT
aGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0p
LCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiks
IGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3Bl
ID0gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShzdGQ6OmV4Y2hhbmdlKG1fbmFtZSwg
eyB9KSwgcGFyYW1ldGVycywgV1RGTW92ZShvcmlnaW4pLCAqdGhpcywgV1RGTW92ZSh0b3BPcmln
aW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhKQor
ICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRP
ckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1ldGVycy5zZXJ2
aWNlV29ya2VyRGF0YSB9KSk7CisjZW5kaWYKKyAgICByZXR1cm4gc2NvcGU7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXgg
MzM3MTg0MzRiMDk1ZTE4NjQwYjgzNzBkYTVlYjM2MTc5Y2I3NDJlNi4uOTcxMzkzZWVlNTgzZWVk
NzY5YjY0ZmE0NWNiNDA3OWQyMmY3OWE2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94
eS5jcHAKQEAgLTQ5LDE5ICs0OSwxOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVh
ZFByb3hpZXMoKQorc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hp
ZXMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5Kj4+IHNldDsKLSAgICByZXR1cm4gc2V0OworICAgIHN0YXRpYyBOZXZlckRlc3Ry
b3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eSo+PiBtYXA7CisgICAgcmV0dXJuIG1hcDsKIH0KIAotc3RhdGljIFdvcmtl
clBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVz
dWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVudCYgZG9jdW1lbnQpCitzdGF0aWMgV29ya2Vy
UGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1
bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBEb2N1bWVudCYgZG9j
dW1lbnQpCiB7CiAgICAgcmV0dXJuIHsKICAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQubGFzdFJl
cXVlc3RVUkwsCiAgICAgICAgIHdvcmtlck9wdGlvbnMubmFtZSwKICAgICAgICAgInNoYXJlZHdv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSwKLSAgICAgICAgdXNlckFnZW50LAorICAgICAgICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0
YS51c2VyQWdlbnQpLAogICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRl
Z3koKS0+aXNPbkxpbmUoKSwKICAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQuY29udGVudFNlY3Vy
aXR5UG9saWN5LAogICAgICAgICBmYWxzZSwKQEAgLTc0LDIwICs3NCwyNiBAQCBzdGF0aWMgV29y
a2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hS
ZXN1bHQmIHdvcmtlcgogICAgICAgICBXb3JrZXJUaHJlYWRNb2RlOjpDcmVhdGVOZXdUaHJlYWQs
CiAgICAgICAgIHsgfSwKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgICAgIHsgfSwK
KyAgICAgICAgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEuc2VydmljZVdvcmtlckRhdGEpLAog
I2VuZGlmCi0gICAgICAgIHsgfQorICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRl
bnRpZmllci52YWx1ZV9vcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciB7IH0pCiAg
ICAgfTsKIH0KIAotU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVk
V29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtl
ckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJP
cHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNh
Y2hlU3RvcmFnZVByb3ZpZGVyKQorU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIFNoYXJlZFdvcmtl
clRocmVhZFByb3h5OjpieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGll
cygpLmdldChpZGVudGlmaWVyKTsKK30KKworU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJl
ZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklk
ZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGll
bnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9w
dGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFs
aXphdGlvbkRhdGEsIENhY2hlU3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikK
ICAgICA6IG1fcGFnZShXVEZNb3ZlKHBhZ2UpKQogICAgICwgbV9kb2N1bWVudCgqbV9wYWdlLT5t
YWluRnJhbWUoKS5kb2N1bWVudCgpKQotICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2Vy
VGhyZWFkOjpjcmVhdGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJh
bWV0ZXJzKHdvcmtlckZldGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCB1c2VyQWdl
bnQsIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlz
LCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmln
aW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Q
cm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6
Y3JlYXRlQWxsRW5hYmxlZCgpKSkKKyAgICAsIG1fd29ya2VyVGhyZWFkKFNoYXJlZFdvcmtlclRo
cmVhZDo6Y3JlYXRlKHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGdlbmVyYXRlV29ya2VyUGFyYW1l
dGVycyh3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgV1RGTW92ZShp
bml0aWFsaXphdGlvbkRhdGEpLCBtX2RvY3VtZW50KSwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3Vs
dC5zY3JpcHQpLCAqdGhpcywgKnRoaXMsICp0aGlzLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5v
cm1hbCwgY2xpZW50T3JpZ2luLnRvcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBtX2RvY3VtZW50
LT5pZGJDb25uZWN0aW9uUHJveHkoKSwgbV9kb2N1bWVudC0+c29ja2V0UHJvdmlkZXIoKSwgSlND
OjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkpCiAgICAgLCBtX2NhY2hlU3RvcmFn
ZVByb3ZpZGVyKGNhY2hlU3RvcmFnZVByb3ZpZGVyKQorICAgICwgbV9jbGllbnRJZGVudGlmaWVy
KCppbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcikKIHsKLSAgICBBU1NFUlQoIWFs
bFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hh
cmVkV29ya2VyVGhyZWFkUHJveGllcygpLmFkZCh0aGlzKTsKKyAgICBBU1NFUlQoIWFsbFNoYXJl
ZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyhtX2NsaWVudElkZW50aWZpZXIpKTsKKyAg
ICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKG1fY2xpZW50SWRlbnRpZmllciwg
dGhpcyk7CiAKICAgICBzdGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRM
aXN0ZW5lcikgewpAQCAtOTgsOCArMTA0LDggQEAgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNo
YXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFcKIAog
U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6On5TaGFyZWRXb3JrZXJUaHJlYWRQcm94eSgpCiB7Ci0g
ICAgQVNTRVJUKGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7
Ci0gICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLnJlbW92ZSh0aGlzKTsKKyAgICBB
U1NFUlQoYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY2xpZW50SWRl
bnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5yZW1vdmUobV9j
bGllbnRJZGVudGlmaWVyKTsKIH0KIAogU2hhcmVkV29ya2VySWRlbnRpZmllciBTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6aWRlbnRpZmllcigpIGNvbnN0CkBAIC0xNzUsNyArMTgxLDcgQEAgdm9p
ZCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6c2V0UmVzb3VyY2VDYWNoaW5nRGlzYWJsZWRCeVdl
Ykluc3BlY3Rvcihib29sKQogCiB2b2lkIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpuZXR3b3Jr
U3RhdGVDaGFuZ2VkKGJvb2wgaXNPbkxpbmUpCiB7Ci0gICAgZm9yIChhdXRvKiBwcm94eSA6IGFs
bFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKSkKKyAgICBmb3IgKGF1dG8qIHByb3h5IDogYWxs
U2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLnZhbHVlcygpKQogICAgICAgICBwcm94eS0+bm90
aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGlzT25MaW5lKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJl
YWRQcm94eS5oCmluZGV4IGRhYjNhMTIzZGVlMThkYmI2MjRkNzdmNThlZDk4ZDQ0OTRjN2ZhOTku
LjQwZTAwNmM2MTE1NmViNmIwOWYxZWI3NTc2OTk3ZTQ4MDBhZjhiYzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdv
cmtlclRocmVhZFByb3h5LmgKQEAgLTQxLDEyICs0MSwxNSBAQCBjbGFzcyBTaGFyZWRXb3JrZXJU
aHJlYWQ7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7
CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eT4sIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwgcHVibGljIFdvcmtlckxv
YWRlclByb3h5LCBwdWJsaWMgV29ya2VyRGVidWdnZXJQcm94eSB7CiBwdWJsaWM6CiAgICAgdGVt
cGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxTaGFyZWRXb3JrZXJUaHJlYWRQcm94
eT4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNoYXJlZFdv
cmtlclRocmVhZFByb3h5KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLikpOyB9CiAgICAgV0VC
Q09SRV9FWFBPUlQgflNoYXJlZFdvcmtlclRocmVhZFByb3h5KCk7CiAKKyAgICBzdGF0aWMgU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkqIGJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllcik7CisKICAgICBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIoKSBj
b25zdDsKICAgICBTaGFyZWRXb3JrZXJUaHJlYWQmIHRocmVhZCgpIHsgcmV0dXJuIG1fd29ya2Vy
VGhyZWFkOyB9CiAKQEAgLTU0LDcgKzU3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXNUZXJt
aW5hdGluZ09yVGVybWluYXRlZCgpIHsgbV9pc1Rlcm1pbmF0aW5nT3JUZXJtaW5hdGVkID0gdHJ1
ZTsgfQogCiBwcml2YXRlOgotICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGll
bnRPcmlnaW4mLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOworICAgIFdFQkNPUkVfRVhQ
T1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJPcHRpb25zJiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmLCBDYWNoZVN0b3JhZ2VQ
cm92aWRlciYpOwogCiAgICAgLy8gV29ya2VyT2JqZWN0UHJveHkuCiAgICAgdm9pZCBwb3N0RXhj
ZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCkgZmluYWw7
CkBAIC04Miw2ICs4NSw3IEBAIHByaXZhdGU6CiAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIG1f
Y2FjaGVTdG9yYWdlUHJvdmlkZXI7CiAgICAgUmVmUHRyPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+
IG1fY2FjaGVTdG9yYWdlQ29ubmVjdGlvbjsKICAgICBib29sIG1faXNUZXJtaW5hdGluZ09yVGVy
bWluYXRlZCB7IGZhbHNlIH07CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIg
bV9jbGllbnRJZGVudGlmaWVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwCmluZGV4IGVkNzNmMGE3MTIyNmY1YmVmMzgyYzBmY2I2ZDFjOWZkZmZkODY0N2MuLjU0YzRl
ODhkYjQ3MTVhMTE3M2ZmMDc1ZDM4ZTg1MWViZTRmOTgzZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEy
MTUsMTIgKzEyMTUsMjEgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc3RhcnROZXR3
b3JrTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXEKICAgICBzdGFydE5ldHdv
cmtMb2FkKFdURk1vdmUobmV3UmVxdWVzdCksIEZpcnN0TG9hZDo6Tm8pOwogfQogCisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorc3RhdGljIGJvb2wgc2hvdWxkVHJ5VG9NYXRjaFJlZ2lzdHJh
dGlvbk9uUmVkaXJlY3Rpb24oY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zLCBib29sIGlzU2Vy
dmljZVdvcmtlckxvYWRlZCkKK3sKKyAgICBpZiAob3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9u
czo6TW9kZTo6TmF2aWdhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBpc1Nl
cnZpY2VXb3JrZXJMb2FkZWQgJiYgKG9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRp
b25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKTsKK30KKyNlbmRpZgorCiB2b2lkIE5ldHdv
cmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0
JiYgbmV3UmVxdWVzdCwgYm9vbCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscykKIHsK
ICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiAoaXNBbGxv
d2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHM9JWQpIiwgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3Jl
ZGVudGlhbHMpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmIChwYXJhbWV0
ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgKHBh
cmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRp
b246OldvcmtlciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CisgICAgaWYgKHNob3Vs
ZFRyeVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKHBhcmFtZXRlcnMoKS5vcHRpb25z
LCAhIW1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKICAgICAgICAgbV9zZXJ2aWNlV29ya2Vy
UmVnaXN0cmF0aW9uID0geyB9OwogICAgICAgICBpZiAoYXV0byBzZXJ2aWNlV29ya2VyRmV0Y2hU
YXNrID0gbV9jb25uZWN0aW9uLT5jcmVhdGVGZXRjaFRhc2soKnRoaXMsIG5ld1JlcXVlc3QpKSB7
CiAgICAgICAgICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0
OiBDcmVhdGVkIGEgU2VydmljZVdvcmtlckZldGNoVGFzayB0byBoYW5kbGUgdGhlIHJlZGlyZWN0
IChmZXRjaElkZW50aWZpZXI9JSIgUFJJdTY0ICIpIiwgc2VydmljZVdvcmtlckZldGNoVGFzay0+
ZmV0Y2hJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24uY3BwCmluZGV4IGIzZGQ0YTUyODIwOTI0ZDkwMTI0OTEzNzE3ZmJiMjAyNWFmNTUz
OWMuLmJhMWRjZTJmODFjYmYyMzBjM2UwM2QzMGZmN2RhZmZlZjJjZTcyZGUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdv
cmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjksNiArMTY5LDggQEAgdm9pZCBX
ZWJTV1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29ya1Jlc291cmNl
TG9hZFBhcmFtZXRlcnMmIHAKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSBjbGllbnRUeXBl
OwogICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09IEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246OldvcmtlcikKICAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3Jr
ZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZSBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRl
c3RpbmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpCisg
ICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6U2hhcmVkd29ya2Vy
OwogICAgIGVsc2UKICAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBl
OjpXaW5kb3c7CiAKQEAgLTIwMSw3ICsyMDMsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdv
cmtlckZldGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTgog
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyOwotICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9w
dGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0
aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpIHsKKyAgICBpZiAo
bG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpO
YXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0
Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0
aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3Jr
ZXIpIHsKICAgICAgICAgYXV0byB0b3BPcmlnaW4gPSBsb2FkZXIucGFyYW1ldGVycygpLmlzTWFp
bkZyYW1lTmF2aWdhdGlvbiA/IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChyZXF1ZXN0LnVy
bCgpKSA6IGxvYWRlci5wYXJhbWV0ZXJzKCkudG9wT3JpZ2luLT5kYXRhKCk7CiAgICAgICAgIGF1
dG8qIHJlZ2lzdHJhdGlvbiA9IGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcodG9wT3JpZ2luLCByZXF1
ZXN0LnVybCgpKTsKICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
ci5oCmluZGV4IDEzOWY2MDcwMjA2MGUwNGE2ODkyYjdmMWEzNTc4ZTgyZDA2NmJhMjguLjAzYTNk
ZDVkMzY1YmY4NjFhOGU4YjU5ZTRjZDY0N2RjNTUyM2QzMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
ci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3Jr
ZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIApAQCAtNzIsNyArNzMsOSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBtYXJrQXNSdW5uaW5nKCkgeyBtX2lzUnVubmluZyA9IHRydWU7
IH0KIAogICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiBmZXRjaFJlc3VsdCgp
IGNvbnN0IHsgcmV0dXJuIG1fZmV0Y2hSZXN1bHQ7IH0KKyAgICBjb25zdCBXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmIGluaXRpYWxpemF0aW9uRGF0YSgpIGNvbnN0IHsgcmV0dXJu
IG1faW5pdGlhbGl6YXRpb25EYXRhOyB9CiAgICAgdm9pZCBzZXRGZXRjaFJlc3VsdChXZWJDb3Jl
OjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KSB7IG1fZmV0Y2hSZXN1bHQgPSBXVEZN
b3ZlKGZldGNoUmVzdWx0KTsgfQorICAgIHZvaWQgc2V0SW5pdGlhbGl6YXRpb25EYXRhKFdlYkNv
cmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkgeyBtX2lu
aXRpYWxpemF0aW9uRGF0YSA9IFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKTsgfQogICAgIGJv
b2wgZGlkRmluaXNoRmV0Y2hpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fZmV0Y2hSZXN1bHQuc2Ny
aXB0OyB9CiAKIHByaXZhdGU6CkBAIC05Miw2ICs5NSw3IEBAIHByaXZhdGU6CiAgICAgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyBtX3dvcmtlck9wdGlvbnM7CiAgICAgSGFzaE1hcDxXZWJDb3JlOjpT
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJPYmplY3RTdGF0ZT4gbV9z
aGFyZWRXb3JrZXJPYmplY3RzOwogICAgIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IG1fZmV0
Y2hSZXN1bHQ7CisgICAgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIG1faW5pdGlh
bGl6YXRpb25EYXRhOwogICAgIGJvb2wgbV9pc1J1bm5pbmcgeyBmYWxzZSB9OwogICAgIGJvb2wg
bV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNl
cnZlci5jcHAKaW5kZXggOWE2OWYxMzhmOWY1ZGMzMzZmMDMzOGE3MGM1NGUxMTIzZTQ2MmQ0Yy4u
MzFmM2VlMDZhYmI4MjQyYzljOWUxNjJkNTg2YjQwNTEzYTJjOTJhMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2Vy
dmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04NywxMyArODcsMTMgQEAgdm9pZCBXZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVkV29ya2Vy
S2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVyQ29ubmVjdGlvbik7CiAKICAgICBSRUxFQVNF
X0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRX
b3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIgc2NyaXB0IGluIGNsaWVudCIpOwotICAgIHNl
cnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNo
YXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAgICBzZXJ2ZXJDb25uZWN0aW9uLT5mZXRjaFNj
cmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIs
IFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRXb3JrZXIgPSBXZWFrUHRyIHsg
KnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1dG8mJiBpbml0aWFsaXphdGlv
bkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHNoYXJlZFdvcmtlcikKLSAgICAgICAg
ICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgqc2hhcmVk
V29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgICAgICB3ZWFrVGhpcy0+ZGlk
RmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJlZFdvcmtlciwgV1RGTW92ZShm
ZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7CiB9CiAK
LXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtl
clNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0
Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRG
aW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdv
cmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCwgV2ViQ29yZTo6
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewogICAgIFJF
TEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlkRmluaXNo
RmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1
NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNzPSVkIiwgc2hhcmVkV29ya2VyLmlkZW50aWZp
ZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2VyLCBmZXRjaFJlc3VsdC5lcnJvci5pc051bGwo
KSk7CiAKQEAgLTEwOCw2ICsxMDgsNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlk
RmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJgogICAgIH0K
IAogICAgIHNoYXJlZFdvcmtlci5zZXRGZXRjaFJlc3VsdChXVEZNb3ZlKGZldGNoUmVzdWx0KSk7
CisgICAgc2hhcmVkV29ya2VyLnNldEluaXRpYWxpemF0aW9uRGF0YShXVEZNb3ZlKGluaXRpYWxp
emF0aW9uRGF0YSkpOwogCiAgICAgaWYgKGF1dG8qIGNvbnRleHRDb25uZWN0aW9uID0gc2hhcmVk
V29ya2VyLmNvbnRleHRDb25uZWN0aW9uKCkpIHsKICAgICAgICAgY29udGV4dENvbm5lY3Rpb24t
PmxhdW5jaFNoYXJlZFdvcmtlcihzaGFyZWRXb3JrZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3Jr
ZXJTZXJ2ZXIuaAppbmRleCBiMjA2YWYyYzBlYzJiMjhlMTE5NjgzZGRlMGRmNzQwMWQwODgyOTZl
Li5lNjM3MGQ3MzM0MzE0Y2U3ZTczYzlhMmFmYjcwMjUzNmJlNWFjOGJmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7Citz
dHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9
CiAKQEAgLTc3LDcgKzc4LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNvbnRleHRDb25u
ZWN0aW9uKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpQcm9jZXNzSWRlbnRpZmllcj4gcmVxdWVzdGluZ1Byb2Nlc3NJZGVudGlmaWVyKTsK
ICAgICBib29sIG5lZWRzQ29udGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25z
dCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYpIGNvbnN0OwogICAgIHZvaWQgY29udGV4dENv
bm5lY3Rpb25DcmVhdGVkKFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24m
KTsKLSAgICB2b2lkIGRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJl
ZFdvcmtlciYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgZGlkRmlu
aXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYp
OwogICAgIHZvaWQgc2h1dERvd25TaGFyZWRXb3JrZXIoY29uc3QgV2ViQ29yZTo6U2hhcmVkV29y
a2VyS2V5Jik7CiAKICAgICBOZXR3b3JrU2Vzc2lvbiYgbV9zZXNzaW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJl
ZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA5YTZkMzY1
ZTMwYzhmZmIwZjdhNWQyNDZkZmVmYWFiNmIyNWE4YmUxLi4xMmYzNWY1NWU5NTFlODk5M2M2NTk3
NGZlZTA3ZWY1NjU4MzkyNjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3Jr
ZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgV2ViU2hhcmVk
V29ya2VyU2VydmVyQ29ubmVjdGlvbjo6cmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShXZWJDb3Jl
OjpTaGFyZWRXCiAgICAgICAgIHNlc3Npb24tPmVuc3VyZVNoYXJlZFdvcmtlclNlcnZlcigpLnJl
c3VtZUZvckJhY2tGb3J3YXJkQ2FjaGUoc2hhcmVkV29ya2VyS2V5LCBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyKTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9u
OjpmZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2Vy
LCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVj
dElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hS
ZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZl
ckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBz
aGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0
Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31z
Iiwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkp
OwogICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbjo6RmV0Y2hTY3JpcHRJbkNsaWVudCB7IHNoYXJlZFdvcmtlci51cmwoKSwgc2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSB9
LCBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggYjQxOTE5NjVjMzQyNWZmMWUwNmFmMzdl
NGJhMjViNDUyYzgyZmZiOC4uZjFiNzEyYjdjODQyNjg1OTFiNzE1NjM2NjZkNGM4ZmQ2NTZjMDFi
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIv
V2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aApAQCAtNjMsNyArNjMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgdm9pZCBmZXRj
aFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25z
dCBXZWJTaGFyZWRXb3JrZXImLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVy
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdl
YkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgdm9pZCBub3RpZnlX
b3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElk
ZW50aWZpZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHBvc3RF
eGNlcHRpb25Ub1dvcmtlck9iamVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVy
VG9Db250ZXh0Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1No
YXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApp
bmRleCA1ZTQzZjExY2YzYTZjMzRmOTk3N2Q1NGZiYTY2MWE1M2M5YmEzMzE0Li5lNmM5NjhkNDg4
ZGUyZWY1NDE3NGZlNzQzNWI5ODQ4MDdmNGJjMmI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJl
ZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAt
OTksNyArOTksNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rp
b246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJTaGFyZWRXb3JrZQogewogICAgIENPTlRFWFRfQ09O
TkVDVElPTl9SRUxFQVNFX0xPRygibGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVu
dGlmaWVyPSUiIFBSSXU2NCwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsK
ICAgICBzaGFyZWRXb3JrZXIubWFya0FzUnVubmluZygpOwotICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2Vy
IHsgc2hhcmVkV29ya2VyLm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFy
ZWRXb3JrZXIud29ya2VyT3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSB9KTsK
KyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b246OkxhdW5jaFNoYXJlZFdvcmtlciB7IHNoYXJlZFdvcmtlci5vcmlnaW4oKSwgc2hhcmVkV29y
a2VyLmlkZW50aWZpZXIoKSwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSwgc2hhcmVkV29y
a2VyLmZldGNoUmVzdWx0KCksIHNoYXJlZFdvcmtlci5pbml0aWFsaXphdGlvbkRhdGEoKSB9KTsK
ICAgICBzaGFyZWRXb3JrZXIuZm9yRWFjaFNoYXJlZFdvcmtlck9iamVjdChbJl0oYXV0bywgYXV0
byYgcG9ydCkgewogICAgICAgICBwb3N0Q29ubmVjdEV2ZW50KHNoYXJlZFdvcmtlciwgcG9ydCk7
CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCAxNzgwY2FjN2I2YTc3N2JmMTNmODIz
MjQ1N2U1NGQzOTExNWVkYzBlLi45NGQ5M2Q5Zjk0MjVlYThlMDYwYTVhNjY4YmI1MDgyZTlkNjY5
MDQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE5Miw2ICsxOTIsNyBAQCB2b2lkIFdlYlNX
Q2xpZW50Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChTY3Jp
cHRFeGVjdXRpb25DbwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtl
ciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFdURk1vdmUoKmRhdGEuYWN0
aXZlV29ya2VyKSkgOiBmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBjb21w
bGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDJiZmY2MGFiY2YwMTM0OGQ4YWNmM2M0NzIz
ODliYjUwMGFhMmQzMmUuLmUxOTU3ZTIzNTAzYzI5OWU4MzA0YWRhYzNhM2ZlNjFjYmZjZjcxMmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdv
cmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyVGhyZWFk
UHJveHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckluaXRpYWxp
emF0aW9uRGF0YS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtODksNyArOTAsNyBAQCB2
b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVy
ZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1fcHJlZmVyZW5jZXNTdG9yZSA9IHN0b3JlOwog
fQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNo
U2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3Jr
ZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3
b3JrZXJGZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2lu
LCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVk
V29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hT
aGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAgIGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBX
ZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAtMTEwLDggKzExMSwxMiBAQCB2b2lkIFdlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNv
cmU6OkNsaWVudAogICAgICAgICBXZWJQYWdlOjp1cGRhdGVTZXR0aW5nc0dlbmVyYXRlZCgqbV9w
cmVmZXJlbmNlc1N0b3JlLCBwYWdlLT5zZXR0aW5ncygpKTsKICAgICAgICAgcGFnZS0+c2V0dGlu
Z3MoKS5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U3RvcmFn
ZUJsb2NraW5nUG9saWN5PihtX3ByZWZlcmVuY2VzU3RvcmUtPmdldFVJbnQzMlZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpzdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkoKSkpKTsKICAgICB9
CisKKyAgICBpZiAoIWluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQuaXNFbXB0eSgpKQorICAg
ICAgICBpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50ID0gbV91c2VyQWdlbnQ7CisKICAgICBw
YWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVS
TCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kpOwot
ICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9u
cyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92
aWRlcigpKTsKKyAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hh
cmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdv
cmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwogCiAgICAgV2ViQ29yZTo6U2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJlZ2lzdGVyU2hhcmVkV29ya2VyVGhy
ZWFkKFdURk1vdmUoc2hhcmVkV29ya2VyVGhyZWFkUHJveHkpKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5kZXggYWIzNWNiZDAxODg1Y2Vi
Mzc2MTMxMGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBiOGU2ZjE0MWJkYTJhYzJjZDdiYzRiNTljYzA4
MTAzN2U4N2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBD
bGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTU4LDcgKzU5
LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIElQQyBNZXNzYWdlcy4KLSAgICB2b2lk
IGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3Jl
OjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3Jl
OjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNl
c1N0b3JlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHNldFVzZXJBZ2Vu
dChTdHJpbmcmJiB1c2VyQWdlbnQpIHsgbV91c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCk7
IH0KICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODJkNWRlZGY4ZmFjNGIz
ZmRjNDVkNTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZkY2FmMjdhNzRlYTUzNjU5YTM1ZmFhNWFkMWYx
ZWIwY2YyYWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24gTm90UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3Jl
OjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNo
YXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtl
ck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJl
c3VsdCkKKyAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRl
bnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3Ry
dWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0LCBzdHJ1Y3Qg
V2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHdvcmtlckluaXRpYWxpemF0aW9uRGF0
YSkKICAgICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIg
c2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBw
b3J0LCBTdHJpbmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJD
b3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAg
VXBkYXRlUHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
IHN0b3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4KaW5kZXggYzI2OWZkMjZhOTFlYmZjYjRjNTRmMGQ2YzllMGViM2U0YjBkZjYzMi4uYjZj
MDRkNjY0YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUxYzM3OGRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
aGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBA
CiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb24gewotICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1
Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KQorICAgIEZldGNoU2NyaXB0SW5DbGll
bnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3Jr
ZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVz
dWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0
aW9uRGF0YSkKICAgICBOb3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6
OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAgICBQb3N0RXhjZXB0aW9uVG9Xb3Jr
ZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBTdHJpbmcgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
aW50IGNvbHVtbk51bWJlciwgU3RyaW5nIHNvdXJjZVVSTCkKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkMWFhM2Y4OGVi
YjBiMzAxNzZmNWYzODEyYTgyMDAyZmYwOTJjZDA3Li4wNDMwODE5MWFlODdmMzYyZjdmZmZjMTli
YWVmYWE3ZGJlMDlkYmZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjItMDQtMTQgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNo
b3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2dsaWIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQt
dHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDIyLTA0LTEzICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBFeHBvc2Ugd29ya2VycyBhcyBz
ZXJ2aWNlIHdvcmtlciBjbGllbnRzIGFuZCBpbXBsZW1lbnQgcmVnaXN0cmF0aW9uIG1hdGNoaW5n
IGZvciBkZWRpY2F0ZWQgd29ya2VycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXgg
OTI3NmY0N2U5MWFkNjM1YjUyMjUxODk2Mzc3Nzc1Y2RkM2QyMDA4Yi4uY2ZmODFlNTIxOThkNjMy
MmI5YWVmN2M2NjljMTNmMzY3OWE3NjRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBw
bGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdv
cmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMTMgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSB3b3JrZXJzIGFzIHNlcnZp
Y2Ugd29ya2VyIGNsaWVudHMgYW5kIGltcGxlbWVudCByZWdpc3RyYXRpb24gbWF0Y2hpbmcgZm9y
IGRlZGljYXRlZCB3b3JrZXJzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBkZjczNWZh
ZmQwN2JmNjE5M2NkM2RiMDE1NDNlNTdhMTc4MTQ3YzIyLi44OTI5NjE5YTVjOTI5NGU0NTdhYmI4
NzlkN2E4YWNkOTdkZDdhNjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSwzIEBACiAKLUZBSUwgVGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIg
Y2xpZW50cyBhc3NlcnRfbm90X2VxdWFsczogU2hhcmVkIHdvcmtlciBjbGllbnQgc2hvdWxkIG5v
dCBiZSB1bmRlZmluZWQgZ290IGRpc2FsbG93ZWQgdmFsdWUgdW5kZWZpbmVkCitQQVNTIFRlc3Qg
Q2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQgd29ya2VyIGNsaWVudHMKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQt
dHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4YjVhZTkyN2M5Zjdl
YjVmZmZlYWFjNzEwYWUuLjE5NTdkZWNjODc5NzIxYzZiNjIyNWNkMDNjMTVkOThkYTFhZDI1OWYg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5
cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1h
dGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAK
IFBBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVy
aWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50
IHR5cGVzIGFzc2VydF9lcXVhbHM6IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAor
UEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2Vy
fSBjbGllbnQgdHlwZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBi
YTE0ZWRmZTIyY2UwOTJhN2U5NTIxNTdjNTQ4ZjA5NjUwZGEwY2Q2Li42YTI3ZWRhY2RhYTFjNGVi
Mzg2OWE0MzM4MmU4ZDIyN2Q0YzZmZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93
b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVk
LnR4dApAQCAtMTAsMTIgKzEwLDEyIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCi1GQUlMIENhc2UgIzM6IHN3
IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDog
V29ya2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29y
a2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpCitQQVNTIENhc2UgIzM6IHN3IHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEt
Pm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNo
ZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNo
ZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgY2xlYW51
cCBnbG9iYWwgc3RhdGUKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xh
c3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCkBA
IC0yMywxMSArMjMsMTEgQEAgUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0
d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0
cygpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUy
IChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMxOiBu
ZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0
cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20g
dGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Nv
cGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZl
ZCBmcm9tIG5ldHdvcmsgKHNjb3BlMi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1
dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3Np
YyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMx
OiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFy
ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEg
c2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNp
bXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUx
LT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5l
dHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYp
CiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNh
dGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMzUsMTEg
KzM1LDExIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3Np
YyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsg
c2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMo
KSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGlj
YXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAj
MjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZl
ZCBmcm9tIG5ldHdvcmsiCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
ZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgp
OiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2Fz
ZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZl
dGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMg
U2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlM
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBm
ZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxu
IgorUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
Y29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIg
YnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIK
QEAgLTQ3LDEwICs0NywyMiBAQCBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFz
c2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0XwogUEFTUyBDYXNlICMz
OiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0
cygpKQogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdv
cmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcg
dGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcg
dGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1
YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNl
cHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJl
cXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9j
YWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29w
ZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitGQUlMIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0
cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20g
dGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3Vi
ZGlyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0
IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0
IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3Jl
ZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNj
cmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0
X3dlYndvcmtlci5weSIKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBT
aGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQg
Z290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRp
b24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9s
b2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1
YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1z
dzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBi
dXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29y
a2VyLnB5IgogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9u
LmhyZWYpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJl
ZikKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29y
a2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3Bl
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBD
YXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0
U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNo
YXJlZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUg
KG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggYWJhMTkwMDY5NGM0ZTQ5OTRhYTg2ODM5NTI1ODQwYTVkNmY1N2Q4YS4uMDBhZWEyYzhhNmI4
YTBkMDY5NWU3NDY4Y2YyNzAwMjBkOWQwMTg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYg
KzEsMTYgQEAKIAogUEFTUyBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0
IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdv
cmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBk
ZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBk
b2N1bWVudCBzaG91bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3
b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVk
IGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mg
b3duIHNlcnZpY2Ugd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJl
cXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQg
Ynkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLgogUEFTUyBWZXJpZnkgYSBzYW1lLW9yaWdp
biB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0
YXJ0aW5nIGEgZGVkaWNhdGVkIHdvcmtlci4KLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29y
a2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGlu
ZyBhIHNoYXJlZCB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiB1bmRlZmluZWQKK1BBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlw
dCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJl
ZCB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBz
ZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkg
YSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hh
cmVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29y
a2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29y
a2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2Ny
aXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQu
CiBQQVNTIFJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJyZXNvdXJjZSBp
bnRlcmNlcHRpb24gdGVzdHMuCiBQQVNTIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBj
b250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCi1GQUlMIFJlcXVlc3RzIG9uIGEgc2hhcmVk
IHdvcmtlciBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3Qg
IntcImVycm9yXCI6IHtcImNvZGVcIjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFT
UyBSZXF1ZXN0cyBvbiBhIHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29y
a2VyLgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVzdGVkIGluIGEgZGVk
aWNhdGVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4i
IGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtlciIK
IEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIHNoYXJlZCB3
b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290
ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBQQVNTIFVu
cmVnaXN0ZXIgYSBzZXJ2aWNlIHdvcmtlciBmb3Igc3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRl
c3RzLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4
cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmIwZjExNDY3ZjRmNDhi
NWFlOTI3YzlmN2ViNWZmZmVhYWM3MTBhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
bWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBA
IC0xLDQgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVu
dCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2Vy
LCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0
ZWQgMSBidXQgZ290IDAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdr
Mi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggY2QyM2Q2YjVhYjQ1MDhlNWI3NDA3NDAwMDI3ZTYyMDUyY2EwMGVhNC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVk
LnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBtYXRjaEFs
bCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgg
e3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG51bGwg
aXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndy5wb3J0Lm9ubWVzc2FnZSA9IF8gPT4gcmVz
b2x2ZSh3KScpIgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458056</attachid>
            <date>2022-04-21 06:37:10 -0700</date>
            <delta_ts>2022-04-22 03:14:29 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-239122-20220421153707.patch</filename>
            <type>text/plain</type>
            <size>69094</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllNGFkZWVlMTE0M2Ez
OTY1NTY3OGE4MjljZDMxOGJmYmFiMTU5OS4uZDQ1MGRkYzNlNzk3ZTA1MzA2ODhhYjM3MmMzZDk2
MzNkNWU5MzRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDIyLTA0LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgdXBkYXRlZCB0ZXN0cy4KKworICAgICAgICAq
IEhlYWRlcnMuY21ha2U6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvV29ya2VyLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHA6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJTY3JpcHRMb2FkZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNv
bnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2Jq
ZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2Ny
aXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3Jr
ZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29y
a2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hh
cmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAyMi0wNC0yMSAgVsOtY3RvciBNYW51ZWwgSsOh
cXVleiBMZWFsICA8dmphcXVlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBk
YXRlIGxpYndlYnJ0YyBBUEkgdXNhZ2UgZm9yIHZpZGVvIGVuY29kZXIgZmFjdG9yeQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCA1YTNmMGM2YzhkMGUwZWU1ODVkM2FmNGZhMDI3NTg5MzZjNjI3ZDRmLi5jNWUwZDEwZDlm
MGU1MTQzYjdhMmEyODdiYWY0NjMwM2YyNDk4MWY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBA
CisyMDIyLTA0LTIxICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBTaGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmg6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHA6Cisg
ICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZl
ci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3Jr
ZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25u
ZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25u
ZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29y
a2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKwogMjAyMi0wNC0yMCAgV2Vuc29uIEhz
aWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXgg
dGhlIGlPUyAxNS40IGJ1aWxkIGFmdGVyIHIyOTMxMTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGY4
YmE5OTU3OWU2NTczNzAxMGNkNDc3NGIzZTQ5YzM0ZGI5MTNjZDEuLjU3YjY5NjY5YzE1YWFmZDY1
YmYyZTU3NWEwOGQ2N2U2MDgxMDY4ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTk4Niw2ICsx
OTg2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHdvcmtl
cnMvV29ya2VyRmV0Y2hSZXN1bHQuaAogICAgIHdvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0
LmgKICAgICB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKyAgICB3b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oCiAgICAgd29ya2Vycy9Xb3JrZXJMb2FkZXJQcm94eS5oCiAgICAg
d29ya2Vycy9Xb3JrZXJPYmplY3RQcm94eS5oCiAgICAgd29ya2Vycy9Xb3JrZXJPcHRpb25zLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA4ODNmN2QzZjEyYWM4MjdiZTBjNTlhN2E0
MjI3NjI1YjQyY2QwNjk4Li5iMjJlZDcwYWQyOTBjY2QwNWIzMjAwN2ZiYWYyYjQ4NzUyOTRiMDk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBX
b3JrZXI6OmZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JikKICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xvYmFs
U2NvcGUoY2FsbGJhY2soKSk7CiB9CiAKLVdvcmtlciogV29ya2VyOjp3b3JrZXJCeUlkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK1dvcmtlciog
V29ya2VyOjpieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRl
bnRpZmllcikKIHsKICAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChpZGVudGlmaWVyKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IGNjMmJiOGFhNTkzZjI0YTY3YmQyMDVkNzE5NDJi
MDU3ZTI4Yzk2YTAuLjczNzdiZjA5Nzg0NWZkNmFkNjY5NWI3OWFlMjkxOTdhMWZiMjM3MWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik+JiYpOwogCiAgICAgc3RhdGljIHZvaWQgZm9yRWFjaFdvcmtlcihjb25zdCBG
dW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mKTsKLSAg
ICBzdGF0aWMgV29ya2VyKiB3b3JrZXJCeUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIpOworICAgIHN0YXRpYyBXb3JrZXIqIGJ5SWRlbnRpZmllcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcik7CiAKIHByaXZhdGU6CiAgICAgV29ya2VyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgV29ya2VyT3B0aW9ucyYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCmlu
ZGV4IDU2OTcwZDA0YTNhNzBjMTg5NWNlOTcxOTU4MjZkMDk5YzY3MDhhZWEuLmRjYmVlMWE3NjY2
OGUxZDUwOTU5ZmM5ODJlY2UzZjNhN2NhMTg4ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApAQCAtMjcsNiArMjcsNyBAQAogCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJT
ZXJ2aWNlV29ya2VyRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGllci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0zNyw2ICszOCw2MSBAQCBzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKICNlbmRp
ZgogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNs
aWVudElkZW50aWZpZXI7CiAgICAgU3RyaW5nIHVzZXJBZ2VudDsKKworICAgIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSBpc29sYXRlZENvcHkoKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+
IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRD
b3B5KHNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZGVudGlmaWVy
LAorICAgICAgICB1c2VyQWdlbnQuaXNvbGF0ZWRDb3B5KCkKKyAgICB9OworfQorCisKK3RlbXBs
YXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQor
ICAgIGVuY29kZXIgPDwgc2VydmljZVdvcmtlckRhdGE7CisjZW5kaWYKKyAgICBlbmNvZGVyIDw8
IGNsaWVudElkZW50aWZpZXIgPDwgdXNlckFnZW50OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPgorc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+IFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VyRGF0YT4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGRlY29kZXIgPj4gc2VydmljZVdvcmtl
ckRhdGE7CisgICAgaWYgKCFzZXJ2aWNlV29ya2VyRGF0YSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KyNlbmRpZgorCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyPj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGNs
aWVudElkZW50aWZpZXI7CisgICAgaWYgKCFjbGllbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1
cm4geyB9OworCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHVzZXJBZ2VudDsKKyAgICBkZWNv
ZGVyID4+IHVzZXJBZ2VudDsKKyAgICBpZiAoIXVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIHJldHVybiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKyAgICAgICAgV1RGTW92ZSgqc2VydmljZVdvcmtlckRhdGEpLAorI2Vu
ZGlmCisgICAgICAgIFdURk1vdmUoKmNsaWVudElkZW50aWZpZXIpLAorICAgICAgICBXVEZNb3Zl
KCp1c2VyQWdlbnQpCisgICAgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDQxYWFiYzgw
ODE4NjNiY2ZhNTIyMjA0YWNhMDYwZjMxNzI2MWNiMzcuLmVmYTg2NzdlMDkzMTI0NmM5YTk3N2E0
Nzg2OWUwZGRiYTlmNWZkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKQEAgLTE1Niw4ICsxNTYsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dAogICAgIC8vIEEgc2VydmljZSB3b3JrZXIgam9iIGNhbiBiZSBleGVjdXRlZCBmcm9tIGEgd29y
a2VyIGNvbnRleHQgb3IgYSBkb2N1bWVudCBjb250ZXh0LgogICAgIG9wdGlvbnMuc2VydmljZVdv
cmtlcnNNb2RlID0gc2VydmljZVdvcmtlck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KLSAgICBpZiAo
bV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgaXM8
RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CisgICAgaWYgKChtX2Rlc3RpbmF0
aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBtX2Rlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcikgJiYgaXM8RG9jdW1l
bnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CiAgICAgICAgIEFTU0VSVChjbGllbnRJZGVu
dGlmaWVyKTsKICAgICAgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gbV9jbGllbnRJZGVu
dGlmaWVyID0gY2xpZW50SWRlbnRpZmllcjsKICAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVS
THMsIHdlIHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KQEAg
LTE2OCw2ICsxNjcsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIH0gZWxzZSBpZiAo
YXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZl
U2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmll
cigpOwogI2VuZGlmCisgICAgaWYgKG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6U2hhcmVkd29ya2VyKQorICAgICAgICBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtl
ciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQudXNlckFnZW50KHNjcmlwdFJlcXVlc3QudXJsKCkp
OwogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVt
b3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29ya2VyU2Ny
aXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IGI2OGIwMjRkNjEzYWUxZGYyZTVhNDk1MWY1MDk4
OWFkNjk2MGVlNDguLjNkYTBhMWQ1YTY5OWY0MDcxN2M5NDM1MGQ5NDlhOTNhNTQzOGU2NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMTA0LDYg
KzEwNCw5IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0
YWtlU2VydmljZVdvcmtlckRhdGEoKSB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2Vy
dmljZVdvcmtlckRhdGEsIHsgfSk7IH0KICNlbmRpZgogCisgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50
SWRlbnRpZmllcjsgfQorICAgIGNvbnN0IFN0cmluZyYgdXNlckFnZW50Rm9yU2hhcmVkV29ya2Vy
KCkgY29uc3QgeyByZXR1cm4gbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXI7IH0KKwogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+OwogICAg
IGZyaWVuZCBzdHJ1Y3Qgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXb3JrZXJTY3JpcHRMb2FkZXI+OwpA
QCAtMTM5LDYgKzE0Miw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQog
ICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IG1fYWN0aXZlU2VydmljZVdvcmtl
ckRhdGE7CiAjZW5kaWYKKyAgICBTdHJpbmcgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXI7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDg4YjRkODRjODllOTlj
MWM0ZjI1YTA4MjMxZTQxMWRmNTkwNzRkNTEuLmNkNzE3NDIwZjMyNjRlYWJjYmFkN2NmZjAwNjgz
OWVlYjg0MjhiYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
V0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXIuaCIKKyNpbmNsdWRlICJT
aGFyZWRXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
IgogI2luY2x1ZGUgIldvcmtlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAj
aW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CkBAIC0xMTMsMTggKzExNSwzMyBAQCB2
b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEZvclNlcnZlcihTZXJ2aWNl
V29ya2VySm9iSWRlbnRpZmllciBqbwogICAgICAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2Vy
dmVyKHsgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgam9iSWRlbnRpZmllciB9LCBXVEZN
b3ZlKHJlZ2lzdHJhdGlvbktleSksIHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IGVy
cm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHsgfSwgbWFrZVN0cmluZygiRmFpbGVkIHRvIGZl
dGNoIHNjcmlwdCBmb3Igc2VydmljZSB3b3JrZXIgd2l0aCBzY29wZSAiLCByZWdpc3RyYXRpb25L
ZXkuc2NvcGUoKS5zdHJpbmcoKSkgfSkpOwogfQogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRv
Q29udGFpbmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYgbWVzc2FnZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJp
bmcmJiBzb3VyY2VPcmlnaW4pCit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQu
ZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RN
ZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291
cmNlT3JpZ2luKSk7Cit9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0
aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3Nh
Z2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2lu
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGlu
YXRpb25Db250ZXh0SWRlbnRpZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRo
ZSBtb21lbnQuCi0gICAgYXV0byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxE
b2N1bWVudHNNYXAoKS5nZXQoZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYg
KCFkZXN0aW5hdGlvbkRvY3VtZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50
ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyKSkgeworICAgICAgICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRv
Y3VtZW50LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNv
dXJjZU9yaWdpbikpOwogICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNv
bnRhaW5lciA9IGRlc3RpbmF0aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWlu
ZXIoKSkKLSAgICAgICAgY29udGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBX
VEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRv
KiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlm
aWVyKSkgeworICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVz
c2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEp
Lmlzb2xhdGVkQ29weSgpLCBzb3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNv
bGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RN
ZXNzYWdlVG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3Vy
Y2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkg
eworICAgICAgICBzaGFyZWRXb3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVz
c2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEp
Lmlzb2xhdGVkQ29weSgpLCBzb3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNv
bGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RN
ZXNzYWdlVG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3Vy
Y2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQog
CiBzdGF0aWMgdm9pZCBmb3JBbGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MSwx
OCBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNo
YW5nZShjb25zdCBIYXNoU2V0PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxl
cigqZG9jdW1lbnQsIFNlcnZpY2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBX
b3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBp
ZiAoYXV0byogd29ya2VyID0gV29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikp
IHsKICAgICAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdD
b250cm9sbGVyID0gbmV3Q29udHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQp
IG11dGFibGUgewogICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RG
TW92ZShuZXdDb250cm9sbGVyKSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJz
LgorICAgICAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHk6OmJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVk
V29ya2VyLT50aHJlYWQoKS5ydW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdD
b250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
ICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xs
ZXIpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0K
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRj
MTA2YjIzMTYwYjQ4MWY4YTBhLi45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0Yzgy
N2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUg
IldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CkBAIC0xMzMsNyArMTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpy
ZWFkeSgpIC0+IFJlYWR5UHJvbWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250
YWluZXI6OmNvbnRyb2xsZXIoKSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBp
czxEb2N1bWVudD4oKmNvbnRleHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigq
Y29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1l
bnRzIGFuZCBkZWRpY2F0ZWQgd29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1v
bWVudC4iKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50
PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAg
fHwgaXM8U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0
aXZlU2VydmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVk
IHdvcmtlcnMgY2FuIGhhdmUgYSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8g
Y29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmNwcAppbmRleCAzMDhiYmZhNmFmOTAzMDA5NTZhMmEzOTY4N2U1NWM1ZDcz
NDllZGI1Li5iMDRiNzY5YzE0ZDEzMjU2YWE1NWJlNzMyMzQ3NjI3OTliNjJkNjQ5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25u
ZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlNoYXJl
ZFdvcmtlci5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIgogI2luY2x1
ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKQEAgLTQ2LDI1ICs0NywyNSBAQCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpT
aGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBkZWZhdWx0OwogCiBTaGFyZWRXb3JrZXJP
YmplY3RDb25uZWN0aW9uOjp+U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbigpID0gZGVmYXVs
dDsKIAotdm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xp
ZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3ZvaWQgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJ
bkNsaWVudChVUkwmJiB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlv
bnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKICAgICBhdXRvKiB3b3JrZXJPYmplY3QgPSBTaGFyZWRXb3JrZXI6
OmZyb21JZGVudGlmaWVyKHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogICAgIENPTk5F
Q1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IHNoYXJlZFdvcmtlck9iamVj
dElkZW50aWZpZXI9JXtwdWJsaWN9cywgd29ya2VyPSVwIiwgc2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHdvcmtlck9iamVjdCk7CiAgICAgaWYg
KCF3b3JrZXJPYmplY3QpCi0gICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJG
ZXRjaEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRp
b24gfSkpOworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJv
cihSZXNvdXJjZUVycm9yIHsgUmVzb3VyY2VFcnJvcjo6VHlwZTo6Q2FuY2VsbGF0aW9uIH0pLCB7
IH0pOwogCiAgICAgYXV0byBsb2FkZXJJZGVudGlmaWVyID0gKytsb2FkZXJJZGVudGlmaWVyU2Vl
ZDsKICAgICBhdXRvIGxvYWRlciA9IG1ha2VVbmlxdWVSZWY8U2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyPihXVEZNb3ZlKHVybCksICp3b3JrZXJPYmplY3QsIFdURk1vdmUod29ya2VyT3B0aW9ucykp
OwogICAgIGF1dG8gbG9hZGVyUHRyID0gbG9hZGVyLnB0cigpOwogICAgIG1fbG9hZGVycy5hZGQo
bG9hZGVySWRlbnRpZmllciwgV1RGTW92ZShsb2FkZXIpKTsKIAotICAgIGxvYWRlclB0ci0+bG9h
ZChbdGhpcywgbG9hZGVySWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0oV29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgbXV0YWJs
ZSB7CisgICAgbG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgZmV0Y2hSZXN1
bHQsIGF1dG8mJiBpbml0aWFsaXphdGlvbkRhdGEpIG11dGFibGUgewogICAgICAgICBDT05ORUNU
SU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBmaW5pc2hlZCBzY3JpcHQgbG9h
ZCwgc3VjY2Vzcz0lZCIsIGZldGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKICAgICAgICAgYXV0
byBsb2FkZXIgPSBtX2xvYWRlcnMudGFrZShsb2FkZXJJZGVudGlmaWVyKTsKICAgICAgICAgQVNT
RVJUKGxvYWRlcik7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZmV0Y2hSZXN1
bHQpKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRjaFJlc3VsdCksIFdU
Rk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb24uaAppbmRleCBkMmUyNDczNzExNGY2MWRhMjBhZDU5YjdmN2ZiMDBkNWUwNTliYjcwLi4x
ODI5OWE4MzU0YTIwMmY3ZDRlMDdlMTY4NTYyN2VjMmU5MmFjMDBiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29u
bmVjdGlvbi5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRl
cjsKIAogc3RydWN0IFNoYXJlZFdvcmtlcktleTsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsK
K3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsK
IAogY2xhc3MgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVk
PFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24+IHsKQEAgLTUyLDcgKzUzLDcgQEAgcHVibGlj
OgogCiBwcm90ZWN0ZWQ6CiAgICAgLy8gSVBDIG1lc3NhZ2VzLgotICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdv
cmtlckZldGNoUmVzdWx0JiYpPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZldGNoU2Ny
aXB0SW5DbGllbnQoVVJMJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIs
IFdvcmtlck9wdGlvbnMmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3Vs
dCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgbm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29tcGxldGlvbihXZWJDb3JlOjpTaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoU2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVy
LCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIuY3BwCmluZGV4IDA3Mjg0ZTAyNzg0M2VjZGM5M2NhOTcxZGZlZDk4YTM2YzllMjMzNzcu
LjdlNWI5NDgxZTNlNTY4MmNiN2RiZmUxZWY0NzgzZWEyNDlmZmJkOGEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyLmNwcApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNo
UmVzdWx0LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVk
ZSAiV29ya2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgogCkBA
IC00MywxMyArNDQsMTMgQEAgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpTaGFyZWRXb3JrZXJT
Y3JpcHRMb2FkZXIoVVJMJiYgdXJsLCBTaGFyZWRXb3JrZXImIHdvcmsKIHsKIH0KIAotdm9pZCBT
aGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3Jr
ZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyOjpsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1
bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQog
ewogICAgIEFTU0VSVCghbV9jb21wbGV0aW9uSGFuZGxlcik7CiAgICAgbV9jb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgYXV0byBzb3VyY2UgPSBt
X29wdGlvbnMudHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUgPyBXb3JrZXJTY3JpcHRMb2FkZXI6
OlNvdXJjZTo6TW9kdWxlU2NyaXB0IDogV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6OkNsYXNz
aWNXb3JrZXJTY3JpcHQ7Ci0gICAgbV9sb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqbV93b3Jr
ZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSwgc291
cmNlLCBtX3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25zKG1fb3B0aW9ucywgRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3Jj
ZW1lbnQ6OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxs
LCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisgICAgbV9sb2FkZXItPmxv
YWRBc3luY2hyb25vdXNseSgqbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVz
b3VyY2VSZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBtX3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25z
KG1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29u
dGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUs
IFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1v
ZGUoKSwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRlKCkpOwogfQog
CiB2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291
cmNlTG9hZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikK
QEAgLTYxLDcgKzYyLDEzIEBAIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpub3RpZnlG
aW5pc2hlZCgpCiB7CiAgICAgaWYgKGF1dG8qIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBtX3dv
cmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyAhbV9sb2FkZXItPmZhaWxlZCgpKQogICAg
ICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpzY3JpcHRFeGVj
dXRpb25Db250ZXh0LCBtX2xvYWRlci0+aWRlbnRpZmllcigpLCBtX2xvYWRlci0+c2NyaXB0KCku
dG9TdHJpbmcoKSk7Ci0gICAgbV9jb21wbGV0aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hSZXN1
bHQoKSk7IC8vIGRlbGV0ZXMgdGhpcy4KKyAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVy
LT5mZXRjaFJlc3VsdCgpLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKyAgICAgICAgbV9sb2FkZXItPnRha2VTZXJ2aWNlV29ya2VyRGF0YSgp
LAorI2VuZGlmCisgICAgICAgIG1fbG9hZGVyLT5jbGllbnRJZGVudGlmaWVyKCksCisgICAgICAg
IG1fbG9hZGVyLT51c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKQorICAgIH0pOyAvLyBkZWxldGVz
IHRoaXMuCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXgg
NzFjYjRiNjViYzk5NWM1NWNiZWZiMDFhMzllYzJkMTYxM2YyODFhMi4uNDVlNjVmZjZjMDM2NmNj
ZDQ4MjI2MTFhODdhNjU3OWExYWFhODU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTQwLDEzICs0
MCwxNCBAQCBzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CiBjbGFzcyBTaGFy
ZWRXb3JrZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXI7CiBzdHJ1Y3QgV29ya2VyRmV0Y2hS
ZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogCiBjbGFzcyBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXIgOiBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hhcmVkV29ya2VyU2Ny
aXB0TG9hZGVyKFVSTCYmLCBTaGFyZWRXb3JrZXImLCBXb3JrZXJPcHRpb25zJiYpOwogCi0gICAg
dm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYp
OworICAgIHZvaWQgbG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0
JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAKICAgICBjb25zdCBVUkwmIHVy
bCgpIGNvbnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgU2hhcmVkV29ya2VyJiB3b3JrZXIoKSB7
IHJldHVybiBtX3dvcmtlci5nZXQoKTsgfQpAQCAtNjAsNyArNjEsNyBAQCBwcml2YXRlOgogICAg
IGNvbnN0IFJlZjxTaGFyZWRXb3JrZXI+IG1fd29ya2VyOwogICAgIGNvbnN0IFJlZjxXb3JrZXJT
Y3JpcHRMb2FkZXI+IG1fbG9hZGVyOwogICAgIGNvbnN0IFVSTCBtX3VybDsKLSAgICBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiBtX2NvbXBsZXRpb25IYW5kbGVy
OworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhJiYpPiBtX2NvbXBsZXRpb25IYW5kbGVyOwogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDU4NTk5YWJjOTRl
M2JjZDZjYjJkZTA2MGM3ZGU3Nzc1YTI0YTJiMDcuLjYwNzk2NGM5ZGY3MmFhMWM5MGZhNDNiZjE3
NjNhY2NkNzUxMTI2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVk
L2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKQEAgLTQzLDcgKzQzLDEy
IEBAIFNoYXJlZFdvcmtlclRocmVhZDo6U2hhcmVkV29ya2VyVGhyZWFkKFNoYXJlZFdvcmtlcklk
ZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3QKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2hhcmVk
V29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0
ZXJzJiBwYXJhbWV0ZXJzLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luKQogewogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwg
IiVwIC0gU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZTogbV9pZGVu
dGlmaWVyPSUiIFBSSXU2NCwgdGhpcywgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOwotICAgIHJl
dHVybiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFuZ2UobV9uYW1l
LCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9y
aWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRv
IHNjb3BlID0gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShzdGQ6OmV4Y2hhbmdlKG1f
bmFtZSwgeyB9KSwgcGFyYW1ldGVycywgV1RGTW92ZShvcmlnaW4pLCAqdGhpcywgV1RGTW92ZSh0
b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisjaWYg
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJE
YXRhKQorICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2Vy
OjpnZXRPckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1ldGVy
cy5zZXJ2aWNlV29ya2VyRGF0YSB9KSk7CisjZW5kaWYKKyAgICByZXR1cm4gc2NvcGU7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAK
aW5kZXggMzM3MTg0MzRiMDk1ZTE4NjQwYjgzNzBkYTVlYjM2MTc5Y2I3NDJlNi4uMDE3NTQwZDhk
MWM3MmUzMjk1MGVlNWIyNWY3YzBlZDA4Mzc1ZDk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJl
YWRQcm94eS5jcHAKQEAgLTQ5LDE5ICs0OSwxOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
LXN0YXRpYyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtl
clRocmVhZFByb3hpZXMoKQorc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVh
ZFByb3hpZXMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PFNoYXJlZFdv
cmtlclRocmVhZFByb3h5Kj4+IHNldDsKLSAgICByZXR1cm4gc2V0OworICAgIHN0YXRpYyBNYWlu
VGhyZWFkTmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPj4gbWFwOworICAgIHJldHVybiBtYXA7CiB9
CiAKLXN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25z
dCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3
b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRG9jdW1lbnQmIGRvY3VtZW50
KQorc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0
IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdv
cmtlck9wdGlvbnMsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0
YSwgRG9jdW1lbnQmIGRvY3VtZW50KQogewogICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZl
dGNoUmVzdWx0Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAg
ICAgICAgICJzaGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5Ojpj
cmVhdGVJZGVudGlmaWVyKCksCi0gICAgICAgIHVzZXJBZ2VudCwKKyAgICAgICAgV1RGTW92ZShp
bml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50KSwKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVz
KCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksCiAgICAgICAgIHdvcmtlckZldGNoUmVz
dWx0LmNvbnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgZmFsc2UsCkBAIC03NCwyMCArNzQs
MjYgQEAgc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNv
bnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXIKICAgICAgICAgV29ya2VyVGhyZWFkTW9kZTo6
Q3JlYXRlTmV3VGhyZWFkLAogICAgICAgICB7IH0sCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQotICAgICAgICB7IH0sCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnNlcnZp
Y2VXb3JrZXJEYXRhKSwKICNlbmRpZgotICAgICAgICB7IH0KKyAgICAgICAgaW5pdGlhbGl6YXRp
b25EYXRhLmNsaWVudElkZW50aWZpZXIudmFsdWVfb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIgeyB9KQogICAgIH07CiB9CiAKLVNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpTaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiBwYWdlLCBTaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYgY2xp
ZW50T3JpZ2luLCBXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJP
cHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIENhY2hlU3Rv
cmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKK1NoYXJlZFdvcmtlclRocmVhZFBy
b3h5KiBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6YnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIGFsbFNoYXJlZFdv
cmtlclRocmVhZFByb3hpZXMoKS5nZXQoaWRlbnRpZmllcik7Cit9CisKK1NoYXJlZFdvcmtlclRo
cmVhZFByb3h5OjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiBwYWdl
LCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENs
aWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNo
UmVzdWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRp
b25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVT
dG9yYWdlUHJvdmlkZXIpCiAgICAgOiBtX3BhZ2UoV1RGTW92ZShwYWdlKSkKICAgICAsIG1fZG9j
dW1lbnQoKm1fcGFnZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKSkKLSAgICAsIG1fd29ya2VyVGhy
ZWFkKFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGdl
bmVyYXRlV29ya2VyUGFyYW1ldGVycyh3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3b3JrZXJP
cHRpb25zKSwgdXNlckFnZW50LCBtX2RvY3VtZW50KSwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3Vs
dC5zY3JpcHQpLCAqdGhpcywgKnRoaXMsICp0aGlzLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5v
cm1hbCwgY2xpZW50T3JpZ2luLnRvcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBtX2RvY3VtZW50
LT5pZGJDb25uZWN0aW9uUHJveHkoKSwgbV9kb2N1bWVudC0+c29ja2V0UHJvdmlkZXIoKSwgSlND
OjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkpCisgICAgLCBtX2NvbnRleHRJZGVu
dGlmaWVyKCppbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcikKKyAgICAsIG1fd29y
a2VyVGhyZWFkKFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNoYXJlZFdvcmtlcklkZW50aWZp
ZXIsIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyh3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3
b3JrZXJPcHRpb25zKSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpLCBtX2RvY3VtZW50KSwg
V1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdC5zY3JpcHQpLCAqdGhpcywgKnRoaXMsICp0aGlzLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgY2xpZW50T3JpZ2luLnRvcE9yaWdpbi5zZWN1
cml0eU9yaWdpbigpLCBtX2RvY3VtZW50LT5pZGJDb25uZWN0aW9uUHJveHkoKSwgbV9kb2N1bWVu
dC0+c29ja2V0UHJvdmlkZXIoKSwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQo
KSkpCiAgICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKGNhY2hlU3RvcmFnZVByb3ZpZGVyKQog
ewotICAgIEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKHRo
aXMpKTsKLSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKHRoaXMpOworICAg
IEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY29udGV4
dElkZW50aWZpZXIpKTsKKyAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKG1f
Y29udGV4dElkZW50aWZpZXIsIHRoaXMpOwogCiAgICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5l
cjsKICAgICBpZiAoIWFkZGVkTGlzdGVuZXIpIHsKQEAgLTk4LDggKzEwNCw4IEBAIFNoYXJlZFdv
cmtlclRocmVhZFByb3h5OjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4m
JiBwYWdlLCBTaGFyZWRXCiAKIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Ojp+U2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkoKQogewotICAgIEFTU0VSVChhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkuY29udGFpbnModGhpcykpOwotICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5y
ZW1vdmUodGhpcyk7CisgICAgQVNTRVJUKGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5j
b250YWlucyhtX2NvbnRleHRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhyZWFk
UHJveGllcygpLnJlbW92ZShtX2NvbnRleHRJZGVudGlmaWVyKTsKIH0KIAogU2hhcmVkV29ya2Vy
SWRlbnRpZmllciBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6aWRlbnRpZmllcigpIGNvbnN0CkBA
IC0xNzUsNyArMTgxLDcgQEAgdm9pZCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6c2V0UmVzb3Vy
Y2VDYWNoaW5nRGlzYWJsZWRCeVdlYkluc3BlY3Rvcihib29sKQogCiB2b2lkIFNoYXJlZFdvcmtl
clRocmVhZFByb3h5OjpuZXR3b3JrU3RhdGVDaGFuZ2VkKGJvb2wgaXNPbkxpbmUpCiB7Ci0gICAg
Zm9yIChhdXRvKiBwcm94eSA6IGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKSkKKyAgICBm
b3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLnZhbHVlcygp
KQogICAgICAgICBwcm94eS0+bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGlzT25MaW5lKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29u
dGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCmluZGV4IGRhYjNhMTIzZGVlMThkYmI2MjRk
NzdmNThlZDk4ZDQ0OTRjN2ZhOTkuLjVlM2VhNGIwNmE3Yzg1MDk1NDVkOWZhZmEwMDQ1MzVhNzJh
ODU1NTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQv
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKQEAgLTQxLDEyICs0MSwxNSBA
QCBjbGFzcyBTaGFyZWRXb3JrZXJUaHJlYWQ7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1
Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwog
CiBjbGFzcyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZl
UmVmQ291bnRlZDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eT4sIHB1YmxpYyBXb3JrZXJPYmplY3RQ
cm94eSwgcHVibGljIFdvcmtlckxvYWRlclByb3h5LCBwdWJsaWMgV29ya2VyRGVidWdnZXJQcm94
eSB7CiBwdWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxT
aGFyZWRXb3JrZXJUaHJlYWRQcm94eT4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IFNoYXJlZFdvcmtlclRocmVhZFByb3h5KHN0ZDo6Zm9yd2FyZDxBcmdzPihh
cmdzKS4uLikpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgflNoYXJlZFdvcmtlclRocmVhZFByb3h5
KCk7CiAKKyAgICBzdGF0aWMgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIGJ5SWRlbnRpZmllcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisKICAgICBTaGFyZWRXb3JrZXJJZGVu
dGlmaWVyIGlkZW50aWZpZXIoKSBjb25zdDsKICAgICBTaGFyZWRXb3JrZXJUaHJlYWQmIHRocmVh
ZCgpIHsgcmV0dXJuIG1fd29ya2VyVGhyZWFkOyB9CiAKQEAgLTU0LDcgKzU3LDcgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0QXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCgpIHsgbV9pc1Rlcm1pbmF0
aW5nT3JUZXJtaW5hdGVkID0gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFdFQkNPUkVfRVhQT1JU
IFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3Jr
ZXJPcHRpb25zJiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRl
ciYpOworICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJl
ZjxQYWdlPiYmLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBX
b3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIFdvcmtlckluaXRpYWxpemF0aW9u
RGF0YSYmLCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOwogCiAgICAgLy8gV29ya2VyT2JqZWN0UHJv
eHkuCiAgICAgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJp
bmcmIHNvdXJjZVVSTCkgZmluYWw7CkBAIC03OCw2ICs4MSw3IEBAIHByaXZhdGU6CiAKICAgICBV
bmlxdWVSZWY8UGFnZT4gbV9wYWdlOwogICAgIFJlZjxEb2N1bWVudD4gbV9kb2N1bWVudDsKKyAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBtX2NvbnRleHRJZGVudGlmaWVyOwog
ICAgIFJlZjxTaGFyZWRXb3JrZXJUaHJlYWQ+IG1fd29ya2VyVGhyZWFkOwogICAgIENhY2hlU3Rv
cmFnZVByb3ZpZGVyJiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZlB0cjxDYWNoZVN0
b3JhZ2VDb25uZWN0aW9uPiBtX2NhY2hlU3RvcmFnZUNvbm5lY3Rpb247CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5k
ZXggMDI4MzRiNGU0MzQ3ZTJhMTY0MzczYmFkZWM1ZWU0NWFmMTg0NDAwYi4uYjY2NjIxOGFkNWU1
ZTZiNjY4ZmU3OWZmNjc1MTI3Mjg2MGUzNzMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTIxNSwxMiAr
MTIxNSwyMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6cmVzdGFydE5ldHdvcmtMb2Fk
KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYmIG5ld1JlcQogICAgIHN0YXJ0TmV0d29ya0xvYWQo
V1RGTW92ZShuZXdSZXF1ZXN0KSwgRmlyc3RMb2FkOjpObyk7CiB9CiAKKyNpZiBFTkFCTEUoU0VS
VklDRV9XT1JLRVIpCitzdGF0aWMgYm9vbCBzaG91bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25S
ZWRpcmVjdGlvbihjb25zdCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMsIGJvb2wgaXNTZXJ2aWNlV29y
a2VyTG9hZGVkKQoreworICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2Rl
OjpOYXZpZ2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGlzU2VydmljZVdv
cmtlckxvYWRlZCAmJiAob3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3Rp
bmF0aW9uOjpXb3JrZXIgfHwgb3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpOworfQorI2VuZGlmCisKIHZvaWQgTmV0d29ya1Jlc291
cmNlTG9hZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiBuZXdS
ZXF1ZXN0LCBib29sIGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKQogewogICAgIExP
QURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRUb0Fz
a1VzZXJGb3JDcmVkZW50aWFscz0lZCkiLCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFs
cyk7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHBhcmFtZXRlcnMoKS5v
cHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCAocGFyYW1ldGVy
cygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29y
a2VyICYmIG1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKKyAgICBpZiAoc2hvdWxkVHJ5VG9N
YXRjaFJlZ2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24ocGFyYW1ldGVycygpLm9wdGlvbnMsICEhbV9z
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewogICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb24gPSB7IH07CiAgICAgICAgIGlmIChhdXRvIHNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgPSBt
X2Nvbm5lY3Rpb24tPmNyZWF0ZUZldGNoVGFzaygqdGhpcywgbmV3UmVxdWVzdCkpIHsKICAgICAg
ICAgICAgIExPQURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IENyZWF0
ZWQgYSBTZXJ2aWNlV29ya2VyRmV0Y2hUYXNrIHRvIGhhbmRsZSB0aGUgcmVkaXJlY3QgKGZldGNo
SWRlbnRpZmllcj0lIiBQUkl1NjQgIikiLCBzZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLT5mZXRjaElk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5jcHAKaW5kZXggY2YzMGRlNDlmY2IwOTk4MWNmN2UzZDYxMWViMjllZGI5ZGE0OGVjYy4uMWQy
MGNhYjVlNDY3MGQxNDRkYzA0ZGM3NzRjNWZkZTE2YWJjMWQyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE2OSw2ICsxNjksOCBAQCB2b2lkIFdlYlNXU2Vy
dmVyQ29ubmVjdGlvbjo6Y29udHJvbENsaWVudChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycyYgcAogICAgIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIGNsaWVudFR5cGU7CiAgICAg
aWYgKHBhcmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6V29ya2VyKQogICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVu
dFR5cGU6OldvcmtlcjsKKyAgICBlbHNlIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRp
b24gID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcikKKyAgICAgICAg
Y2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpTaGFyZWR3b3JrZXI7CiAgICAg
ZWxzZQogICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRv
dzsKIApAQCAtMjAxLDcgKzIwMyw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0
Y2hUYXNrPiBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAg
IHJldHVybiBudWxscHRyOwogCiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcj4gc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0g
ICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikgeworICAgIGlmIChsb2FkZXIu
cGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRl
IHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRl
c3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcikgewog
ICAgICAgICBhdXRvIHRvcE9yaWdpbiA9IGxvYWRlci5wYXJhbWV0ZXJzKCkuaXNNYWluRnJhbWVO
YXZpZ2F0aW9uID8gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIDog
bG9hZGVyLnBhcmFtZXRlcnMoKS50b3BPcmlnaW4tPmRhdGEoKTsKICAgICAgICAgYXV0byogcmVn
aXN0cmF0aW9uID0gZG9SZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4sIHJlcXVlc3QudXJs
KCkpOwogICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5oIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKaW5k
ZXggMTM5ZjYwNzAyMDYwZTA0YTY4OTJiN2YxYTM1NzhlODJkMDY2YmEyOC4uMDNhM2RkNWQzNjVi
Zjg2MWE4ZThiNTllNGNkNjQ3ZGM1NTIzZDMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZmVycmVkTWVzc2FnZVBvcnQuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9X
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlck9wdGlv
bnMuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCkBAIC03Miw3ICs3Myw5IEBAIHB1Ymxp
YzoKICAgICB2b2lkIG1hcmtBc1J1bm5pbmcoKSB7IG1faXNSdW5uaW5nID0gdHJ1ZTsgfQogCiAg
ICAgY29uc3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmIGZldGNoUmVzdWx0KCkgY29uc3Qg
eyByZXR1cm4gbV9mZXRjaFJlc3VsdDsgfQorICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRp
YWxpemF0aW9uRGF0YSYgaW5pdGlhbGl6YXRpb25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0
aWFsaXphdGlvbkRhdGE7IH0KICAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6Oldvcmtl
ckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsgbV9mZXRjaFJlc3VsdCA9IFdURk1vdmUoZmV0
Y2hSZXN1bHQpOyB9CisgICAgdm9pZCBzZXRJbml0aWFsaXphdGlvbkRhdGEoV2ViQ29yZTo6V29y
a2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKSB7IG1faW5pdGlhbGl6
YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpOyB9CiAgICAgYm9vbCBkaWRG
aW5pc2hGZXRjaGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9mZXRjaFJlc3VsdC5zY3JpcHQ7IH0K
IAogcHJpdmF0ZToKQEAgLTkyLDYgKzk1LDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpXb3Jr
ZXJPcHRpb25zIG1fd29ya2VyT3B0aW9uczsKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIsIFNoYXJlZFdvcmtlck9iamVjdFN0YXRlPiBtX3NoYXJlZFdv
cmtlck9iamVjdHM7CiAgICAgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgbV9mZXRjaFJlc3Vs
dDsKKyAgICBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgbV9pbml0aWFsaXphdGlv
bkRhdGE7CiAgICAgYm9vbCBtX2lzUnVubmluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU3Vz
cGVuZGVkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNw
cAppbmRleCA5YTY5ZjEzOGY5ZjVkYzMzNmYwMzM4YTcwYzU0ZTExMjNlNDYyZDRjLi4zMWYzZWUw
NmFiYjgyNDJjOWM5ZTE2MmQ1ODZiNDA1MTNhMmM5MmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlci5jcHAKQEAgLTg3LDEzICs4NywxMyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtl
clNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcihXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmJiBz
aGFyZQogICAgIEFTU0VSVChzZXJ2ZXJDb25uZWN0aW9uKTsKIAogICAgIFJFTEVBU0VfTE9HKFNo
YXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcjog
RmV0Y2hpbmcgc2hhcmVkIHdvcmtlciBzY3JpcHQgaW4gY2xpZW50Iik7Ci0gICAgc2VydmVyQ29u
bmVjdGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVudCgqc2hhcmVkV29ya2VyLCBzaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgc2hhcmVkV29y
a2VyID0gV2Vha1B0ciB7ICpzaGFyZWRXb3JrZXIgfV0oV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJiBmZXRjaFJlc3VsdCkgeworICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5D
bGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtU
aGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVk
V29ya2VyIH1dKGF1dG8mJiBmZXRjaFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkg
ewogICAgICAgICBpZiAod2Vha1RoaXMgJiYgc2hhcmVkV29ya2VyKQotICAgICAgICAgICAgd2Vh
a1RoaXMtPmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIs
IFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hG
ZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgqc2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVz
dWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIAotdm9pZCBX
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0
KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3Vs
dCYmIGZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZl
dGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9M
T0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGlu
Z1NoYXJlZFdvcmtlclNjcmlwdCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCAiLCBz
aGFyZWRXb3JrZXI9JXAsIHN1Y2Nlc3M9JWQiLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRv
VUludDY0KCksICZzaGFyZWRXb3JrZXIsIGZldGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKIApA
QCAtMTA4LDYgKzEwOCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hG
ZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImCiAgICAgfQogCiAgICAg
c2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0KFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICBz
aGFyZWRXb3JrZXIuc2V0SW5pdGlhbGl6YXRpb25EYXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhKSk7CiAKICAgICBpZiAoYXV0byogY29udGV4dENvbm5lY3Rpb24gPSBzaGFyZWRXb3JrZXIu
Y29udGV4dENvbm5lY3Rpb24oKSkgewogICAgICAgICBjb250ZXh0Q29ubmVjdGlvbi0+bGF1bmNo
U2hhcmVkV29ya2VyKHNoYXJlZFdvcmtlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZl
ci5oCmluZGV4IGIyMDZhZjJjMGVjMmIyOGUxMTk2ODNkZGUwZGY3NDAxZDA4ODI5NmUuLmU2Mzcw
ZDczMzQzMTRjZTdlNzNjOWEyYWZiNzAyNTM2YmU1YWM4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlci5oCkBAIC00Miw2ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
c3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAt
NzcsNyArNzgsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24o
Y29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6
OlByb2Nlc3NJZGVudGlmaWVyPiByZXF1ZXN0aW5nUHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIGJv
b2wgbmVlZHNDb250ZXh0Q29ubmVjdGlvbkZvclJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluJikgY29uc3Q7CiAgICAgdm9pZCBjb250ZXh0Q29ubmVjdGlv
bkNyZWF0ZWQoV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYpOwotICAg
IHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2Vy
JiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik7CisgICAgdm9pZCBkaWRGaW5pc2hGZXRj
aGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAg
dm9pZCBzaHV0RG93blNoYXJlZFdvcmtlcihjb25zdCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkm
KTsKIAogICAgIE5ldHdvcmtTZXNzaW9uJiBtX3Nlc3Npb247CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJD
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IDlhNmQzNjVlMzBjOGZm
YjBmN2E1ZDI0NmRmZWZhYWI2YjI1YThiZTEuLjEyZjM1ZjU1ZTk1MWU4OTkzYzY1OTc0ZmVlMDdl
ZjU2NTgzOTI2NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZl
ckNvbm5lY3Rpb24uY3BwCkBAIC0xMTQsNyArMTE0LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXJDb25uZWN0aW9uOjpyZXN1bWVGb3JCYWNrRm9yd2FyZENhY2hlKFdlYkNvcmU6OlNoYXJl
ZFcKICAgICAgICAgc2Vzc2lvbi0+ZW5zdXJlU2hhcmVkV29ya2VyU2VydmVyKCkucmVzdW1lRm9y
QmFja0ZvcndhcmRDYWNoZShzaGFyZWRXb3JrZXJLZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIpOwogfQogCi12b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNo
U2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNv
cmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVj
dGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdv
cmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKIHsKICAgICBDT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlw
dEluQ2xpZW50OiBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAg
c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0
aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50IHsgc2hhcmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBiNDE5MTk2NWMzNDI1ZmYxZTA2YWYzN2U0YmEyNWI0
NTJjODJmZmI4Li5mMWI3MTJiN2M4NDI2ODU5MWI3MTU2MzY2NmQ0YzhmZDY1NmMwMWI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02
Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikgZmluYWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0
SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRj
aFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNo
YXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9i
amVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlv
blRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJl
ciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRl
eHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDVl
NDNmMTFjZjNhNmMzNGY5OTc3ZDU0ZmJhNjYxYTUzYzliYTMzMTQuLmU2Yzk2OGQ0ODhkZTJlZjU0
MTc0ZmU3NDM1Yjk4NDgwN2Y0YmMyYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5l
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCkBAIC05OSw3ICs5
OSw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1
bmNoU2hhcmVkV29ya2VyKFdlYlNoYXJlZFdvcmtlCiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9O
X1JFTEVBU0VfTE9HKCJsYXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9
JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIHNo
YXJlZFdvcmtlci5tYXJrQXNSdW5uaW5nKCk7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFy
ZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtl
ci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5mZXRjaFJlc3VsdCgpIH0pOworICAgIHNl
bmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1
bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRl
bnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0
Y2hSZXN1bHQoKSwgc2hhcmVkV29ya2VyLmluaXRpYWxpemF0aW9uRGF0YSgpIH0pOwogICAgIHNo
YXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2VyT2JqZWN0KFsmXShhdXRvLCBhdXRvJiBwb3J0
KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQoc2hhcmVkV29ya2VyLCBwb3J0KTsKICAgICB9
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGEyNzEzN2JmMTJkZGRhYjg3ZDAzYjljNzhjYmZm
YWZmNTNjODU3ZjguLmE1M2QwNjk0YmRjNWQ3YjIxYjAwYTQzOTEwNzExZTdhYzBlZGQyY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTkyLDYgKzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRD
b25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1
dGlvbkNvCiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGRhdGEuYWN0aXZlV29ya2VyID8gbG9h
ZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoV1RGTW92ZSgqZGF0YS5hY3RpdmVXb3Jr
ZXIpKSA6IGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKwogICAgIGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggNTYwMmZkNzBlZmM3OWYyOGE1ODNlMmJkMjc1NDNmNTRj
NDM5NWZlMi4uMTE3M2E4MTI2MzU0MzFiZDM4Y2MzODBlYmI1YjIxOWQ3NmUwYmI1ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC00
Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFnZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3Jr
ZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC04OSw3ICs5MCw3IEBAIHZvaWQgV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0
b3JlKGNvbnN0IFdlYlByCiAgICAgbV9wcmVmZXJlbmNlc1N0b3JlID0gc3RvcmU7CiB9CiAKLXZv
aWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRX
b3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlv
bnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZl
dGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNv
cmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVz
dWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0
YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKIHsKICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIs
ICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdv
cmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1NjQsIHNoYXJlZFdvcmtlcklkZW50
aWZpZXIudG9VSW50NjQoKSk7CiAgICAgYXV0byBwYWdlQ29uZmlndXJhdGlvbiA9IFdlYkNvcmU6
OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5zZXNzaW9uSUQoKSk7CkBAIC0xMTAsOCArMTExLDEyIEBAIHZvaWQgV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xp
ZW50CiAgICAgICAgIFdlYlBhZ2U6OnVwZGF0ZVNldHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVu
Y2VzU3RvcmUsIHBhZ2UtPnNldHRpbmdzKCkpOwogICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNl
dFN0b3JhZ2VCbG9ja2luZ1BvbGljeShzdGF0aWNfY2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tp
bmdQb2xpY3k+KG1fcHJlZmVyZW5jZXNTdG9yZS0+Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnN0b3JhZ2VCbG9ja2luZ1BvbGljeUtleSgpKSkpOwogICAgIH0KKworICAg
IGlmICghaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudC5pc0VtcHR5KCkpCisgICAgICAgIGlu
aXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQgPSBtX3VzZXJBZ2VudDsKKwogICAgIHBhZ2UtPnNl
dHVwRm9yUmVtb3RlV29ya2VyKHdvcmtlckZldGNoUmVzdWx0Lmxhc3RSZXF1ZXN0VVJMLCBvcmln
aW4udG9wT3JpZ2luLCB3b3JrZXJGZXRjaFJlc3VsdC5yZWZlcnJlclBvbGljeSk7Ci0gICAgYXV0
byBzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSA9IFdlYkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFBy
b3h5OjpjcmVhdGUoV1RGTW92ZShwYWdlKSwgc2hhcmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2lu
LCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0KSwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgbV91
c2VyQWdlbnQsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkp
OworICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZp
ZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0
aW9ucyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CiAKICAgICBXZWJDb3JlOjpTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVnaXN0ZXJTaGFyZWRXb3JrZXJUaHJlYWQoV1RG
TW92ZShzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAppbmRleCBhYjM1Y2JkMDE4ODVjZWIzNzYxMzEw
YmRmNGQ1YjdiODg3MjBhZjYzLi5kMGI4ZTZmMTQxYmRhMmFjMmNkN2JjNGI1OWNjMDgxMDM3ZTg3
ZTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFy
ZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24u
aApAQCAtMzgsNiArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IENsaWVudE9y
aWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNTgsNyArNTksNyBAQCBw
dWJsaWM6CiAKIHByaXZhdGU6CiAgICAgLy8gSVBDIE1lc3NhZ2VzLgotICAgIHZvaWQgbGF1bmNo
U2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYpOworICAgIHZvaWQgbGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3Jr
ZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtl
ckluaXRpYWxpemF0aW9uRGF0YSYmKTsKICAgICB2b2lkIHVwZGF0ZVByZWZlcmVuY2VzU3RvcmUo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOwogICAgIHZvaWQgc2V0VXNlckFnZW50KFN0cmlu
ZyYmIHVzZXJBZ2VudCkgeyBtX3VzZXJBZ2VudCA9IFdURk1vdmUodXNlckFnZW50KTsgfQogICAg
IHZvaWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA4MmQ1ZGVkZjhmYWM0YjNmZGM0NWQ1
NjQ1ZTQ0YzdlZWRkNWZjMzM2Li44ZmRjYWYyN2E3NGVhNTM2NTlhMzVmYWE1YWQxZjFlYjBjZjJh
ZDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFy
ZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAK
IG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbiBOb3RS
ZWZDb3VudGVkIHsKLSAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29y
a2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9u
cywgc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0KQor
ICAgIExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdp
biwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVy
LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2Vi
Q29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2VyRmV0Y2hSZXN1bHQsIHN0cnVjdCBXZWJDb3Jl
OjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgd29ya2VySW5pdGlhbGl6YXRpb25EYXRhKQogICAg
IFBvc3RDb25uZWN0RXZlbnQoV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRX
b3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpUcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0IHBvcnQsIFN0
cmluZyBzb3VyY2VPcmlnaW4pCiAgICAgVGVybWluYXRlU2hhcmVkV29ya2VyKFdlYkNvcmU6OlNo
YXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllcikKICAgICBVcGRhdGVQ
cmVmZXJlbmNlc1N0b3JlKHN0cnVjdCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpp
bmRleCBjMjY5ZmQyNmE5MWViZmNiNGM1NGYwZDZjOWUwZWIzZTRiMGRmNjMyLi5iNmMwNGQ2NjRh
ZWNkNmVjNDE3YjhkY2NjYjk0ZmM1ZTFjMzc4ZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiB7
Ci0gICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJD
b3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQpCisgICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwg
dXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9i
amVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlv
bnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQsIHN0
cnVjdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaW5pdGlhbGl6YXRpb25EYXRh
KQogICAgIE5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29yZTo6U2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQogICAgIFBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVj
dChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVj
dElkZW50aWZpZXIsIFN0cmluZyBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29s
dW1uTnVtYmVyLCBTdHJpbmcgc291cmNlVVJMKQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY1NjgzODRlYTFlNzU2NWFl
OGE1NzE5ZGIyNjY5YzY0M2YxYjU3OWIuLjVjZmVmZDZmMGE1MWZiZDM3ZWRlZjk4Y2U0ZWZkYzdl
ZjgwMjg3MDAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMi0wNC0yMSAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1h
dGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgICogcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICog
cGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRw
cy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMjItMDQtMjAgIE15bGVzIEMuIE1heGZpZWxk
ICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbIGlPUyBdIHBsYXRmb3JtL2lvcy9p
b3MvZmFzdC90ZXh0L29wdGljYWxGb250Lmh0bWwgaXMgYSBjb25zdGFudCBmYWlsdXJlCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0MDFkZWU3MDM2YzY0YTQ4ODAzMzgzZTgyYmRk
YTBjZjk2ZGU4YzNlLi5iZGNjN2FjN2M1ODhiNjQ4MzIxODZmYjBkYTMyOWZhODYyZGM3OTJkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0y
MSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdv
cmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAg
IFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMu
aHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0
cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoK
KwogMjAyMi0wNC0yMCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgUGFyc2luZyBvZiBjb250YWluLWludHJpbnNpYy1zaXplIGFuZCBhZGRpbmcgYSBydW50
aW1lIGZsYWcgZm9yIGl0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdl
dC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBkZjczNWZhZmQw
N2JmNjE5M2NkM2RiMDE1NDNlNTdhMTc4MTQ3YzIyLi44OTI5NjE5YTVjOTI5NGU0NTdhYmI4Nzlk
N2E4YWNkOTdkZDdhNjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdl
dC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwz
IEBACiAKLUZBSUwgVGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIgY2xp
ZW50cyBhc3NlcnRfbm90X2VxdWFsczogU2hhcmVkIHdvcmtlciBjbGllbnQgc2hvdWxkIG5vdCBi
ZSB1bmRlZmluZWQgZ290IGRpc2FsbG93ZWQgdmFsdWUgdW5kZWZpbmVkCitQQVNTIFRlc3QgQ2xp
ZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQgd29ya2VyIGNsaWVudHMKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlw
ZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVm
ZmZlYWFjNzEwYWUuLjE5NTdkZWNjODc5NzIxYzZiNjIyNWNkMDNjMTVkOThkYTFhZDI1OWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIFBB
U1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVyaWZ5
IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5
cGVzIGFzc2VydF9lcXVhbHM6IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFT
UyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBj
bGllbnQgdHlwZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVy
Y2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93
b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiYTE0
ZWRmZTIyY2UwOTJhN2U5NTIxNTdjNTQ4ZjA5NjUwZGEwY2Q2Li42YTI3ZWRhY2RhYTFjNGViMzg2
OWE0MzM4MmU4ZDIyN2Q0YzZmZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3Jr
ZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4
dApAQCAtMTAsMTIgKzEwLDEyIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3Bl
MS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMzogc3cgc2Nv
cGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCi1GQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29y
a2VyIGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2Vy
IGVycm9yIFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICM0OiBzdyBz
Y29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6
IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6
IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgY2xlYW51cCBn
bG9iYWwgc3RhdGUKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3Np
YyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCkBAIC0y
MywxMSArMjMsMTEgQEAgUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFz
c2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVk
V29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyICht
b2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMxOiBuZXR3
b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhl
IHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUy
L2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBm
cm9tIG5ldHdvcmsgKHNjb3BlMi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2Nv
cGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBn
b3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2FzZSAj
MTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNj
cmlwdHMoKSkKK1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBT
aGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBu
ZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRz
KCkpCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRX
b3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBs
ZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdv
cmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMzUsMTEgKzM1
LDExIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkK
IFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRl
ZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29w
ZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMjog
bmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNj
cmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBm
cm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBm
cm9tIG5ldHdvcmsiCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0
Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBh
IHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAj
MjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNo
KCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hh
cmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+
b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENh
c2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZl
dGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRj
aCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgor
UEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29y
a2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlICht
b2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3Jr
ZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBv
cnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0
aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29w
ZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0
IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKQEAg
LTQ3LDEwICs0NywyMiBAQCBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0XwogUEFTUyBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhl
IGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhl
IGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9y
ZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2Nv
cGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxz
OiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRp
b25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVl
c3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIv
d29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitGQUlMIENhc2UgIzM6
IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhl
IHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGly
L2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBm
cm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBi
dXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0Igor
RkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxv
Y2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBz
Oi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNl
cy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRp
bmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlw
dCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dl
Yndvcmtlci5weSIKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFy
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290
ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24u
aHJlZikgYXNzZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2Nh
bGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRp
ci93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIl
MjBzYXclMjB0aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQg
Z290ICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2Vy
LnB5IgogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBz
dyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhy
ZWYpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVk
V29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNj
b3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
K1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNl
ICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2Ny
aXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJl
ZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
YWJhMTkwMDY5NGM0ZTQ5OTRhYTg2ODM5NTI1ODQwYTVkNmY1N2Q4YS4uMDBhZWEyYzhhNmI4YTBk
MDY5NWU3NDY4Y2YyNzAwMjBkOWQwMTg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEs
MTYgQEAKIAogUEFTUyBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlz
c3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtl
cidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBkZWRp
Y2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1
bWVudCBzaG91bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3b3Jr
ZXIuCi1GQUlMIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZy
b20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3du
IHNlcnZpY2Ugd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVl
c3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkg
d29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLgogUEFTUyBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3
b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0
aW5nIGEgZGVkaWNhdGVkIHdvcmtlci4KLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2Vy
IHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBh
IHNoYXJlZCB3b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiB1bmRlZmluZWQKK1BBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBz
ZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3
b3JrZXIuCiBQQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBj
b3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hhcmVk
IHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2Vy
IHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2Vy
IHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0
IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQ
QVNTIFJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJyZXNvdXJjZSBpbnRl
cmNlcHRpb24gdGVzdHMuCiBQQVNTIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBjb250
cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCi1GQUlMIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdv
cmtlciBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIntc
ImVycm9yXCI6IHtcImNvZGVcIjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFTUyBS
ZXF1ZXN0cyBvbiBhIHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
LgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVzdGVkIGluIGEgZGVkaWNh
dGVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1
dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtlciIKIEZB
SUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIHNoYXJlZCB3b3Jr
ZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJV
bmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBQQVNTIFVucmVn
aXN0ZXIgYSBzZXJ2aWNlIHdvcmtlciBmb3Igc3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1h
dGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVj
dGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmIwZjExNDY3ZjRmNDhiNWFl
OTI3YzlmN2ViNWZmZmVhYWM3MTBhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0
Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDQgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0
eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3
b3JrZXJ9IGNsaWVudCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQg
MSBidXQgZ290IDAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50
LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
Y2QyM2Q2YjVhYjQ1MDhlNWI3NDA3NDAwMDI3ZTYyMDUyY2EwMGVhNC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mt
d2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBtYXRjaEFsbCgp
IHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dp
bmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG51bGwgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndy5wb3J0Lm9ubWVzc2FnZSA9IF8gPT4gcmVzb2x2
ZSh3KScpIgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458130</attachid>
            <date>2022-04-22 03:14:37 -0700</date>
            <delta_ts>2022-04-22 05:56:06 -0700</delta_ts>
            <desc>Fix remote worker process change</desc>
            <filename>bug-239122-20220422121432.patch</filename>
            <type>text/plain</type>
            <size>82157</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllNGFkZWVlMTE0M2Ez
OTY1NTY3OGE4MjljZDMxOGJmYmFiMTU5OS4uNjljMjFjNGIzM2ViYTE0NzA3NzdmYTAzZWMyMDFh
ODFjNGNkYzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yMSAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsICA8dmphcXVlekBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIGxpYndlYnJ0YyBBUEkgdXNhZ2UgZm9yIHZp
ZGVvIGVuY29kZXIgZmFjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1YTNmMGM2YzhkMGUwZWU1ODVkM2FmNGZh
MDI3NTg5MzZjNjI3ZDRmLi5hOWU5MmRkMGIyZDcwYjY1MjJhMDA3N2JhNjMzZTlkYTJhNTM1M2Fl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTA0LTIxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2gg
c2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMg
RHVtZXouCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hSZW1vdGVXb3JrZXJDb250ZXh0
Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MpOgorCiAyMDIyLTA0LTIwICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUg
aU9TIDE1LjQgYnVpbGQgYWZ0ZXIgcjI5MzExNwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZjhiYTk5
NTc5ZTY1NzM3MDEwY2Q0Nzc0YjNlNDljMzRkYjkxM2NkMS4uNTdiNjk2NjljMTVhYWZkNjViZjJl
NTc1YTA4ZDY3ZTYwODEwNjg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xOTg2LDYgKzE5ODYs
NyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgd29ya2Vycy9X
b3JrZXJGZXRjaFJlc3VsdC5oCiAgICAgd29ya2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuaAog
ICAgIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorICAgIHdvcmtlcnMvV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhLmgKICAgICB3b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmgKICAgICB3b3Jr
ZXJzL1dvcmtlck9iamVjdFByb3h5LmgKICAgICB3b3JrZXJzL1dvcmtlck9wdGlvbnMuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDg4M2Y3ZDNmMTJhYzgyN2JlMGM1OWE3YTQyMjc2
MjViNDJjZDA2OTguLmIyMmVkNzBhZDI5MGNjZDA1YjMyMDA3ZmJhZjJiNDg3NTI5NGIwOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdvcmtl
cjo6Zm9yRWFjaFdvcmtlcihjb25zdCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKQogICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29w
ZShjYWxsYmFjaygpKTsKIH0KIAotV29ya2VyKiBXb3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQorV29ya2VyKiBXb3Jr
ZXI6OmJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlm
aWVyKQogewogICAgIHJldHVybiBhbGxXb3JrZXJzKCkuZ2V0KGlkZW50aWZpZXIpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyLmgKaW5kZXggY2MyYmI4YWE1OTNmMjRhNjdiZDIwNWQ3MTk0MmIwNTdl
MjhjOTZhMC4uNzM3N2JmMDk3ODQ1ZmQ2YWQ2Njk1Yjc5YWUyOTE5N2ExZmIyMzcxYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5oCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBv
c3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKT4mJik7CiAKICAgICBzdGF0aWMgdm9pZCBmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0
aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPigpPiYpOwotICAgIHN0
YXRpYyBXb3JrZXIqIHdvcmtlckJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcik7CisgICAgc3RhdGljIFdvcmtlciogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyKTsKIAogcHJpdmF0ZToKICAgICBXb3JrZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBXb3JrZXJPcHRpb25zJiYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKaW5kZXgg
NTY5NzBkMDRhM2E3MGMxODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYS4uZGNiZWUxYTc2NjY4ZTFk
NTA5NTlmYzk4MmVjZTNmM2E3Y2ExODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJEYXRhLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3
LDYgKzM4LDYxIEBAIHN0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgewogI2VuZGlmCiAg
ICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gY2xpZW50
SWRlbnRpZmllcjsKICAgICBTdHJpbmcgdXNlckFnZW50OworCisgICAgV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdvcmtlckluaXRpYWxpemF0aW9uRGF0YT4gZGVj
b2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVy
biB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBjcm9zc1RocmVhZENvcHko
c2VydmljZVdvcmtlckRhdGEpLAorI2VuZGlmCisgICAgICAgIGNsaWVudElkZW50aWZpZXIsCisg
ICAgICAgIHVzZXJBZ2VudC5pc29sYXRlZENvcHkoKQorICAgIH07Cit9CisKKwordGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOjplbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAg
ZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIGVuY29kZXIgPDwgY2xp
ZW50SWRlbnRpZmllciA8PCB1c2VyQWdlbnQ7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+
CitzdGQ6Om9wdGlvbmFsPFdvcmtlckluaXRpYWxpemF0aW9uRGF0YT4gV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJE
YXRhPj4gc2VydmljZVdvcmtlckRhdGE7CisgICAgZGVjb2RlciA+PiBzZXJ2aWNlV29ya2VyRGF0
YTsKKyAgICBpZiAoIXNlcnZpY2VXb3JrZXJEYXRhKQorICAgICAgICByZXR1cm4geyB9OworI2Vu
ZGlmCisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXI+PiBjbGllbnRJZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gY2xpZW50
SWRlbnRpZmllcjsKKyAgICBpZiAoIWNsaWVudElkZW50aWZpZXIpCisgICAgICAgIHJldHVybiB7
IH07CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gdXNlckFnZW50OworICAgIGRlY29kZXIg
Pj4gdXNlckFnZW50OworICAgIGlmICghdXNlckFnZW50KQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgcmV0dXJuIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgICAgICBXVEZNb3ZlKCpzZXJ2aWNlV29ya2VyRGF0YSksCisjZW5kaWYK
KyAgICAgICAgV1RGTW92ZSgqY2xpZW50SWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKnVz
ZXJBZ2VudCkKKyAgICB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggNDFhYWJjODA4MTg2
M2JjZmE1MjIyMDRhY2EwNjBmMzE3MjYxY2IzNy4uZWZhODY3N2UwOTMxMjQ2YzlhOTc3YTQ3ODY5
ZTBkZGJhOWY1ZmQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcApAQCAtMTU2LDggKzE1Niw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjps
b2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAg
ICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2IgY2FuIGJlIGV4ZWN1dGVkIGZyb20gYSB3b3JrZXIg
Y29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRleHQuCiAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vy
c01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzaGFyZWQgd29ya2VyLgotICAgIGlmIChtX2Rl
c3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciAmJiBpczxEb2N1
bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKKyAgICBpZiAoKG1fZGVzdGluYXRpb24g
PT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSAmJiBpczxEb2N1bWVudD4o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKICAgICAgICAgQVNTRVJUKGNsaWVudElkZW50aWZp
ZXIpOwogICAgICAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX2NsaWVudElkZW50aWZp
ZXIgPSBjbGllbnRJZGVudGlmaWVyOwogICAgICAgICAvLyBJbiBjYXNlIG9mIGJsb2IgVVJMcywg
d2UgcmV1c2UgdGhlIGRvY3VtZW50IGNvbnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyLgpAQCAtMTY4
LDYgKzE2Nyw4IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHko
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgfSBlbHNlIGlmIChhdXRv
KiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2
aWNlV29ya2VyKCkpCiAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7
CiAjZW5kaWYKKyAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpTaGFyZWR3b3JrZXIpCisgICAgICAgIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC51c2VyQWdlbnQoc2NyaXB0UmVxdWVzdC51cmwoKSk7CiAK
ICAgICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCByZW1vdmUg
dGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJTY3JpcHRM
b2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggYjY4YjAyNGQ2MTNhZTFkZjJlNWE0OTUxZjUwOTg5YWQ2
OTYwZWU0OC4uM2RhMGExZDVhNjk5ZjQwNzE3Yzk0MzUwZDk0OWE5M2E1NDM4ZTY0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCkBAIC0xMDQsNiArMTA0
LDkgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHRha2VT
ZXJ2aWNlV29ya2VyRGF0YSgpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9hY3RpdmVTZXJ2aWNl
V29ya2VyRGF0YSwgeyB9KTsgfQogI2VuZGlmCiAKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRJZGVu
dGlmaWVyOyB9CisgICAgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKSBj
b25zdCB7IHJldHVybiBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsgfQorCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJp
ZW5kIHN0cnVjdCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0x
MzksNiArMTQyLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gbV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0
YTsKICNlbmRpZgorICAgIFN0cmluZyBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggODhiNGQ4NGM4OWU5OWMxYzRm
MjVhMDgyMzFlNDExZGY1OTA3NGQ1MS4uY2Q3MTc0MjBmMzI2NGVhYmNiYWQ3Y2ZmMDA2ODM5ZWVi
ODQyOGJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDggQEAKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VySm9iRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIK
ICNpbmNsdWRlICJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlci5oIgorI2luY2x1ZGUgIlNoYXJl
ZFdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZFByb3h5LmgiCiAj
aW5jbHVkZSAiV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNs
dWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KQEAgLTExMywxOCArMTE1LDMzIEBAIHZvaWQg
U1dDbGllbnRDb25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKFNlcnZpY2VXb3Jr
ZXJKb2JJZGVudGlmaWVyIGpvCiAgICAgICAgIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIo
eyBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpLCBqb2JJZGVudGlmaWVyIH0sIFdURk1vdmUo
cmVnaXN0cmF0aW9uS2V5KSwgd29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgZXJyb3JE
b21haW5XZWJLaXRJbnRlcm5hbCwgMCwgeyB9LCBtYWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2gg
c2NyaXB0IGZvciBzZXJ2aWNlIHdvcmtlciB3aXRoIHNjb3BlICIsIHJlZ2lzdHJhdGlvbktleS5z
Y29wZSgpLnN0cmluZygpKSB9KSk7CiB9CiAKK3N0YXRpYyB2b2lkIHBvc3RNZXNzYWdlVG9Db250
YWluZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVzc2FnZVdpdGhNZXNzYWdl
UG9ydHMmJiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZURhdGEsIFN0cmluZyYm
IHNvdXJjZU9yaWdpbikKK3sKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5lbnN1
cmVTZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgIGNvbnRhaW5lci0+cG9zdE1lc3Nh
Z2UoV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VP
cmlnaW4pKTsKK30KIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0
aW9uQ29udGV4dElkZW50aWZpZXIsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnZSwg
U2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4pCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIC8vIEZJWE1FOiBkZXN0aW5hdGlv
bkNvbnRleHRJZGVudGlmaWVyIGNhbiBvbmx5IGlkZW50aWZ5IGEgRG9jdW1lbnQgYXQgdGhlIG1v
bWVudC4KLSAgICBhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERvY3Vt
ZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKTsKLSAgICBpZiAoIWRl
c3RpbmF0aW9uRG9jdW1lbnQpCisgICAgaWYgKGF1dG8qIGRlc3RpbmF0aW9uRG9jdW1lbnQgPSBE
b2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZp
ZXIpKSB7CisgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoKmRlc3RpbmF0aW9uRG9jdW1l
bnQsIFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNl
T3JpZ2luKSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBpZiAoYXV0byogY29udGFp
bmVyID0gZGVzdGluYXRpb25Eb2N1bWVudC0+ZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigp
KQotICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1v
dmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7CisgICAgaWYgKGF1dG8qIHdv
cmtlciA9IFdvcmtlcjo6YnlJZGVudGlmaWVyKGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIp
KSB7CisgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFttZXNzYWdl
ID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSkuaXNv
bGF0ZWRDb3B5KCksIHNvdXJjZU9yaWdpbiA9IFdURk1vdmUoc291cmNlT3JpZ2luKS5pc29sYXRl
ZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAgICAgICAgICAgcG9zdE1lc3Nh
Z2VUb0NvbnRhaW5lcihjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURh
dGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChhdXRvKiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eTo6YnlJZGVudGlmaWVyKGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHNoYXJlZFdvcmtlci0+dGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFttZXNzYWdl
ID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSkuaXNv
bGF0ZWRDb3B5KCksIHNvdXJjZU9yaWdpbiA9IFdURk1vdmUoc291cmNlT3JpZ2luKS5pc29sYXRl
ZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAgICAgICAgICAgcG9zdE1lc3Nh
Z2VUb0NvbnRhaW5lcihjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURh
dGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgICAgICB9KTsKKyAgICB9CiB9CiAKIHN0
YXRpYyB2b2lkIGZvckFsbFdvcmtlcnMoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Jik+KCk+JiBjYWxsYmFjaykKQEAgLTI0NCwxMyArMjYxLDE4IEBA
IHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpub3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdl
KGNvbnN0IEhhc2hTZXQ8U2NyaXB0RXhlCiAgICAgICAgICAgICB1cGRhdGVDb250cm9sbGVyKCpk
b2N1bWVudCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdDb250cm9sbGVyIH0pOwogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGF1dG8qIHdvcmtlciA9IFdvcmtl
cjo6d29ya2VyQnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgIGlmIChh
dXRvKiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgewog
ICAgICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoW25ld0NvbnRy
b2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0
YWJsZSB7CiAgICAgICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcihjb250ZXh0LCBXVEZNb3Zl
KG5ld0NvbnRyb2xsZXIpKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgc2hhcmVkIHdvcmtlcnMuCisg
ICAgICAgIGlmIChhdXRvKiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6
YnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgICAgICBzaGFyZWRXb3Jr
ZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbmV3Q29udHJvbGxlciA9IG5ld0NvbnRy
b2xsZXIuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgICAgICB1cGRhdGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1vdmUobmV3Q29udHJvbGxlcikp
OworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGRiOGQ0MDBhMzc1NDRkYzhiZTIxZGMxMDZi
MjMxNjBiNDgxZjhhMGEuLjk0ZjE1NDk1MDQ1OGNlNmM1YjI4MWU1YjQwYTcwM2JhZDRjODI3ZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VySm9iRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVkZSAiV29y
a2VyU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KQEAgLTEzMyw3ICsxMzQsNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5
KCkgLT4gUmVhZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6Y29udHJvbGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERv
Y3VtZW50PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250
ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMg
YW5kIGRlZGljYXRlZCB3b3JrZXJzIGNhbiBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50
LiIpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpj
b250ZXh0KSB8fCBpczxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpICB8fCBp
czxTaGFyZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVT
ZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cywgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd29y
a2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIuIik7CiAgICAgcmV0dXJuIGNvbnRleHQgPyBjb250
ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IGRhMWIw
OWE1MzU3ZThmYjU1NTJjYmZjZTBhNDU2ZDYyODMzNTI3ZjYuLmUxN2ZlYzlmN2QxMTM1YWFkMjdj
ODhhMGY4MWNlYTFlNzNlMDllZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xMDM5LDYgKzEwMzksMjggQEAgdm9pZCBT
V1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmIGNsaWVu
dE9yaWdpbiwgU2VydmljZVcKICAgICBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24u
YWRkKGNsaWVudElkZW50aWZpZXIsICpjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyKTsKIH0KIAorc3RkOjpvcHRpb25hbDxTV1NlcnZlcjo6R2F0aGVyZWRDbGll
bnREYXRhPiBTV1NlcnZlcjo6Z2F0aGVyQ2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mIGNs
aWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRp
ZmllcikKK3sKKyAgICBhdXRvIGNsaWVudERhdGFJdGVyYXRvciA9IG1fY2xpZW50c0J5SWQuZmlu
ZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBpZiAoY2xpZW50RGF0YUl0ZXJhdG9yID09IG1fY2xp
ZW50c0J5SWQuZW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIGNvbnRyb2xs
aW5nUmVnaXN0cmF0aW9JdGVyYXRvciA9IG1fY2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlv
bi5maW5kKGNsaWVudElkZW50aWZpZXIpOworICAgIGlmIChjb250cm9sbGluZ1JlZ2lzdHJhdGlv
SXRlcmF0b3IgPT0gbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmVuZCgpKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjbGllbnRzUGVyT3JpZ2luSXRlcmF0b3IgPSBt
X2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luLmZpbmQoY2xpZW50T3JpZ2luKTsKKyAgICBpZiAo
Y2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yID09IG1fY2xpZW50SWRlbnRpZmllcnNQZXJPcmlnaW4u
ZW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gR2F0aGVyZWRDbGllbnRE
YXRhIHsKKyAgICAgICAgY2xpZW50T3JpZ2luLAorICAgICAgICBjbGllbnREYXRhSXRlcmF0b3It
PnZhbHVlLAorICAgICAgICBjb250cm9sbGluZ1JlZ2lzdHJhdGlvSXRlcmF0b3ItPnZhbHVlLAor
ICAgICAgICBjbGllbnRzUGVyT3JpZ2luSXRlcmF0b3ItPnZhbHVlLnVzZXJBZ2VudAorICAgIH07
Cit9CisKIHZvaWQgU1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0
IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllciBjbGllbnRJZGVudGlmaWVyKQogewogICAgIGF1dG8gY2xpZW50UmVnaXN0cmFibGVEb21h
aW4gPSBjbGllbnRPcmlnaW4uY2xpZW50UmVnaXN0cmFibGVEb21haW4oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCA0ZTI5ZmJl
NGMzZDkxYjRlYjk3NjM5N2RmZWFiZDQ5Yjk3YzFiYjk3Li4xMWU0ZDU4MTJjZWY4ZmExNjNjZTFl
MDU2NWNlODk4YjAyZmFkMGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC0yNDUsNiArMjQ1LDE0IEBAIHB1YmxpYzoKICAgICBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBjbGllbnRJ
ZGVudGlmaWVyVG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllcikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmb3JFYWNoQ2xpZW50
Rm9yT3JpZ2luKGNvbnN0IENsaWVudE9yaWdpbiYsIGNvbnN0IEZ1bmN0aW9uPHZvaWQoU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmKT4mKTsKIAorICAgIHN0cnVjdCBHYXRoZXJlZENsaWVudERhdGEg
eworICAgICAgICBDbGllbnRPcmlnaW4gY2xpZW50T3JpZ2luOworICAgICAgICBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSBzZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTsKKyAgICAgICAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKKyAgICAgICAgU3RyaW5nIHVzZXJBZ2Vu
dDsKKyAgICB9OworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8R2F0aGVyZWRDbGll
bnREYXRhPiBnYXRoZXJDbGllbnREYXRhKGNvbnN0IENsaWVudE9yaWdpbiYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtYXhSZWdp
c3RyYXRpb25Db3VudCgpOwogICAgIGJvb2wgYWxsb3dMb29wYmFja0lQQWRkcmVzcyhjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAKaW5kZXggMzA4YmJmYTZhZjkwMzAw
OTU2YTJhMzk2ODdlNTVjNWQ3MzQ5ZWRiNS4uYjA0Yjc2OWMxNGQxMzI1NmFhNTViZTczMjM0NzYy
Nzk5YjYyZDY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hh
cmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgorI2luY2x1ZGUgIldv
cmtlckluaXRpYWxpemF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NiwyNSArNDcsMjUgQEAgU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbjo6U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbigpID0gZGVmYXVs
dDsKIAogU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6flNoYXJlZFdvcmtlck9iamVjdENv
bm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKLXZvaWQgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9i
amVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9u
cyYmIHdvcmtlck9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1
bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9w
dGlvbnMmJiB3b3JrZXJPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgYXV0byogd29ya2VyT2Jq
ZWN0ID0gU2hhcmVkV29ya2VyOjpmcm9tSWRlbnRpZmllcihzaGFyZWRXb3JrZXJPYmplY3RJZGVu
dGlmaWVyKTsKICAgICBDT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50
OiBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyPSV7cHVibGljfXMsIHdvcmtlcj0lcCIsIHNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIudG9TdHJpbmcoKS51dGY4KCkuZGF0YSgpLCB3b3Jr
ZXJPYmplY3QpOwogICAgIGlmICghd29ya2VyT2JqZWN0KQotICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgUmVzb3VyY2VFcnJv
cjo6VHlwZTo6Q2FuY2VsbGF0aW9uIH0pKTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5k
bGVyKHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6
OkNhbmNlbGxhdGlvbiB9KSwgeyB9KTsKIAogICAgIGF1dG8gbG9hZGVySWRlbnRpZmllciA9ICsr
bG9hZGVySWRlbnRpZmllclNlZWQ7CiAgICAgYXV0byBsb2FkZXIgPSBtYWtlVW5pcXVlUmVmPFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlcj4oV1RGTW92ZSh1cmwpLCAqd29ya2VyT2JqZWN0LCBXVEZN
b3ZlKHdvcmtlck9wdGlvbnMpKTsKICAgICBhdXRvIGxvYWRlclB0ciA9IGxvYWRlci5wdHIoKTsK
ICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlcklkZW50aWZpZXIsIFdURk1vdmUobG9hZGVyKSk7CiAK
LSAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFdvcmtlckZldGNoUmVzdWx0JiYg
ZmV0Y2hSZXN1bHQpIG11dGFibGUgeworICAgIGxvYWRlclB0ci0+bG9hZChbdGhpcywgbG9hZGVy
SWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oYXV0byYmIGZldGNoUmVzdWx0LCBhdXRvJiYgaW5pdGlhbGl6YXRpb25EYXRhKSBtdXRhYmxl
IHsKICAgICAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDog
ZmluaXNoZWQgc2NyaXB0IGxvYWQsIHN1Y2Nlc3M9JWQiLCBmZXRjaFJlc3VsdC5lcnJvci5pc051
bGwoKSk7CiAgICAgICAgIGF1dG8gbG9hZGVyID0gbV9sb2FkZXJzLnRha2UobG9hZGVySWRlbnRp
Zmllcik7CiAgICAgICAgIEFTU0VSVChsb2FkZXIpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1v
dmUoZmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSkpOwogICAgIH0pOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmgKaW5kZXggZDJlMjQ3MzcxMTRmNjFkYTIwYWQ1OWI3
ZjdmYjAwZDVlMDU5YmI3MC4uMTgyOTlhODM1NGEyMDJmN2Q0ZTA3ZTE2ODU2MjdlYzJlOTJhYzAw
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBTaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXI7CiAKIHN0cnVjdCBTaGFyZWRXb3JrZXJLZXk7CiBzdHJ1Y3Qg
V29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogc3Ry
dWN0IFdvcmtlck9wdGlvbnM7CiAKIGNsYXNzIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24g
OiBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uPiB7CkBAIC01
Miw3ICs1Myw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIC8vIElQQyBtZXNzYWdlcy4K
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoVVJMJiYsIFdlYkNv
cmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRp
b24oV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VF
cnJvciYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KFNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAwNzI4NGUwMjc4NDNlY2RjOTNjYTk3
MWRmZWQ5OGEzNmM5ZTIzMzc3Li43ZTViOTQ4MWUzZTU2ODJjYjdkYmZlMWVmNDc4M2VhMjQ5ZmZi
ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKICNp
bmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgorI2luY2x1ZGUgIldvcmtlckluaXRpYWxpemF0
aW9uRGF0YS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRMb2FkZXIuaCIKIApAQCAtNDMsMTMgKzQ0LDEzIEBAIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlcjo6U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyKFVSTCYmIHVybCwgU2hhcmVkV29ya2VyJiB3
b3JrCiB7CiB9CiAKLXZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoIW1fY29tcGxldGlvbkhhbmRsZXIpOwog
ICAgIG1fY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKTsKIAog
ICAgIGF1dG8gc291cmNlID0gbV9vcHRpb25zLnR5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlID8g
V29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6Ok1vZHVsZVNjcmlwdCA6IFdvcmtlclNjcmlwdExv
YWRlcjo6U291cmNlOjpDbGFzc2ljV29ya2VyU2NyaXB0OwotICAgIG1fbG9hZGVyLT5sb2FkQXN5
bmNocm9ub3VzbHkoKm1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFJlc291cmNl
UmVxdWVzdChtX3VybCksIHNvdXJjZSwgbV93b3JrZXItPndvcmtlckZldGNoT3B0aW9ucyhtX29w
dGlvbnMsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlciksIENvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlV29ya2VyU3JjRGlyZWN0aXZlLCBTZXJ2
aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkp
OworICAgIG1fbG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoKm1fd29ya2VyLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIFJlc291cmNlUmVxdWVzdChtX3VybCksIHNvdXJjZSwgbV93b3JrZXIt
PndvcmtlckZldGNoT3B0aW9ucyhtX29wdGlvbnMsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlNoYXJlZHdvcmtlciksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNl
V29ya2VyU3JjRGlyZWN0aXZlLCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdvcmtl
clJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
OjpnZW5lcmF0ZSgpKTsKIH0KIAogdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYpCkBAIC02MSw3ICs2MiwxMyBAQCB2b2lkIFNoYXJlZFdvcmtlclNj
cmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoKQogewogICAgIGlmIChhdXRvKiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0ID0gbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgIW1fbG9h
ZGVyLT5mYWlsZWQoKSkKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJ
bXBvcnRlZCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgbV9sb2FkZXItPmlkZW50aWZpZXIoKSwg
bV9sb2FkZXItPnNjcmlwdCgpLnRvU3RyaW5nKCkpOwotICAgIG1fY29tcGxldGlvbkhhbmRsZXIo
bV9sb2FkZXItPmZldGNoUmVzdWx0KCkpOyAvLyBkZWxldGVzIHRoaXMuCisgICAgbV9jb21wbGV0
aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hSZXN1bHQoKSwgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIG1fbG9hZGVyLT50YWtl
U2VydmljZVdvcmtlckRhdGEoKSwKKyNlbmRpZgorICAgICAgICBtX2xvYWRlci0+Y2xpZW50SWRl
bnRpZmllcigpLAorICAgICAgICBtX2xvYWRlci0+dXNlckFnZW50Rm9yU2hhcmVkV29ya2VyKCkK
KyAgICB9KTsgLy8gZGVsZXRlcyB0aGlzLgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5oCmluZGV4IDcxY2I0YjY1YmM5OTVjNTVjYmVmYjAxYTM5ZWMyZDE2MTNmMjgx
YTIuLjQ1ZTY1ZmY2YzAzNjZjY2Q0ODIyNjExYTg3YTY1NzlhMWFhYTg1OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExv
YWRlci5oCkBAIC00MCwxMyArNDAsMTQgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhOwogY2xhc3MgU2hhcmVkV29ya2VyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwog
c3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0
YTsKIAogY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyIDogcHJpdmF0ZSBXb3JrZXJTY3Jp
cHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcihVUkwmJiwgU2hhcmVkV29ya2VyJiwgV29ya2Vy
T3B0aW9ucyYmKTsKIAotICAgIHZvaWQgbG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtl
ckZldGNoUmVzdWx0JiYpPiYmKTsKKyAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYpOwog
CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAgIFNoYXJl
ZFdvcmtlciYgd29ya2VyKCkgeyByZXR1cm4gbV93b3JrZXIuZ2V0KCk7IH0KQEAgLTYwLDcgKzYx
LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBSZWY8U2hhcmVkV29ya2VyPiBtX3dvcmtlcjsKICAg
ICBjb25zdCBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBtX2xvYWRlcjsKICAgICBjb25zdCBVUkwg
bV91cmw7Ci0gICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4g
bV9jb21wbGV0aW9uSGFuZGxlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZl
dGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4gbV9jb21wbGV0aW9uSGFu
ZGxlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNw
cAppbmRleCA1ODU5OWFiYzk0ZTNiY2Q2Y2IyZGUwNjBjN2RlNzc3NWEyNGEyYjA3Li42MDc5NjRj
OWRmNzJhYTFjOTBmYTQzYmYxNzYzYWNjZDc1MTEyNjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQu
Y3BwCkBAIC00Myw3ICs0MywxMiBAQCBTaGFyZWRXb3JrZXJUaHJlYWQ6OlNoYXJlZFdvcmtlclRo
cmVhZChTaGFyZWRXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0CiBSZWY8V29ya2Vy
R2xvYmFsU2NvcGU+IFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1ldGVycywgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IG9yaWdpbiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbikKIHsKICAgICBSRUxFQVNF
X0xPRyhTaGFyZWRXb3JrZXIsICIlcCAtIFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2Vy
R2xvYmFsU2NvcGU6IG1faWRlbnRpZmllcj0lIiBQUkl1NjQsIHRoaXMsIG1faWRlbnRpZmllci50
b1VJbnQ2NCgpKTsKLSAgICByZXR1cm4gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShz
dGQ6OmV4Y2hhbmdlKG1fbmFtZSwgeyB9KSwgcGFyYW1ldGVycywgV1RGTW92ZShvcmlnaW4pLCAq
dGhpcywgV1RGTW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJv
dmlkZXIoKSk7CisgICAgYXV0byBzY29wZSA9IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVh
dGUoc3RkOjpleGNoYW5nZShtX25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2lu
KSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tl
dFByb3ZpZGVyKCkpOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAocGFyYW1l
dGVycy5zZXJ2aWNlV29ya2VyRGF0YSkKKyAgICAgICAgc2NvcGUtPnNldEFjdGl2ZVNlcnZpY2VX
b3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoc2NvcGUuZ2V0KCksIFNlcnZpY2VXb3Jr
ZXJEYXRhIHsgKnBhcmFtZXRlcnMuc2VydmljZVdvcmtlckRhdGEgfSkpOworI2VuZGlmCisgICAg
cmV0dXJuIHNjb3BlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29y
a2VyVGhyZWFkUHJveHkuY3BwCmluZGV4IDMzNzE4NDM0YjA5NWUxODY0MGI4MzcwZGE1ZWIzNjE3
OWNiNzQyZTYuLjAxNzU0MGQ4ZDFjNzJlMzI5NTBlZTViMjVmN2MwZWQwODM3NWQ5NDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRl
eHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwCkBAIC00OSwxOSArNDksMTkgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94
eSo+JiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKK3N0YXRpYyBIYXNoTWFwPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+JiBh
bGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8SGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBzZXQ7Ci0gICAgcmV0dXJuIHNl
dDsKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4+IG1hcDsK
KyAgICByZXR1cm4gbWFwOwogfQogCi1zdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdv
cmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0
LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IERvY3VtZW50JiBkb2N1bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29y
a2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQs
IFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEm
JiBpbml0aWFsaXphdGlvbkRhdGEsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4g
ewogICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAgICAgd29y
a2VyT3B0aW9ucy5uYW1lLAogICAgICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0b3I6Oklk
ZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLAotICAgICAgICB1c2VyQWdlbnQs
CisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCksCiAgICAgICAg
IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLAogICAg
ICAgICB3b3JrZXJGZXRjaFJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIGZh
bHNlLApAQCAtNzQsMjAgKzc0LDI2IEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRl
V29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyCiAgICAgICAg
IFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwKICAgICAgICAgeyB9LAogI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAgICAgeyB9LAorICAgICAgICBXVEZNb3ZlKGluaXRp
YWxpemF0aW9uRGF0YS5zZXJ2aWNlV29ya2VyRGF0YSksCiAjZW5kaWYKLSAgICAgICAgeyB9Cisg
ICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgfSkKICAgICB9OwogfQogCi1TaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYg
cGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25z
dCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJG
ZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCitT
aGFyZWRXb3JrZXJUaHJlYWRQcm94eSogU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRp
ZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAg
IHJldHVybiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuZ2V0KGlkZW50aWZpZXIpOwor
fQorCitTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5p
cXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hS
ZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMs
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgQ2FjaGVTdG9y
YWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9wYWdlKFdURk1vdmUo
cGFnZSkpCiAgICAgLCBtX2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRvY3VtZW50KCkp
Ci0gICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzaGFyZWRX
b3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0Y2hSZXN1
bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIHVzZXJBZ2VudCwgbV9kb2N1bWVudCksIFdURk1v
dmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhpcywgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlP
cmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9jdW1lbnQtPnNv
Y2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpKQor
ICAgICwgbV9jb250ZXh0SWRlbnRpZmllcigqaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50
aWZpZXIpCisgICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShz
aGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0
Y2hSZXN1bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhKSwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRo
aXMsICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9y
aWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlv
blByb3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdz
OjpjcmVhdGVBbGxFbmFibGVkKCkpKQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihjYWNo
ZVN0b3JhZ2VQcm92aWRlcikKIHsKLSAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFBy
b3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGll
cygpLmFkZCh0aGlzKTsKKyAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMo
KS5jb250YWlucyhtX2NvbnRleHRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhy
ZWFkUHJveGllcygpLmFkZChtX2NvbnRleHRJZGVudGlmaWVyLCB0aGlzKTsKIAogICAgIHN0YXRp
YyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC05OCw4
ICsxMDQsOCBAQCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkVwogCiBTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eTo6flNoYXJlZFdvcmtlclRocmVhZFByb3h5KCkKIHsKLSAgICBBU1NFUlQoYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94aWVzKCkucmVtb3ZlKHRoaXMpOworICAgIEFTU0VSVChhbGxTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94aWVzKCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFs
bFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5yZW1vdmUobV9jb250ZXh0SWRlbnRpZmllcik7
CiB9CiAKIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6Omlk
ZW50aWZpZXIoKSBjb25zdApAQCAtMTc1LDcgKzE4MSw3IEBAIHZvaWQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHk6OnNldFJlc291cmNlQ2FjaGluZ0Rpc2FibGVkQnlXZWJJbnNwZWN0b3IoYm9vbCkK
IAogdm9pZCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6bmV0d29ya1N0YXRlQ2hhbmdlZChib29s
IGlzT25MaW5lKQogewotICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94aWVzKCkpCisgICAgZm9yIChhdXRvKiBwcm94eSA6IGFsbFNoYXJlZFdvcmtlclRocmVh
ZFByb3hpZXMoKS52YWx1ZXMoKSkKICAgICAgICAgcHJveHktPm5vdGlmeU5ldHdvcmtTdGF0ZUNo
YW5nZShpc09uTGluZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaAppbmRleCBk
YWIzYTEyM2RlZTE4ZGJiNjI0ZDc3ZjU4ZWQ5OGQ0NDk0YzdmYTk5Li41ZTNlYTRiMDZhN2M4NTA5
NTQ1ZDlmYWZhMDA0NTM1YTcyYTg1NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
CkBAIC00MSwxMiArNDEsMTUgQEAgY2xhc3MgU2hhcmVkV29ya2VyVGhyZWFkOwogCiBzdHJ1Y3Qg
Q2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YTsKIAogY2xhc3MgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkgZmluYWwg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+LCBw
dWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGlj
IFdvcmtlckRlYnVnZ2VyUHJveHkgewogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3M+IHN0YXRpYyBSZWY8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+IGNyZWF0ZShBcmdzJiYu
Li4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIH5TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eSgpOwogCisgICAgc3RhdGljIFNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KiBieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOworCiAg
ICAgU2hhcmVkV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Q7CiAgICAgU2hhcmVk
V29ya2VyVGhyZWFkJiB0aHJlYWQoKSB7IHJldHVybiBtX3dvcmtlclRocmVhZDsgfQogCkBAIC01
NCw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFzVGVybWluYXRpbmdPclRlcm1pbmF0
ZWQoKSB7IG1faXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCA9IHRydWU7IH0KIAogcHJpdmF0ZToK
LSAgICBXRUJDT1JFX0VYUE9SVCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFn
ZT4mJiwgU2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiwgV29ya2Vy
RmV0Y2hSZXN1bHQmJiwgV29ya2VyT3B0aW9ucyYmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Q2FjaGVTdG9yYWdlUHJvdmlkZXImKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiwgU2hhcmVkV29ya2VySWRlbnRpZmllciwgY29u
c3QgQ2xpZW50T3JpZ2luJiwgV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VyT3B0aW9ucyYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImKTsKIAogICAg
IC8vIFdvcmtlck9iamVjdFByb3h5LgogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVt
bk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpIGZpbmFsOwpAQCAtNzgsNiArODEsNyBA
QCBwcml2YXRlOgogCiAgICAgVW5pcXVlUmVmPFBhZ2U+IG1fcGFnZTsKICAgICBSZWY8RG9jdW1l
bnQ+IG1fZG9jdW1lbnQ7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9j
b250ZXh0SWRlbnRpZmllcjsKICAgICBSZWY8U2hhcmVkV29ya2VyVGhyZWFkPiBtX3dvcmtlclRo
cmVhZDsKICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsK
ICAgICBSZWZQdHI8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jYWNoZVN0b3JhZ2VDb25uZWN0
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDAyODM0YjRlNDM0N2UyYTE2NDM3M2JhZGVjNWVlNDVhZjE4
NDQwMGIuLmI2NjYyMThhZDVlNWU2YjY2OGZlNzlmZjY3NTEyNzI4NjBlMzczMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTEyMTUsMTIgKzEyMTUsMjEgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnJlc3RhcnROZXR3b3JrTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXEKICAg
ICBzdGFydE5ldHdvcmtMb2FkKFdURk1vdmUobmV3UmVxdWVzdCksIEZpcnN0TG9hZDo6Tm8pOwog
fQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorc3RhdGljIGJvb2wgc2hvdWxkVHJ5VG9N
YXRjaFJlZ2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24oY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25z
LCBib29sIGlzU2VydmljZVdvcmtlckxvYWRlZCkKK3sKKyAgICBpZiAob3B0aW9ucy5tb2RlID09
IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworICAg
IHJldHVybiBpc1NlcnZpY2VXb3JrZXJMb2FkZWQgJiYgKG9wdGlvbnMuZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG9wdGlvbnMuZGVzdGluYXRpb24g
PT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKTsKK30KKyNlbmRpZgor
CiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVz
b3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgYm9vbCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVk
ZW50aWFscykKIHsKICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1
ZXN0OiAoaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHM9JWQpIiwgaXNBbGxvd2VkVG9B
c2tVc2VyRm9yQ3JlZGVudGlhbHMpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAg
IGlmIChwYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2
aWdhdGUgfHwgKHBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246OldvcmtlciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7Cisg
ICAgaWYgKHNob3VsZFRyeVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKHBhcmFtZXRl
cnMoKS5vcHRpb25zLCAhIW1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKICAgICAgICAgbV9z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uID0geyB9OwogICAgICAgICBpZiAoYXV0byBzZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrID0gbV9jb25uZWN0aW9uLT5jcmVhdGVGZXRjaFRhc2soKnRoaXMsIG5l
d1JlcXVlc3QpKSB7CiAgICAgICAgICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2ls
bFNlbmRSZXF1ZXN0OiBDcmVhdGVkIGEgU2VydmljZVdvcmtlckZldGNoVGFzayB0byBoYW5kbGUg
dGhlIHJlZGlyZWN0IChmZXRjaElkZW50aWZpZXI9JSIgUFJJdTY0ICIpIiwgc2VydmljZVdvcmtl
ckZldGNoVGFzay0+ZmV0Y2hJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGNmMzBkZTQ5ZmNiMDk5ODFjZjdlM2Q2MTFl
YjI5ZWRiOWRhNDhlY2MuLmVhZWFhM2Q5MzM0MTlkMTU5MGQ5NTNiOTNlMWYzZWY2MGM4ODVlMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjksNiArMTY5
LDggQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHAKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlw
ZSBjbGllbnRUeXBlOwogICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikKICAgICAgICAgY2xpZW50VHlwZSA9
IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZSBpZiAocGFyYW1ldGVy
cy5vcHRpb25zLmRlc3RpbmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFy
ZWR3b3JrZXIpCisgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6
U2hhcmVkd29ya2VyOwogICAgIGVsc2UKICAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3Jr
ZXJDbGllbnRUeXBlOjpXaW5kb3c7CiAKQEAgLTIwMSw3ICsyMDMsNyBAQCBzdGQ6OnVuaXF1ZV9w
dHI8U2VydmljZVdvcmtlckZldGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVG
ZXRjaFRhc2soTgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHN0ZDo6b3B0aW9uYWw8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyOwotICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9k
ZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCku
b3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIp
IHsKKyAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGlu
YXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IGxvYWRlci5wYXJh
bWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9u
OjpTaGFyZWR3b3JrZXIpIHsKICAgICAgICAgYXV0byB0b3BPcmlnaW4gPSBsb2FkZXIucGFyYW1l
dGVycygpLmlzTWFpbkZyYW1lTmF2aWdhdGlvbiA/IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVS
TChyZXF1ZXN0LnVybCgpKSA6IGxvYWRlci5wYXJhbWV0ZXJzKCkudG9wT3JpZ2luLT5kYXRhKCk7
CiAgICAgICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcodG9w
T3JpZ2luLCByZXF1ZXN0LnVybCgpKTsKICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCkBAIC02
ODMsNiArNjg1LDE2IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp0cmFuc2ZlclNlcnZp
Y2VXb3JrZXJMb2FkVG9OZXdXZWJQcm9jZXNzKE5ldHdvcmtSZXNvCiAgICAgY29udHJvbENsaWVu
dChsb2FkZXIucGFyYW1ldGVycygpLCByZWdpc3RyYXRpb24sIGxvYWRlci5vcmlnaW5hbFJlcXVl
c3QoKSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4g
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpnYXRoZXJDbGllbnREYXRhKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKGNsaWVudElk
ZW50aWZpZXIucHJvY2Vzc0lkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKCkpOworICAgIGF1dG8g
aXRlcmF0b3IgPSBtX2NsaWVudE9yaWdpbnMuZmluZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBp
ZiAoaXRlcmF0b3IgPT0gbV9jbGllbnRPcmlnaW5zLmVuZCgpKQorICAgICAgICByZXR1cm4geyB9
OworCisgICAgcmV0dXJuIHNlcnZlcigpLmdhdGhlckNsaWVudERhdGEoaXRlcmF0b3ItPnZhbHVl
LCBjbGllbnRJZGVudGlmaWVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBDT05ORUNUSU9OX01FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5oCmluZGV4IDRmMDI1ZTIxOTExZjMyYjZlYTBmM2QyYTk5N2U1ODk5ZTM4
MGFiNDUuLjIxY2U1NjM0ZGM4OTQ1ODZmNTZhYzc2Mzg1NTk3NTk5NDYxMDAxNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTg1LDYgKzg1LDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGZldGNoVGFza1RpbWVkT3V0KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKTsKIAogICAgIHZvaWQgdHJhbnNmZXJTZXJ2aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2Vz
cyhOZXR3b3JrUmVzb3VyY2VMb2FkZXImLCBXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbiYp
OworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0
YT4gZ2F0aGVyQ2xpZW50RGF0YShXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
Zmllcik7CisKKyAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOworICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIm
KTsKIAogcHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb24gKE1l
c3NhZ2VzIHRvIHRoZSBjbGllbnQgV2ViUHJvY2VzcykKQEAgLTExMCw4ICsxMTQsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGE+JiYpPiYmKTsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMoY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YT4mKT4mJik7CiAKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNs
aWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOwotICAgIHZvaWQgdW5yZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXImKTsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckZyb21DbGllbnQoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCB3aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZEZvclRlc3RpbmcoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFy
ZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKaW5kZXggMTM5ZjYwNzAyMDYwZTA0YTY4OTJiN2Yx
YTM1NzhlODJkMDY2YmEyOC4uMDNhM2RkNWQzNjViZjg2MWE4ZThiNTllNGNkNjQ3ZGM1NTIzZDMz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIv
V2ViU2hhcmVkV29ya2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFy
ZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1RyYW5zZmVycmVkTWVzc2FnZVBvcnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNo
UmVzdWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlck9wdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0
ci5oPgogCkBAIC03Miw3ICs3Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIG1hcmtBc1J1bm5pbmco
KSB7IG1faXNSdW5uaW5nID0gdHJ1ZTsgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6V29ya2VyRmV0
Y2hSZXN1bHQmIGZldGNoUmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9mZXRjaFJlc3VsdDsgfQor
ICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYgaW5pdGlhbGl6YXRp
b25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXphdGlvbkRhdGE7IH0KICAgICB2b2lk
IHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQp
IHsgbV9mZXRjaFJlc3VsdCA9IFdURk1vdmUoZmV0Y2hSZXN1bHQpOyB9CisgICAgdm9pZCBzZXRJ
bml0aWFsaXphdGlvbkRhdGEoV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5p
dGlhbGl6YXRpb25EYXRhKSB7IG1faW5pdGlhbGl6YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFs
aXphdGlvbkRhdGEpOyB9CiAgICAgYm9vbCBkaWRGaW5pc2hGZXRjaGluZygpIGNvbnN0IHsgcmV0
dXJuICEhbV9mZXRjaFJlc3VsdC5zY3JpcHQ7IH0KIAogcHJpdmF0ZToKQEAgLTkyLDYgKzk1LDcg
QEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIG1fd29ya2VyT3B0aW9uczsK
ICAgICBIYXNoTWFwPFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFNoYXJl
ZFdvcmtlck9iamVjdFN0YXRlPiBtX3NoYXJlZFdvcmtlck9iamVjdHM7CiAgICAgV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQgbV9mZXRjaFJlc3VsdDsKKyAgICBXZWJDb3JlOjpXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEgbV9pbml0aWFsaXphdGlvbkRhdGE7CiAgICAgYm9vbCBtX2lzUnVubmlu
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcAppbmRleCA5YTY5ZjEzOGY5ZjVkYzMzNmYw
MzM4YTcwYzU0ZTExMjNlNDYyZDRjLi4zMWYzZWUwNmFiYjgyNDJjOWM5ZTE2MmQ1ODZiNDA1MTNh
MmM5MmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKQEAgLTg3LDEz
ICs4NywxMyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtl
cihXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmJiBzaGFyZQogICAgIEFTU0VSVChzZXJ2ZXJDb25u
ZWN0aW9uKTsKIAogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtl
clNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcjogRmV0Y2hpbmcgc2hhcmVkIHdvcmtlciBzY3Jp
cHQgaW4gY2xpZW50Iik7Ci0gICAgc2VydmVyQ29ubmVjdGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVu
dCgqc2hhcmVkV29ya2VyLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBbd2Vha1RoaXMg
PSBXZWFrUHRyIHsgKnRoaXMgfSwgc2hhcmVkV29ya2VyID0gV2Vha1B0ciB7ICpzaGFyZWRXb3Jr
ZXIgfV0oV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgeworICAgIHNl
cnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNo
YXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKGF1dG8mJiBmZXRjaFJlc3Vs
dCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgewogICAgICAgICBpZiAod2Vha1RoaXMgJiYg
c2hhcmVkV29ya2VyKQotICAgICAgICAgICAgd2Vha1RoaXMtPmRpZEZpbmlzaEZldGNoaW5nU2hh
cmVkV29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIsIFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAg
ICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgq
c2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlv
bkRhdGEpKTsKICAgICB9KTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZp
bmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29y
a2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KQordm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdl
YlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
IGZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFs
aXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVk
V29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCBzaGFyZWRX
b3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCAiLCBzaGFyZWRXb3JrZXI9JXAsIHN1Y2Nlc3M9JWQi
LCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCksICZzaGFyZWRXb3JrZXIsIGZl
dGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKIApAQCAtMTA4LDYgKzEwOCw3IEBAIHZvaWQgV2Vi
U2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChX
ZWJTaGFyZWRXb3JrZXImCiAgICAgfQogCiAgICAgc2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0
KFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0SW5pdGlhbGl6YXRp
b25EYXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAKICAgICBpZiAoYXV0byogY29u
dGV4dENvbm5lY3Rpb24gPSBzaGFyZWRXb3JrZXIuY29udGV4dENvbm5lY3Rpb24oKSkgewogICAg
ICAgICBjb250ZXh0Q29ubmVjdGlvbi0+bGF1bmNoU2hhcmVkV29ya2VyKHNoYXJlZFdvcmtlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCmluZGV4IGIyMDZhZjJjMGVjMmIyOGUx
MTk2ODNkZGUwZGY3NDAxZDA4ODI5NmUuLmU2MzcwZDczMzQzMTRjZTdlNzNjOWEyYWZiNzAyNTM2
YmU1YWM4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCkBAIC00Miw2ICs0
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBz
dHJ1Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNzcsNyArNzgsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVE
b21haW4mLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiByZXF1ZXN0
aW5nUHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIGJvb2wgbmVlZHNDb250ZXh0Q29ubmVjdGlvbkZv
clJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJikgY29u
c3Q7CiAgICAgdm9pZCBjb250ZXh0Q29ubmVjdGlvbkNyZWF0ZWQoV2ViU2hhcmVkV29ya2VyU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbiYpOwotICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFy
ZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJik7CisgICAgdm9pZCBkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJT
aGFyZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCBzaHV0RG93blNoYXJlZFdvcmtlcihj
b25zdCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmKTsKIAogICAgIE5ldHdvcmtTZXNzaW9uJiBt
X3Nlc3Npb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJl
ZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IDlhNmQzNjVlMzBjOGZmYjBmN2E1ZDI0NmRmZWZhYWI2YjI1YThiZTEu
LjEyZjM1ZjU1ZTk1MWU4OTkzYzY1OTc0ZmVlMDdlZjU2NTgzOTI2NDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNl
cnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xMTQsNyAr
MTE0LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpyZXN1bWVGb3JC
YWNrRm9yd2FyZENhY2hlKFdlYkNvcmU6OlNoYXJlZFcKICAgICAgICAgc2Vzc2lvbi0+ZW5zdXJl
U2hhcmVkV29ya2VyU2VydmVyKCkucmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShzaGFyZWRXb3Jr
ZXJLZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNoYXJl
ZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hh
cmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3Zv
aWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChj
b25zdCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtl
ckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBDT05O
RUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRv
U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpXZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50IHsg
c2hhcmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzaGFyZWRX
b3JrZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBi
NDE5MTk2NWMzNDI1ZmYxZTA2YWYzN2U0YmEyNWI0NTJjODJmZmI4Li5mMWI3MTJiN2M4NDI2ODU5
MWI3MTU2MzY2NmQ0YzhmZDY1NmMwMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVk
V29ya2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikg
ZmluYWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29y
a2VyJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBm
ZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYp
PiYmKTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29y
ZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRv
Q29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDVlNDNmMTFjZjNhNmMzNGY5OTc3ZDU0ZmJhNjYx
YTUzYzliYTMzMTQuLmE4MWVmZDI2NjBmYjE1NDlhMjNmYjA2YzU0YzljOTIyZjM1Mjg2MzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiTmV0d29ya1By
b2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlV29ya2VyVHlwZS5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYlNXU2VydmVyQ29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViU2hhcmVkV29ya2VyU2VydmVyLmgiCkBAIC05OSw3ICsxMDAsMjQgQEAgdm9pZCBXZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2Vi
U2hhcmVkV29ya2UKIHsKICAgICBDT05URVhUX0NPTk5FQ1RJT05fUkVMRUFTRV9MT0coImxhdW5j
aFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1NjQsIHNoYXJlZFdv
cmtlci5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CiAgICAgc2hhcmVkV29ya2VyLm1hcmtBc1J1
bm5pbmcoKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OkxhdW5jaFNoYXJlZFdvcmtlciB7IHNoYXJlZFdvcmtlci5vcmlnaW4oKSwg
c2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKSwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSwg
c2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCkgfSk7CisgICAgYXV0byBpbml0aWFsaXphdGlvbkRh
dGEgPSBzaGFyZWRXb3JrZXIuaW5pdGlhbGl6YXRpb25EYXRhKCk7CisgICAgaWYgKGF1dG8gY29u
dGV4dElkZW50aWZpZXIgPSBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcikgewor
ICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllciA9IFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgY29udGV4dElkZW50aWZpZXItPm9iamVjdCgpLCB3ZWJQ
cm9jZXNzSWRlbnRpZmllcigpIH07CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAg
ICBpZiAoYXV0byogc2VydmljZVdvcmtlck9sZENvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24ubmV0
d29ya1Byb2Nlc3MoKS53ZWJQcm9jZXNzQ29ubmVjdGlvbihjb250ZXh0SWRlbnRpZmllci0+cHJv
Y2Vzc0lkZW50aWZpZXIoKSkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBzd09sZENvbm5lY3Rp
b24gPSBzZXJ2aWNlV29ya2VyT2xkQ29ubmVjdGlvbi0+c3dDb25uZWN0aW9uKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoYXV0byBjbGllbnREYXRhID0gc3dPbGRDb25uZWN0aW9uLT5nYXRoZXJD
bGllbnREYXRhKCpjb250ZXh0SWRlbnRpZmllcikpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dP
bGRDb25uZWN0aW9uLT51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCgqY29udGV4dElkZW50
aWZpZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogc3dOZXdDb25uZWN0aW9uID0g
bV9jb25uZWN0aW9uLnN3Q29ubmVjdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBj
bGllbnREYXRhLT5zZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5pZGVudGlmaWVyID0gKmluaXRpYWxp
emF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyOworICAgICAgICAgICAgICAgICAgICAgICAgc3dO
ZXdDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGllbnRE
YXRhLT5jbGllbnRPcmlnaW4pLCBXVEZNb3ZlKGNsaWVudERhdGEtPnNlcnZpY2VXb3JrZXJDbGll
bnREYXRhKSwgY2xpZW50RGF0YS0+Y29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgV1RGTW92ZShjbGllbnREYXRhLT51c2VyQWdlbnQpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
I2VuZGlmCisgICAgfQorICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9yaWdp
bigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9u
cygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSwgaW5pdGlhbGl6YXRpb25EYXRhIH0pOwog
ICAgIHNoYXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2VyT2JqZWN0KFsmXShhdXRvLCBhdXRv
JiBwb3J0KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQoc2hhcmVkV29ya2VyLCBwb3J0KTsK
ICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRl
eCA5ZWMwZTE1NWJkNTc3OTVmZjVlZGZiNjQ4MmYwNGI5YzI1ZDg0OTBkLi5hZDUwZTMwODE1NTc2
NGI3MzNjMjBmYzc5MmQzMDEzZjY0NjAyN2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC01NjgsMTUgKzU2OCwxMyBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjplc3RhYmxpc2hSZW1vdGVXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nl
c3MoUmVtbwogICAgICAgICAgICAgdXNlUHJvY2Vzc0ZvclJlbW90ZVdvcmtlcnMoKnByb2Nlc3Mp
OwogICAgIH0KIAotICAgIGJvb2wgc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9jZXNz
ID0gd29ya2VyVHlwZSA9PSBSZW1vdGVXb3JrZXJUeXBlOjpTZXJ2aWNlV29ya2VyICYmIHNfdXNl
U2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzczsKLQogICAgIC8vIFByaW9yaXRpemUgdGhlIHJl
cXVlc3RpbmcgV2ViUHJvY2VzcyBmb3IgcnVubmluZyB0aGUgc2VydmljZSB3b3JrZXIuCi0gICAg
aWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNob3VsZFVzZVNlcGFyYXRlUmVtb3Rl
V29ya2VyUHJvY2VzcyAmJiByZXF1ZXN0aW5nUHJvY2VzcykgeworICAgIGlmICghcmVtb3RlV29y
a2VyUHJvY2Vzc1Byb3h5ICYmICFzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MgJiYg
cmVxdWVzdGluZ1Byb2Nlc3MpIHsKICAgICAgICAgaWYgKCZyZXF1ZXN0aW5nUHJvY2Vzcy0+d2Vi
c2l0ZURhdGFTdG9yZSgpID09IHdlYnNpdGVEYXRhU3RvcmUgJiYgcmVxdWVzdGluZ1Byb2Nlc3Mt
PmlzTWF0Y2hpbmdSZWdpc3RyYWJsZURvbWFpbihyZWdpc3RyYWJsZURvbWFpbikpCiAgICAgICAg
ICAgICB1c2VQcm9jZXNzRm9yUmVtb3RlV29ya2VycygqcmVxdWVzdGluZ1Byb2Nlc3MpOwogICAg
IH0KIAotICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzaG91bGRVc2VTZXBh
cmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MpIHsKKyAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQ
cm94eSAmJiAhc191c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKSB7CiAgICAgICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NQb29sLT5tX3Byb2Nlc3NlcykgewogICAgICAgICAg
ICAgaWYgKHByb2Nlc3MucHRyKCkgPT0gcHJvY2Vzc1Bvb2wtPm1fcHJld2FybWVkUHJvY2Vzcy5n
ZXQoKSB8fCBwcm9jZXNzLT5pc0R1bW15UHJvY2Vzc1Byb3h5KCkpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBhMjcxMzdiZjEyZGRkYWI4N2QwM2I5
Yzc4Y2JmZmFmZjUzYzg1N2Y4Li5hNTNkMDY5NGJkYzVkN2IyMWIwMGE0MzkxMDcxMWU3YWMwZWRk
MmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE5Miw2ICsxOTIsNyBAQCB2b2lkIFdlYlNX
Q2xpZW50Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChTY3Jp
cHRFeGVjdXRpb25DbwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtl
ciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFdURk1vdmUoKmRhdGEuYWN0
aXZlV29ya2VyKSkgOiBmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBjb21w
bGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDU2MDJmZDcwZWZjNzlmMjhhNTgzZTJiZDI3
NTQzZjU0YzQzOTVmZTIuLjExNzNhODEyNjM1NDMxYmQzOGNjMzgwZWJiNWIyMTlkNzZlMGJiNWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdv
cmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyVGhyZWFk
UHJveHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckluaXRpYWxp
emF0aW9uRGF0YS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtODksNyArOTAsNyBAQCB2
b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVy
ZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1fcHJlZmVyZW5jZXNTdG9yZSA9IHN0b3JlOwog
fQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNo
U2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3Jr
ZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3
b3JrZXJGZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2lu
LCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVk
V29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hT
aGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAgIGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBX
ZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAtMTEwLDggKzExMSwxMiBAQCB2b2lkIFdlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNv
cmU6OkNsaWVudAogICAgICAgICBXZWJQYWdlOjp1cGRhdGVTZXR0aW5nc0dlbmVyYXRlZCgqbV9w
cmVmZXJlbmNlc1N0b3JlLCBwYWdlLT5zZXR0aW5ncygpKTsKICAgICAgICAgcGFnZS0+c2V0dGlu
Z3MoKS5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U3RvcmFn
ZUJsb2NraW5nUG9saWN5PihtX3ByZWZlcmVuY2VzU3RvcmUtPmdldFVJbnQzMlZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpzdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkoKSkpKTsKICAgICB9
CisKKyAgICBpZiAoIWluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQuaXNFbXB0eSgpKQorICAg
ICAgICBpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50ID0gbV91c2VyQWdlbnQ7CisKICAgICBw
YWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVS
TCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kpOwot
ICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9u
cyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92
aWRlcigpKTsKKyAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hh
cmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdv
cmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwogCiAgICAgV2ViQ29yZTo6U2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJlZ2lzdGVyU2hhcmVkV29ya2VyVGhy
ZWFkKFdURk1vdmUoc2hhcmVkV29ya2VyVGhyZWFkUHJveHkpKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5kZXggYWIzNWNiZDAxODg1Y2Vi
Mzc2MTMxMGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBiOGU2ZjE0MWJkYTJhYzJjZDdiYzRiNTljYzA4
MTAzN2U4N2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBD
bGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTU4LDcgKzU5
LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIElQQyBNZXNzYWdlcy4KLSAgICB2b2lk
IGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3Jl
OjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3Jl
OjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNl
c1N0b3JlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHNldFVzZXJBZ2Vu
dChTdHJpbmcmJiB1c2VyQWdlbnQpIHsgbV91c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCk7
IH0KICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODJkNWRlZGY4ZmFjNGIz
ZmRjNDVkNTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZkY2FmMjdhNzRlYTUzNjU5YTM1ZmFhNWFkMWYx
ZWIwY2YyYWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24gTm90UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3Jl
OjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNo
YXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtl
ck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJl
c3VsdCkKKyAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRl
bnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3Ry
dWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0LCBzdHJ1Y3Qg
V2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHdvcmtlckluaXRpYWxpemF0aW9uRGF0
YSkKICAgICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIg
c2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBw
b3J0LCBTdHJpbmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJD
b3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAg
VXBkYXRlUHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
IHN0b3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4KaW5kZXggYzI2OWZkMjZhOTFlYmZjYjRjNTRmMGQ2YzllMGViM2U0YjBkZjYzMi4uYjZj
MDRkNjY0YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUxYzM3OGRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
aGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBA
CiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb24gewotICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1
Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KQorICAgIEZldGNoU2NyaXB0SW5DbGll
bnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3Jr
ZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVz
dWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0
aW9uRGF0YSkKICAgICBOb3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6
OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAgICBQb3N0RXhjZXB0aW9uVG9Xb3Jr
ZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBTdHJpbmcgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
aW50IGNvbHVtbk51bWJlciwgU3RyaW5nIHNvdXJjZVVSTCkKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNTY4Mzg0ZWEx
ZTc1NjVhZThhNTcxOWRiMjY2OWM2NDNmMWI1NzliLi5mMWIwYzE0ZDJhNDhlY2U1M2M1YTg1Njhh
ZTU2MTI2YmI4M2FkYmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDQtMjEgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNo
b3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9j
b250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3Vy
Y2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzOgorICAgICAgICAqIHBs
YXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
CiAyMDIyLTA0LTIwICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgWyBpT1MgXSBwbGF0Zm9ybS9pb3MvaW9zL2Zhc3QvdGV4dC9vcHRpY2FsRm9udC5o
dG1sIGlzIGEgY29uc3RhbnQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggNDAxZGVlNzAzNmM2NGE0ODgwMzM4M2U4MmJkZGEwY2Y5NmRlOGMzZS4uYmRjYzdhYzdjNTg4
YjY0ODMyMTg2ZmIwZGEzMjlmYTg2MmRjNzkyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNl
IHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMjAgIENhdGhpZSBDaGVu
ICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFBhcnNpbmcgb2YgY29udGFpbi1p
bnRyaW5zaWMtc2l6ZSBhbmQgYWRkaW5nIGEgcnVudGltZSBmbGFnIGZvciBpdApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVk
d29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDVmNzA2YjNlMWVmNjRiMmEwMTNhZmFjMjg2NWJjMjc0MWVjYmRlMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVk
LXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mg
UmVnaXN0ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgVmVyaWZ5IHNoYXJlZCB3b3JrZXIgaXMgY29u
dHJvbGxlZAorUEFTUyBWZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4gcG9zdCBtZXNzYWdlIHRvIGl0
cyBzZXJ2aWNlIHdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3NTE0Yjg1NmMyMjhiOGU4ZmM0Nzc5ZGUxYmMzNTQ2ODQ3MmRi
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0VXNlU2Vw
YXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyh0cnVlKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0
ZXN0KSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5qcyIsIHsgc2NvcGUgOiAn
cmVzb3VyY2VzJyB9KTsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOwor
ICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFjdGl2ZVdvcmtl
ciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFu
Z2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0
aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0p
OworfSwgIlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICAgIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9jb250
cm9sbGVkLXNoYXJlZHdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKKyAgICBh
c3NlcnRfdHJ1ZShldmVudC5kYXRhLmlzQ29udHJvbGxlZCk7Cit9LCAiVmVyaWZ5IHNoYXJlZCB3
b3JrZXIgaXMgY29udHJvbGxlZCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsK
KyAgICB3b3JrZXIucG9ydC5wb3N0TWVzc2FnZSgncGluZycpOworICAgIGNvbnN0IGV2ZW50ID0g
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNv
bHZlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsICdwb25nJyk7Cit9LCAiVmVyaWZ5
IHNoYXJlZCB3b3JrZXIgY2FuIHBvc3QgbWVzc2FnZSB0byBpdHMgc2VydmljZSB3b3JrZXIiKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJv
bGxlZC1zaGFyZWR3b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI1NzlhZmY0Y2RmMTRjZDhhYjc5ZmM5
Mjg1ZjA5MDZiNGJhMWUwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuanMKQEAg
LTAsMCArMSw4IEBACitvbmNvbm5lY3QgPSBhc3luYyAoZSkgPT4geyAKKyAgICBjb25zdCAgcG9y
dCA9IGUucG9ydHNbMF07CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEh
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKKyAgICBwb3J0Lm9ubWVzc2Fn
ZSA9IChldmVudCkgPT4geworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9s
bGVyLnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7
CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzCmluZGV4IDBjZjk3ZmUyM2Y4Y2Nh
MDYyMTIyMzJlZWY5OWVlYTY3NTc3MTU2MjEuLjBjMDczODJlOWIyYTcyZjk4OWU4ZDBiN2ZhZDMw
NWI1YTM3N2U5YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdvcmtlci5qcwpAQCAtMTIsNiArMTIsMTAg
QEAgYXN5bmMgZnVuY3Rpb24gZG9UZXN0KGV2ZW50KQogICAgICAgICBldmVudC5zb3VyY2UucG9z
dE1lc3NhZ2Uoc2VsZi5yZWNlaXZlZEZldGNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAg
ICBpZiAoZXZlbnQuZGF0YSA9PT0gInBpbmciKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0
TWVzc2FnZSgicG9uZyIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGV2ZW50LnNvdXJj
ZS5wb3N0TWVzc2FnZSgiS08iKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZGY3MzVmYWZkMDdiZjYxOTNjZDNkYjAxNTQzZTU3YTE3ODE0N2MyMi4uODkyOTYxOWE1YzkyOTRl
NDU3YWJiODc5ZDdhOGFjZDk3ZGQ3YTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQg
d29ya2VyIGNsaWVudHMgYXNzZXJ0X25vdF9lcXVhbHM6IFNoYXJlZCB3b3JrZXIgY2xpZW50IHNo
b3VsZCBub3QgYmUgdW5kZWZpbmVkIGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFT
UyBUZXN0IENsaWVudHMuZ2V0KCkgd2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwt
Y2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5
MjdjOWY3ZWI1ZmZmZWFhYzcxMGFlLi4xOTU3ZGVjYzg3OTcyMWM2YjYyMjVjZDAzYzE1ZDk4ZGEx
YWQyNTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCiBQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1G
QUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9
IGNsaWVudCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQg
Z290IDAKK1BBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIs
IHdvcmtlcn0gY2xpZW50IHR5cGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggYmExNGVkZmUyMmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNk
YWExYzRlYjM4NjlhNDMzODJlOGQyMjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEwLDEyICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMz
OiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJl
YWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNo
ZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzog
c3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRf
dW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRf
dW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNT
IGNsZWFudXAgZ2xvYmFsIHN0YXRlCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQpAQCAtMjMsMTEgKzIzLDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNj
b3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRz
OiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUu
dHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQ
QVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1Mg
Q2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1w
b3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2go
KTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2go
KTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3Jr
IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAg
LTM1LDExICszNSwxMSBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRT
Y3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVs
ZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlM
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9y
dFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRz
OiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAi
ZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29y
a2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNh
dyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0
IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3Jp
cHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBs
ZS50eHQiCkBAIC00NywxMCArNDcsMjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1Mg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNz
ZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJf
aW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0
aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRw
czovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9y
dFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzog
c3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2lt
cGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2lt
cGxlLnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVj
dGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2Vy
LnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3Jr
ZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9y
ZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyICht
b2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4
dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3Jl
ZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNj
cmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0
X3dlYndvcmtlci5weSIKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29w
ZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNo
YXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3
IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
K1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGFiYTE5MDA2OTRjNGU0OTk0YWE4NjgzOTUyNTg0MGE1ZDZmNTdkOGEuLjAwYWVh
MmM4YTZiOGEwZDA2OTVlNzQ2OGNmMjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDE2ICsxLDE2IEBACiAKIFBBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQg
cmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRl
ZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Yt
c2NvcGUgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRy
b2xsZWQgZG9jdW1lbnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNl
cnZpY2Ugd29ya2VyLgotRkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0
IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdv
cmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNj
cmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVy
Y2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2Ft
ZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVk
cyBpbiBzdGFydGluZyBhIGRlZGljYXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3Jp
Z2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4g
c3RhcnRpbmcgYSBzaGFyZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtl
ciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcg
YSBzaGFyZWQgd29ya2VyLgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1Mg
VmVyaWZ5IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZh
aWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3Jp
Z2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNh
dGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29y
a2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2Vy
IHN0YXJ0LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVz
b3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgogUEFTUyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3
b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBSZXF1ZXN0cyBvbiBh
IHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBi
dXQgZ290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9
fSIKK1BBU1MgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4KIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBp
biBhIGRlZGljYXRlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJj
ZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBX
b3JrZXIiCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBz
aGFyZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIg
YnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgog
UEFTUyBVbnJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHN1YnJlc291cmNlIGludGVyY2Vw
dGlvbiB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5o
dHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiMGYxMTQ2
N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEwYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRv
dyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJl
ZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNkMjNkNmI1YWI0NTA4ZTViNzQwNzQwMDAyN2U2MjA1MmNhMDBlYTQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkg
bWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwo
KSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3cucG9ydC5vbm1lc3NhZ2UgPSBf
ID0+IHJlc29sdmUodyknKSIKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458139</attachid>
            <date>2022-04-22 05:56:13 -0700</date>
            <delta_ts>2022-04-22 07:15:31 -0700</delta_ts>
            <desc>Fix remote worker process change</desc>
            <filename>bug-239122-20220422145610.patch</filename>
            <type>text/plain</type>
            <size>82157</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMTQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDllNGFkZWVlMTE0M2Ez
OTY1NTY3OGE4MjljZDMxOGJmYmFiMTU5OS4uNjljMjFjNGIzM2ViYTE0NzA3NzdmYTAzZWMyMDFh
ODFjNGNkYzNhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTIxICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yMSAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsICA8dmphcXVlekBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtHVEtdW1dQRV0gVXBkYXRlIGxpYndlYnJ0YyBBUEkgdXNhZ2UgZm9yIHZp
ZGVvIGVuY29kZXIgZmFjdG9yeQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCA1YTNmMGM2YzhkMGUwZWU1ODVkM2FmNGZh
MDI3NTg5MzZjNjI3ZDRmLi5hOWU5MmRkMGIyZDcwYjY1MjJhMDA3N2JhNjMzZTlkYTJhNTM1M2Fl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIyLTA0LTIxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2gg
c2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMg
RHVtZXouCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
Y3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJD
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dl
YlNXU2VydmVyQ29ubmVjdGlvbi5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vz
cy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmg6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3Bw
OgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXJDb25uZWN0aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwOgorICAgICAgICAq
IFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24uY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1l
c3NhZ2VzLmluOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjplc3RhYmxpc2hSZW1vdGVXb3JrZXJDb250ZXh0
Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nlc3MpOgorCiAyMDIyLTA0LTIwICBXZW5zb24gSHNpZWgg
IDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCB0aGUg
aU9TIDE1LjQgYnVpbGQgYWZ0ZXIgcjI5MzExNwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
SGVhZGVycy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZjhiYTk5
NTc5ZTY1NzM3MDEwY2Q0Nzc0YjNlNDljMzRkYjkxM2NkMS4uNTdiNjk2NjljMTVhYWZkNjViZjJl
NTc1YTA4ZDY3ZTYwODEwNjg4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xOTg2LDYgKzE5ODYs
NyBAQCBzZXQoV2ViQ29yZV9QUklWQVRFX0ZSQU1FV09SS19IRUFERVJTCiAgICAgd29ya2Vycy9X
b3JrZXJGZXRjaFJlc3VsdC5oCiAgICAgd29ya2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuaAog
ICAgIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorICAgIHdvcmtlcnMvV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhLmgKICAgICB3b3JrZXJzL1dvcmtlckxvYWRlclByb3h5LmgKICAgICB3b3Jr
ZXJzL1dvcmtlck9iamVjdFByb3h5LmgKICAgICB3b3JrZXJzL1dvcmtlck9wdGlvbnMuaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IDg4M2Y3ZDNmMTJhYzgyN2JlMGM1OWE3YTQyMjc2
MjViNDJjZDA2OTguLmIyMmVkNzBhZDI5MGNjZDA1YjMyMDA3ZmJhZjJiNDg3NTI5NGIwOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdvcmtl
cjo6Zm9yRWFjaFdvcmtlcihjb25zdCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmKQogICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29w
ZShjYWxsYmFjaygpKTsKIH0KIAotV29ya2VyKiBXb3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQorV29ya2VyKiBXb3Jr
ZXI6OmJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlm
aWVyKQogewogICAgIHJldHVybiBhbGxXb3JrZXJzKCkuZ2V0KGlkZW50aWZpZXIpOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyLmgKaW5kZXggY2MyYmI4YWE1OTNmMjRhNjdiZDIwNWQ3MTk0MmIwNTdl
MjhjOTZhMC4uNzM3N2JmMDk3ODQ1ZmQ2YWQ2Njk1Yjc5YWUyOTE5N2ExZmIyMzcxYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5oCkBAIC04Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBv
c3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmKT4mJik7CiAKICAgICBzdGF0aWMgdm9pZCBmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0
aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPigpPiYpOwotICAgIHN0
YXRpYyBXb3JrZXIqIHdvcmtlckJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcik7CisgICAgc3RhdGljIFdvcmtlciogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyKTsKIAogcHJpdmF0ZToKICAgICBXb3JrZXIoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCYsIEpTQzo6UnVudGltZUZsYWdzLCBXb3JrZXJPcHRpb25zJiYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKaW5kZXgg
NTY5NzBkMDRhM2E3MGMxODk1Y2U5NzE5NTgyNmQwOTljNjcwOGFlYS4uZGNiZWUxYTc2NjY4ZTFk
NTA5NTlmYzk4MmVjZTNmM2E3Y2ExODhmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNlcnZp
Y2VXb3JrZXJEYXRhLmgiCisjaW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3
LDYgKzM4LDYxIEBAIHN0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgewogI2VuZGlmCiAg
ICAgc3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gY2xpZW50
SWRlbnRpZmllcjsKICAgICBTdHJpbmcgdXNlckFnZW50OworCisgICAgV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhIGlzb2xhdGVkQ29weSgpIGNvbnN0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5j
b2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERl
Y29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFdvcmtlckluaXRpYWxpemF0aW9uRGF0YT4gZGVj
b2RlKERlY29kZXImKTsKIH07CiAKK2lubGluZSBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhOjppc29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVy
biB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBjcm9zc1RocmVhZENvcHko
c2VydmljZVdvcmtlckRhdGEpLAorI2VuZGlmCisgICAgICAgIGNsaWVudElkZW50aWZpZXIsCisg
ICAgICAgIHVzZXJBZ2VudC5pc29sYXRlZENvcHkoKQorICAgIH07Cit9CisKKwordGVtcGxhdGU8
Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOjplbmNvZGUoRW5j
b2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAg
ZW5jb2RlciA8PCBzZXJ2aWNlV29ya2VyRGF0YTsKKyNlbmRpZgorICAgIGVuY29kZXIgPDwgY2xp
ZW50SWRlbnRpZmllciA8PCB1c2VyQWdlbnQ7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+
CitzdGQ6Om9wdGlvbmFsPFdvcmtlckluaXRpYWxpemF0aW9uRGF0YT4gV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNpZiBFTkFCTEUoU0VSVklD
RV9XT1JLRVIpCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJE
YXRhPj4gc2VydmljZVdvcmtlckRhdGE7CisgICAgZGVjb2RlciA+PiBzZXJ2aWNlV29ya2VyRGF0
YTsKKyAgICBpZiAoIXNlcnZpY2VXb3JrZXJEYXRhKQorICAgICAgICByZXR1cm4geyB9OworI2Vu
ZGlmCisKKyAgICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXI+PiBjbGllbnRJZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gY2xpZW50
SWRlbnRpZmllcjsKKyAgICBpZiAoIWNsaWVudElkZW50aWZpZXIpCisgICAgICAgIHJldHVybiB7
IH07CisKKyAgICBzdGQ6Om9wdGlvbmFsPFN0cmluZz4gdXNlckFnZW50OworICAgIGRlY29kZXIg
Pj4gdXNlckFnZW50OworICAgIGlmICghdXNlckFnZW50KQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgcmV0dXJuIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQorICAgICAgICBXVEZNb3ZlKCpzZXJ2aWNlV29ya2VyRGF0YSksCisjZW5kaWYK
KyAgICAgICAgV1RGTW92ZSgqY2xpZW50SWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKnVz
ZXJBZ2VudCkKKyAgICB9OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggNDFhYWJjODA4MTg2
M2JjZmE1MjIyMDRhY2EwNjBmMzE3MjYxY2IzNy4uZWZhODY3N2UwOTMxMjQ2YzlhOTc3YTQ3ODY5
ZTBkZGJhOWY1ZmQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0
TG9hZGVyLmNwcApAQCAtMTU2LDggKzE1Niw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjps
b2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAg
ICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBqb2IgY2FuIGJlIGV4ZWN1dGVkIGZyb20gYSB3b3JrZXIg
Y29udGV4dCBvciBhIGRvY3VtZW50IGNvbnRleHQuCiAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vy
c01vZGUgPSBzZXJ2aWNlV29ya2VyTW9kZTsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0g
ICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0IGZvciBzaGFyZWQgd29ya2VyLgotICAgIGlmIChtX2Rl
c3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciAmJiBpczxEb2N1
bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKKyAgICBpZiAoKG1fZGVzdGluYXRpb24g
PT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSAmJiBpczxEb2N1bWVudD4o
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCkpIHsKICAgICAgICAgQVNTRVJUKGNsaWVudElkZW50aWZp
ZXIpOwogICAgICAgICBvcHRpb25zLmNsaWVudElkZW50aWZpZXIgPSBtX2NsaWVudElkZW50aWZp
ZXIgPSBjbGllbnRJZGVudGlmaWVyOwogICAgICAgICAvLyBJbiBjYXNlIG9mIGJsb2IgVVJMcywg
d2UgcmV1c2UgdGhlIGRvY3VtZW50IGNvbnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyLgpAQCAtMTY4
LDYgKzE2Nyw4IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHko
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgfSBlbHNlIGlmIChhdXRv
KiBhY3RpdmVTZXJ2aWNlV29ya2VyID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2
aWNlV29ya2VyKCkpCiAgICAgICAgIG9wdGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklk
ZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNlV29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7
CiAjZW5kaWYKKyAgICBpZiAobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpTaGFyZWR3b3JrZXIpCisgICAgICAgIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC51c2VyQWdlbnQoc2NyaXB0UmVxdWVzdC51cmwoKSk7CiAK
ICAgICAvLyBEdXJpbmcgY3JlYXRlLCBjYWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCByZW1vdmUg
dGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRoaXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJTY3JpcHRM
b2FkZXI+IHByb3RlY3RlZFRoaXMoKnRoaXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggYjY4YjAyNGQ2MTNhZTFkZjJlNWE0OTUxZjUwOTg5YWQ2
OTYwZWU0OC4uM2RhMGExZDVhNjk5ZjQwNzE3Yzk0MzUwZDk0OWE5M2E1NDM4ZTY0ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCkBAIC0xMDQsNiArMTA0
LDkgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHRha2VT
ZXJ2aWNlV29ya2VyRGF0YSgpIHsgcmV0dXJuIHN0ZDo6ZXhjaGFuZ2UobV9hY3RpdmVTZXJ2aWNl
V29ya2VyRGF0YSwgeyB9KTsgfQogI2VuZGlmCiAKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRJZGVu
dGlmaWVyOyB9CisgICAgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKSBj
b25zdCB7IHJldHVybiBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsgfQorCiBwcml2YXRlOgog
ICAgIGZyaWVuZCBjbGFzcyBSZWZDb3VudGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJp
ZW5kIHN0cnVjdCBzdGQ6OmRlZmF1bHRfZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0x
MzksNiArMTQyLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAg
c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gbV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0
YTsKICNlbmRpZgorICAgIFN0cmluZyBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggODhiNGQ4NGM4OWU5OWMxYzRm
MjVhMDgyMzFlNDExZGY1OTA3NGQ1MS4uY2Q3MTc0MjBmMzI2NGVhYmNiYWQ3Y2ZmMDA2ODM5ZWVi
ODQyOGJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTM3LDYgKzM3LDggQEAKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VySm9iRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIK
ICNpbmNsdWRlICJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlci5oIgorI2luY2x1ZGUgIlNoYXJl
ZFdvcmtlclRocmVhZC5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZFByb3h5LmgiCiAj
aW5jbHVkZSAiV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNs
dWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KQEAgLTExMywxOCArMTE1LDMzIEBAIHZvaWQg
U1dDbGllbnRDb25uZWN0aW9uOjpzdGFydFNjcmlwdEZldGNoRm9yU2VydmVyKFNlcnZpY2VXb3Jr
ZXJKb2JJZGVudGlmaWVyIGpvCiAgICAgICAgIGZpbmlzaEZldGNoaW5nU2NyaXB0SW5TZXJ2ZXIo
eyBzZXJ2ZXJDb25uZWN0aW9uSWRlbnRpZmllcigpLCBqb2JJZGVudGlmaWVyIH0sIFdURk1vdmUo
cmVnaXN0cmF0aW9uS2V5KSwgd29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgZXJyb3JE
b21haW5XZWJLaXRJbnRlcm5hbCwgMCwgeyB9LCBtYWtlU3RyaW5nKCJGYWlsZWQgdG8gZmV0Y2gg
c2NyaXB0IGZvciBzZXJ2aWNlIHdvcmtlciB3aXRoIHNjb3BlICIsIHJlZ2lzdHJhdGlvbktleS5z
Y29wZSgpLnN0cmluZygpKSB9KSk7CiB9CiAKK3N0YXRpYyB2b2lkIHBvc3RNZXNzYWdlVG9Db250
YWluZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVzc2FnZVdpdGhNZXNzYWdl
UG9ydHMmJiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJjZURhdGEsIFN0cmluZyYm
IHNvdXJjZU9yaWdpbikKK3sKKyAgICBpZiAoYXV0byogY29udGFpbmVyID0gY29udGV4dC5lbnN1
cmVTZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCisgICAgICAgIGNvbnRhaW5lci0+cG9zdE1lc3Nh
Z2UoV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VP
cmlnaW4pKTsKK30KIAogdm9pZCBTV0NsaWVudENvbm5lY3Rpb246OnBvc3RNZXNzYWdlVG9TZXJ2
aWNlV29ya2VyQ2xpZW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGRlc3RpbmF0
aW9uQ29udGV4dElkZW50aWZpZXIsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2FnZSwg
U2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4pCiB7
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIC8vIEZJWE1FOiBkZXN0aW5hdGlv
bkNvbnRleHRJZGVudGlmaWVyIGNhbiBvbmx5IGlkZW50aWZ5IGEgRG9jdW1lbnQgYXQgdGhlIG1v
bWVudC4KLSAgICBhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERvY3Vt
ZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKTsKLSAgICBpZiAoIWRl
c3RpbmF0aW9uRG9jdW1lbnQpCisgICAgaWYgKGF1dG8qIGRlc3RpbmF0aW9uRG9jdW1lbnQgPSBE
b2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZp
ZXIpKSB7CisgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIoKmRlc3RpbmF0aW9uRG9jdW1l
bnQsIFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNl
T3JpZ2luKSk7CiAgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICBpZiAoYXV0byogY29udGFp
bmVyID0gZGVzdGluYXRpb25Eb2N1bWVudC0+ZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigp
KQotICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1v
dmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7CisgICAgaWYgKGF1dG8qIHdv
cmtlciA9IFdvcmtlcjo6YnlJZGVudGlmaWVyKGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIp
KSB7CisgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFttZXNzYWdl
ID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSkuaXNv
bGF0ZWRDb3B5KCksIHNvdXJjZU9yaWdpbiA9IFdURk1vdmUoc291cmNlT3JpZ2luKS5pc29sYXRl
ZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAgICAgICAgICAgcG9zdE1lc3Nh
Z2VUb0NvbnRhaW5lcihjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURh
dGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGlmIChhdXRvKiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eTo6YnlJZGVudGlmaWVyKGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIpKSB7Cisg
ICAgICAgIHNoYXJlZFdvcmtlci0+dGhyZWFkKCkucnVuTG9vcCgpLnBvc3RUYXNrKFttZXNzYWdl
ID0gV1RGTW92ZShtZXNzYWdlKSwgc291cmNlRGF0YSA9IFdURk1vdmUoc291cmNlRGF0YSkuaXNv
bGF0ZWRDb3B5KCksIHNvdXJjZU9yaWdpbiA9IFdURk1vdmUoc291cmNlT3JpZ2luKS5pc29sYXRl
ZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgeworICAgICAgICAgICAgcG9zdE1lc3Nh
Z2VUb0NvbnRhaW5lcihjb250ZXh0LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURh
dGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgICAgICB9KTsKKyAgICB9CiB9CiAKIHN0
YXRpYyB2b2lkIGZvckFsbFdvcmtlcnMoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0Jik+KCk+JiBjYWxsYmFjaykKQEAgLTI0NCwxMyArMjYxLDE4IEBA
IHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpub3RpZnlDbGllbnRzT2ZDb250cm9sbGVyQ2hhbmdl
KGNvbnN0IEhhc2hTZXQ8U2NyaXB0RXhlCiAgICAgICAgICAgICB1cGRhdGVDb250cm9sbGVyKCpk
b2N1bWVudCwgU2VydmljZVdvcmtlckRhdGEgeyBuZXdDb250cm9sbGVyIH0pOwogICAgICAgICAg
ICAgY29udGludWU7CiAgICAgICAgIH0KLSAgICAgICAgaWYgKGF1dG8qIHdvcmtlciA9IFdvcmtl
cjo6d29ya2VyQnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgIGlmIChh
dXRvKiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgewog
ICAgICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoW25ld0NvbnRy
b2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0
YWJsZSB7CiAgICAgICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcihjb250ZXh0LCBXVEZNb3Zl
KG5ld0NvbnRyb2xsZXIpKTsKICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgY29udGludWU7
CiAgICAgICAgIH0KLSAgICAgICAgLy8gRklYTUU6IFN1cHBvcnQgc2hhcmVkIHdvcmtlcnMuCisg
ICAgICAgIGlmIChhdXRvKiBzaGFyZWRXb3JrZXIgPSBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6
YnlJZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CisgICAgICAgICAgICBzaGFyZWRXb3Jr
ZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbmV3Q29udHJvbGxlciA9IG5ld0NvbnRy
b2xsZXIuaXNvbGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgICAgICB1cGRhdGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1vdmUobmV3Q29udHJvbGxlcikp
OworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQogICAg
IH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJDb250YWluZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250YWluZXIuY3BwCmluZGV4IGRiOGQ0MDBhMzc1NDRkYzhiZTIxZGMxMDZi
MjMxNjBiNDgxZjhhMGEuLjk0ZjE1NDk1MDQ1OGNlNmM1YjI4MWU1YjQwYTcwM2JhZDRjODI3ZmYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
Q29udGFpbmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckNvbnRhaW5lci5jcHAKQEAgLTU4LDYgKzU4LDcgQEAKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VySm9iRGF0YS5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJQcm92aWRlci5oIgogI2lu
Y2x1ZGUgIlNlcnZpY2VXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAjaW5jbHVkZSAiV29y
a2VyU1dDbGllbnRDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KQEAgLTEzMyw3ICsxMzQsNyBAQCBhdXRvIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OnJlYWR5
KCkgLT4gUmVhZHlQcm9taXNlJgogU2VydmljZVdvcmtlciogU2VydmljZVdvcmtlckNvbnRhaW5l
cjo6Y29udHJvbGxlcigpIGNvbnN0CiB7CiAgICAgYXV0byogY29udGV4dCA9IHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERv
Y3VtZW50PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250
ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMg
YW5kIGRlZGljYXRlZCB3b3JrZXJzIGNhbiBoYXZlIGEgY29udHJvbGxlciBhdCB0aGUgbW9tZW50
LiIpOworICAgIEFTU0VSVF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpj
b250ZXh0KSB8fCBpczxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpICB8fCBp
czxTaGFyZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVT
ZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cywgZGVkaWNhdGVkIGFuZCBzaGFyZWQgd29y
a2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIuIik7CiAgICAgcmV0dXJuIGNvbnRleHQgPyBjb250
ZXh0LT5hY3RpdmVTZXJ2aWNlV29ya2VyKCkgOiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCmluZGV4IGRhMWIw
OWE1MzU3ZThmYjU1NTJjYmZjZTBhNDU2ZDYyODMzNTI3ZjYuLmUxN2ZlYzlmN2QxMTM1YWFkMjdj
ODhhMGY4MWNlYTFlNzNlMDllZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwCkBAIC0xMDM5LDYgKzEwMzksMjggQEAgdm9pZCBT
V1NlcnZlcjo6cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KENsaWVudE9yaWdpbiYmIGNsaWVu
dE9yaWdpbiwgU2VydmljZVcKICAgICBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24u
YWRkKGNsaWVudElkZW50aWZpZXIsICpjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyKTsKIH0KIAorc3RkOjpvcHRpb25hbDxTV1NlcnZlcjo6R2F0aGVyZWRDbGll
bnREYXRhPiBTV1NlcnZlcjo6Z2F0aGVyQ2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mIGNs
aWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRp
ZmllcikKK3sKKyAgICBhdXRvIGNsaWVudERhdGFJdGVyYXRvciA9IG1fY2xpZW50c0J5SWQuZmlu
ZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBpZiAoY2xpZW50RGF0YUl0ZXJhdG9yID09IG1fY2xp
ZW50c0J5SWQuZW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvIGNvbnRyb2xs
aW5nUmVnaXN0cmF0aW9JdGVyYXRvciA9IG1fY2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlv
bi5maW5kKGNsaWVudElkZW50aWZpZXIpOworICAgIGlmIChjb250cm9sbGluZ1JlZ2lzdHJhdGlv
SXRlcmF0b3IgPT0gbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmVuZCgpKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjbGllbnRzUGVyT3JpZ2luSXRlcmF0b3IgPSBt
X2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luLmZpbmQoY2xpZW50T3JpZ2luKTsKKyAgICBpZiAo
Y2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yID09IG1fY2xpZW50SWRlbnRpZmllcnNQZXJPcmlnaW4u
ZW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gR2F0aGVyZWRDbGllbnRE
YXRhIHsKKyAgICAgICAgY2xpZW50T3JpZ2luLAorICAgICAgICBjbGllbnREYXRhSXRlcmF0b3It
PnZhbHVlLAorICAgICAgICBjb250cm9sbGluZ1JlZ2lzdHJhdGlvSXRlcmF0b3ItPnZhbHVlLAor
ICAgICAgICBjbGllbnRzUGVyT3JpZ2luSXRlcmF0b3ItPnZhbHVlLnVzZXJBZ2VudAorICAgIH07
Cit9CisKIHZvaWQgU1dTZXJ2ZXI6OnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0
IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
ZmllciBjbGllbnRJZGVudGlmaWVyKQogewogICAgIGF1dG8gY2xpZW50UmVnaXN0cmFibGVEb21h
aW4gPSBjbGllbnRPcmlnaW4uY2xpZW50UmVnaXN0cmFibGVEb21haW4oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAppbmRleCA0ZTI5ZmJl
NGMzZDkxYjRlYjk3NjM5N2RmZWFiZDQ5Yjk3YzFiYjk3Li4xMWU0ZDU4MTJjZWY4ZmExNjNjZTFl
MDU2NWNlODk4YjAyZmFkMGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlci5oCkBAIC0yNDUsNiArMjQ1LDE0IEBAIHB1YmxpYzoKICAgICBz
dGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBjbGllbnRJ
ZGVudGlmaWVyVG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
SWRlbnRpZmllcikgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmb3JFYWNoQ2xpZW50
Rm9yT3JpZ2luKGNvbnN0IENsaWVudE9yaWdpbiYsIGNvbnN0IEZ1bmN0aW9uPHZvaWQoU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEmKT4mKTsKIAorICAgIHN0cnVjdCBHYXRoZXJlZENsaWVudERhdGEg
eworICAgICAgICBDbGllbnRPcmlnaW4gY2xpZW50T3JpZ2luOworICAgICAgICBTZXJ2aWNlV29y
a2VyQ2xpZW50RGF0YSBzZXJ2aWNlV29ya2VyQ2xpZW50RGF0YTsKKyAgICAgICAgc3RkOjpvcHRp
b25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY29udHJvbGxpbmdTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcjsKKyAgICAgICAgU3RyaW5nIHVzZXJBZ2Vu
dDsKKyAgICB9OworICAgIFdFQkNPUkVfRVhQT1JUIHN0ZDo6b3B0aW9uYWw8R2F0aGVyZWRDbGll
bnREYXRhPiBnYXRoZXJDbGllbnREYXRhKGNvbnN0IENsaWVudE9yaWdpbiYsIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtYXhSZWdp
c3RyYXRpb25Db3VudCgpOwogICAgIGJvb2wgYWxsb3dMb29wYmFja0lQQWRkcmVzcyhjb25zdCBT
dHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAKaW5kZXggMzA4YmJmYTZhZjkwMzAw
OTU2YTJhMzk2ODdlNTVjNWQ3MzQ5ZWRiNS4uYjA0Yjc2OWMxNGQxMzI1NmFhNTViZTczMjM0NzYy
Nzk5YjYyZDY0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hh
cmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHAKQEAgLTMzLDYgKzMzLDcg
QEAKICNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgorI2luY2x1ZGUgIldv
cmtlckluaXRpYWxpemF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NiwyNSArNDcsMjUgQEAgU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbjo6U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbigpID0gZGVmYXVs
dDsKIAogU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6flNoYXJlZFdvcmtlck9iamVjdENv
bm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKLXZvaWQgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9i
amVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9u
cyYmIHdvcmtlck9wdGlvbnMsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1
bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit2b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9w
dGlvbnMmJiB3b3JrZXJPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCiAgICAgYXV0byogd29ya2VyT2Jq
ZWN0ID0gU2hhcmVkV29ya2VyOjpmcm9tSWRlbnRpZmllcihzaGFyZWRXb3JrZXJPYmplY3RJZGVu
dGlmaWVyKTsKICAgICBDT05ORUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50
OiBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyPSV7cHVibGljfXMsIHdvcmtlcj0lcCIsIHNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIudG9TdHJpbmcoKS51dGY4KCkuZGF0YSgpLCB3b3Jr
ZXJPYmplY3QpOwogICAgIGlmICghd29ya2VyT2JqZWN0KQotICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJvcihSZXNvdXJjZUVycm9yIHsgUmVzb3VyY2VFcnJv
cjo6VHlwZTo6Q2FuY2VsbGF0aW9uIH0pKTsKKyAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5k
bGVyKHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6
OkNhbmNlbGxhdGlvbiB9KSwgeyB9KTsKIAogICAgIGF1dG8gbG9hZGVySWRlbnRpZmllciA9ICsr
bG9hZGVySWRlbnRpZmllclNlZWQ7CiAgICAgYXV0byBsb2FkZXIgPSBtYWtlVW5pcXVlUmVmPFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlcj4oV1RGTW92ZSh1cmwpLCAqd29ya2VyT2JqZWN0LCBXVEZN
b3ZlKHdvcmtlck9wdGlvbnMpKTsKICAgICBhdXRvIGxvYWRlclB0ciA9IGxvYWRlci5wdHIoKTsK
ICAgICBtX2xvYWRlcnMuYWRkKGxvYWRlcklkZW50aWZpZXIsIFdURk1vdmUobG9hZGVyKSk7CiAK
LSAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNvbXBsZXRpb25I
YW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKFdvcmtlckZldGNoUmVzdWx0JiYg
ZmV0Y2hSZXN1bHQpIG11dGFibGUgeworICAgIGxvYWRlclB0ci0+bG9hZChbdGhpcywgbG9hZGVy
SWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0oYXV0byYmIGZldGNoUmVzdWx0LCBhdXRvJiYgaW5pdGlhbGl6YXRpb25EYXRhKSBtdXRhYmxl
IHsKICAgICAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDog
ZmluaXNoZWQgc2NyaXB0IGxvYWQsIHN1Y2Nlc3M9JWQiLCBmZXRjaFJlc3VsdC5lcnJvci5pc051
bGwoKSk7CiAgICAgICAgIGF1dG8gbG9hZGVyID0gbV9sb2FkZXJzLnRha2UobG9hZGVySWRlbnRp
Zmllcik7CiAgICAgICAgIEFTU0VSVChsb2FkZXIpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1v
dmUoZmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSkpOwogICAgIH0pOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmgKaW5kZXggZDJlMjQ3MzcxMTRmNjFkYTIwYWQ1OWI3
ZjdmYjAwZDVlMDU5YmI3MC4uMTgyOTlhODM1NGEyMDJmN2Q0ZTA3ZTE2ODU2MjdlYzJlOTJhYzAw
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
T2JqZWN0Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaApAQCAtMzksNiArMzksNyBAQCBjbGFzcyBTaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXI7CiAKIHN0cnVjdCBTaGFyZWRXb3JrZXJLZXk7CiBzdHJ1Y3Qg
V29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogc3Ry
dWN0IFdvcmtlck9wdGlvbnM7CiAKIGNsYXNzIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24g
OiBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uPiB7CkBAIC01
Miw3ICs1Myw3IEBAIHB1YmxpYzoKIAogcHJvdGVjdGVkOgogICAgIC8vIElQQyBtZXNzYWdlcy4K
LSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoVVJMJiYsIFdlYkNv
cmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsK
ICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRp
b24oV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgUmVzb3VyY2VF
cnJvciYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KFNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNz
YWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VVUkwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCAwNzI4NGUwMjc4NDNlY2RjOTNjYTk3
MWRmZWQ5OGEzNmM5ZTIzMzc3Li43ZTViOTQ4MWUzZTU2ODJjYjdkYmZlMWVmNDc4M2VhMjQ5ZmZi
ZDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1No
YXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKICNp
bmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgorI2luY2x1ZGUgIldvcmtlckluaXRpYWxpemF0
aW9uRGF0YS5oIgogI2luY2x1ZGUgIldvcmtlclJ1bkxvb3AuaCIKICNpbmNsdWRlICJXb3JrZXJT
Y3JpcHRMb2FkZXIuaCIKIApAQCAtNDMsMTMgKzQ0LDEzIEBAIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlcjo6U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyKFVSTCYmIHVybCwgU2hhcmVkV29ya2VyJiB3
b3JrCiB7CiB9CiAKLXZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29tcGxldGlvbkhhbmRsZXIp
Cit2b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBBU1NFUlQoIW1fY29tcGxldGlvbkhhbmRsZXIpOwog
ICAgIG1fY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKTsKIAog
ICAgIGF1dG8gc291cmNlID0gbV9vcHRpb25zLnR5cGUgPT0gV29ya2VyVHlwZTo6TW9kdWxlID8g
V29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6Ok1vZHVsZVNjcmlwdCA6IFdvcmtlclNjcmlwdExv
YWRlcjo6U291cmNlOjpDbGFzc2ljV29ya2VyU2NyaXB0OwotICAgIG1fbG9hZGVyLT5sb2FkQXN5
bmNocm9ub3VzbHkoKm1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCksIFJlc291cmNl
UmVxdWVzdChtX3VybCksIHNvdXJjZSwgbV93b3JrZXItPndvcmtlckZldGNoT3B0aW9ucyhtX29w
dGlvbnMsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlciksIENvbnRlbnRT
ZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNlV29ya2VyU3JjRGlyZWN0aXZlLCBTZXJ2
aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdvcmtlclJ1bkxvb3A6OmRlZmF1bHRNb2RlKCkp
OworICAgIG1fbG9hZGVyLT5sb2FkQXN5bmNocm9ub3VzbHkoKm1fd29ya2VyLT5zY3JpcHRFeGVj
dXRpb25Db250ZXh0KCksIFJlc291cmNlUmVxdWVzdChtX3VybCksIHNvdXJjZSwgbV93b3JrZXIt
PndvcmtlckZldGNoT3B0aW9ucyhtX29wdGlvbnMsIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OlNoYXJlZHdvcmtlciksIENvbnRlbnRTZWN1cml0eVBvbGljeUVuZm9yY2VtZW50OjpFbmZvcmNl
V29ya2VyU3JjRGlyZWN0aXZlLCBTZXJ2aWNlV29ya2Vyc01vZGU6OkFsbCwgKnRoaXMsIFdvcmtl
clJ1bkxvb3A6OmRlZmF1bHRNb2RlKCksIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
OjpnZW5lcmF0ZSgpKTsKIH0KIAogdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmRpZFJl
Y2VpdmVSZXNwb25zZShSZXNvdXJjZUxvYWRlcklkZW50aWZpZXIgaWRlbnRpZmllciwgY29uc3Qg
UmVzb3VyY2VSZXNwb25zZSYpCkBAIC02MSw3ICs2MiwxMyBAQCB2b2lkIFNoYXJlZFdvcmtlclNj
cmlwdExvYWRlcjo6bm90aWZ5RmluaXNoZWQoKQogewogICAgIGlmIChhdXRvKiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0ID0gbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgIW1fbG9h
ZGVyLT5mYWlsZWQoKSkKICAgICAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJ
bXBvcnRlZCgqc2NyaXB0RXhlY3V0aW9uQ29udGV4dCwgbV9sb2FkZXItPmlkZW50aWZpZXIoKSwg
bV9sb2FkZXItPnNjcmlwdCgpLnRvU3RyaW5nKCkpOwotICAgIG1fY29tcGxldGlvbkhhbmRsZXIo
bV9sb2FkZXItPmZldGNoUmVzdWx0KCkpOyAvLyBkZWxldGVzIHRoaXMuCisgICAgbV9jb21wbGV0
aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hSZXN1bHQoKSwgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIG1fbG9hZGVyLT50YWtl
U2VydmljZVdvcmtlckRhdGEoKSwKKyNlbmRpZgorICAgICAgICBtX2xvYWRlci0+Y2xpZW50SWRl
bnRpZmllcigpLAorICAgICAgICBtX2xvYWRlci0+dXNlckFnZW50Rm9yU2hhcmVkV29ya2VyKCkK
KyAgICB9KTsgLy8gZGVsZXRlcyB0aGlzLgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5oCmluZGV4IDcxY2I0YjY1YmM5OTVjNTVjYmVmYjAxYTM5ZWMyZDE2MTNmMjgx
YTIuLjQ1ZTY1ZmY2YzAzNjZjY2Q0ODIyNjExYTg3YTY1NzlhMWFhYTg1OTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExv
YWRlci5oCkBAIC00MCwxMyArNDAsMTQgQEAgc3RydWN0IFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhOwogY2xhc3MgU2hhcmVkV29ya2VyOwogY2xhc3MgV29ya2VyU2NyaXB0TG9hZGVyOwog
c3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0
YTsKIAogY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyIDogcHJpdmF0ZSBXb3JrZXJTY3Jp
cHRMb2FkZXJDbGllbnQgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgog
ICAgIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcihVUkwmJiwgU2hhcmVkV29ya2VyJiwgV29ya2Vy
T3B0aW9ucyYmKTsKIAotICAgIHZvaWQgbG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtl
ckZldGNoUmVzdWx0JiYpPiYmKTsKKyAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYpOwog
CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCB7IHJldHVybiBtX3VybDsgfQogICAgIFNoYXJl
ZFdvcmtlciYgd29ya2VyKCkgeyByZXR1cm4gbV93b3JrZXIuZ2V0KCk7IH0KQEAgLTYwLDcgKzYx
LDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCBSZWY8U2hhcmVkV29ya2VyPiBtX3dvcmtlcjsKICAg
ICBjb25zdCBSZWY8V29ya2VyU2NyaXB0TG9hZGVyPiBtX2xvYWRlcjsKICAgICBjb25zdCBVUkwg
bV91cmw7Ci0gICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4g
bV9jb21wbGV0aW9uSGFuZGxlcjsKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZl
dGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4gbV9jb21wbGV0aW9uSGFu
ZGxlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNw
cAppbmRleCA1ODU5OWFiYzk0ZTNiY2Q2Y2IyZGUwNjBjN2RlNzc3NWEyNGEyYjA3Li42MDc5NjRj
OWRmNzJhYTFjOTBmYTQzYmYxNzYzYWNjZDc1MTEyNjRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQu
Y3BwCkBAIC00Myw3ICs0MywxMiBAQCBTaGFyZWRXb3JrZXJUaHJlYWQ6OlNoYXJlZFdvcmtlclRo
cmVhZChTaGFyZWRXb3JrZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0CiBSZWY8V29ya2Vy
R2xvYmFsU2NvcGU+IFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1ldGVycywgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IG9yaWdpbiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbikKIHsKICAgICBSRUxFQVNF
X0xPRyhTaGFyZWRXb3JrZXIsICIlcCAtIFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2Vy
R2xvYmFsU2NvcGU6IG1faWRlbnRpZmllcj0lIiBQUkl1NjQsIHRoaXMsIG1faWRlbnRpZmllci50
b1VJbnQ2NCgpKTsKLSAgICByZXR1cm4gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShz
dGQ6OmV4Y2hhbmdlKG1fbmFtZSwgeyB9KSwgcGFyYW1ldGVycywgV1RGTW92ZShvcmlnaW4pLCAq
dGhpcywgV1RGTW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJv
dmlkZXIoKSk7CisgICAgYXV0byBzY29wZSA9IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVh
dGUoc3RkOjpleGNoYW5nZShtX25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2lu
KSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tl
dFByb3ZpZGVyKCkpOworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBpZiAocGFyYW1l
dGVycy5zZXJ2aWNlV29ya2VyRGF0YSkKKyAgICAgICAgc2NvcGUtPnNldEFjdGl2ZVNlcnZpY2VX
b3JrZXIoU2VydmljZVdvcmtlcjo6Z2V0T3JDcmVhdGUoc2NvcGUuZ2V0KCksIFNlcnZpY2VXb3Jr
ZXJEYXRhIHsgKnBhcmFtZXRlcnMuc2VydmljZVdvcmtlckRhdGEgfSkpOworI2VuZGlmCisgICAg
cmV0dXJuIHNjb3BlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFBy
b3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29y
a2VyVGhyZWFkUHJveHkuY3BwCmluZGV4IDMzNzE4NDM0YjA5NWUxODY0MGI4MzcwZGE1ZWIzNjE3
OWNiNzQyZTYuLjAxNzU0MGQ4ZDFjNzJlMzI5NTBlZTViMjVmN2MwZWQwODM3NWQ5NDMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRl
eHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwCkBAIC00OSwxOSArNDksMTkgQEAKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCi1zdGF0aWMgSGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94
eSo+JiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKK3N0YXRpYyBIYXNoTWFwPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+JiBh
bGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkKIHsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95
ZWQ8SGFzaFNldDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBzZXQ7Ci0gICAgcmV0dXJuIHNl
dDsKKyAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVkPEhhc2hNYXA8U2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4+IG1hcDsK
KyAgICByZXR1cm4gbWFwOwogfQogCi1zdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdv
cmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0
LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IERvY3VtZW50JiBkb2N1bWVudCkKK3N0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29y
a2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQs
IFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEm
JiBpbml0aWFsaXphdGlvbkRhdGEsIERvY3VtZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4g
ewogICAgICAgICB3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwKICAgICAgICAgd29y
a2VyT3B0aW9ucy5uYW1lLAogICAgICAgICAic2hhcmVkd29ya2VyOiIgKyBJbnNwZWN0b3I6Oklk
ZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLAotICAgICAgICB1c2VyQWdlbnQs
CisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCksCiAgICAgICAg
IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLAogICAg
ICAgICB3b3JrZXJGZXRjaFJlc3VsdC5jb250ZW50U2VjdXJpdHlQb2xpY3ksCiAgICAgICAgIGZh
bHNlLApAQCAtNzQsMjAgKzc0LDI2IEBAIHN0YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRl
V29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3JrZXJGZXRjaFJlc3VsdCYgd29ya2VyCiAgICAgICAg
IFdvcmtlclRocmVhZE1vZGU6OkNyZWF0ZU5ld1RocmVhZCwKICAgICAgICAgeyB9LAogI2lmIEVO
QUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAgICAgeyB9LAorICAgICAgICBXVEZNb3ZlKGluaXRp
YWxpemF0aW9uRGF0YS5zZXJ2aWNlV29ya2VyRGF0YSksCiAjZW5kaWYKLSAgICAgICAgeyB9Cisg
ICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyLnZhbHVlX29yKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgfSkKICAgICB9OwogfQogCi1TaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYg
cGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25z
dCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJG
ZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCitT
aGFyZWRXb3JrZXJUaHJlYWRQcm94eSogU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRp
ZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAg
IHJldHVybiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuZ2V0KGlkZW50aWZpZXIpOwor
fQorCitTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5p
cXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hS
ZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMs
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgQ2FjaGVTdG9y
YWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9wYWdlKFdURk1vdmUo
cGFnZSkpCiAgICAgLCBtX2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRvY3VtZW50KCkp
Ci0gICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzaGFyZWRX
b3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0Y2hSZXN1
bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIHVzZXJBZ2VudCwgbV9kb2N1bWVudCksIFdURk1v
dmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhpcywgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlP
cmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9jdW1lbnQtPnNv
Y2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpKQor
ICAgICwgbV9jb250ZXh0SWRlbnRpZmllcigqaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50
aWZpZXIpCisgICAgLCBtX3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShz
aGFyZWRXb3JrZXJJZGVudGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0
Y2hSZXN1bHQsIFdURk1vdmUod29ya2VyT3B0aW9ucyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhKSwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRo
aXMsICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9y
aWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlv
blByb3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdz
OjpjcmVhdGVBbGxFbmFibGVkKCkpKQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihjYWNo
ZVN0b3JhZ2VQcm92aWRlcikKIHsKLSAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFBy
b3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGll
cygpLmFkZCh0aGlzKTsKKyAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMo
KS5jb250YWlucyhtX2NvbnRleHRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhy
ZWFkUHJveGllcygpLmFkZChtX2NvbnRleHRJZGVudGlmaWVyLCB0aGlzKTsKIAogICAgIHN0YXRp
YyBib29sIGFkZGVkTGlzdGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC05OCw4
ICsxMDQsOCBAQCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkVwogCiBTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eTo6flNoYXJlZFdvcmtlclRocmVhZFByb3h5KCkKIHsKLSAgICBBU1NFUlQoYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94aWVzKCkucmVtb3ZlKHRoaXMpOworICAgIEFTU0VSVChhbGxTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94aWVzKCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFs
bFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5yZW1vdmUobV9jb250ZXh0SWRlbnRpZmllcik7
CiB9CiAKIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6Omlk
ZW50aWZpZXIoKSBjb25zdApAQCAtMTc1LDcgKzE4MSw3IEBAIHZvaWQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHk6OnNldFJlc291cmNlQ2FjaGluZ0Rpc2FibGVkQnlXZWJJbnNwZWN0b3IoYm9vbCkK
IAogdm9pZCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6bmV0d29ya1N0YXRlQ2hhbmdlZChib29s
IGlzT25MaW5lKQogewotICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94aWVzKCkpCisgICAgZm9yIChhdXRvKiBwcm94eSA6IGFsbFNoYXJlZFdvcmtlclRocmVh
ZFByb3hpZXMoKS52YWx1ZXMoKSkKICAgICAgICAgcHJveHktPm5vdGlmeU5ldHdvcmtTdGF0ZUNo
YW5nZShpc09uTGluZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaAppbmRleCBk
YWIzYTEyM2RlZTE4ZGJiNjI0ZDc3ZjU4ZWQ5OGQ0NDk0YzdmYTk5Li41ZTNlYTRiMDZhN2M4NTA5
NTQ1ZDlmYWZhMDA0NTM1YTcyYTg1NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
CkBAIC00MSwxMiArNDEsMTUgQEAgY2xhc3MgU2hhcmVkV29ya2VyVGhyZWFkOwogCiBzdHJ1Y3Qg
Q2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YTsKIAogY2xhc3MgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkgZmluYWwg
OiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+LCBw
dWJsaWMgV29ya2VyT2JqZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGlj
IFdvcmtlckRlYnVnZ2VyUHJveHkgewogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4u
IEFyZ3M+IHN0YXRpYyBSZWY8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+IGNyZWF0ZShBcmdzJiYu
Li4gYXJncykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShz
dGQ6OmZvcndhcmQ8QXJncz4oYXJncykuLi4pKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIH5TaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eSgpOwogCisgICAgc3RhdGljIFNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KiBieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOworCiAg
ICAgU2hhcmVkV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Q7CiAgICAgU2hhcmVk
V29ya2VyVGhyZWFkJiB0aHJlYWQoKSB7IHJldHVybiBtX3dvcmtlclRocmVhZDsgfQogCkBAIC01
NCw3ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFzVGVybWluYXRpbmdPclRlcm1pbmF0
ZWQoKSB7IG1faXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCA9IHRydWU7IH0KIAogcHJpdmF0ZToK
LSAgICBXRUJDT1JFX0VYUE9SVCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFn
ZT4mJiwgU2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiwgV29ya2Vy
RmV0Y2hSZXN1bHQmJiwgV29ya2VyT3B0aW9ucyYmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Q2FjaGVTdG9yYWdlUHJvdmlkZXImKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiwgU2hhcmVkV29ya2VySWRlbnRpZmllciwgY29u
c3QgQ2xpZW50T3JpZ2luJiwgV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VyT3B0aW9ucyYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImKTsKIAogICAg
IC8vIFdvcmtlck9iamVjdFByb3h5LgogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2Jq
ZWN0KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVt
bk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwpIGZpbmFsOwpAQCAtNzgsNiArODEsNyBA
QCBwcml2YXRlOgogCiAgICAgVW5pcXVlUmVmPFBhZ2U+IG1fcGFnZTsKICAgICBSZWY8RG9jdW1l
bnQ+IG1fZG9jdW1lbnQ7CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9j
b250ZXh0SWRlbnRpZmllcjsKICAgICBSZWY8U2hhcmVkV29ya2VyVGhyZWFkPiBtX3dvcmtlclRo
cmVhZDsKICAgICBDYWNoZVN0b3JhZ2VQcm92aWRlciYgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsK
ICAgICBSZWZQdHI8Q2FjaGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jYWNoZVN0b3JhZ2VDb25uZWN0
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIuY3BwCmluZGV4IDAyODM0YjRlNDM0N2UyYTE2NDM3M2JhZGVjNWVlNDVhZjE4
NDQwMGIuLmI2NjYyMThhZDVlNWU2YjY2OGZlNzlmZjY3NTEyNzI4NjBlMzczMGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKQEAgLTEyMTUsMTIgKzEyMTUsMjEgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6
OnJlc3RhcnROZXR3b3JrTG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXEKICAg
ICBzdGFydE5ldHdvcmtMb2FkKFdURk1vdmUobmV3UmVxdWVzdCksIEZpcnN0TG9hZDo6Tm8pOwog
fQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorc3RhdGljIGJvb2wgc2hvdWxkVHJ5VG9N
YXRjaFJlZ2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24oY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25z
LCBib29sIGlzU2VydmljZVdvcmtlckxvYWRlZCkKK3sKKyAgICBpZiAob3B0aW9ucy5tb2RlID09
IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworICAg
IHJldHVybiBpc1NlcnZpY2VXb3JrZXJMb2FkZWQgJiYgKG9wdGlvbnMuZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IG9wdGlvbnMuZGVzdGluYXRpb24g
PT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKTsKK30KKyNlbmRpZgor
CiB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVz
b3VyY2VSZXF1ZXN0JiYgbmV3UmVxdWVzdCwgYm9vbCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVk
ZW50aWFscykKIHsKICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1
ZXN0OiAoaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHM9JWQpIiwgaXNBbGxvd2VkVG9B
c2tVc2VyRm9yQ3JlZGVudGlhbHMpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAg
IGlmIChwYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2
aWdhdGUgfHwgKHBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246OldvcmtlciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7Cisg
ICAgaWYgKHNob3VsZFRyeVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKHBhcmFtZXRl
cnMoKS5vcHRpb25zLCAhIW1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKICAgICAgICAgbV9z
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uID0geyB9OwogICAgICAgICBpZiAoYXV0byBzZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrID0gbV9jb25uZWN0aW9uLT5jcmVhdGVGZXRjaFRhc2soKnRoaXMsIG5l
d1JlcXVlc3QpKSB7CiAgICAgICAgICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2ls
bFNlbmRSZXF1ZXN0OiBDcmVhdGVkIGEgU2VydmljZVdvcmtlckZldGNoVGFzayB0byBoYW5kbGUg
dGhlIHJlZGlyZWN0IChmZXRjaElkZW50aWZpZXI9JSIgUFJJdTY0ICIpIiwgc2VydmljZVdvcmtl
ckZldGNoVGFzay0+ZmV0Y2hJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCmluZGV4IGNmMzBkZTQ5ZmNiMDk5ODFjZjdlM2Q2MTFl
YjI5ZWRiOWRhNDhlY2MuLmVhZWFhM2Q5MzM0MTlkMTU5MGQ5NTNiOTNlMWYzZWY2MGM4ODVlMDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9X
ZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjksNiArMTY5
LDggQEAgdm9pZCBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0
d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmIHAKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlw
ZSBjbGllbnRUeXBlOwogICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikKICAgICAgICAgY2xpZW50VHlwZSA9
IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZSBpZiAocGFyYW1ldGVy
cy5vcHRpb25zLmRlc3RpbmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFy
ZWR3b3JrZXIpCisgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6
U2hhcmVkd29ya2VyOwogICAgIGVsc2UKICAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3Jr
ZXJDbGllbnRUeXBlOjpXaW5kb3c7CiAKQEAgLTIwMSw3ICsyMDMsNyBAQCBzdGQ6OnVuaXF1ZV9w
dHI8U2VydmljZVdvcmtlckZldGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVG
ZXRjaFRhc2soTgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHN0ZDo6b3B0aW9uYWw8
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyOwotICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9k
ZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCku
b3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIp
IHsKKyAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRp
b25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGlu
YXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IGxvYWRlci5wYXJh
bWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9u
OjpTaGFyZWR3b3JrZXIpIHsKICAgICAgICAgYXV0byB0b3BPcmlnaW4gPSBsb2FkZXIucGFyYW1l
dGVycygpLmlzTWFpbkZyYW1lTmF2aWdhdGlvbiA/IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVS
TChyZXF1ZXN0LnVybCgpKSA6IGxvYWRlci5wYXJhbWV0ZXJzKCkudG9wT3JpZ2luLT5kYXRhKCk7
CiAgICAgICAgIGF1dG8qIHJlZ2lzdHJhdGlvbiA9IGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcodG9w
T3JpZ2luLCByZXF1ZXN0LnVybCgpKTsKICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCkBAIC02
ODMsNiArNjg1LDE2IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp0cmFuc2ZlclNlcnZp
Y2VXb3JrZXJMb2FkVG9OZXdXZWJQcm9jZXNzKE5ldHdvcmtSZXNvCiAgICAgY29udHJvbENsaWVu
dChsb2FkZXIucGFyYW1ldGVycygpLCByZWdpc3RyYXRpb24sIGxvYWRlci5vcmlnaW5hbFJlcXVl
c3QoKSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4g
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpnYXRoZXJDbGllbnREYXRhKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKGNsaWVudElk
ZW50aWZpZXIucHJvY2Vzc0lkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKCkpOworICAgIGF1dG8g
aXRlcmF0b3IgPSBtX2NsaWVudE9yaWdpbnMuZmluZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBp
ZiAoaXRlcmF0b3IgPT0gbV9jbGllbnRPcmlnaW5zLmVuZCgpKQorICAgICAgICByZXR1cm4geyB9
OworCisgICAgcmV0dXJuIHNlcnZlcigpLmdhdGhlckNsaWVudERhdGEoaXRlcmF0b3ItPnZhbHVl
LCBjbGllbnRJZGVudGlmaWVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRl
ZiBDT05ORUNUSU9OX01FU1NBR0VfQ0hFQ0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlv
bi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5oCmluZGV4IDRmMDI1ZTIxOTExZjMyYjZlYTBmM2QyYTk5N2U1ODk5ZTM4
MGFiNDUuLjIxY2U1NjM0ZGM4OTQ1ODZmNTZhYzc2Mzg1NTk3NTk5NDYxMDAxNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZl
ckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VX
b3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTg1LDYgKzg1LDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIGZldGNoVGFza1RpbWVkT3V0KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlm
aWVyKTsKIAogICAgIHZvaWQgdHJhbnNmZXJTZXJ2aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2Vz
cyhOZXR3b3JrUmVzb3VyY2VMb2FkZXImLCBXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbiYp
OworICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0
YT4gZ2F0aGVyQ2xpZW50RGF0YShXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
Zmllcik7CisKKyAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOworICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIm
KTsKIAogcHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb24gKE1l
c3NhZ2VzIHRvIHRoZSBjbGllbnQgV2ViUHJvY2VzcykKQEAgLTExMCw4ICsxMTQsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgbWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlP
cmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlv
bkRhdGE+JiYpPiYmKTsKICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMoY29uc3QgV2ViQ29yZTo6
U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uRGF0YT4mKT4mJik7CiAKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNs
aWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVu
dERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOwotICAgIHZvaWQgdW5yZWdp
c3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXImKTsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckZyb21DbGllbnQoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAgICAgdm9pZCB3aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZEZvclRlc3RpbmcoV2Vi
Q29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4m
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFy
ZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKaW5kZXggMTM5ZjYwNzAyMDYwZTA0YTY4OTJiN2Yx
YTM1NzhlODJkMDY2YmEyOC4uMDNhM2RkNWQzNjViZjg2MWE4ZThiNTllNGNkNjQ3ZGM1NTIzZDMz
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIv
V2ViU2hhcmVkV29ya2VyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFy
ZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxX
ZWJDb3JlL1NoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1RyYW5zZmVycmVkTWVzc2FnZVBvcnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNo
UmVzdWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlck9wdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0
ci5oPgogCkBAIC03Miw3ICs3Myw5IEBAIHB1YmxpYzoKICAgICB2b2lkIG1hcmtBc1J1bm5pbmco
KSB7IG1faXNSdW5uaW5nID0gdHJ1ZTsgfQogCiAgICAgY29uc3QgV2ViQ29yZTo6V29ya2VyRmV0
Y2hSZXN1bHQmIGZldGNoUmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9mZXRjaFJlc3VsdDsgfQor
ICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYgaW5pdGlhbGl6YXRp
b25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXphdGlvbkRhdGE7IH0KICAgICB2b2lk
IHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQp
IHsgbV9mZXRjaFJlc3VsdCA9IFdURk1vdmUoZmV0Y2hSZXN1bHQpOyB9CisgICAgdm9pZCBzZXRJ
bml0aWFsaXphdGlvbkRhdGEoV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5p
dGlhbGl6YXRpb25EYXRhKSB7IG1faW5pdGlhbGl6YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFs
aXphdGlvbkRhdGEpOyB9CiAgICAgYm9vbCBkaWRGaW5pc2hGZXRjaGluZygpIGNvbnN0IHsgcmV0
dXJuICEhbV9mZXRjaFJlc3VsdC5zY3JpcHQ7IH0KIAogcHJpdmF0ZToKQEAgLTkyLDYgKzk1LDcg
QEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIG1fd29ya2VyT3B0aW9uczsK
ICAgICBIYXNoTWFwPFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFNoYXJl
ZFdvcmtlck9iamVjdFN0YXRlPiBtX3NoYXJlZFdvcmtlck9iamVjdHM7CiAgICAgV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQgbV9mZXRjaFJlc3VsdDsKKyAgICBXZWJDb3JlOjpXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEgbV9pbml0aWFsaXphdGlvbkRhdGE7CiAgICAgYm9vbCBtX2lzUnVubmlu
ZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU3VzcGVuZGVkIHsgZmFsc2UgfTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcAppbmRleCA5YTY5ZjEzOGY5ZjVkYzMzNmYw
MzM4YTcwYzU0ZTExMjNlNDYyZDRjLi4zMWYzZWUwNmFiYjgyNDJjOWM5ZTE2MmQ1ODZiNDA1MTNh
MmM5MmEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKQEAgLTg3LDEz
ICs4NywxMyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtl
cihXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmJiBzaGFyZQogICAgIEFTU0VSVChzZXJ2ZXJDb25u
ZWN0aW9uKTsKIAogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtl
clNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcjogRmV0Y2hpbmcgc2hhcmVkIHdvcmtlciBzY3Jp
cHQgaW4gY2xpZW50Iik7Ci0gICAgc2VydmVyQ29ubmVjdGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVu
dCgqc2hhcmVkV29ya2VyLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBbd2Vha1RoaXMg
PSBXZWFrUHRyIHsgKnRoaXMgfSwgc2hhcmVkV29ya2VyID0gV2Vha1B0ciB7ICpzaGFyZWRXb3Jr
ZXIgfV0oV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgeworICAgIHNl
cnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNo
YXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKGF1dG8mJiBmZXRjaFJlc3Vs
dCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgewogICAgICAgICBpZiAod2Vha1RoaXMgJiYg
c2hhcmVkV29ya2VyKQotICAgICAgICAgICAgd2Vha1RoaXMtPmRpZEZpbmlzaEZldGNoaW5nU2hh
cmVkV29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIsIFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAg
ICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgq
c2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlv
bkRhdGEpKTsKICAgICB9KTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZp
bmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29y
a2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KQordm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdl
YlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
IGZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFs
aXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAiV2ViU2hhcmVk
V29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCBzaGFyZWRX
b3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCAiLCBzaGFyZWRXb3JrZXI9JXAsIHN1Y2Nlc3M9JWQi
LCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCksICZzaGFyZWRXb3JrZXIsIGZl
dGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKIApAQCAtMTA4LDYgKzEwOCw3IEBAIHZvaWQgV2Vi
U2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChX
ZWJTaGFyZWRXb3JrZXImCiAgICAgfQogCiAgICAgc2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0
KFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0SW5pdGlhbGl6YXRp
b25EYXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAKICAgICBpZiAoYXV0byogY29u
dGV4dENvbm5lY3Rpb24gPSBzaGFyZWRXb3JrZXIuY29udGV4dENvbm5lY3Rpb24oKSkgewogICAg
ICAgICBjb250ZXh0Q29ubmVjdGlvbi0+bGF1bmNoU2hhcmVkV29ya2VyKHNoYXJlZFdvcmtlcik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCmluZGV4IGIyMDZhZjJjMGVjMmIyOGUx
MTk2ODNkZGUwZGY3NDAxZDA4ODI5NmUuLmU2MzcwZDczMzQzMTRjZTdlNzNjOWEyYWZiNzAyNTM2
YmU1YWM4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCkBAIC00Miw2ICs0
Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0cnVj
dCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBz
dHJ1Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNzcsNyArNzgsNyBAQCBwcml2YXRlOgogICAg
IHZvaWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVE
b21haW4mLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiByZXF1ZXN0
aW5nUHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIGJvb2wgbmVlZHNDb250ZXh0Q29ubmVjdGlvbkZv
clJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJikgY29u
c3Q7CiAgICAgdm9pZCBjb250ZXh0Q29ubmVjdGlvbkNyZWF0ZWQoV2ViU2hhcmVkV29ya2VyU2Vy
dmVyVG9Db250ZXh0Q29ubmVjdGlvbiYpOwotICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFy
ZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJik7CisgICAgdm9pZCBkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJT
aGFyZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCBzaHV0RG93blNoYXJlZFdvcmtlcihj
b25zdCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmKTsKIAogICAgIE5ldHdvcmtTZXNzaW9uJiBt
X3Nlc3Npb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJl
ZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IDlhNmQzNjVlMzBjOGZmYjBmN2E1ZDI0NmRmZWZhYWI2YjI1YThiZTEu
LjEyZjM1ZjU1ZTk1MWU4OTkzYzY1OTc0ZmVlMDdlZjU2NTgzOTI2NDIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNl
cnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xMTQsNyAr
MTE0LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpyZXN1bWVGb3JC
YWNrRm9yd2FyZENhY2hlKFdlYkNvcmU6OlNoYXJlZFcKICAgICAgICAgc2Vzc2lvbi0+ZW5zdXJl
U2hhcmVkV29ya2VyU2VydmVyKCkucmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShzaGFyZWRXb3Jr
ZXJLZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNoYXJl
ZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hh
cmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3Zv
aWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChj
b25zdCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtl
ckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBDT05O
RUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRv
U3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpXZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50IHsg
c2hhcmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzaGFyZWRX
b3JrZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAppbmRleCBi
NDE5MTk2NWMzNDI1ZmYxZTA2YWYzN2U0YmEyNWI0NTJjODJmZmI4Li5mMWI3MTJiN2M4NDI2ODU5
MWI3MTU2MzY2NmQ0YzhmZDY1NmMwMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVk
V29ya2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJikg
ZmluYWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29y
a2VyJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBm
ZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYp
PiYmKTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29y
ZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBp
bnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRv
Q29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDVlNDNmMTFjZjNhNmMzNGY5OTc3ZDU0ZmJhNjYx
YTUzYzliYTMzMTQuLmE4MWVmZDI2NjBmYjE1NDlhMjNmYjA2YzU0YzljOTIyZjM1Mjg2MzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29u
dGV4dENvbm5lY3Rpb24uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiTmV0d29ya1By
b2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlV29ya2VyVHlwZS5oIgogI2lu
Y2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYlNXU2VydmVyQ29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViU2hhcmVkV29ya2VyU2VydmVyLmgiCkBAIC05OSw3ICsxMDAsMjQgQEAgdm9pZCBXZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2Vi
U2hhcmVkV29ya2UKIHsKICAgICBDT05URVhUX0NPTk5FQ1RJT05fUkVMRUFTRV9MT0coImxhdW5j
aFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1NjQsIHNoYXJlZFdv
cmtlci5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CiAgICAgc2hhcmVkV29ya2VyLm1hcmtBc1J1
bm5pbmcoKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OkxhdW5jaFNoYXJlZFdvcmtlciB7IHNoYXJlZFdvcmtlci5vcmlnaW4oKSwg
c2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKSwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSwg
c2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCkgfSk7CisgICAgYXV0byBpbml0aWFsaXphdGlvbkRh
dGEgPSBzaGFyZWRXb3JrZXIuaW5pdGlhbGl6YXRpb25EYXRhKCk7CisgICAgaWYgKGF1dG8gY29u
dGV4dElkZW50aWZpZXIgPSBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcikgewor
ICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllciA9IFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgY29udGV4dElkZW50aWZpZXItPm9iamVjdCgpLCB3ZWJQ
cm9jZXNzSWRlbnRpZmllcigpIH07CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAg
ICBpZiAoYXV0byogc2VydmljZVdvcmtlck9sZENvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24ubmV0
d29ya1Byb2Nlc3MoKS53ZWJQcm9jZXNzQ29ubmVjdGlvbihjb250ZXh0SWRlbnRpZmllci0+cHJv
Y2Vzc0lkZW50aWZpZXIoKSkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBzd09sZENvbm5lY3Rp
b24gPSBzZXJ2aWNlV29ya2VyT2xkQ29ubmVjdGlvbi0+c3dDb25uZWN0aW9uKCkpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoYXV0byBjbGllbnREYXRhID0gc3dPbGRDb25uZWN0aW9uLT5nYXRoZXJD
bGllbnREYXRhKCpjb250ZXh0SWRlbnRpZmllcikpIHsKKyAgICAgICAgICAgICAgICAgICAgc3dP
bGRDb25uZWN0aW9uLT51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCgqY29udGV4dElkZW50
aWZpZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogc3dOZXdDb25uZWN0aW9uID0g
bV9jb25uZWN0aW9uLnN3Q29ubmVjdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBj
bGllbnREYXRhLT5zZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5pZGVudGlmaWVyID0gKmluaXRpYWxp
emF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyOworICAgICAgICAgICAgICAgICAgICAgICAgc3dO
ZXdDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGllbnRE
YXRhLT5jbGllbnRPcmlnaW4pLCBXVEZNb3ZlKGNsaWVudERhdGEtPnNlcnZpY2VXb3JrZXJDbGll
bnREYXRhKSwgY2xpZW50RGF0YS0+Y29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllciwgV1RGTW92ZShjbGllbnREYXRhLT51c2VyQWdlbnQpKTsKKyAgICAgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQor
I2VuZGlmCisgICAgfQorICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9yaWdp
bigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9u
cygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSwgaW5pdGlhbGl6YXRpb25EYXRhIH0pOwog
ICAgIHNoYXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2VyT2JqZWN0KFsmXShhdXRvLCBhdXRv
JiBwb3J0KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQoc2hhcmVkV29ya2VyLCBwb3J0KTsK
ICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
b29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAppbmRl
eCA5ZWMwZTE1NWJkNTc3OTVmZjVlZGZiNjQ4MmYwNGI5YzI1ZDg0OTBkLi5hZDUwZTMwODE1NTc2
NGI3MzNjMjBmYzc5MmQzMDEzZjY0NjAyN2RlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC01NjgsMTUgKzU2OCwxMyBAQCB2b2lkIFdlYlByb2Nlc3NQ
b29sOjplc3RhYmxpc2hSZW1vdGVXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1Byb2Nl
c3MoUmVtbwogICAgICAgICAgICAgdXNlUHJvY2Vzc0ZvclJlbW90ZVdvcmtlcnMoKnByb2Nlc3Mp
OwogICAgIH0KIAotICAgIGJvb2wgc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9jZXNz
ID0gd29ya2VyVHlwZSA9PSBSZW1vdGVXb3JrZXJUeXBlOjpTZXJ2aWNlV29ya2VyICYmIHNfdXNl
U2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzczsKLQogICAgIC8vIFByaW9yaXRpemUgdGhlIHJl
cXVlc3RpbmcgV2ViUHJvY2VzcyBmb3IgcnVubmluZyB0aGUgc2VydmljZSB3b3JrZXIuCi0gICAg
aWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNob3VsZFVzZVNlcGFyYXRlUmVtb3Rl
V29ya2VyUHJvY2VzcyAmJiByZXF1ZXN0aW5nUHJvY2VzcykgeworICAgIGlmICghcmVtb3RlV29y
a2VyUHJvY2Vzc1Byb3h5ICYmICFzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MgJiYg
cmVxdWVzdGluZ1Byb2Nlc3MpIHsKICAgICAgICAgaWYgKCZyZXF1ZXN0aW5nUHJvY2Vzcy0+d2Vi
c2l0ZURhdGFTdG9yZSgpID09IHdlYnNpdGVEYXRhU3RvcmUgJiYgcmVxdWVzdGluZ1Byb2Nlc3Mt
PmlzTWF0Y2hpbmdSZWdpc3RyYWJsZURvbWFpbihyZWdpc3RyYWJsZURvbWFpbikpCiAgICAgICAg
ICAgICB1c2VQcm9jZXNzRm9yUmVtb3RlV29ya2VycygqcmVxdWVzdGluZ1Byb2Nlc3MpOwogICAg
IH0KIAotICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzaG91bGRVc2VTZXBh
cmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MpIHsKKyAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQ
cm94eSAmJiAhc191c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKSB7CiAgICAgICAgIGZv
ciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NQb29sLT5tX3Byb2Nlc3NlcykgewogICAgICAgICAg
ICAgaWYgKHByb2Nlc3MucHRyKCkgPT0gcHJvY2Vzc1Bvb2wtPm1fcHJld2FybWVkUHJvY2Vzcy5n
ZXQoKSB8fCBwcm9jZXNzLT5pc0R1bW15UHJvY2Vzc1Byb3h5KCkpCiAgICAgICAgICAgICAgICAg
Y29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBhMjcxMzdiZjEyZGRkYWI4N2QwM2I5
Yzc4Y2JmZmFmZjUzYzg1N2Y4Li5hNTNkMDY5NGJkYzVkN2IyMWIwMGE0MzkxMDcxMWU3YWMwZWRk
MmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0Ns
aWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE5Miw2ICsxOTIsNyBAQCB2b2lkIFdlYlNX
Q2xpZW50Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChTY3Jp
cHRFeGVjdXRpb25DbwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdvcmtl
ciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFdURk1vdmUoKmRhdGEuYWN0
aXZlV29ya2VyKSkgOiBmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBjb21w
bGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDU2MDJmZDcwZWZjNzlmMjhhNTgzZTJiZDI3
NTQzZjU0YzQzOTVmZTIuLjExNzNhODEyNjM1NDMxYmQzOGNjMzgwZWJiNWIyMTlkNzZlMGJiNWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdv
cmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNw
cApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyVGhyZWFk
UHJveHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckluaXRpYWxp
emF0aW9uRGF0YS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtODksNyArOTAsNyBAQCB2
b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJlZmVy
ZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1fcHJlZmVyZW5jZXNTdG9yZSA9IHN0b3JlOwog
fQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNo
U2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3Jr
ZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3
b3JrZXJGZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2lu
LCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVk
V29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hT
aGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAgIGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24gPSBX
ZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAtMTEwLDggKzExMSwxMiBAQCB2b2lkIFdlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNv
cmU6OkNsaWVudAogICAgICAgICBXZWJQYWdlOjp1cGRhdGVTZXR0aW5nc0dlbmVyYXRlZCgqbV9w
cmVmZXJlbmNlc1N0b3JlLCBwYWdlLT5zZXR0aW5ncygpKTsKICAgICAgICAgcGFnZS0+c2V0dGlu
Z3MoKS5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U3RvcmFn
ZUJsb2NraW5nUG9saWN5PihtX3ByZWZlcmVuY2VzU3RvcmUtPmdldFVJbnQzMlZhbHVlRm9yS2V5
KFdlYlByZWZlcmVuY2VzS2V5OjpzdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkoKSkpKTsKICAgICB9
CisKKyAgICBpZiAoIWluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQuaXNFbXB0eSgpKQorICAg
ICAgICBpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50ID0gbV91c2VyQWdlbnQ7CisKICAgICBw
YWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVS
TCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kpOwot
ICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9u
cyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92
aWRlcigpKTsKKyAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hh
cmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdv
cmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwogCiAgICAgV2ViQ29yZTo6U2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJlZ2lzdGVyU2hhcmVkV29ya2VyVGhy
ZWFkKFdURk1vdmUoc2hhcmVkV29ya2VyVGhyZWFkUHJveHkpKTsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5kZXggYWIzNWNiZDAxODg1Y2Vi
Mzc2MTMxMGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBiOGU2ZjE0MWJkYTJhYzJjZDdiYzRiNTljYzA4
MTAzN2U4N2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBD
bGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTU4LDcgKzU5
LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIElQQyBNZXNzYWdlcy4KLSAgICB2b2lk
IGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hh
cmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3Jl
OjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3Jl
OjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNl
c1N0b3JlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHNldFVzZXJBZ2Vu
dChTdHJpbmcmJiB1c2VyQWdlbnQpIHsgbV91c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCk7
IH0KICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODJkNWRlZGY4ZmFjNGIz
ZmRjNDVkNTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZkY2FmMjdhNzRlYTUzNjU5YTM1ZmFhNWFkMWYx
ZWIwY2YyYWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b24gTm90UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3Jl
OjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNo
YXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtl
ck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJl
c3VsdCkKKyAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRl
bnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3Ry
dWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0LCBzdHJ1Y3Qg
V2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHdvcmtlckluaXRpYWxpemF0aW9uRGF0
YSkKICAgICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIg
c2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBw
b3J0LCBTdHJpbmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJD
b3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAg
VXBkYXRlUHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
IHN0b3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2Fn
ZXMuaW4KaW5kZXggYzI2OWZkMjZhOTFlYmZjYjRjNTRmMGQ2YzllMGViM2U0YjBkZjYzMi4uYjZj
MDRkNjY0YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUxYzM3OGRlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
aGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBA
CiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb24gewotICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1
Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KQorICAgIEZldGNoU2NyaXB0SW5DbGll
bnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3Jr
ZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVz
dWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0
aW9uRGF0YSkKICAgICBOb3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6
OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAgICBQb3N0RXhjZXB0aW9uVG9Xb3Jr
ZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBTdHJpbmcgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwg
aW50IGNvbHVtbk51bWJlciwgU3RyaW5nIHNvdXJjZVVSTCkKIH0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmNTY4Mzg0ZWEx
ZTc1NjVhZThhNTcxOWRiMjY2OWM2NDNmMWI1NzliLi5mMWIwYzE0ZDJhNDhlY2U1M2M1YTg1Njhh
ZTU2MTI2YmI4M2FkYmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDQtMjEgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNo
b3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdl
ZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9j
b250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRw
cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3Vy
Y2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzOgorICAgICAgICAqIHBs
YXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgor
CiAyMDIyLTA0LTIwICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAK
ICAgICAgICAgWyBpT1MgXSBwbGF0Zm9ybS9pb3MvaW9zL2Zhc3QvdGV4dC9vcHRpY2FsRm9udC5o
dG1sIGlzIGEgY29uc3RhbnQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5k
ZXggNDAxZGVlNzAzNmM2NGE0ODgwMzM4M2U4MmJkZGEwY2Y5NmRlOGMzZS4uYmRjYzdhYzdjNTg4
YjY0ODMyMTg2ZmIwZGEzMjlmYTg2MmRjNzkyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNl
IHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4K
KworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMjAgIENhdGhpZSBDaGVu
ICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFBhcnNpbmcgb2YgY29udGFpbi1p
bnRyaW5zaWMtc2l6ZSBhbmQgYWRkaW5nIGEgcnVudGltZSBmbGFnIGZvciBpdApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVk
d29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDVmNzA2YjNlMWVmNjRiMmEwMTNhZmFjMjg2NWJjMjc0MWVjYmRlMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVk
LXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mg
UmVnaXN0ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgVmVyaWZ5IHNoYXJlZCB3b3JrZXIgaXMgY29u
dHJvbGxlZAorUEFTUyBWZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4gcG9zdCBtZXNzYWdlIHRvIGl0
cyBzZXJ2aWNlIHdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3NTE0Yjg1NmMyMjhiOGU4ZmM0Nzc5ZGUxYmMzNTQ2ODQ3MmRi
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0VXNlU2Vw
YXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyh0cnVlKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0
ZXN0KSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5qcyIsIHsgc2NvcGUgOiAn
cmVzb3VyY2VzJyB9KTsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOwor
ICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFjdGl2ZVdvcmtl
ciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFu
Z2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0
aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0p
OworfSwgIlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICAgIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9jb250
cm9sbGVkLXNoYXJlZHdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKKyAgICBh
c3NlcnRfdHJ1ZShldmVudC5kYXRhLmlzQ29udHJvbGxlZCk7Cit9LCAiVmVyaWZ5IHNoYXJlZCB3
b3JrZXIgaXMgY29udHJvbGxlZCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsK
KyAgICB3b3JrZXIucG9ydC5wb3N0TWVzc2FnZSgncGluZycpOworICAgIGNvbnN0IGV2ZW50ID0g
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNv
bHZlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsICdwb25nJyk7Cit9LCAiVmVyaWZ5
IHNoYXJlZCB3b3JrZXIgY2FuIHBvc3QgbWVzc2FnZSB0byBpdHMgc2VydmljZSB3b3JrZXIiKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJv
bGxlZC1zaGFyZWR3b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI1NzlhZmY0Y2RmMTRjZDhhYjc5ZmM5
Mjg1ZjA5MDZiNGJhMWUwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuanMKQEAg
LTAsMCArMSw4IEBACitvbmNvbm5lY3QgPSBhc3luYyAoZSkgPT4geyAKKyAgICBjb25zdCAgcG9y
dCA9IGUucG9ydHNbMF07CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEh
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKKyAgICBwb3J0Lm9ubWVzc2Fn
ZSA9IChldmVudCkgPT4geworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9s
bGVyLnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7
CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzCmluZGV4IDBjZjk3ZmUyM2Y4Y2Nh
MDYyMTIyMzJlZWY5OWVlYTY3NTc3MTU2MjEuLjBjMDczODJlOWIyYTcyZjk4OWU4ZDBiN2ZhZDMw
NWI1YTM3N2U5YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdvcmtlci5qcwpAQCAtMTIsNiArMTIsMTAg
QEAgYXN5bmMgZnVuY3Rpb24gZG9UZXN0KGV2ZW50KQogICAgICAgICBldmVudC5zb3VyY2UucG9z
dE1lc3NhZ2Uoc2VsZi5yZWNlaXZlZEZldGNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAg
ICBpZiAoZXZlbnQuZGF0YSA9PT0gInBpbmciKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0
TWVzc2FnZSgicG9uZyIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGV2ZW50LnNvdXJj
ZS5wb3N0TWVzc2FnZSgiS08iKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZGY3MzVmYWZkMDdiZjYxOTNjZDNkYjAxNTQzZTU3YTE3ODE0N2MyMi4uODkyOTYxOWE1YzkyOTRl
NDU3YWJiODc5ZDdhOGFjZDk3ZGQ3YTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQg
d29ya2VyIGNsaWVudHMgYXNzZXJ0X25vdF9lcXVhbHM6IFNoYXJlZCB3b3JrZXIgY2xpZW50IHNo
b3VsZCBub3QgYmUgdW5kZWZpbmVkIGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFT
UyBUZXN0IENsaWVudHMuZ2V0KCkgd2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwt
Y2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5
MjdjOWY3ZWI1ZmZmZWFhYzcxMGFlLi4xOTU3ZGVjYzg3OTcyMWM2YjYyMjVjZDAzYzE1ZDk4ZGEx
YWQyNTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCiBQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1G
QUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9
IGNsaWVudCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQg
Z290IDAKK1BBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIs
IHdvcmtlcn0gY2xpZW50IHR5cGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggYmExNGVkZmUyMmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNk
YWExYzRlYjM4NjlhNDMzODJlOGQyMjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEwLDEyICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMz
OiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJl
YWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNo
ZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzog
c3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRf
dW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRf
dW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNT
IGNsZWFudXAgZ2xvYmFsIHN0YXRlCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQpAQCAtMjMsMTEgKzIzLDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNj
b3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRz
OiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUu
dHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQ
QVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1Mg
Q2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1w
b3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2go
KTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2go
KTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3Jr
IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAg
LTM1LDExICszNSwxMSBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRT
Y3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVs
ZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlM
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9y
dFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRz
OiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAi
ZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29y
a2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNh
dyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0
IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3Jp
cHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBs
ZS50eHQiCkBAIC00NywxMCArNDcsMjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1Mg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNz
ZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJf
aW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0
aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRw
czovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9y
dFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzog
c3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2lt
cGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2lt
cGxlLnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVj
dGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2Vy
LnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3Jr
ZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9y
ZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyICht
b2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4
dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3Jl
ZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNj
cmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0
X3dlYndvcmtlci5weSIKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29w
ZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNo
YXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3
IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
K1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGFiYTE5MDA2OTRjNGU0OTk0YWE4NjgzOTUyNTg0MGE1ZDZmNTdkOGEuLjAwYWVh
MmM4YTZiOGEwZDA2OTVlNzQ2OGNmMjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDE2ICsxLDE2IEBACiAKIFBBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQg
cmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRl
ZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Yt
c2NvcGUgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRy
b2xsZWQgZG9jdW1lbnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNl
cnZpY2Ugd29ya2VyLgotRkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0
IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdv
cmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNj
cmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVy
Y2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2Ft
ZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVk
cyBpbiBzdGFydGluZyBhIGRlZGljYXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3Jp
Z2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4g
c3RhcnRpbmcgYSBzaGFyZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtl
ciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcg
YSBzaGFyZWQgd29ya2VyLgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1Mg
VmVyaWZ5IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZh
aWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3Jp
Z2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNh
dGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29y
a2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2Vy
IHN0YXJ0LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVz
b3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgogUEFTUyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3
b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBSZXF1ZXN0cyBvbiBh
IHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBi
dXQgZ290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9
fSIKK1BBU1MgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4KIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBp
biBhIGRlZGljYXRlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJj
ZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBX
b3JrZXIiCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBz
aGFyZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIg
YnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgog
UEFTUyBVbnJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHN1YnJlc291cmNlIGludGVyY2Vw
dGlvbiB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5o
dHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiMGYxMTQ2
N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEwYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRv
dyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJl
ZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNkMjNkNmI1YWI0NTA4ZTViNzQwNzQwMDAyN2U2MjA1MmNhMDBlYTQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkg
bWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwo
KSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3cucG9ydC5vbm1lc3NhZ2UgPSBf
ID0+IHJlc29sdmUodyknKSIKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458144</attachid>
            <date>2022-04-22 07:15:37 -0700</date>
            <delta_ts>2022-04-26 02:37:35 -0700</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-239122-20220422161535.patch</filename>
            <type>text/plain</type>
            <size>82385</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMjEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTBiNmUxZTQyODFiY2Nm
ZWY4ZDBmNjAxMzE3N2U1MTk1MGZjNDJlOC4uZjU1MmQxYTY4Mzk2NGEyNWE1MjI5ZDBhZGViMDQ5
OTllMjQ0ZTJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTIyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yMiAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBwbGUuY29tPgogCiAgICAgICAgIEFY
OiBUaGUgaXNvbGF0ZWQgdHJlZSBpcyBub3QgdXBkYXRlZCBhZnRlciByb2xlIGNoYW5nZXMgaW4g
QWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlUm9sZUFmdGVyQ2hpbGRyZW5DcmVhdGlv
bigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IDEwNDQ1Mjk1ZGU3NTc5Njk3MWRjYTQ0ZTNkNzM4OWZmMTUzMjgxNzIu
LjA3YmVkY2NlMmY2ZWRjZmJkMTcyZjFjNGY4NmMzOTAyMmI4OWNkZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjItMDQtMjIgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2Vzcyk6CisKIDIwMjItMDQtMjEgIEpvaG4gQ3VubmluZ2hhbSAgPGpvaG5jdW5uaW5n
aGFtQGFwcGxlLmNvbT4KIAogICAgICAgICBVc2UgR0NHTFNwYW5UdXBsZSB0byBwYXNzIGJ1ZmZl
ciBwYXJhbWV0ZXJzIHRvIG11bHRpZHJhdyBjYWxscy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCmluZGV4IGY4
YmE5OTU3OWU2NTczNzAxMGNkNDc3NGIzZTQ5YzM0ZGI5MTNjZDEuLjU3YjY5NjY5YzE1YWFmZDY1
YmYyZTU3NWEwOGQ2N2U2MDgxMDY4ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0hlYWRl
cnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAtMTk4Niw2ICsx
OTg2LDcgQEAgc2V0KFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIHdvcmtl
cnMvV29ya2VyRmV0Y2hSZXN1bHQuaAogICAgIHdvcmtlcnMvV29ya2VyRm9udExvYWRSZXF1ZXN0
LmgKICAgICB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKKyAgICB3b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oCiAgICAgd29ya2Vycy9Xb3JrZXJMb2FkZXJQcm94eS5oCiAgICAg
d29ya2Vycy9Xb3JrZXJPYmplY3RQcm94eS5oCiAgICAgd29ya2Vycy9Xb3JrZXJPcHRpb25zLmgK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCA4ODNmN2QzZjEyYWM4MjdiZTBjNTlhN2E0
MjI3NjI1YjQyY2QwNjk4Li5iMjJlZDcwYWQyOTBjY2QwNWIzMjAwN2ZiYWYyYjQ4NzUyOTRiMDk0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yNjMsNyArMjYzLDcgQEAgdm9pZCBX
b3JrZXI6OmZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248dm9pZChTY3JpcHRF
eGVjdXRpb25Db250ZXh0JikKICAgICAgICAgd29ya2VyLT5wb3N0VGFza1RvV29ya2VyR2xvYmFs
U2NvcGUoY2FsbGJhY2soKSk7CiB9CiAKLVdvcmtlciogV29ya2VyOjp3b3JrZXJCeUlkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK1dvcmtlciog
V29ya2VyOjpieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRl
bnRpZmllcikKIHsKICAgICByZXR1cm4gYWxsV29ya2VycygpLmdldChpZGVudGlmaWVyKTsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5oCmluZGV4IDUzZWRkZjNhZjdhMjEzY2YyOWY1NDNiNTJhNzVj
NmI3YjM2YmQ1ZGEuLjE2NTY1MjdiNmRiMjEwODMxODMzMzNiZTVlMzU1OTQxMTUyNTFiODMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXIuaApAQCAtODMsNyArODMsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBwb3N0VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoRnVuY3Rpb248dm9pZChTY3JpcHRFeGVjdXRp
b25Db250ZXh0Jik+JiYpOwogCiAgICAgc3RhdGljIHZvaWQgZm9yRWFjaFdvcmtlcihjb25zdCBG
dW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4mKTsKLSAg
ICBzdGF0aWMgV29ya2VyKiB3b3JrZXJCeUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIpOworICAgIHN0YXRpYyBXb3JrZXIqIGJ5SWRlbnRpZmllcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllcik7CiAKIHByaXZhdGU6CiAgICAgV29ya2VyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBKU0M6OlJ1bnRpbWVGbGFncywgV29ya2VyT3B0aW9ucyYmKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oCmlu
ZGV4IDU2OTcwZDA0YTNhNzBjMTg5NWNlOTcxOTU4MjZkMDk5YzY3MDhhZWEuLmRjYmVlMWE3NjY2
OGUxZDUwOTU5ZmM5ODJlY2UzZjNhN2NhMTg4ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaApAQCAtMjcsNiArMjcsNyBAQAogCiAj
aW5jbHVkZSAiU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIuaCIKICNpbmNsdWRlICJT
ZXJ2aWNlV29ya2VyRGF0YS5oIgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZENvcGllci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBA
IC0zNyw2ICszOCw2MSBAQCBzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKICNlbmRp
ZgogICAgIHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+IGNs
aWVudElkZW50aWZpZXI7CiAgICAgU3RyaW5nIHVzZXJBZ2VudDsKKworICAgIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSBpc29sYXRlZENvcHkoKSBjb25zdDsKKworICAgIHRlbXBsYXRlPGNsYXNz
IEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+
IGRlY29kZShEZWNvZGVyJik7CiB9OwogCitpbmxpbmUgV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6aXNvbGF0ZWRDb3B5KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4geworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICAgICAgY3Jvc3NUaHJlYWRD
b3B5KHNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBjbGllbnRJZGVudGlmaWVy
LAorICAgICAgICB1c2VyQWdlbnQuaXNvbGF0ZWRDb3B5KCkKKyAgICB9OworfQorCisKK3RlbXBs
YXRlPGNsYXNzIEVuY29kZXI+Cit2b2lkIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTo6ZW5jb2Rl
KEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQor
ICAgIGVuY29kZXIgPDwgc2VydmljZVdvcmtlckRhdGE7CisjZW5kaWYKKyAgICBlbmNvZGVyIDw8
IGNsaWVudElkZW50aWZpZXIgPDwgdXNlckFnZW50OworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPgorc3RkOjpvcHRpb25hbDxXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE+IFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisjaWYgRU5BQkxFKFNF
UlZJQ0VfV09SS0VSKQorICAgIHN0ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VyRGF0YT4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGRlY29kZXIgPj4gc2VydmljZVdvcmtl
ckRhdGE7CisgICAgaWYgKCFzZXJ2aWNlV29ya2VyRGF0YSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KyNlbmRpZgorCisgICAgc3RkOjpvcHRpb25hbDxzdGQ6Om9wdGlvbmFsPFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyPj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGNs
aWVudElkZW50aWZpZXI7CisgICAgaWYgKCFjbGllbnRJZGVudGlmaWVyKQorICAgICAgICByZXR1
cm4geyB9OworCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHVzZXJBZ2VudDsKKyAgICBkZWNv
ZGVyID4+IHVzZXJBZ2VudDsKKyAgICBpZiAoIXVzZXJBZ2VudCkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIHJldHVybiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShT
RVJWSUNFX1dPUktFUikKKyAgICAgICAgV1RGTW92ZSgqc2VydmljZVdvcmtlckRhdGEpLAorI2Vu
ZGlmCisgICAgICAgIFdURk1vdmUoKmNsaWVudElkZW50aWZpZXIpLAorICAgICAgICBXVEZNb3Zl
KCp1c2VyQWdlbnQpCisgICAgfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCmluZGV4IDQxYWFiYzgw
ODE4NjNiY2ZhNTIyMjA0YWNhMDYwZjMxNzI2MWNiMzcuLmVmYTg2NzdlMDkzMTI0NmM5YTk3N2E0
Nzg2OWUwZGRiYTlmNWZkNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKQEAgLTE1Niw4ICsxNTYsNyBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRl
cjo6bG9hZEFzeW5jaHJvbm91c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1
dAogICAgIC8vIEEgc2VydmljZSB3b3JrZXIgam9iIGNhbiBiZSBleGVjdXRlZCBmcm9tIGEgd29y
a2VyIGNvbnRleHQgb3IgYSBkb2N1bWVudCBjb250ZXh0LgogICAgIG9wdGlvbnMuc2VydmljZVdv
cmtlcnNNb2RlID0gc2VydmljZVdvcmtlck1vZGU7CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VS
KQotICAgIC8vIEZJWE1FOiBBZGQgc3VwcG9ydCBmb3Igc2hhcmVkIHdvcmtlci4KLSAgICBpZiAo
bV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgaXM8
RG9jdW1lbnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CisgICAgaWYgKChtX2Rlc3RpbmF0
aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBtX2Rlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcikgJiYgaXM8RG9jdW1l
bnQ+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQpKSB7CiAgICAgICAgIEFTU0VSVChjbGllbnRJZGVu
dGlmaWVyKTsKICAgICAgICAgb3B0aW9ucy5jbGllbnRJZGVudGlmaWVyID0gbV9jbGllbnRJZGVu
dGlmaWVyID0gY2xpZW50SWRlbnRpZmllcjsKICAgICAgICAgLy8gSW4gY2FzZSBvZiBibG9iIFVS
THMsIHdlIHJldXNlIHRoZSBkb2N1bWVudCBjb250cm9sbGluZyBzZXJ2aWNlIHdvcmtlci4KQEAg
LTE2OCw2ICsxNjcsOCBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZEFzeW5jaHJvbm91
c2x5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIHNjcmlwdEV4ZWN1dAogICAgIH0gZWxzZSBpZiAo
YXV0byogYWN0aXZlU2VydmljZVdvcmtlciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQuYWN0aXZl
U2VydmljZVdvcmtlcigpKQogICAgICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25JZGVudGlmaWVyID0gYWN0aXZlU2VydmljZVdvcmtlci0+cmVnaXN0cmF0aW9uSWRlbnRpZmll
cigpOwogI2VuZGlmCisgICAgaWYgKG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6U2hhcmVkd29ya2VyKQorICAgICAgICBtX3VzZXJBZ2VudEZvclNoYXJlZFdvcmtl
ciA9IHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQudXNlckFnZW50KHNjcmlwdFJlcXVlc3QudXJsKCkp
OwogCiAgICAgLy8gRHVyaW5nIGNyZWF0ZSwgY2FsbGJhY2tzIG1heSBoYXBwZW4gd2hpY2ggcmVt
b3ZlIHRoZSBsYXN0IHJlZmVyZW5jZSB0byB0aGlzIG9iamVjdC4KICAgICBSZWY8V29ya2VyU2Ny
aXB0TG9hZGVyPiBwcm90ZWN0ZWRUaGlzKCp0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5oCmluZGV4IGI2OGIwMjRkNjEzYWUxZGYyZTVhNDk1MWY1MDk4
OWFkNjk2MGVlNDguLjNkYTBhMWQ1YTY5OWY0MDcxN2M5NDM1MGQ5NDlhOTNhNTQzOGU2NGUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtMTA0LDYg
KzEwNCw5IEBAIHB1YmxpYzoKICAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPiB0
YWtlU2VydmljZVdvcmtlckRhdGEoKSB7IHJldHVybiBzdGQ6OmV4Y2hhbmdlKG1fYWN0aXZlU2Vy
dmljZVdvcmtlckRhdGEsIHsgfSk7IH0KICNlbmRpZgogCisgICAgU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50
SWRlbnRpZmllcjsgfQorICAgIGNvbnN0IFN0cmluZyYgdXNlckFnZW50Rm9yU2hhcmVkV29ya2Vy
KCkgY29uc3QgeyByZXR1cm4gbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXI7IH0KKwogcHJpdmF0
ZToKICAgICBmcmllbmQgY2xhc3MgUmVmQ291bnRlZDxXb3JrZXJTY3JpcHRMb2FkZXI+OwogICAg
IGZyaWVuZCBzdHJ1Y3Qgc3RkOjpkZWZhdWx0X2RlbGV0ZTxXb3JrZXJTY3JpcHRMb2FkZXI+OwpA
QCAtMTM5LDYgKzE0Miw3IEBAIHByaXZhdGU6CiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQog
ICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IG1fYWN0aXZlU2VydmljZVdvcmtl
ckRhdGE7CiAjZW5kaWYKKyAgICBTdHJpbmcgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXI7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IDg4YjRkODRjODllOTlj
MWM0ZjI1YTA4MjMxZTQxMWRmNTkwNzRkNTEuLmNkNzE3NDIwZjMyNjRlYWJjYmFkN2NmZjAwNjgz
OWVlYjg0MjhiYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
V0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0zNyw2ICszNyw4IEBACiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
LmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXIuaCIKKyNpbmNsdWRlICJT
aGFyZWRXb3JrZXJUaHJlYWQuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
IgogI2luY2x1ZGUgIldvcmtlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0LmgiCiAj
aW5jbHVkZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CkBAIC0xMTMsMTggKzExNSwzMyBAQCB2
b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6c3RhcnRTY3JpcHRGZXRjaEZvclNlcnZlcihTZXJ2aWNl
V29ya2VySm9iSWRlbnRpZmllciBqbwogICAgICAgICBmaW5pc2hGZXRjaGluZ1NjcmlwdEluU2Vy
dmVyKHsgc2VydmVyQ29ubmVjdGlvbklkZW50aWZpZXIoKSwgam9iSWRlbnRpZmllciB9LCBXVEZN
b3ZlKHJlZ2lzdHJhdGlvbktleSksIHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IGVy
cm9yRG9tYWluV2ViS2l0SW50ZXJuYWwsIDAsIHsgfSwgbWFrZVN0cmluZygiRmFpbGVkIHRvIGZl
dGNoIHNjcmlwdCBmb3Igc2VydmljZSB3b3JrZXIgd2l0aCBzY29wZSAiLCByZWdpc3RyYXRpb25L
ZXkuc2NvcGUoKS5zdHJpbmcoKSkgfSkpOwogfQogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRv
Q29udGFpbmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYgbWVzc2FnZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJp
bmcmJiBzb3VyY2VPcmlnaW4pCit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQu
ZW5zdXJlU2VydmljZVdvcmtlckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RN
ZXNzYWdlKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291
cmNlT3JpZ2luKSk7Cit9CiAKIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRv
U2VydmljZVdvcmtlckNsaWVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0
aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3Nh
Z2UsIFNlcnZpY2VXb3JrZXJEYXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2lu
KQogewogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGlu
YXRpb25Db250ZXh0SWRlbnRpZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRo
ZSBtb21lbnQuCi0gICAgYXV0byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxE
b2N1bWVudHNNYXAoKS5nZXQoZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYg
KCFkZXN0aW5hdGlvbkRvY3VtZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50
ID0gRG9jdW1lbnQ6OmFsbERvY3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyKSkgeworICAgICAgICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRv
Y3VtZW50LCBXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNv
dXJjZU9yaWdpbikpOwogICAgICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNv
bnRhaW5lciA9IGRlc3RpbmF0aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWlu
ZXIoKSkKLSAgICAgICAgY29udGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBX
VEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRv
KiB3b3JrZXIgPSBXb3JrZXI6OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlm
aWVyKSkgeworICAgICAgICB3b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVz
c2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEp
Lmlzb2xhdGVkQ29weSgpLCBzb3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNv
bGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RN
ZXNzYWdlVG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3Vy
Y2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkg
eworICAgICAgICBzaGFyZWRXb3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVz
c2FnZSA9IFdURk1vdmUobWVzc2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEp
Lmlzb2xhdGVkQ29weSgpLCBzb3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNv
bGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RN
ZXNzYWdlVG9Db250YWluZXIoY29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3Vy
Y2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQog
CiBzdGF0aWMgdm9pZCBmb3JBbGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MSwx
OCBAQCB2b2lkIFNXQ2xpZW50Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNo
YW5nZShjb25zdCBIYXNoU2V0PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxl
cigqZG9jdW1lbnQsIFNlcnZpY2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAg
ICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBX
b3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBp
ZiAoYXV0byogd29ya2VyID0gV29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikp
IHsKICAgICAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdD
b250cm9sbGVyID0gbmV3Q29udHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQp
IG11dGFibGUgewogICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RG
TW92ZShuZXdDb250cm9sbGVyKSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRp
bnVlOwogICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJz
LgorICAgICAgICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHk6OmJ5SWRlbnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVk
V29ya2VyLT50aHJlYWQoKS5ydW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdD
b250cm9sbGVyLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAg
ICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xs
ZXIpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0K
ICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRj
MTA2YjIzMTYwYjQ4MWY4YTBhLi45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0Yzgy
N2ZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckNvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJDb250YWluZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2Vy
dmljZVdvcmtlckpvYkRhdGEuaCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIK
ICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGUuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUg
IldvcmtlclNXQ2xpZW50Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CkBAIC0xMzMsNyArMTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpy
ZWFkeSgpIC0+IFJlYWR5UHJvbWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250
YWluZXI6OmNvbnRyb2xsZXIoKSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCk7Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBp
czxEb2N1bWVudD4oKmNvbnRleHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigq
Y29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1l
bnRzIGFuZCBkZWRpY2F0ZWQgd29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1v
bWVudC4iKTsKKyAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50
PigqY29udGV4dCkgfHwgaXM8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAg
fHwgaXM8U2hhcmVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0
aXZlU2VydmljZVdvcmtlcigpLCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVk
IHdvcmtlcnMgY2FuIGhhdmUgYSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8g
Y29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCAz
NGU0NDk1NzljY2EyMjYzZGM4ZTBhZmFiYjg5MTY0NTI1NTUyZDliLi5kYzYxMTBmMTRiZThlZjM5
MTJmNTFhYjEyMWUzZDMyMTg1YWVmNTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcApAQCAtMTAzOSw2ICsxMDM5LDI4IEBAIHZv
aWQgU1dTZXJ2ZXI6OnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBj
bGllbnRPcmlnaW4sIFNlcnZpY2VXCiAgICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0
aW9uLmFkZChjbGllbnRJZGVudGlmaWVyLCAqY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcik7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVk
Q2xpZW50RGF0YT4gU1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEoY29uc3QgQ2xpZW50T3JpZ2lu
JiBjbGllbnRPcmlnaW4sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElk
ZW50aWZpZXIpCit7CisgICAgYXV0byBjbGllbnREYXRhSXRlcmF0b3IgPSBtX2NsaWVudHNCeUlk
LmZpbmQoY2xpZW50SWRlbnRpZmllcik7CisgICAgaWYgKGNsaWVudERhdGFJdGVyYXRvciA9PSBt
X2NsaWVudHNCeUlkLmVuZCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjb250
cm9sbGluZ1JlZ2lzdHJhdGlvSXRlcmF0b3IgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3Ry
YXRpb24uZmluZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBpZiAoY29udHJvbGxpbmdSZWdpc3Ry
YXRpb0l0ZXJhdG9yID09IG1fY2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbi5lbmQoKSkK
KyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8gY2xpZW50c1Blck9yaWdpbkl0ZXJhdG9y
ID0gbV9jbGllbnRJZGVudGlmaWVyc1Blck9yaWdpbi5maW5kKGNsaWVudE9yaWdpbik7CisgICAg
aWYgKGNsaWVudHNQZXJPcmlnaW5JdGVyYXRvciA9PSBtX2NsaWVudElkZW50aWZpZXJzUGVyT3Jp
Z2luLmVuZCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIEdhdGhlcmVkQ2xp
ZW50RGF0YSB7CisgICAgICAgIGNsaWVudE9yaWdpbiwKKyAgICAgICAgY2xpZW50RGF0YUl0ZXJh
dG9yLT52YWx1ZSwKKyAgICAgICAgY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yLT52YWx1
ZSwKKyAgICAgICAgY2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yLT52YWx1ZS51c2VyQWdlbnQKKyAg
ICB9OworfQorCiB2b2lkIFNXU2VydmVyOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChj
b25zdCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIgY2xpZW50SWRlbnRpZmllcikKIHsKICAgICBhdXRvIGNsaWVudFJlZ2lzdHJhYmxl
RG9tYWluID0gY2xpZW50T3JpZ2luLmNsaWVudFJlZ2lzdHJhYmxlRG9tYWluKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggZDNj
NDlmMmFjMGMxYTRhM2VlNjQwMzJlNGUzNzZkMzgwYjhhZDQyMC4uMmEzZDZlMDYxY2Q1ODA5MDhk
NzY2ZmEzM2Q5ZDE3NDRkMmU0NTg1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaApAQCAtMjQ2LDYgKzI0NiwxNCBAQCBwdWJsaWM6CiAg
ICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY2xp
ZW50SWRlbnRpZmllclRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZm9yRWFjaENs
aWVudEZvck9yaWdpbihjb25zdCBDbGllbnRPcmlnaW4mLCBjb25zdCBGdW5jdGlvbjx2b2lkKFNl
cnZpY2VXb3JrZXJDbGllbnREYXRhJik+Jik7CiAKKyAgICBzdHJ1Y3QgR2F0aGVyZWRDbGllbnRE
YXRhIHsKKyAgICAgICAgQ2xpZW50T3JpZ2luIGNsaWVudE9yaWdpbjsKKyAgICAgICAgU2Vydmlj
ZVdvcmtlckNsaWVudERhdGEgc2VydmljZVdvcmtlckNsaWVudERhdGE7CisgICAgICAgIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5n
U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI7CisgICAgICAgIFN0cmluZyB1c2Vy
QWdlbnQ7CisgICAgfTsKKyAgICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPEdhdGhlcmVk
Q2xpZW50RGF0YT4gZ2F0aGVyQ2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mLCBTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbWF4
UmVnaXN0cmF0aW9uQ291bnQoKTsKICAgICBib29sIGFsbG93TG9vcGJhY2tJUEFkZHJlc3MoY29u
c3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9T
aGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5
MDMwMDk1NmEyYTM5Njg3ZTU1YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIz
NDc2Mjc5OWI2MmQ2NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVk
L1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICsz
Myw3IEBACiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmgiCiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRl
ICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2Fk
ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRl
ZmF1bHQ7CiAKIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uKCkgPSBkZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5l
Y3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9w
dGlvbnMmJiB3b3JrZXJPcHRpb25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3Jr
ZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJG
ZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtl
ck9iamVjdCA9IFNoYXJlZFdvcmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0
SWRlbnRpZmllcik7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNs
aWVudDogc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAi
LCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwg
d29ya2VyT2JqZWN0KTsKICAgICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNv
bXBsZXRpb25IYW5kbGVyKHdvcmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNl
RXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9u
SGFuZGxlcih3b3JrZXJGZXRjaEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpU
eXBlOjpDYW5jZWxsYXRpb24gfSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIg
PSArK2xvYWRlcklkZW50aWZpZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJl
ZjxTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwg
V1RGTW92ZSh3b3JrZXJPcHRpb25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRy
KCk7CiAgICAgbV9sb2FkZXJzLmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikp
OwogCi0gICAgbG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3Vs
dCYmIGZldGNoUmVzdWx0KSBtdXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxv
YWRlcklkZW50aWZpZXIsIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcildKGF1dG8mJiBmZXRjaFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0
YWJsZSB7CiAgICAgICAgIENPTk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGll
bnQ6IGZpbmlzaGVkIHNjcmlwdCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3Iu
aXNOdWxsKCkpOwogICAgICAgICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklk
ZW50aWZpZXIpOwogICAgICAgICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoV1RGTW92ZShmZXRjaFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihX
VEZNb3ZlKGZldGNoUmVzdWx0KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9
KTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVk
V29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFk
NTliN2Y3ZmIwMGQ1ZTA1OWJiNzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTky
YWMwMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3Mg
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3Ry
dWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsK
IHN0cnVjdCBXb3JrZXJPcHRpb25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0
aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpA
QCAtNTIsNyArNTMsNyBAQCBwdWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2Fn
ZXMuCi0gICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4m
Jik7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21w
bGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291
cmNlRXJyb3ImKTsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9y
TWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYg
c291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkz
Y2E5NzFkZmVkOThhMzZjOWUyMzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0
OWZmYmQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVk
V29ya2VyU2NyaXB0TG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgi
CiAjaW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29y
a2VyU2NyaXB0TG9hZGVyLmgiCiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXI6OlNoYXJlZFdvcmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtl
ciYgd29yawogewogfQogCi12b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQordm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVy
KTsKICAgICBtX2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7
CiAKICAgICBhdXRvIHNvdXJjZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVs
ZSA/IFdvcmtlclNjcmlwdExvYWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3Jp
cHRMb2FkZXI6OlNvdXJjZTo6Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9h
ZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNv
dXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMo
bV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250
ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwg
U2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9k
ZSgpKTsKKyAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0
RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29y
a2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5m
b3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBX
b3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRp
Zmllcjo6Z2VuZXJhdGUoKSk7CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpk
aWRSZWNlaXZlUmVzcG9uc2UoUmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXI6Om5vdGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0
RXhlY3V0aW9uQ29udGV4dCA9IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFt
X2xvYWRlci0+ZmFpbGVkKCkpCiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2Ny
aXB0SW1wb3J0ZWQoKnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVy
KCksIG1fbG9hZGVyLT5zY3JpcHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5k
bGVyKG1fbG9hZGVyLT5mZXRjaFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29t
cGxldGlvbkhhbmRsZXIobV9sb2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0
aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+
dGFrZVNlcnZpY2VXb3JrZXJEYXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVu
dElkZW50aWZpZXIoKSwKKyAgICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtl
cigpCisgICAgfSk7IC8vIGRlbGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
U2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIuaAppbmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEz
ZjI4MWEyLi40NWU2NWZmNmMwMzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2Fk
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuaApAQCAtNDAsMTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uRGF0YTsKIGNsYXNzIFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRl
cjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGE7CiAKIGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2Vy
U2NyaXB0TG9hZGVyQ2xpZW50IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1Ymxp
YzoKICAgICBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdv
cmtlck9wdGlvbnMmJik7CiAKLSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChX
b3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYm
KTsKIAogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBT
aGFyZWRXb3JrZXImIHdvcmtlcigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3
ICs2MSw3IEBAIHByaXZhdGU6CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7
CiAgICAgY29uc3QgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3Qg
VVJMIG1fdXJsOwotICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQm
Jik+IG1fY29tcGxldGlvbkhhbmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3Jr
ZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlv
bkhhbmRsZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVh
ZC5jcHAKaW5kZXggNTg1OTlhYmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3
OTY0YzlkZjcyYWExYzkwZmE0M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhy
ZWFkLmNwcApAQCAtNDMsNyArNDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3Jr
ZXJUaHJlYWQoU2hhcmVkV29ya2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdv
cmtlckdsb2JhbFNjb3BlPiBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVM
RUFTRV9MT0coU2hhcmVkV29ya2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdv
cmtlckdsb2JhbFNjb3BlOiBtX2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZp
ZXIudG9VSW50NjQoKSk7Ci0gICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVh
dGUoc3RkOjpleGNoYW5nZShtX25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2lu
KSwgKnRoaXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tl
dFByb3ZpZGVyKCkpOworICAgIGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6
Y3JlYXRlKHN0ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9y
aWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBz
b2NrZXRQcm92aWRlcigpKTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBh
cmFtZXRlcnMuc2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2
aWNlV29ya2VyKFNlcnZpY2VXb3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNl
V29ya2VyRGF0YSB7ICpwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgor
ICAgIHJldHVybiBzY29wZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJl
YWRQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJl
ZFdvcmtlclRocmVhZFByb3h5LmNwcAppbmRleCAzMzcxODQzNGIwOTVlMTg2NDBiODM3MGRhNWVi
MzYxNzljYjc0MmU2Li4wMTc1NDBkOGQxYzcyZTMyOTUwZWU1YjI1ZjdjMGVkMDgzNzVkOTQzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdv
cmtlclRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9j
b250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNwcApAQCAtNDksMTkgKzQ5LDE5IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFk
UHJveHkqPiYgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkq
PiYgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVz
dHJveWVkPEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVy
biBzZXQ7CisgICAgc3RhdGljIE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBt
YXA7CisgICAgcmV0dXJuIG1hcDsKIH0KIAotc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJh
dGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJl
c3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBEb2N1bWVudCYgZG9jdW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0
ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVz
dWx0LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgcmV0
dXJuIHsKICAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQubGFzdFJlcXVlc3RVUkwsCiAgICAgICAg
IHdvcmtlck9wdGlvbnMubmFtZSwKICAgICAgICAgInNoYXJlZHdvcmtlcjoiICsgSW5zcGVjdG9y
OjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwKLSAgICAgICAgdXNlckFn
ZW50LAorICAgICAgICBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQpLAogICAg
ICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwK
ICAgICAgICAgd29ya2VyRmV0Y2hSZXN1bHQuY29udGVudFNlY3VyaXR5UG9saWN5LAogICAgICAg
ICBmYWxzZSwKQEAgLTc0LDIwICs3NCwyNiBAQCBzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5l
cmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlcgogICAg
ICAgICBXb3JrZXJUaHJlYWRNb2RlOjpDcmVhdGVOZXdUaHJlYWQsCiAgICAgICAgIHsgfSwKICNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgICAgIHsgfSwKKyAgICAgICAgV1RGTW92ZShp
bml0aWFsaXphdGlvbkRhdGEuc2VydmljZVdvcmtlckRhdGEpLAogI2VuZGlmCi0gICAgICAgIHsg
fQorICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllci52YWx1ZV9vcihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciB7IH0pCiAgICAgfTsKIH0KIAotU2hhcmVk
V29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdl
PiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwg
Y29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29y
a2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVy
KQorU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlk
ZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sK
KyAgICByZXR1cm4gYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmdldChpZGVudGlmaWVy
KTsKK30KKworU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5
KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29y
a2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZl
dGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRp
b25zLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIENhY2hl
U3RvcmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IG1fcGFnZShXVEZN
b3ZlKHBhZ2UpKQogICAgICwgbV9kb2N1bWVudCgqbV9wYWdlLT5tYWluRnJhbWUoKS5kb2N1bWVu
dCgpKQotICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hh
cmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNo
UmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCB1c2VyQWdlbnQsIG1fZG9jdW1lbnQpLCBX
VEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdv
cmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3Vy
aXR5T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50
LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgp
KSkKKyAgICAsIG1fY29udGV4dElkZW50aWZpZXIoKmluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJ
ZGVudGlmaWVyKQorICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVh
dGUoc2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtl
ckZldGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0
aW9uRGF0YSksIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCks
ICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGll
bnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5l
Y3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVG
bGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIo
Y2FjaGVTdG9yYWdlUHJvdmlkZXIpCiB7Ci0gICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94aWVzKCkuY29udGFpbnModGhpcykpOwotICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFBy
b3hpZXMoKS5hZGQodGhpcyk7CisgICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94
aWVzKCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtl
clRocmVhZFByb3hpZXMoKS5hZGQobV9jb250ZXh0SWRlbnRpZmllciwgdGhpcyk7CiAKICAgICBz
dGF0aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAt
OTgsOCArMTA0LDggQEAgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVh
ZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFcKIAogU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHk6On5TaGFyZWRXb3JrZXJUaHJlYWRQcm94eSgpCiB7Ci0gICAgQVNTRVJUKGFsbFNo
YXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpLnJlbW92ZSh0aGlzKTsKKyAgICBBU1NFUlQoYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY29udGV4dElkZW50aWZpZXIpKTsKKyAg
ICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkucmVtb3ZlKG1fY29udGV4dElkZW50aWZp
ZXIpOwogfQogCiBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIFNoYXJlZFdvcmtlclRocmVhZFByb3h5
OjppZGVudGlmaWVyKCkgY29uc3QKQEAgLTE3NSw3ICsxODEsNyBAQCB2b2lkIFNoYXJlZFdvcmtl
clRocmVhZFByb3h5OjpzZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKGJv
b2wpCiAKIHZvaWQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6Om5ldHdvcmtTdGF0ZUNoYW5nZWQo
Ym9vbCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2Vy
VGhyZWFkUHJveGllcygpKQorICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJU
aHJlYWRQcm94aWVzKCkudmFsdWVzKCkpCiAgICAgICAgIHByb3h5LT5ub3RpZnlOZXR3b3JrU3Rh
dGVDaGFuZ2UoaXNPbkxpbmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5k
ZXggZGFiM2ExMjNkZWUxOGRiYjYyNGQ3N2Y1OGVkOThkNDQ5NGM3ZmE5OS4uNWUzZWE0YjA2YTdj
ODUwOTU0NWQ5ZmFmYTAwNDUzNWE3MmE4NTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkuaApAQCAtNDEsMTIgKzQxLDE1IEBAIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZDsKIAogc3Ry
dWN0IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZFByb3h5IGZp
bmFsIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNoYXJlZFdvcmtlclRocmVhZFByb3h5
PiwgcHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1
YmxpYyBXb3JrZXJEZWJ1Z2dlclByb3h5IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZS4uLiBBcmdzPiBzdGF0aWMgUmVmPFNoYXJlZFdvcmtlclRocmVhZFByb3h5PiBjcmVhdGUoQXJn
cyYmLi4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyVGhyZWFkUHJv
eHkoc3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB+
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoKTsKIAorICAgIHN0YXRpYyBTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eSogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsK
KwogICAgIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIFNo
YXJlZFdvcmtlclRocmVhZCYgdGhyZWFkKCkgeyByZXR1cm4gbV93b3JrZXJUaHJlYWQ7IH0KIApA
QCAtNTQsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJt
aW5hdGVkKCkgeyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZh
dGU6Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVm
PFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdv
cmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29y
a2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMm
JiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAK
ICAgICAvLyBXb3JrZXJPYmplY3RQcm94eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBj
b2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBmaW5hbDsKQEAgLTc4LDYgKzgx
LDcgQEAgcHJpdmF0ZToKIAogICAgIFVuaXF1ZVJlZjxQYWdlPiBtX3BhZ2U7CiAgICAgUmVmPERv
Y3VtZW50PiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
IG1fY29udGV4dElkZW50aWZpZXI7CiAgICAgUmVmPFNoYXJlZFdvcmtlclRocmVhZD4gbV93b3Jr
ZXJUaHJlYWQ7CiAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIG1fY2FjaGVTdG9yYWdlUHJvdmlk
ZXI7CiAgICAgUmVmUHRyPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY2FjaGVTdG9yYWdlQ29u
bmVjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Jlc291cmNlTG9hZGVyLmNwcAppbmRleCAwMjgzNGI0ZTQzNDdlMmExNjQzNzNiYWRlYzVlZTQ1
YWYxODQ0MDBiLi5iNjY2MjE4YWQ1ZTVlNmI2NjhmZTc5ZmY2NzUxMjcyODYwZTM3MzBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRl
ci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXIuY3BwCkBAIC0xMjE1LDEyICsxMjE1LDIxIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpyZXN0YXJ0TmV0d29ya0xvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVx
CiAgICAgc3RhcnROZXR3b3JrTG9hZChXVEZNb3ZlKG5ld1JlcXVlc3QpLCBGaXJzdExvYWQ6Ok5v
KTsKIH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3N0YXRpYyBib29sIHNob3VsZFRy
eVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0
aW9ucywgYm9vbCBpc1NlcnZpY2VXb3JrZXJMb2FkZWQpCit7CisgICAgaWYgKG9wdGlvbnMubW9k
ZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICByZXR1cm4gaXNTZXJ2aWNlV29ya2VyTG9hZGVkICYmIChvcHRpb25zLmRlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBvcHRpb25zLmRlc3RpbmF0
aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcik7Cit9CisjZW5k
aWYKKwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0
KFJlc291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QsIGJvb2wgaXNBbGxvd2VkVG9Bc2tVc2VyRm9y
Q3JlZGVudGlhbHMpCiB7CiAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5k
UmVxdWVzdDogKGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzPSVkKSIsIGlzQWxsb3dl
ZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikK
LSAgICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6
Ok5hdmlnYXRlIHx8IChwYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkg
eworICAgIGlmIChzaG91bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVjdGlvbihwYXJh
bWV0ZXJzKCkub3B0aW9ucywgISFtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAg
IG1fc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2Vy
dmljZVdvcmtlckZldGNoVGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlz
LCBuZXdSZXF1ZXN0KSkgewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51
ZVdpbGxTZW5kUmVxdWVzdDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFu
ZGxlIHRoZSByZWRpcmVjdCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VX
b3JrZXJGZXRjaFRhc2stPmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVy
Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBjZjMwZGU0OWZjYjA5OTgxY2Y3ZTNk
NjExZWIyOWVkYjlkYTQ4ZWNjLi5lYWVhYTNkOTMzNDE5ZDE1OTBkOTUzYjkzZTFmM2VmNjBjODg1
ZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3Jr
ZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY5LDYg
KzE2OSw4IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0
IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwCiAgICAgU2VydmljZVdvcmtlckNsaWVu
dFR5cGUgY2xpZW50VHlwZTsKICAgICBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9u
ICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCiAgICAgICAgIGNsaWVudFR5
cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyOworICAgIGVsc2UgaWYgKHBhcmFt
ZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6
U2hhcmVkd29ya2VyKQorICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5
cGU6OlNoYXJlZHdvcmtlcjsKICAgICBlbHNlCiAgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNl
V29ya2VyQ2xpZW50VHlwZTo6V2luZG93OwogCkBAIC0yMDEsNyArMjAzLDcgQEAgc3RkOjp1bmlx
dWVfcHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3Jl
YXRlRmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzdGQ6Om9wdGlv
bmFsPFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVy
cygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29y
a2VyKSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNo
T3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRl
c3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBsb2FkZXIu
cGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbjo6U2hhcmVkd29ya2VyKSB7CiAgICAgICAgIGF1dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBh
cmFtZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRpb24gPyBTZWN1cml0eU9yaWdpbkRhdGE6OmZy
b21VUkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIucGFyYW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0
YSgpOwogICAgICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5n
KHRvcE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKQpA
QCAtNjgzLDYgKzY4NSwxNiBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dHJhbnNmZXJT
ZXJ2aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrUmVzbwogICAgIGNvbnRyb2xD
bGllbnQobG9hZGVyLnBhcmFtZXRlcnMoKSwgcmVnaXN0cmF0aW9uLCBsb2FkZXIub3JpZ2luYWxS
ZXF1ZXN0KCkpOwogfQogCitzdGQ6Om9wdGlvbmFsPFNXU2VydmVyOjpHYXRoZXJlZENsaWVudERh
dGE+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2F0aGVyQ2xpZW50RGF0YShTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQoreworICAgIEFTU0VSVChjbGll
bnRJZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gaWRlbnRpZmllcigpKTsKKyAgICBh
dXRvIGl0ZXJhdG9yID0gbV9jbGllbnRPcmlnaW5zLmZpbmQoY2xpZW50SWRlbnRpZmllcik7Cisg
ICAgaWYgKGl0ZXJhdG9yID09IG1fY2xpZW50T3JpZ2lucy5lbmQoKSkKKyAgICAgICAgcmV0dXJu
IHsgfTsKKworICAgIHJldHVybiBzZXJ2ZXIoKS5nYXRoZXJDbGllbnREYXRhKGl0ZXJhdG9yLT52
YWx1ZSwgY2xpZW50SWRlbnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAj
dW5kZWYgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJT
V1NlcnZlckNvbm5lY3Rpb24uaAppbmRleCA0ZjAyNWUyMTkxMWYzMmI2ZWEwZjNkMmE5OTdlNTg5
OWUzODBhYjQ1Li4yMWNlNTYzNGRjODk0NTg2ZjU2YWM3NjM4NTU5NzU5OTQ2MTAwMTY2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dT
ZXJ2ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2
aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC04NSw2ICs4NSwxMCBAQCBwdWJs
aWM6CiAgICAgdm9pZCBmZXRjaFRhc2tUaW1lZE91dChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRl
bnRpZmllcik7CiAKICAgICB2b2lkIHRyYW5zZmVyU2VydmljZVdvcmtlckxvYWRUb05ld1dlYlBy
b2Nlc3MoTmV0d29ya1Jlc291cmNlTG9hZGVyJiwgV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRp
b24mKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNXU2VydmVyOjpHYXRoZXJlZENsaWVu
dERhdGE+IGdhdGhlckNsaWVudERhdGEoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElk
ZW50aWZpZXIpOworCisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNv
bnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50
aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNl
V29ya2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlm
aWVyJik7CiAKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50IFNXU2VydmVyOjpDb25uZWN0aW9u
IChNZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MpCkBAIC0xMTAsOCArMTE0LDYgQEAg
cHJpdmF0ZToKICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3Vy
aXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25EYXRhPiYmKT4mJik7CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFdlYkNv
cmU6OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbkRhdGE+Jik+JiYpOwogCi0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJD
bGllbnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKLSAgICB2b2lkIHVu
cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyJik7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJGcm9tQ2xpZW50
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogICAgIHZvaWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5n
KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KCk+JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJl
ZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5oCmluZGV4IDNjYzRhNjg5ZDVlZWM1NDU1ZTBi
MGRjYWU5NzA3ZjNlZTA3N2IxNjUuLjcwYzM2ZDFmZTI0OTMxNzYyZDRmZjg2NDUwMmM5MThjMzVk
YjJkNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVk
ZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9UcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJG
ZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1dl
YWtQdHIuaD4KIApAQCAtNzEsNiArNzIsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1J1bm5pbmco
KSBjb25zdCB7IHJldHVybiBtX2lzUnVubmluZzsgfQogICAgIHZvaWQgbWFya0FzUnVubmluZygp
IHsgbV9pc1J1bm5pbmcgPSB0cnVlOyB9CiAKKyAgICBjb25zdCBXZWJDb3JlOjpXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEmIGluaXRpYWxpemF0aW9uRGF0YSgpIGNvbnN0IHsgcmV0dXJuIG1faW5p
dGlhbGl6YXRpb25EYXRhOyB9CisgICAgdm9pZCBzZXRJbml0aWFsaXphdGlvbkRhdGEoV2ViQ29y
ZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKSB7IG1faW5p
dGlhbGl6YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpOyB9CisKICAgICBj
b25zdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYgZmV0Y2hSZXN1bHQoKSBjb25zdCB7IHJl
dHVybiBtX2ZldGNoUmVzdWx0OyB9CiAgICAgdm9pZCBzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uKik7CiAgICAgYm9vbCBkaWRGaW5pc2hGZXRjaGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9m
ZXRjaFJlc3VsdC5zY3JpcHQ7IH0KQEAgLTk2LDYgKzEwMCw3IEBAIHByaXZhdGU6CiAgICAgV2Vi
Q29yZTo6V29ya2VyT3B0aW9ucyBtX3dvcmtlck9wdGlvbnM7CiAgICAgSGFzaE1hcDxXZWJDb3Jl
OjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJPYmplY3RTdGF0ZT4g
bV9zaGFyZWRXb3JrZXJPYmplY3RzOwogICAgIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IG1f
ZmV0Y2hSZXN1bHQ7CisgICAgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIG1faW5p
dGlhbGl6YXRpb25EYXRhOwogICAgIGJvb2wgbV9pc1J1bm5pbmcgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlci5jcHAKaW5kZXggNDBkM2YyMmJkYWNjOWE4ODg3MDdmYWRkYzU2MGYwODVmYzYwOTAz
Yy4uOTg1ODA2YzRmYmMwZmUxZjA2MTY0MzcyNDE4NmIyNTY0ZmQxNDI3NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04NywxMyArODcsMTMgQEAgdm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVkV29y
a2VyS2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVyQ29ubmVjdGlvbik7CiAKICAgICBSRUxF
QVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFy
ZWRXb3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIgc2NyaXB0IGluIGNsaWVudCIpOwotICAg
IHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwgc2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0s
IHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKFdlYkNvcmU6Oldvcmtl
ckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAgICBzZXJ2ZXJDb25uZWN0aW9uLT5mZXRj
aFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZp
ZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRXb3JrZXIgPSBXZWFrUHRy
IHsgKnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1dG8mJiBpbml0aWFsaXph
dGlvbkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHNoYXJlZFdvcmtlcikKLSAgICAg
ICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgqc2hh
cmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgICAgICB3ZWFrVGhpcy0+
ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJlZFdvcmtlciwgV1RGTW92
ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7CiB9
CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdv
cmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2Vy
RmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpk
aWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJl
ZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCwgV2ViQ29y
ZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewogICAg
IFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlkRmlu
aXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQ
Ukl1NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNzPSVkIiwgc2hhcmVkV29ya2VyLmlkZW50
aWZpZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2VyLCBmZXRjaFJlc3VsdC5lcnJvci5pc051
bGwoKSk7CiAKQEAgLTEwOSw2ICsxMDksNyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6
ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJgogCiAg
ICAgYXV0byogY29ubmVjdGlvbiA9IG1fY29udGV4dENvbm5lY3Rpb25zLmdldChzaGFyZWRXb3Jr
ZXIucmVnaXN0cmFibGVEb21haW4oKSk7CiAgICAgc2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0
KFdURk1vdmUoZmV0Y2hSZXN1bHQpLCBjb25uZWN0aW9uKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0
SW5pdGlhbGl6YXRpb25EYXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAKICAgICBp
ZiAoIWNvbm5lY3Rpb24pCiAgICAgICAgIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKHNoYXJlZFdv
cmtlci5yZWdpc3RyYWJsZURvbWFpbigpLCBzaGFyZWRXb3JrZXIuZmlyc3RTaGFyZWRXb3JrZXJP
YmplY3RQcm9jZXNzKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAppbmRleCBi
MjA2YWYyYzBlYzJiMjhlMTE5NjgzZGRlMGRmNzQwMWQwODgyOTZlLi5lNjM3MGQ3MzM0MzE0Y2U3
ZTczYzlhMmFmYjcwMjUzNmJlNWFjOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2
ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBDbGll
bnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTc3LDcgKzc4LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKGNvbnN0IFdlYkNv
cmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNzSWRl
bnRpZmllcj4gcmVxdWVzdGluZ1Byb2Nlc3NJZGVudGlmaWVyKTsKICAgICBib29sIG5lZWRzQ29u
dGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdpc3Ry
YWJsZURvbWFpbiYpIGNvbnN0OwogICAgIHZvaWQgY29udGV4dENvbm5lY3Rpb25DcmVhdGVkKFdl
YlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKLSAgICB2b2lkIGRpZEZp
bmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6
OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRX
b3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
JiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgc2h1dERv
d25TaGFyZWRXb3JrZXIoY29uc3QgV2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5Jik7CiAKICAgICBO
ZXR3b3JrU2Vzc2lvbiYgbV9zZXNzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA5YTZkMzY1ZTMwYzhmZmIwZjdhNWQyNDZk
ZmVmYWFiNmIyNWE4YmUxLi4xMmYzNWY1NWU5NTFlODk5M2M2NTk3NGZlZTA3ZWY1NjU4MzkyNjQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9u
LmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVj
dGlvbjo6cmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShXZWJDb3JlOjpTaGFyZWRXCiAgICAgICAg
IHNlc3Npb24tPmVuc3VyZVNoYXJlZFdvcmtlclNlcnZlcigpLnJlc3VtZUZvckJhY2tGb3J3YXJk
Q2FjaGUoc2hhcmVkV29ya2VyS2V5LCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyKTsKIH0K
IAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xp
ZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpTaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNo
U2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNv
cmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDog
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zIiwgc2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6RmV0Y2hT
Y3JpcHRJbkNsaWVudCB7IHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSB9LCBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1No
YXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25u
ZWN0aW9uLmgKaW5kZXggYjQxOTE5NjVjMzQyNWZmMWUwNmFmMzdlNGJhMjViNDUyYzgyZmZiOC4u
ZjFiNzEyYjdjODQyNjg1OTFiNzE1NjM2NjZkNGM4ZmQ2NTZjMDFiNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2Vy
dmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaApAQCAtNjMsNyArNjMsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KGNv
bnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+
JiYpOworICAgIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3JrZXIm
LCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6OldvcmtlckluaXRp
YWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRD
b21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9i
amVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0
cmluZyYgc291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCA1ZTQzZjExY2YzYTZj
MzRmOTk3N2Q1NGZiYTY2MWE1M2M5YmEzMzE0Li5hODFlZmQyNjYwZmIxNTQ5YTIzZmIwNmM1NGM5
YzkyMmYzNTI4NjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1No
YXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMzIsNiArMzIsNyBAQAogI2lu
Y2x1ZGUgIk5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90ZVdv
cmtlclR5cGUuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNsdWRl
ICJXZWJTV1NlcnZlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXIuaCIK
ICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNzYWdl
cy5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlclNlcnZlci5oIgpAQCAtOTksNyArMTAwLDI0
IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1bmNo
U2hhcmVkV29ya2VyKFdlYlNoYXJlZFdvcmtlCiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9OX1JF
TEVBU0VfTE9HKCJsYXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIg
UFJJdTY0LCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIHNoYXJl
ZFdvcmtlci5tYXJrQXNSdW5uaW5nKCk7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29y
a2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRX
b3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53
b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5mZXRjaFJlc3VsdCgpIH0pOworICAgIGF1dG8g
aW5pdGlhbGl6YXRpb25EYXRhID0gc2hhcmVkV29ya2VyLmluaXRpYWxpemF0aW9uRGF0YSgpOwor
ICAgIGlmIChhdXRvIGNvbnRleHRJZGVudGlmaWVyID0gaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVu
dElkZW50aWZpZXIpIHsKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50aWZp
ZXIgPSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciB7IGNvbnRleHRJZGVudGlmaWVy
LT5vYmplY3QoKSwgd2ViUHJvY2Vzc0lkZW50aWZpZXIoKSB9OworI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICAgICAgaWYgKGF1dG8qIHNlcnZpY2VXb3JrZXJPbGRDb25uZWN0aW9uID0g
bV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCkud2ViUHJvY2Vzc0Nvbm5lY3Rpb24oY29udGV4
dElkZW50aWZpZXItPnByb2Nlc3NJZGVudGlmaWVyKCkpKSB7CisgICAgICAgICAgICBpZiAoYXV0
byogc3dPbGRDb25uZWN0aW9uID0gc2VydmljZVdvcmtlck9sZENvbm5lY3Rpb24tPnN3Q29ubmVj
dGlvbigpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gY2xpZW50RGF0YSA9IHN3T2xkQ29u
bmVjdGlvbi0+Z2F0aGVyQ2xpZW50RGF0YSgqY29udGV4dElkZW50aWZpZXIpKSB7CisgICAgICAg
ICAgICAgICAgICAgIHN3T2xkQ29ubmVjdGlvbi0+dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGll
bnQoKmNvbnRleHRJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8qIHN3
TmV3Q29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbi5zd0Nvbm5lY3Rpb24oKSkgeworICAgICAgICAg
ICAgICAgICAgICAgICAgY2xpZW50RGF0YS0+c2VydmljZVdvcmtlckNsaWVudERhdGEuaWRlbnRp
ZmllciA9ICppbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcjsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHN3TmV3Q29ubmVjdGlvbi0+cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50
KFdURk1vdmUoY2xpZW50RGF0YS0+Y2xpZW50T3JpZ2luKSwgV1RGTW92ZShjbGllbnREYXRhLT5z
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSksIGNsaWVudERhdGEtPmNvbnRyb2xsaW5nU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdURk1vdmUoY2xpZW50RGF0YS0+dXNlckFnZW50
KSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICB9CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTaGFy
ZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OkxhdW5jaFNoYXJlZFdvcmtlciB7IHNo
YXJlZFdvcmtlci5vcmlnaW4oKSwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKSwgc2hhcmVkV29y
a2VyLndvcmtlck9wdGlvbnMoKSwgc2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCksIGluaXRpYWxp
emF0aW9uRGF0YSB9KTsKICAgICBzaGFyZWRXb3JrZXIuZm9yRWFjaFNoYXJlZFdvcmtlck9iamVj
dChbJl0oYXV0bywgYXV0byYgcG9ydCkgewogICAgICAgICBwb3N0Q29ubmVjdEV2ZW50KHNoYXJl
ZFdvcmtlciwgcG9ydCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKaW5kZXggOWVjMGUxNTViZDU3Nzk1ZmY1ZWRmYjY0ODJmMDRiOWMyNWQ4NDkw
ZC4uYWQ1MGUzMDgxNTU3NjRiNzMzYzIwZmM3OTJkMzAxM2Y2NDYwMjdkZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNTY4LDE1ICs1NjgsMTMgQEAg
dm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoUmVtb3RlV29ya2VyQ29udGV4dENvbm5lY3Rp
b25Ub05ldHdvcmtQcm9jZXNzKFJlbW8KICAgICAgICAgICAgIHVzZVByb2Nlc3NGb3JSZW1vdGVX
b3JrZXJzKCpwcm9jZXNzKTsKICAgICB9CiAKLSAgICBib29sIHNob3VsZFVzZVNlcGFyYXRlUmVt
b3RlV29ya2VyUHJvY2VzcyA9IHdvcmtlclR5cGUgPT0gUmVtb3RlV29ya2VyVHlwZTo6U2Vydmlj
ZVdvcmtlciAmJiBzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3M7Ci0KICAgICAvLyBQ
cmlvcml0aXplIHRoZSByZXF1ZXN0aW5nIFdlYlByb2Nlc3MgZm9yIHJ1bm5pbmcgdGhlIHNlcnZp
Y2Ugd29ya2VyLgotICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzaG91bGRV
c2VTZXBhcmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MgJiYgcmVxdWVzdGluZ1Byb2Nlc3MpIHsKKyAg
ICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQcm94eSAmJiAhc191c2VTZXBhcmF0ZVNlcnZpY2VX
b3JrZXJQcm9jZXNzICYmIHJlcXVlc3RpbmdQcm9jZXNzKSB7CiAgICAgICAgIGlmICgmcmVxdWVz
dGluZ1Byb2Nlc3MtPndlYnNpdGVEYXRhU3RvcmUoKSA9PSB3ZWJzaXRlRGF0YVN0b3JlICYmIHJl
cXVlc3RpbmdQcm9jZXNzLT5pc01hdGNoaW5nUmVnaXN0cmFibGVEb21haW4ocmVnaXN0cmFibGVE
b21haW4pKQogICAgICAgICAgICAgdXNlUHJvY2Vzc0ZvclJlbW90ZVdvcmtlcnMoKnJlcXVlc3Rp
bmdQcm9jZXNzKTsKICAgICB9CiAKLSAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQcm94eSAm
JiAhc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9jZXNzKSB7CisgICAgaWYgKCFyZW1v
dGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNfdXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vz
cykgewogICAgICAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzUG9vbC0+bV9wcm9jZXNz
ZXMpIHsKICAgICAgICAgICAgIGlmIChwcm9jZXNzLnB0cigpID09IHByb2Nlc3NQb29sLT5tX3By
ZXdhcm1lZFByb2Nlc3MuZ2V0KCkgfHwgcHJvY2Vzcy0+aXNEdW1teVByb2Nlc3NQcm94eSgpKQog
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggYTI3MTM3
YmYxMmRkZGFiODdkMDNiOWM3OGNiZmZhZmY1M2M4NTdmOC4uYTUzZDA2OTRiZGM1ZDdiMjFiMDBh
NDM5MTA3MTFlN2FjMGVkZDJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xOTIsNiArMTky
LDcgQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNldFNlcnZpY2VXb3JrZXJDbGllbnRJ
c0NvbnRyb2xsZWQoU2NyaXB0RXhlY3V0aW9uQ28KICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
ZGF0YS5hY3RpdmVXb3JrZXIgPyBsb2FkZXItPnNldENvbnRyb2xsaW5nU2VydmljZVdvcmtlcihX
VEZNb3ZlKCpkYXRhLmFjdGl2ZVdvcmtlcikpIDogZmFsc2UpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQorCiAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCA1NjAyZmQ3MGVm
Yzc5ZjI4YTU4M2UyYmQyNzU0M2Y1NGM0Mzk1ZmUyLi4xMTczYTgxMjYzNTQzMWJkMzhjYzM4MGVi
YjViMjE5ZDc2ZTBiYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1No
YXJlZFdvcmtlclRocmVhZFByb3h5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQWdlbnQuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAg
LTg5LDcgKzkwLDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rp
b246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHIKICAgICBtX3ByZWZlcmVuY2Vz
U3RvcmUgPSBzdG9yZTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNv
bm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmln
aW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmll
ciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdlYkNvcmU6Oldvcmtl
ckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQpCit2b2lkIFdlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVu
dE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRX
b3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywg
V2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV2ViQ29yZTo6
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewogICAgIFJF
TEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBS
SXU2NCwgc2hhcmVkV29ya2VySWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICBhdXRvIHBhZ2VD
b25maWd1cmF0aW9uID0gV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGllbnRz
KFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsKQEAgLTExMCw4ICsxMTEsMTIg
QEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNo
YXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnQKICAgICAgICAgV2ViUGFnZTo6dXBkYXRlU2V0dGlu
Z3NHZW5lcmF0ZWQoKm1fcHJlZmVyZW5jZXNTdG9yZSwgcGFnZS0+c2V0dGluZ3MoKSk7CiAgICAg
ICAgIHBhZ2UtPnNldHRpbmdzKCkuc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KHN0YXRpY19jYXN0
PFdlYkNvcmU6OlN0b3JhZ2VCbG9ja2luZ1BvbGljeT4obV9wcmVmZXJlbmNlc1N0b3JlLT5nZXRV
SW50MzJWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c3RvcmFnZUJsb2NraW5nUG9saWN5
S2V5KCkpKSk7CiAgICAgfQorCisgICAgaWYgKCFpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50
LmlzRW1wdHkoKSkKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCA9IG1fdXNl
ckFnZW50OworCiAgICAgcGFnZS0+c2V0dXBGb3JSZW1vdGVXb3JrZXIod29ya2VyRmV0Y2hSZXN1
bHQubGFzdFJlcXVlc3RVUkwsIG9yaWdpbi50b3BPcmlnaW4sIHdvcmtlckZldGNoUmVzdWx0LnJl
ZmVycmVyUG9saWN5KTsKLSAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29y
ZTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRX
b3JrZXJJZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZN
b3ZlKHdvcmtlck9wdGlvbnMpLCBtX3VzZXJBZ2VudCwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CisgICAgYXV0byBzaGFyZWRXb3JrZXJUaHJlYWRQcm94
eSA9IFdlYkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpjcmVhdGUoV1RGTW92ZShwYWdl
KSwgc2hhcmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2luLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVz
dWx0KSwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEp
LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpKTsKIAogICAg
IFdlYkNvcmU6OlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5yZWdpc3Rl
clNoYXJlZFdvcmtlclRocmVhZChXVEZNb3ZlKHNoYXJlZFdvcmtlclRocmVhZFByb3h5KSk7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCmluZGV4
IGFiMzVjYmQwMTg4NWNlYjM3NjEzMTBiZGY0ZDViN2I4ODcyMGFmNjMuLmQwYjhlNmYxNDFiZGEy
YWMyY2Q3YmM0YjU5Y2MwODEwMzdlODdlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNv
bnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCkBAIC0zOCw2ICszOCw3IEBACiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBzdHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtlckZldGNoUmVzdWx0Owor
c3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRpb25zOwog
fQogCkBAIC01OCw3ICs1OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToKICAgICAvLyBJUEMgTWVz
c2FnZXMuCi0gICAgdm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
JiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlv
bnMmJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik7CisgICAgdm9pZCBsYXVuY2hTaGFy
ZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklk
ZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hS
ZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQg
dXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJik7CiAgICAg
dm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7IG1fdXNlckFnZW50ID0gV1RG
TW92ZSh1c2VyQWdlbnQpOyB9CiAgICAgdm9pZCBjbG9zZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4
IDgyZDVkZWRmOGZhYzRiM2ZkYzQ1ZDU2NDVlNDRjN2VlZGQ1ZmMzMzYuLjhmZGNhZjI3YTc0ZWE1
MzY1OWEzNWZhYTVhZDFmMWViMGNmMmFkNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFy
ZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIx
LDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uIE5vdFJlZkNvdW50ZWQgewotICAgIExhdW5jaFNoYXJlZFdvcmtl
cihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29y
a2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29y
a2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQgd29ya2VyRmV0Y2hSZXN1bHQpCisgICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJD
b3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVy
IHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdv
cmtlck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRj
aFJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSB3b3JrZXJJ
bml0aWFsaXphdGlvbkRhdGEpCiAgICAgUG9zdENvbm5lY3RFdmVudChXZWJDb3JlOjpTaGFyZWRX
b3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6OlRyYW5zZmVy
cmVkTWVzc2FnZVBvcnQgcG9ydCwgU3RyaW5nIHNvdXJjZU9yaWdpbikKICAgICBUZXJtaW5hdGVT
aGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyKQogICAgIFVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoc3RydWN0IFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZSBzdG9yZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IGMyNjlmZDI2YTkxZWJmY2I0YzU0ZjBkNmM5ZTBl
YjNlNGIwZGY2MzIuLmI2YzA0ZDY2NGFlY2Q2ZWM0MTdiOGRjY2NiOTRmYzVlMWMzNzhkZTIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtl
ck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpA
QCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uIHsKLSAgICBGZXRjaFNjcmlwdEluQ2xpZW50KFVSTCB1cmws
IFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0
SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucykg
LT4gKHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCBmZXRjaFJlc3VsdCkKKyAgICBG
ZXRjaFNjcmlwdEluQ2xpZW50KFVSTCB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElk
ZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldv
cmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucykgLT4gKHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRj
aFJlc3VsdCBmZXRjaFJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9u
RGF0YSBpbml0aWFsaXphdGlvbkRhdGEpCiAgICAgTm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29t
cGxldGlvbihXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtl
ck9iamVjdElkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgZXJyb3IpCiAgICAgUG9z
dEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgU3RyaW5nIGVycm9yTWVzc2FnZSwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFN0cmluZyBzb3VyY2VVUkwpCiB9CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggMjJjYjAxZGUxM2E0YTk2ZjRiZTAzMjY0ZmE1MDllMGJiZDUwMWZlYy4uN2M2NThiZTRh
OTM0MGVhNWY4Yjc0OWU2YjZmMGZmMGMwODU3NDg3ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisy
MDIyLTA0LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBT
aGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiBodHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1z
aGFyZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5qczogQWRkZWQuCisg
ICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdvcmtlci5q
czoKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50
LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9p
b3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKwogMjAyMi0wNC0yMiAgVHlsZXIgV2lsY29jayAgPHR5bGVyX3dAYXBw
bGUuY29tPgogCiAgICAgICAgIEFYOiBUaGUgaXNvbGF0ZWQgdHJlZSBpcyBub3QgdXBkYXRlZCBh
ZnRlciByb2xlIGNoYW5nZXMgaW4gQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdDo6dXBkYXRlUm9s
ZUFmdGVyQ2hpbGRyZW5DcmVhdGlvbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRl
eCBmNGI5OWM3NWRjMTBmZGE4MjZlMmIyOTQ2YjdhMGVlM2U0ZGUxYjIwLi41MDFkOTcyN2Y2OGRi
YjYyYzdhNmZhMDM0ZWE3YzgxZDdhZTQwMzI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0yMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ug
d29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6Lgor
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0yMSAgUm9iIEJ1aXMgIDxy
YnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIGBjb250YWluOiBsYXlvdXRgIG9uIHRoZSBodG1s
IGVsZW1lbnQgc2hvdWxkIGNoYW5nZSBwb3NpdGlvbjpmaXhlZCBiZWhhdmlvcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVk
d29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZDVmNzA2YjNlMWVmNjRiMmEwMTNhZmFjMjg2NWJjMjc0MWVjYmRlMAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVk
LXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1Mg
UmVnaXN0ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgVmVyaWZ5IHNoYXJlZCB3b3JrZXIgaXMgY29u
dHJvbGxlZAorUEFTUyBWZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4gcG9zdCBtZXNzYWdlIHRvIGl0
cyBzZXJ2aWNlIHdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRw
cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg3NTE0Yjg1NmMyMjhiOGU4ZmM0Nzc5ZGUxYmMzNTQ2ODQ3MmRi
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8
aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0VXNlU2Vw
YXJhdGVTZXJ2aWNlV29ya2VyUHJvY2Vzcyh0cnVlKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0
ZXN0KSA9PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5qcyIsIHsgc2NvcGUgOiAn
cmVzb3VyY2VzJyB9KTsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOwor
ICAgIGlmIChhY3RpdmVXb3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFjdGl2ZVdvcmtl
ciA9IHJlZ2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29s
dmUgPT4geworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFu
Z2UnLCAoKSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0
aXZhdGVkIikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0p
OworfSwgIlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICAgIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9jb250
cm9sbGVkLXNoYXJlZHdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKKyAgICBh
c3NlcnRfdHJ1ZShldmVudC5kYXRhLmlzQ29udHJvbGxlZCk7Cit9LCAiVmVyaWZ5IHNoYXJlZCB3
b3JrZXIgaXMgY29udHJvbGxlZCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsK
KyAgICB3b3JrZXIucG9ydC5wb3N0TWVzc2FnZSgncGluZycpOworICAgIGNvbnN0IGV2ZW50ID0g
YXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNv
bHZlKTsKKyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsICdwb25nJyk7Cit9LCAiVmVyaWZ5
IHNoYXJlZCB3b3JrZXIgY2FuIHBvc3QgbWVzc2FnZSB0byBpdHMgc2VydmljZSB3b3JrZXIiKTsK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5q
cyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJv
bGxlZC1zaGFyZWR3b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI1NzlhZmY0Y2RmMTRjZDhhYjc5ZmM5
Mjg1ZjA5MDZiNGJhMWUwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0
L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuanMKQEAg
LTAsMCArMSw4IEBACitvbmNvbm5lY3QgPSBhc3luYyAoZSkgPT4geyAKKyAgICBjb25zdCAgcG9y
dCA9IGUucG9ydHNbMF07CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEh
bmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKKyAgICBwb3J0Lm9ubWVzc2Fn
ZSA9IChldmVudCkgPT4geworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9s
bGVyLnBvc3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7
CisgICAgfTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzCmluZGV4IDBjZjk3ZmUyM2Y4Y2Nh
MDYyMTIyMzJlZWY5OWVlYTY3NTc3MTU2MjEuLjBjMDczODJlOWIyYTcyZjk4OWU4ZDBiN2ZhZDMw
NWI1YTM3N2U5YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdvcmtlci5qcwpAQCAtMTIsNiArMTIsMTAg
QEAgYXN5bmMgZnVuY3Rpb24gZG9UZXN0KGV2ZW50KQogICAgICAgICBldmVudC5zb3VyY2UucG9z
dE1lc3NhZ2Uoc2VsZi5yZWNlaXZlZEZldGNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAg
ICBpZiAoZXZlbnQuZGF0YSA9PT0gInBpbmciKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0
TWVzc2FnZSgicG9uZyIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGV2ZW50LnNvdXJj
ZS5wb3N0TWVzc2FnZSgiS08iKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
ZGY3MzVmYWZkMDdiZjYxOTNjZDNkYjAxNTQzZTU3YTE3ODE0N2MyMi4uODkyOTYxOWE1YzkyOTRl
NDU3YWJiODc5ZDdhOGFjZDk3ZGQ3YTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDMgKzEsMyBAQAogCi1GQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQg
d29ya2VyIGNsaWVudHMgYXNzZXJ0X25vdF9lcXVhbHM6IFNoYXJlZCB3b3JrZXIgY2xpZW50IHNo
b3VsZCBub3QgYmUgdW5kZWZpbmVkIGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFT
UyBUZXN0IENsaWVudHMuZ2V0KCkgd2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwt
Y2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5
MjdjOWY3ZWI1ZmZmZWFhYzcxMGFlLi4xOTU3ZGVjYzg3OTcyMWM2YjYyMjVjZDAzYzE1ZDk4ZGEx
YWQyNTlmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xp
ZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCiBQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1G
QUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9
IGNsaWVudCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQg
Z290IDAKK1BBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIs
IHdvcmtlcn0gY2xpZW50IHR5cGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQK
aW5kZXggYmExNGVkZmUyMmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNk
YWExYzRlYjM4NjlhNDMzODJlOGQyMjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1l
eHBlY3RlZC50eHQKQEAgLTEwLDEyICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMz
OiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2Ug
IzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJl
YWNoZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNo
ZWQ6IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzog
c3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cg
c2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0
OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRf
dW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRf
dW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNT
IGNsZWFudXAgZ2xvYmFsIHN0YXRlCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQpAQCAtMjMsMTEgKzIzLDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNj
b3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2Fz
ZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRz
OiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6
IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUu
dHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQ
QVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIg
KGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1Mg
Q2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1w
b3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2go
KTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2go
KTogYSBzaW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3Jr
IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3Jr
IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAg
LTM1LDExICszNSwxMSBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBu
ZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRT
Y3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVs
ZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlM
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9y
dFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRz
OiBzZXJ2ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAi
ZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQ
QVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29y
a2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNh
dyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0
IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3Jp
cHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBs
ZS50eHQiCkBAIC00NywxMCArNDcsMjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1Mg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNz
ZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJf
aW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0
aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRw
czovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJ
TCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0
cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9y
dFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzog
c3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2lt
cGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29y
a2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2lt
cGxlLnR4dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVj
dGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2Vy
LnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3Jr
ZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9y
ZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyICht
b2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4
dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0
dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3Jl
ZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNj
cmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0
X3dlYndvcmtlci5weSIKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29w
ZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNo
YXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3
IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikK
K1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQu
dHh0CmluZGV4IGFiYTE5MDA2OTRjNGU0OTk0YWE4NjgzOTUyNTg0MGE1ZDZmNTdkOGEuLjAwYWVh
MmM4YTZiOGEwZDA2OTVlNzQ2OGNmMjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0xLDE2ICsxLDE2IEBACiAKIFBBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQg
cmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRl
ZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Yt
c2NvcGUgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRy
b2xsZWQgZG9jdW1lbnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNl
cnZpY2Ugd29ya2VyLgotRkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0
IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdv
cmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNj
cmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVy
Y2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2Ft
ZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVk
cyBpbiBzdGFydGluZyBhIGRlZGljYXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3Jp
Z2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4g
c3RhcnRpbmcgYSBzaGFyZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtl
ciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcg
YSBzaGFyZWQgd29ya2VyLgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1Mg
VmVyaWZ5IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZh
aWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3Jp
Z2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNh
dGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29y
a2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2Vy
IHN0YXJ0LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVz
b3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgogUEFTUyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3
b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBSZXF1ZXN0cyBvbiBh
IHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBi
dXQgZ290ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9
fSIKK1BBU1MgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4KIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBp
biBhIGRlZGljYXRlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJj
ZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBX
b3JrZXIiCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBz
aGFyZWQgd29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIg
YnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgog
UEFTUyBVbnJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHN1YnJlc291cmNlIGludGVyY2Vw
dGlvbiB0ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5o
dHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiMGYxMTQ2
N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEwYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRv
dyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJl
ZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50
IGV4cGVjdGVkIDEgYnV0IGdvdCAwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNkMjNkNmI1YWI0NTA4ZTViNzQwNzQwMDAyN2U2MjA1MmNhMDBlYTQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkg
bWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwo
KSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3cucG9ydC5vbm1lc3NhZ2UgPSBf
ID0+IHJlc29sdmUodyknKSIKLQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458347</attachid>
            <date>2022-04-26 02:37:40 -0700</date>
            <delta_ts>2022-04-26 04:52:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239122-20220426113738.patch</filename>
            <type>text/plain</type>
            <size>83731</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzMzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGI5YThjODkxOGJhZTdi
NDc0NTJhNjRiYjY4NzQ1ZmQ1ZjVkN2I2Yy4uZjBkNGUwZjQ1YTRjYTA1NjhhNjM0YThmZmEwZDUy
NjBiNjk4MDIwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTI1ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yNCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBoaWxuQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dTdHJlYW1lcl0gRGlzYWJsZSBuZXcgZGVtdXhlcnMgYmFzZWQgb24gYWRhcHRpdmVkZW11eDIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNTAwODY4ZWIxN2ExMjFmYzIyOTRhNjg3NDNmYTk5ODMzZGIyMTMwYy4uMTNk
ZTk3NTFhMmI5OTQ3NWViOWNiMWYxZDg0ZGM3NjcxZTM3NGU3NiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAyMi0wNC0yNSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisK
KyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lz
dHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcDoKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgICogTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
Lmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlci5jcHA6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBOZXR3b3Jr
UHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5oOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9j
ZXNzUG9vbDo6ZXN0YWJsaXNoUmVtb3RlV29ya2VyQ29udGV4dENvbm5lY3Rpb25Ub05ldHdvcmtQ
cm9jZXNzKToKKwogMjAyMi0wNC0yNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgTWFrZSBOZXR3b3JrUmVzb3VyY2VMb2FkZXIubV9wYXJhbWV0ZXJzIG5vbiBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1NvdXJjZS9X
ZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggZGYyNjFkNDU3N2FmMzhmNTAwNjlkY2I0YzFjNWM5
ZDUxN2QwZjA3Mi4uZDA2MGFkOWYzMWFkMmU2MTQ4Mzc5NTIzNzBiYTUwMDExOWQwYWFjNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9IZWFkZXJzLmNtYWtlCkBAIC0xOTk5LDYgKzE5OTksNyBAQCBzZXQoV2ViQ29yZV9QUklWQVRF
X0ZSQU1FV09SS19IRUFERVJTCiAgICAgd29ya2Vycy9Xb3JrZXJGZXRjaFJlc3VsdC5oCiAgICAg
d29ya2Vycy9Xb3JrZXJGb250TG9hZFJlcXVlc3QuaAogICAgIHdvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaAorICAgIHdvcmtlcnMvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKICAgICB3b3Jr
ZXJzL1dvcmtlckxvYWRlclByb3h5LmgKICAgICB3b3JrZXJzL1dvcmtlck9iamVjdFByb3h5LmgK
ICAgICB3b3JrZXJzL1dvcmtlck9wdGlvbnMuaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmlu
ZGV4IDg4M2Y3ZDNmMTJhYzgyN2JlMGM1OWE3YTQyMjc2MjViNDJjZDA2OTguLmIyMmVkNzBhZDI5
MGNjZDA1YjMyMDA3ZmJhZjJiNDg3NTI5NGIwOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5j
cHAKQEAgLTI2Myw3ICsyNjMsNyBAQCB2b2lkIFdvcmtlcjo6Zm9yRWFjaFdvcmtlcihjb25zdCBG
dW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKQogICAgICAgICB3
b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShjYWxsYmFjaygpKTsKIH0KIAotV29y
a2VyKiBXb3JrZXI6OndvcmtlckJ5SWRlbnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllciBpZGVudGlmaWVyKQorV29ya2VyKiBXb3JrZXI6OmJ5SWRlbnRpZmllcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQogewogICAgIHJldHVybiBhbGxX
b3JrZXJzKCkuZ2V0KGlkZW50aWZpZXIpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmgKaW5kZXgg
NTNlZGRmM2FmN2EyMTNjZjI5ZjU0M2I1MmE3NWM2YjdiMzZiZDVkYS4uMTY1NjUyN2I2ZGIyMTA4
MzE4MzMzM2JlNWUzNTU5NDExNTI1MWI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCkBAIC04
Myw3ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29w
ZShGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4mJik7CiAKICAgICBzdGF0
aWMgdm9pZCBmb3JFYWNoV29ya2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYpPigpPiYpOwotICAgIHN0YXRpYyBXb3JrZXIqIHdvcmtlckJ5SWRl
bnRpZmllcihTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisgICAgc3RhdGljIFdv
cmtlciogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKIAog
cHJpdmF0ZToKICAgICBXb3JrZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIEpTQzo6UnVudGlt
ZUZsYWdzLCBXb3JrZXJPcHRpb25zJiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgKaW5kZXggNTY5NzBkMDRhM2E3MGMxODk1Y2U5NzE5
NTgyNmQwOTljNjcwOGFlYS4uZGNiZWUxYTc2NjY4ZTFkNTA5NTlmYzk4MmVjZTNmM2E3Y2ExODhm
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlv
bkRhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9u
RGF0YS5oCkBAIC0yNyw2ICsyNyw3IEBACiAKICNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllci5oIgogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJEYXRhLmgiCisjaW5jbHVk
ZSA8d3RmL0Nyb3NzVGhyZWFkQ29waWVyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTM3LDYgKzM4LDYxIEBAIHN0cnVjdCBXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEgewogI2VuZGlmCiAgICAgc3RkOjpvcHRpb25hbDxTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllcjsKICAgICBTdHJpbmcg
dXNlckFnZW50OworCisgICAgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGlzb2xhdGVkQ29weSgp
IGNvbnN0OworCisgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2Rl
ciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlv
bmFsPFdvcmtlckluaXRpYWxpemF0aW9uRGF0YT4gZGVjb2RlKERlY29kZXImKTsKIH07CiAKK2lu
bGluZSBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOjpp
c29sYXRlZENvcHkoKSBjb25zdAoreworICAgIHJldHVybiB7CisjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQorICAgICAgICBjcm9zc1RocmVhZENvcHkoc2VydmljZVdvcmtlckRhdGEpLAorI2Vu
ZGlmCisgICAgICAgIGNsaWVudElkZW50aWZpZXIsCisgICAgICAgIHVzZXJBZ2VudC5pc29sYXRl
ZENvcHkoKQorICAgIH07Cit9CisKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4KK3ZvaWQgV29y
a2VySW5pdGlhbGl6YXRpb25EYXRhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgZW5jb2RlciA8PCBzZXJ2aWNlV29ya2Vy
RGF0YTsKKyNlbmRpZgorICAgIGVuY29kZXIgPDwgY2xpZW50SWRlbnRpZmllciA8PCB1c2VyQWdl
bnQ7Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+CitzdGQ6Om9wdGlvbmFsPFdvcmtlcklu
aXRpYWxpemF0aW9uRGF0YT4gV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOjpkZWNvZGUoRGVjb2Rl
ciYgZGVjb2RlcikKK3sKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgc3RkOjpvcHRp
b25hbDxzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJEYXRhPj4gc2VydmljZVdvcmtlckRhdGE7
CisgICAgZGVjb2RlciA+PiBzZXJ2aWNlV29ya2VyRGF0YTsKKyAgICBpZiAoIXNlcnZpY2VXb3Jr
ZXJEYXRhKQorICAgICAgICByZXR1cm4geyB9OworI2VuZGlmCisKKyAgICBzdGQ6Om9wdGlvbmFs
PHN0ZDo6b3B0aW9uYWw8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI+PiBjbGllbnRJ
ZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gY2xpZW50SWRlbnRpZmllcjsKKyAgICBpZiAoIWNs
aWVudElkZW50aWZpZXIpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBzdGQ6Om9wdGlvbmFs
PFN0cmluZz4gdXNlckFnZW50OworICAgIGRlY29kZXIgPj4gdXNlckFnZW50OworICAgIGlmICgh
dXNlckFnZW50KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIFdvcmtlckluaXRp
YWxpemF0aW9uRGF0YSB7CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBXVEZN
b3ZlKCpzZXJ2aWNlV29ya2VyRGF0YSksCisjZW5kaWYKKyAgICAgICAgV1RGTW92ZSgqY2xpZW50
SWRlbnRpZmllciksCisgICAgICAgIFdURk1vdmUoKnVzZXJBZ2VudCkKKyAgICB9OworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5jcHAKaW5kZXggNDFhYWJjODA4MTg2M2JjZmE1MjIyMDRhY2EwNjBmMzE3MjYx
Y2IzNy4uZWZhODY3N2UwOTMxMjQ2YzlhOTc3YTQ3ODY5ZTBkZGJhOWY1ZmQ0NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAtMTU2LDggKzE1
Niw3IEBAIHZvaWQgV29ya2VyU2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0
RXhlY3V0aW9uQ29udGV4dCYgc2NyaXB0RXhlY3V0CiAgICAgLy8gQSBzZXJ2aWNlIHdvcmtlciBq
b2IgY2FuIGJlIGV4ZWN1dGVkIGZyb20gYSB3b3JrZXIgY29udGV4dCBvciBhIGRvY3VtZW50IGNv
bnRleHQuCiAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2Vyc01vZGUgPSBzZXJ2aWNlV29ya2VyTW9k
ZTsKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgLy8gRklYTUU6IEFkZCBzdXBwb3J0
IGZvciBzaGFyZWQgd29ya2VyLgotICAgIGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9u
czo6RGVzdGluYXRpb246OldvcmtlciAmJiBpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCkpIHsKKyAgICBpZiAoKG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5h
dGlvbjo6V29ya2VyIHx8IG1fZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2hhcmVkd29ya2VyKSAmJiBpczxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkp
IHsKICAgICAgICAgQVNTRVJUKGNsaWVudElkZW50aWZpZXIpOwogICAgICAgICBvcHRpb25zLmNs
aWVudElkZW50aWZpZXIgPSBtX2NsaWVudElkZW50aWZpZXIgPSBjbGllbnRJZGVudGlmaWVyOwog
ICAgICAgICAvLyBJbiBjYXNlIG9mIGJsb2IgVVJMcywgd2UgcmV1c2UgdGhlIGRvY3VtZW50IGNv
bnRyb2xsaW5nIHNlcnZpY2Ugd29ya2VyLgpAQCAtMTY4LDYgKzE2Nyw4IEBAIHZvaWQgV29ya2Vy
U2NyaXB0TG9hZGVyOjpsb2FkQXN5bmNocm9ub3VzbHkoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYg
c2NyaXB0RXhlY3V0CiAgICAgfSBlbHNlIGlmIChhdXRvKiBhY3RpdmVTZXJ2aWNlV29ya2VyID0g
c2NyaXB0RXhlY3V0aW9uQ29udGV4dC5hY3RpdmVTZXJ2aWNlV29ya2VyKCkpCiAgICAgICAgIG9w
dGlvbnMuc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIgPSBhY3RpdmVTZXJ2aWNl
V29ya2VyLT5yZWdpc3RyYXRpb25JZGVudGlmaWVyKCk7CiAjZW5kaWYKKyAgICBpZiAobV9kZXN0
aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpCisgICAg
ICAgIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dC51
c2VyQWdlbnQoc2NyaXB0UmVxdWVzdC51cmwoKSk7CiAKICAgICAvLyBEdXJpbmcgY3JlYXRlLCBj
YWxsYmFja3MgbWF5IGhhcHBlbiB3aGljaCByZW1vdmUgdGhlIGxhc3QgcmVmZXJlbmNlIHRvIHRo
aXMgb2JqZWN0LgogICAgIFJlZjxXb3JrZXJTY3JpcHRMb2FkZXI+IHByb3RlY3RlZFRoaXMoKnRo
aXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXgg
YjY4YjAyNGQ2MTNhZTFkZjJlNWE0OTUxZjUwOTg5YWQ2OTYwZWU0OC4uM2RhMGExZDVhNjk5ZjQw
NzE3Yzk0MzUwZDk0OWE5M2E1NDM4ZTY0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oCkBAIC0xMDQsNiArMTA0LDkgQEAgcHVibGljOgogICAgIHN0ZDo6
b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+IHRha2VTZXJ2aWNlV29ya2VyRGF0YSgpIHsgcmV0
dXJuIHN0ZDo6ZXhjaGFuZ2UobV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0YSwgeyB9KTsgfQogI2Vu
ZGlmCiAKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV9jbGllbnRJZGVudGlmaWVyOyB9CisgICAgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKSBjb25zdCB7IHJldHVybiBtX3VzZXJBZ2Vu
dEZvclNoYXJlZFdvcmtlcjsgfQorCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBSZWZDb3Vu
dGVkPFdvcmtlclNjcmlwdExvYWRlcj47CiAgICAgZnJpZW5kIHN0cnVjdCBzdGQ6OmRlZmF1bHRf
ZGVsZXRlPFdvcmtlclNjcmlwdExvYWRlcj47CkBAIC0xMzksNiArMTQyLDcgQEAgcHJpdmF0ZToK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29y
a2VyRGF0YT4gbV9hY3RpdmVTZXJ2aWNlV29ya2VyRGF0YTsKICNlbmRpZgorICAgIFN0cmluZyBt
X3VzZXJBZ2VudEZvclNoYXJlZFdvcmtlcjsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TV0NsaWVudENvbm5l
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVj
dGlvbi5jcHAKaW5kZXggODhiNGQ4NGM4OWU5OWMxYzRmMjVhMDgyMzFlNDExZGY1OTA3NGQ1MS4u
NTVmMzczNWMyMjE3ZmU0OTVkNDdlMmNkZGRkNDcxZTA0ZjAwNDJlNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAg
LTM3LDYgKzM3LDggQEAKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VySm9iRGF0YS5oIgogI2luY2x1
ZGUgIlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaCIKICNpbmNsdWRlICJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlci5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlclRocmVhZC5oIgorI2luY2x1
ZGUgIlNoYXJlZFdvcmtlclRocmVhZFByb3h5LmgiCiAjaW5jbHVkZSAiV29ya2VyLmgiCiAjaW5j
bHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3Bp
ZXIuaD4KQEAgLTExNCwxNyArMTE2LDMzIEBAIHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpzdGFy
dFNjcmlwdEZldGNoRm9yU2VydmVyKFNlcnZpY2VXb3JrZXJKb2JJZGVudGlmaWVyIGpvCiB9CiAK
IAorc3RhdGljIHZvaWQgcG9zdE1lc3NhZ2VUb0NvbnRhaW5lcihTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0LCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VX
b3JrZXJEYXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQoreworICAgIGlm
IChhdXRvKiBjb250YWluZXIgPSBjb250ZXh0LmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIo
KSkKKyAgICAgICAgY29udGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZN
b3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworfQorCiB2b2lkIFNXQ2xp
ZW50Q29ubmVjdGlvbjo6cG9zdE1lc3NhZ2VUb1NlcnZpY2VXb3JrZXJDbGllbnQoU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dElkZW50aWZpZXIgZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllciwgTWVz
c2FnZVdpdGhNZXNzYWdlUG9ydHMmJiBtZXNzYWdlLCBTZXJ2aWNlV29ya2VyRGF0YSYmIHNvdXJj
ZURhdGEsIFN0cmluZyYmIHNvdXJjZU9yaWdpbikKIHsKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogCi0gICAgLy8gRklYTUU6IGRlc3RpbmF0aW9uQ29udGV4dElkZW50aWZpZXIgY2FuIG9u
bHkgaWRlbnRpZnkgYSBEb2N1bWVudCBhdCB0aGUgbW9tZW50LgotICAgIGF1dG8qIGRlc3RpbmF0
aW9uRG9jdW1lbnQgPSBEb2N1bWVudDo6YWxsRG9jdW1lbnRzTWFwKCkuZ2V0KGRlc3RpbmF0aW9u
Q29udGV4dElkZW50aWZpZXIpOwotICAgIGlmICghZGVzdGluYXRpb25Eb2N1bWVudCkKKyAgICBp
ZiAoYXV0byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAo
KS5nZXQoZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcikpIHsKKyAgICAgICAgcG9zdE1lc3Nh
Z2VUb0NvbnRhaW5lcigqZGVzdGluYXRpb25Eb2N1bWVudCwgV1RGTW92ZShtZXNzYWdlKSwgV1RG
TW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShzb3VyY2VPcmlnaW4pKTsKICAgICAgICAgcmV0dXJu
OworICAgIH0KIAotICAgIGlmIChhdXRvKiBjb250YWluZXIgPSBkZXN0aW5hdGlvbkRvY3VtZW50
LT5lbnN1cmVTZXJ2aWNlV29ya2VyQ29udGFpbmVyKCkpCi0gICAgICAgIGNvbnRhaW5lci0+cG9z
dE1lc3NhZ2UoV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICBpZiAoYXV0byogd29ya2VyID0gV29ya2VyOjpieUlkZW50aWZp
ZXIoZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcikpIHsKKyAgICAgICAgd29ya2VyLT5wb3N0
VGFza1RvV29ya2VyR2xvYmFsU2NvcGUoW21lc3NhZ2UgPSBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3Vy
Y2VEYXRhID0gV1RGTW92ZShzb3VyY2VEYXRhKS5pc29sYXRlZENvcHkoKSwgc291cmNlT3JpZ2lu
ID0gV1RGTW92ZShzb3VyY2VPcmlnaW4pLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkg
bXV0YWJsZSB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKGNvbnRleHQsIFdU
Rk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2lu
KSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKGF1dG8q
IHNoYXJlZFdvcmtlciA9IFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlkZW50aWZpZXIoZGVz
dGluYXRpb25Db250ZXh0SWRlbnRpZmllcikpIHsKKyAgICAgICAgc2hhcmVkV29ya2VyLT50aHJl
YWQoKS5ydW5Mb29wKCkucG9zdFRhc2soW21lc3NhZ2UgPSBXVEZNb3ZlKG1lc3NhZ2UpLCBzb3Vy
Y2VEYXRhID0gV1RGTW92ZShzb3VyY2VEYXRhKS5pc29sYXRlZENvcHkoKSwgc291cmNlT3JpZ2lu
ID0gV1RGTW92ZShzb3VyY2VPcmlnaW4pLmlzb2xhdGVkQ29weSgpXSAoYXV0byYgY29udGV4dCkg
bXV0YWJsZSB7CisgICAgICAgICAgICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKGNvbnRleHQsIFdU
Rk1vdmUobWVzc2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2lu
KSk7CisgICAgICAgIH0pOworICAgIH0KIH0KIAogc3RhdGljIHZvaWQgZm9yQWxsV29ya2Vycyhj
b25zdCBGdW5jdGlvbjxGdW5jdGlvbjx2b2lkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKT4oKT4m
IGNhbGxiYWNrKQpAQCAtMjQ0LDEzICsyNjIsMTggQEAgdm9pZCBTV0NsaWVudENvbm5lY3Rpb246
Om5vdGlmeUNsaWVudHNPZkNvbnRyb2xsZXJDaGFuZ2UoY29uc3QgSGFzaFNldDxTY3JpcHRFeGUK
ICAgICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoKmRvY3VtZW50LCBTZXJ2aWNlV29ya2VyRGF0
YSB7IG5ld0NvbnRyb2xsZXIgfSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQot
ICAgICAgICBpZiAoYXV0byogd29ya2VyID0gV29ya2VyOjp3b3JrZXJCeUlkZW50aWZpZXIoY2xp
ZW50SWRlbnRpZmllcikpIHsKKyAgICAgICAgaWYgKGF1dG8qIHdvcmtlciA9IFdvcmtlcjo6YnlJ
ZGVudGlmaWVyKGNsaWVudElkZW50aWZpZXIpKSB7CiAgICAgICAgICAgICB3b3JrZXItPnBvc3RU
YXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbmV3Q29udHJvbGxlciA9IG5ld0NvbnRyb2xsZXIuaXNv
bGF0ZWRDb3B5KCldIChhdXRvJiBjb250ZXh0KSBtdXRhYmxlIHsKICAgICAgICAgICAgICAgICB1
cGRhdGVDb250cm9sbGVyKGNvbnRleHQsIFdURk1vdmUobmV3Q29udHJvbGxlcikpOwogICAgICAg
ICAgICAgfSk7CiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgfQotICAgICAgICAvLyBG
SVhNRTogU3VwcG9ydCBzaGFyZWQgd29ya2Vycy4KKyAgICAgICAgaWYgKGF1dG8qIHNoYXJlZFdv
cmtlciA9IFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRp
ZmllcikpIHsKKyAgICAgICAgICAgIHNoYXJlZFdvcmtlci0+dGhyZWFkKCkucnVuTG9vcCgpLnBv
c3RUYXNrKFtuZXdDb250cm9sbGVyID0gbmV3Q29udHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1
dG8mIGNvbnRleHQpIG11dGFibGUgeworICAgICAgICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIo
Y29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVyKSk7CisgICAgICAgICAgICB9KTsKKyAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAK
aW5kZXggZGI4ZDQwMGEzNzU0NGRjOGJlMjFkYzEwNmIyMzE2MGI0ODFmOGEwYS4uOTRmMTU0OTUw
NDU4Y2U2YzViMjgxZTViNDBhNzAzYmFkNGM4MjdmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWluZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFpbmVyLmNwcApAQCAt
NTgsNiArNTgsNyBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRhLmgiCiAjaW5jbHVk
ZSAiU2VydmljZVdvcmtlclByb3ZpZGVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclRocmVh
ZC5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29y
a2VyRmV0Y2hSZXN1bHQuaCIKICNpbmNsdWRlICJXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24uaCIK
ICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgpAQCAtMTMzLDcgKzEzNCw3IEBAIGF1
dG8gU2VydmljZVdvcmtlckNvbnRhaW5lcjo6cmVhZHkoKSAtPiBSZWFkeVByb21pc2UmCiBTZXJ2
aWNlV29ya2VyKiBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpjb250cm9sbGVyKCkgY29uc3QKIHsK
ICAgICBhdXRvKiBjb250ZXh0ID0gc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOwotICAgIEFTU0VS
VF9XSVRIX01FU1NBR0UoIWNvbnRleHQgfHwgaXM8RG9jdW1lbnQ+KCpjb250ZXh0KSB8fCBpczxE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4oKmNvbnRleHQpIHx8ICFjb250ZXh0LT5hY3RpdmVT
ZXJ2aWNlV29ya2VyKCksICJPbmx5IGRvY3VtZW50cyBhbmQgZGVkaWNhdGVkIHdvcmtlcnMgY2Fu
IGhhdmUgYSBjb250cm9sbGVyIGF0IHRoZSBtb21lbnQuIik7CisgICAgQVNTRVJUX1dJVEhfTUVT
U0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRleHQpIHx8IGlzPERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgIHx8IGlzPFNoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
PigqY29udGV4dCkgfHwgIWNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9j
dW1lbnRzLCBkZWRpY2F0ZWQgYW5kIHNoYXJlZCB3b3JrZXJzIGNhbiBoYXZlIGEgY29udHJvbGxl
ci4iKTsKICAgICByZXR1cm4gY29udGV4dCA/IGNvbnRleHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIo
KSA6IG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5jcHAKaW5kZXggN2Q0ZTNhYmFhOTNjMjA3ZTk2ZmRlNTJhYjlkYWQ4
MTg2ZWFkNDMzNy4uNTNkMDBhMjRmYWU3NzZlNjQzZTcyZDFjODJjNDhlNWJhMWE0MDkyMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5j
cHAKQEAgLTEwMzksNiArMTAzOSwyOCBAQCB2b2lkIFNXU2VydmVyOjpyZWdpc3RlclNlcnZpY2VX
b3JrZXJDbGllbnQoQ2xpZW50T3JpZ2luJiYgY2xpZW50T3JpZ2luLCBTZXJ2aWNlVwogICAgIG1f
Y2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbi5hZGQoY2xpZW50SWRlbnRpZmllciwgKmNv
bnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIpOwogfQogCitzdGQ6
Om9wdGlvbmFsPFNXU2VydmVyOjpHYXRoZXJlZENsaWVudERhdGE+IFNXU2VydmVyOjpnYXRoZXJD
bGllbnREYXRhKGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3JpZ2luLCBTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQoreworICAgIGF1dG8gY2xpZW50
RGF0YUl0ZXJhdG9yID0gbV9jbGllbnRzQnlJZC5maW5kKGNsaWVudElkZW50aWZpZXIpOworICAg
IGlmIChjbGllbnREYXRhSXRlcmF0b3IgPT0gbV9jbGllbnRzQnlJZC5lbmQoKSkKKyAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgIGF1dG8gY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yID0g
bV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmZpbmQoY2xpZW50SWRlbnRpZmllcik7
CisgICAgaWYgKGNvbnRyb2xsaW5nUmVnaXN0cmF0aW9JdGVyYXRvciA9PSBtX2NsaWVudFRvQ29u
dHJvbGxpbmdSZWdpc3RyYXRpb24uZW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBh
dXRvIGNsaWVudHNQZXJPcmlnaW5JdGVyYXRvciA9IG1fY2xpZW50SWRlbnRpZmllcnNQZXJPcmln
aW4uZmluZChjbGllbnRPcmlnaW4pOworICAgIGlmIChjbGllbnRzUGVyT3JpZ2luSXRlcmF0b3Ig
PT0gbV9jbGllbnRJZGVudGlmaWVyc1Blck9yaWdpbi5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIHJldHVybiBHYXRoZXJlZENsaWVudERhdGEgeworICAgICAgICBjbGllbnRPcmln
aW4sCisgICAgICAgIGNsaWVudERhdGFJdGVyYXRvci0+dmFsdWUsCisgICAgICAgIGNvbnRyb2xs
aW5nUmVnaXN0cmF0aW9JdGVyYXRvci0+dmFsdWUsCisgICAgICAgIGNsaWVudHNQZXJPcmlnaW5J
dGVyYXRvci0+dmFsdWUudXNlckFnZW50CisgICAgfTsKK30KKwogdm9pZCBTV1NlcnZlcjo6dW5y
ZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmln
aW4sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCiB7
CiAgICAgYXV0byBjbGllbnRSZWdpc3RyYWJsZURvbWFpbiA9IGNsaWVudE9yaWdpbi5jbGllbnRS
ZWdpc3RyYWJsZURvbWFpbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L3NlcnZlci9TV1NlcnZlci5oCmluZGV4IDdhYTg3MmM5NGNjOTM2MGZiOGI0NjMwNTEyZTM5YmY5
MDAwNDUyZGQuLjMzYTgxNDBhNThjNDhhODVlODdlYjMzZWNiOWM2ZDQ0NGYyYmJiOGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKQEAg
LTI0Niw2ICsyNDYsMTQgQEAgcHVibGljOgogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtl
clJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNsaWVudElkZW50aWZpZXJUb0NvbnRyb2xsaW5nUmVn
aXN0cmF0aW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKSBjb25zdDsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIGZvckVhY2hDbGllbnRGb3JPcmlnaW4oY29uc3QgQ2xpZW50T3Jp
Z2luJiwgY29uc3QgRnVuY3Rpb248dm9pZChTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYpPiYpOwog
CisgICAgc3RydWN0IEdhdGhlcmVkQ2xpZW50RGF0YSB7CisgICAgICAgIENsaWVudE9yaWdpbiBj
bGllbnRPcmlnaW47CisgICAgICAgIFNlcnZpY2VXb3JrZXJDbGllbnREYXRhIHNlcnZpY2VXb3Jr
ZXJDbGllbnREYXRhOworICAgICAgICBzdGQ6Om9wdGlvbmFsPFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb25JZGVudGlmaWVyPiBjb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVu
dGlmaWVyOworICAgICAgICBTdHJpbmcgdXNlckFnZW50OworICAgIH07CisgICAgV0VCQ09SRV9F
WFBPUlQgc3RkOjpvcHRpb25hbDxHYXRoZXJlZENsaWVudERhdGE+IGdhdGhlckNsaWVudERhdGEo
Y29uc3QgQ2xpZW50T3JpZ2luJiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOwor
CiBwcml2YXRlOgogICAgIHVuc2lnbmVkIG1heFJlZ2lzdHJhdGlvbkNvdW50KCk7CiAgICAgYm9v
bCBhbGxvd0xvb3BiYWNrSVBBZGRyZXNzKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25u
ZWN0aW9uLmNwcAppbmRleCAzMDhiYmZhNmFmOTAzMDA5NTZhMmEzOTY4N2U1NWM1ZDczNDllZGI1
Li5iMDRiNzY5YzE0ZDEzMjU2YWE1NWJlNzMyMzQ3NjI3OTliNjJkNjQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlNoYXJlZFdvcmtl
ci5oIgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIgogI2luY2x1ZGUgIldv
cmtlckZldGNoUmVzdWx0LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgi
CiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTQ2LDI1ICs0NywyNSBAQCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBkZWZhdWx0OwogCiBTaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uOjp+U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbigpID0gZGVmYXVsdDsKIAot
dm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xpZW50KFVS
TCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3ZvaWQgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVu
dChVUkwmJiB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIEFTU0VSVChpc01haW5U
aHJlYWQoKSk7CiAKICAgICBhdXRvKiB3b3JrZXJPYmplY3QgPSBTaGFyZWRXb3JrZXI6OmZyb21J
ZGVudGlmaWVyKHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogICAgIENPTk5FQ1RJT05f
UkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXI9JXtwdWJsaWN9cywgd29ya2VyPSVwIiwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmll
ci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCksIHdvcmtlck9iamVjdCk7CiAgICAgaWYgKCF3b3Jr
ZXJPYmplY3QpCi0gICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRjaEVy
cm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24gfSkp
OworICAgICAgICByZXR1cm4gY29tcGxldGlvbkhhbmRsZXIod29ya2VyRmV0Y2hFcnJvcihSZXNv
dXJjZUVycm9yIHsgUmVzb3VyY2VFcnJvcjo6VHlwZTo6Q2FuY2VsbGF0aW9uIH0pLCB7IH0pOwog
CiAgICAgYXV0byBsb2FkZXJJZGVudGlmaWVyID0gKytsb2FkZXJJZGVudGlmaWVyU2VlZDsKICAg
ICBhdXRvIGxvYWRlciA9IG1ha2VVbmlxdWVSZWY8U2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyPihX
VEZNb3ZlKHVybCksICp3b3JrZXJPYmplY3QsIFdURk1vdmUod29ya2VyT3B0aW9ucykpOwogICAg
IGF1dG8gbG9hZGVyUHRyID0gbG9hZGVyLnB0cigpOwogICAgIG1fbG9hZGVycy5hZGQobG9hZGVy
SWRlbnRpZmllciwgV1RGTW92ZShsb2FkZXIpKTsKIAotICAgIGxvYWRlclB0ci0+bG9hZChbdGhp
cywgbG9hZGVySWRlbnRpZmllciwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRp
b25IYW5kbGVyKV0oV29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkgbXV0YWJsZSB7Cisg
ICAgbG9hZGVyUHRyLT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1
dG8mJiBpbml0aWFsaXphdGlvbkRhdGEpIG11dGFibGUgewogICAgICAgICBDT05ORUNUSU9OX1JF
TEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBmaW5pc2hlZCBzY3JpcHQgbG9hZCwgc3Vj
Y2Vzcz0lZCIsIGZldGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKICAgICAgICAgYXV0byBsb2Fk
ZXIgPSBtX2xvYWRlcnMudGFrZShsb2FkZXJJZGVudGlmaWVyKTsKICAgICAgICAgQVNTRVJUKGxv
YWRlcik7Ci0gICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUo
aW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24u
aAppbmRleCBkMmUyNDczNzExNGY2MWRhMjBhZDU5YjdmN2ZiMDBkNWUwNTliYjcwLi4xODI5OWE4
MzU0YTIwMmY3ZDRlMDdlMTY4NTYyN2VjMmU5MmFjMDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5oCkBAIC0zOSw2ICszOSw3IEBAIGNsYXNzIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjsKIAog
c3RydWN0IFNoYXJlZFdvcmtlcktleTsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVj
dCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsKIAogY2xh
c3MgU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFNoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24+IHsKQEAgLTUyLDcgKzUzLDcgQEAgcHVibGljOgogCiBw
cm90ZWN0ZWQ6CiAgICAgLy8gSVBDIG1lc3NhZ2VzLgotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
ZmV0Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZl
dGNoUmVzdWx0JiYpPiYmKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGZldGNoU2NyaXB0SW5D
bGllbnQoVVJMJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtl
ck9wdGlvbnMmJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
bm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29tcGxldGlvbihXZWJDb3JlOjpTaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZUVycm9yJik7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoU2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQg
Y29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIu
Y3BwCmluZGV4IDA3Mjg0ZTAyNzg0M2VjZGM5M2NhOTcxZGZlZDk4YTM2YzllMjMzNzcuLjdlNWI5
NDgxZTNlNTY4MmNiN2RiZmUxZWY0NzgzZWEyNDlmZmJkOGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmNw
cApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgogI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldvcmtlckZldGNoUmVzdWx0
LmgiCisjaW5jbHVkZSAiV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiV29y
a2VyUnVuTG9vcC5oIgogI2luY2x1ZGUgIldvcmtlclNjcmlwdExvYWRlci5oIgogCkBAIC00Mywx
MyArNDQsMTMgQEAgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpTaGFyZWRXb3JrZXJTY3JpcHRM
b2FkZXIoVVJMJiYgdXJsLCBTaGFyZWRXb3JrZXImIHdvcmsKIHsKIH0KIAotdm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3ZvaWQgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOjpsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAg
IEFTU0VSVCghbV9jb21wbGV0aW9uSGFuZGxlcik7CiAgICAgbV9jb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpOwogCiAgICAgYXV0byBzb3VyY2UgPSBtX29wdGlv
bnMudHlwZSA9PSBXb3JrZXJUeXBlOjpNb2R1bGUgPyBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJj
ZTo6TW9kdWxlU2NyaXB0IDogV29ya2VyU2NyaXB0TG9hZGVyOjpTb3VyY2U6OkNsYXNzaWNXb3Jr
ZXJTY3JpcHQ7Ci0gICAgbV9sb2FkZXItPmxvYWRBc3luY2hyb25vdXNseSgqbV93b3JrZXItPnNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3VyY2VSZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBt
X3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25zKG1fb3B0aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0
aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29udGVudFNlY3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6
OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNlcnZpY2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhp
cywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSk7CisgICAgbV9sb2FkZXItPmxvYWRBc3lu
Y2hyb25vdXNseSgqbV93b3JrZXItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgUmVzb3VyY2VS
ZXF1ZXN0KG1fdXJsKSwgc291cmNlLCBtX3dvcmtlci0+d29ya2VyRmV0Y2hPcHRpb25zKG1fb3B0
aW9ucywgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKSwgQ29udGVudFNl
Y3VyaXR5UG9saWN5RW5mb3JjZW1lbnQ6OkVuZm9yY2VXb3JrZXJTcmNEaXJlY3RpdmUsIFNlcnZp
Y2VXb3JrZXJzTW9kZTo6QWxsLCAqdGhpcywgV29ya2VyUnVuTG9vcDo6ZGVmYXVsdE1vZGUoKSwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRlKCkpOwogfQogCiB2b2lk
IFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlTG9h
ZGVySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJikKQEAgLTYx
LDcgKzYyLDEzIEBAIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpub3RpZnlGaW5pc2hl
ZCgpCiB7CiAgICAgaWYgKGF1dG8qIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgPSBtX3dvcmtlci0+
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyAhbV9sb2FkZXItPmZhaWxlZCgpKQogICAgICAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpzY3JpcHRFeGVjdXRpb25D
b250ZXh0LCBtX2xvYWRlci0+aWRlbnRpZmllcigpLCBtX2xvYWRlci0+c2NyaXB0KCkudG9TdHJp
bmcoKSk7Ci0gICAgbV9jb21wbGV0aW9uSGFuZGxlcihtX2xvYWRlci0+ZmV0Y2hSZXN1bHQoKSk7
IC8vIGRlbGV0ZXMgdGhpcy4KKyAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRj
aFJlc3VsdCgpLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgeworI2lmIEVOQUJMRShTRVJWSUNF
X1dPUktFUikKKyAgICAgICAgbV9sb2FkZXItPnRha2VTZXJ2aWNlV29ya2VyRGF0YSgpLAorI2Vu
ZGlmCisgICAgICAgIG1fbG9hZGVyLT5jbGllbnRJZGVudGlmaWVyKCksCisgICAgICAgIG1fbG9h
ZGVyLT51c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIoKQorICAgIH0pOyAvLyBkZWxldGVzIHRoaXMu
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKaW5kZXggNzFjYjRi
NjViYzk5NWM1NWNiZWZiMDFhMzllYzJkMTYxM2YyODFhMi4uNDVlNjVmZjZjMDM2NmNjZDQ4MjI2
MTFhODdhNjU3OWExYWFhODU5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTQwLDEzICs0MCwxNCBA
QCBzdHJ1Y3QgU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE7CiBjbGFzcyBTaGFyZWRXb3Jr
ZXI7CiBjbGFzcyBXb3JrZXJTY3JpcHRMb2FkZXI7CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7
CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJT
Y3JpcHRMb2FkZXIgOiBwcml2YXRlIFdvcmtlclNjcmlwdExvYWRlckNsaWVudCB7CiAgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CiAgICAgU2hhcmVkV29ya2VyU2NyaXB0TG9h
ZGVyKFVSTCYmLCBTaGFyZWRXb3JrZXImLCBXb3JrZXJPcHRpb25zJiYpOwogCi0gICAgdm9pZCBs
b2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAg
IHZvaWQgbG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYsIFdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAKICAgICBjb25zdCBVUkwmIHVybCgpIGNv
bnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgU2hhcmVkV29ya2VyJiB3b3JrZXIoKSB7IHJldHVy
biBtX3dvcmtlci5nZXQoKTsgfQpAQCAtNjAsNyArNjEsNyBAQCBwcml2YXRlOgogICAgIGNvbnN0
IFJlZjxTaGFyZWRXb3JrZXI+IG1fd29ya2VyOwogICAgIGNvbnN0IFJlZjxXb3JrZXJTY3JpcHRM
b2FkZXI+IG1fbG9hZGVyOwogICAgIGNvbnN0IFVSTCBtX3VybDsKLSAgICBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiBtX2NvbXBsZXRpb25IYW5kbGVyOworICAg
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VySW5pdGlh
bGl6YXRpb25EYXRhJiYpPiBtX2NvbXBsZXRpb25IYW5kbGVyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29u
dGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDU4NTk5YWJjOTRlM2JjZDZj
YjJkZTA2MGM3ZGU3Nzc1YTI0YTJiMDcuLjYwNzk2NGM5ZGY3MmFhMWM5MGZhNDNiZjE3NjNhY2Nk
NzUxMTI2NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRl
eHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKQEAgLTQzLDcgKzQzLDEyIEBAIFNo
YXJlZFdvcmtlclRocmVhZDo6U2hhcmVkV29ya2VyVGhyZWFkKFNoYXJlZFdvcmtlcklkZW50aWZp
ZXIgaWRlbnRpZmllciwgY29uc3QKIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2hhcmVkV29ya2Vy
VGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBw
YXJhbWV0ZXJzLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luKQogewogICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIiVwIC0g
U2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZTogbV9pZGVudGlmaWVy
PSUiIFBSSXU2NCwgdGhpcywgbV9pZGVudGlmaWVyLnRvVUludDY0KCkpOwotICAgIHJldHVybiBT
aGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFuZ2UobV9uYW1lLCB7IH0p
LCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiks
IGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICBhdXRvIHNjb3Bl
ID0gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShzdGQ6OmV4Y2hhbmdlKG1fbmFtZSwg
eyB9KSwgcGFyYW1ldGVycywgV1RGTW92ZShvcmlnaW4pLCAqdGhpcywgV1RGTW92ZSh0b3BPcmln
aW4pLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorICAgIGlmIChwYXJhbWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhKQor
ICAgICAgICBzY29wZS0+c2V0QWN0aXZlU2VydmljZVdvcmtlcihTZXJ2aWNlV29ya2VyOjpnZXRP
ckNyZWF0ZShzY29wZS5nZXQoKSwgU2VydmljZVdvcmtlckRhdGEgeyAqcGFyYW1ldGVycy5zZXJ2
aWNlV29ya2VyRGF0YSB9KSk7CisjZW5kaWYKKyAgICByZXR1cm4gc2NvcGU7CiB9CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hh
cmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKaW5kZXgg
MzM3MTg0MzRiMDk1ZTE4NjQwYjgzNzBkYTVlYjM2MTc5Y2I3NDJlNi4uMDE3NTQwZDhkMWM3MmUz
Mjk1MGVlNWIyNWY3YzBlZDA4Mzc1ZDk0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94
eS5jcHAKQEAgLTQ5LDE5ICs0OSwxOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLXN0YXRp
YyBIYXNoU2V0PFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVh
ZFByb3hpZXMoKQorc3RhdGljIEhhc2hNYXA8U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIsIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Kj4mIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hp
ZXMoKQogewotICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxIYXNoU2V0PFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5Kj4+IHNldDsKLSAgICByZXR1cm4gc2V0OworICAgIHN0YXRpYyBNYWluVGhyZWFk
TmV2ZXJEZXN0cm95ZWQ8SGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciwg
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPj4gbWFwOworICAgIHJldHVybiBtYXA7CiB9CiAKLXN0
YXRpYyBXb3JrZXJQYXJhbWV0ZXJzIGdlbmVyYXRlV29ya2VyUGFyYW1ldGVycyhjb25zdCBXb3Jr
ZXJGZXRjaFJlc3VsdCYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJP
cHRpb25zLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgRG9jdW1lbnQmIGRvY3VtZW50KQorc3Rh
dGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtl
ckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9w
dGlvbnMsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgRG9j
dW1lbnQmIGRvY3VtZW50KQogewogICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVz
dWx0Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAg
ICJzaGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJ
ZGVudGlmaWVyKCksCi0gICAgICAgIHVzZXJBZ2VudCwKKyAgICAgICAgV1RGTW92ZShpbml0aWFs
aXphdGlvbkRhdGEudXNlckFnZW50KSwKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxv
YWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksCiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0LmNv
bnRlbnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgZmFsc2UsCkBAIC03NCwyMCArNzQsMjYgQEAg
c3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdv
cmtlckZldGNoUmVzdWx0JiB3b3JrZXIKICAgICAgICAgV29ya2VyVGhyZWFkTW9kZTo6Q3JlYXRl
TmV3VGhyZWFkLAogICAgICAgICB7IH0sCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAg
ICAgICB7IH0sCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnNlcnZpY2VXb3Jr
ZXJEYXRhKSwKICNlbmRpZgotICAgICAgICB7IH0KKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRh
LmNsaWVudElkZW50aWZpZXIudmFsdWVfb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZp
ZXIgeyB9KQogICAgIH07CiB9CiAKLVNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiBwYWdlLCBTaGFyZWRXb3JrZXJJZGVudGlm
aWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYgY2xpZW50T3Jp
Z2luLCBXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIENhY2hlU3RvcmFnZVBy
b3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKK1NoYXJlZFdvcmtlclRocmVhZFByb3h5KiBT
aGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6YnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIGFsbFNoYXJlZFdvcmtlclRo
cmVhZFByb3hpZXMoKS5nZXQoaWRlbnRpZmllcik7Cit9CisKK1NoYXJlZFdvcmtlclRocmVhZFBy
b3h5OjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiBwYWdlLCBTaGFy
ZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9y
aWdpbiYgY2xpZW50T3JpZ2luLCBXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0
LCBXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25EYXRh
JiYgaW5pdGlhbGl6YXRpb25EYXRhLCBDYWNoZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdl
UHJvdmlkZXIpCiAgICAgOiBtX3BhZ2UoV1RGTW92ZShwYWdlKSkKICAgICAsIG1fZG9jdW1lbnQo
Km1fcGFnZS0+bWFpbkZyYW1lKCkuZG9jdW1lbnQoKSkKLSAgICAsIG1fd29ya2VyVGhyZWFkKFNo
YXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGdlbmVyYXRl
V29ya2VyUGFyYW1ldGVycyh3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3b3JrZXJPcHRpb25z
KSwgdXNlckFnZW50LCBtX2RvY3VtZW50KSwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdC5zY3Jp
cHQpLCAqdGhpcywgKnRoaXMsICp0aGlzLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwg
Y2xpZW50T3JpZ2luLnRvcE9yaWdpbi5zZWN1cml0eU9yaWdpbigpLCBtX2RvY3VtZW50LT5pZGJD
b25uZWN0aW9uUHJveHkoKSwgbV9kb2N1bWVudC0+c29ja2V0UHJvdmlkZXIoKSwgSlNDOjpSdW50
aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkpCisgICAgLCBtX2NvbnRleHRJZGVudGlmaWVy
KCppbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcikKKyAgICAsIG1fd29ya2VyVGhy
ZWFkKFNoYXJlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGdl
bmVyYXRlV29ya2VyUGFyYW1ldGVycyh3b3JrZXJGZXRjaFJlc3VsdCwgV1RGTW92ZSh3b3JrZXJP
cHRpb25zKSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpLCBtX2RvY3VtZW50KSwgV1RGTW92
ZSh3b3JrZXJGZXRjaFJlc3VsdC5zY3JpcHQpLCAqdGhpcywgKnRoaXMsICp0aGlzLCBXb3JrZXJU
aHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgY2xpZW50T3JpZ2luLnRvcE9yaWdpbi5zZWN1cml0eU9y
aWdpbigpLCBtX2RvY3VtZW50LT5pZGJDb25uZWN0aW9uUHJveHkoKSwgbV9kb2N1bWVudC0+c29j
a2V0UHJvdmlkZXIoKSwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkpCiAg
ICAgLCBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyKGNhY2hlU3RvcmFnZVByb3ZpZGVyKQogewotICAg
IEFTU0VSVCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKHRoaXMpKTsK
LSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKHRoaXMpOworICAgIEFTU0VS
VCghYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY29udGV4dElkZW50
aWZpZXIpKTsKKyAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuYWRkKG1fY29udGV4
dElkZW50aWZpZXIsIHRoaXMpOwogCiAgICAgc3RhdGljIGJvb2wgYWRkZWRMaXN0ZW5lcjsKICAg
ICBpZiAoIWFkZGVkTGlzdGVuZXIpIHsKQEAgLTk4LDggKzEwNCw4IEBAIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5OjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiBwYWdl
LCBTaGFyZWRXCiAKIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Ojp+U2hhcmVkV29ya2VyVGhyZWFk
UHJveHkoKQogewotICAgIEFTU0VSVChhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuY29u
dGFpbnModGhpcykpOwotICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5yZW1vdmUo
dGhpcyk7CisgICAgQVNTRVJUKGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlu
cyhtX2NvbnRleHRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGll
cygpLnJlbW92ZShtX2NvbnRleHRJZGVudGlmaWVyKTsKIH0KIAogU2hhcmVkV29ya2VySWRlbnRp
ZmllciBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6aWRlbnRpZmllcigpIGNvbnN0CkBAIC0xNzUs
NyArMTgxLDcgQEAgdm9pZCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6c2V0UmVzb3VyY2VDYWNo
aW5nRGlzYWJsZWRCeVdlYkluc3BlY3Rvcihib29sKQogCiB2b2lkIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5OjpuZXR3b3JrU3RhdGVDaGFuZ2VkKGJvb2wgaXNPbkxpbmUpCiB7Ci0gICAgZm9yIChh
dXRvKiBwcm94eSA6IGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKSkKKyAgICBmb3IgKGF1
dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLnZhbHVlcygpKQogICAg
ICAgICBwcm94eS0+bm90aWZ5TmV0d29ya1N0YXRlQ2hhbmdlKGlzT25MaW5lKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvY29udGV4dC9T
aGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCmluZGV4IGRhYjNhMTIzZGVlMThkYmI2MjRkNzdmNThl
ZDk4ZDQ0OTRjN2ZhOTkuLjVlM2VhNGIwNmE3Yzg1MDk1NDVkOWZhZmEwMDQ1MzVhNzJhODU1NTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVk
V29ya2VyVGhyZWFkUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9j
b250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKQEAgLTQxLDEyICs0MSwxNSBAQCBjbGFz
cyBTaGFyZWRXb3JrZXJUaHJlYWQ7CiAKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29y
a2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogCiBjbGFz
cyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSBmaW5hbCA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291
bnRlZDxTaGFyZWRXb3JrZXJUaHJlYWRQcm94eT4sIHB1YmxpYyBXb3JrZXJPYmplY3RQcm94eSwg
cHVibGljIFdvcmtlckxvYWRlclByb3h5LCBwdWJsaWMgV29ya2VyRGVidWdnZXJQcm94eSB7CiBw
dWJsaWM6CiAgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gQXJncz4gc3RhdGljIFJlZjxTaGFyZWRX
b3JrZXJUaHJlYWRQcm94eT4gY3JlYXRlKEFyZ3MmJi4uLiBhcmdzKSB7IHJldHVybiBhZG9wdFJl
ZigqbmV3IFNoYXJlZFdvcmtlclRocmVhZFByb3h5KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4u
LikpOyB9CiAgICAgV0VCQ09SRV9FWFBPUlQgflNoYXJlZFdvcmtlclRocmVhZFByb3h5KCk7CiAK
KyAgICBzdGF0aWMgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIGJ5SWRlbnRpZmllcihTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisKICAgICBTaGFyZWRXb3JrZXJJZGVudGlmaWVy
IGlkZW50aWZpZXIoKSBjb25zdDsKICAgICBTaGFyZWRXb3JrZXJUaHJlYWQmIHRocmVhZCgpIHsg
cmV0dXJuIG1fd29ya2VyVGhyZWFkOyB9CiAKQEAgLTU0LDcgKzU3LDcgQEAgcHVibGljOgogICAg
IHZvaWQgc2V0QXNUZXJtaW5hdGluZ09yVGVybWluYXRlZCgpIHsgbV9pc1Rlcm1pbmF0aW5nT3JU
ZXJtaW5hdGVkID0gdHJ1ZTsgfQogCiBwcml2YXRlOgotICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJl
ZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYmLCBTaGFyZWRXb3JrZXJJZGVudGlm
aWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRp
b25zJiYsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdl
PiYmLCBTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4mLCBXb3JrZXJG
ZXRjaFJlc3VsdCYmLCBXb3JrZXJPcHRpb25zJiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYm
LCBDYWNoZVN0b3JhZ2VQcm92aWRlciYpOwogCiAgICAgLy8gV29ya2VyT2JqZWN0UHJveHkuCiAg
ICAgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCkgZmluYWw7CkBAIC03OCw2ICs4MSw3IEBAIHByaXZhdGU6CiAKICAgICBVbmlxdWVS
ZWY8UGFnZT4gbV9wYWdlOwogICAgIFJlZjxEb2N1bWVudD4gbV9kb2N1bWVudDsKKyAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBtX2NvbnRleHRJZGVudGlmaWVyOwogICAgIFJl
ZjxTaGFyZWRXb3JrZXJUaHJlYWQ+IG1fd29ya2VyVGhyZWFkOwogICAgIENhY2hlU3RvcmFnZVBy
b3ZpZGVyJiBtX2NhY2hlU3RvcmFnZVByb3ZpZGVyOwogICAgIFJlZlB0cjxDYWNoZVN0b3JhZ2VD
b25uZWN0aW9uPiBtX2NhY2hlU3RvcmFnZUNvbm5lY3Rpb247CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggYjU3
NGUwMmY5YWE4NmVmNzE3M2ZiOTY4YzA0NWRmNDliNTI4M2M0NS4uN2U0MDg1ZWQ2NWZjZDFkOWQ0
NDliY2Q1ODU3NjE2NmI0NDI1MGZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMTIxNSwxMiArMTIxNSwy
MSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6cmVzdGFydE5ldHdvcmtMb2FkKFdlYkNv
cmU6OlJlc291cmNlUmVxdWVzdCYmIG5ld1JlcQogICAgIHN0YXJ0TmV0d29ya0xvYWQoV1RGTW92
ZShuZXdSZXF1ZXN0KSwgRmlyc3RMb2FkOjpObyk7CiB9CiAKKyNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCitzdGF0aWMgYm9vbCBzaG91bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVj
dGlvbihjb25zdCBGZXRjaE9wdGlvbnMmIG9wdGlvbnMsIGJvb2wgaXNTZXJ2aWNlV29ya2VyTG9h
ZGVkKQoreworICAgIGlmIChvcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZp
Z2F0ZSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGlzU2VydmljZVdvcmtlckxv
YWRlZCAmJiAob3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9u
OjpXb3JrZXIgfHwgb3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uOjpTaGFyZWR3b3JrZXIpOworfQorI2VuZGlmCisKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXF1ZXN0
LCBib29sIGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzKQogewogICAgIExPQURFUl9S
RUxFQVNFX0xPRygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IChpc0FsbG93ZWRUb0Fza1VzZXJG
b3JDcmVkZW50aWFscz0lZCkiLCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscyk7CiAK
ICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAgaWYgKHBhcmFtZXRlcnMoKS5vcHRpb25z
Lm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCAocGFyYW1ldGVycygpLm9w
dGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYm
IG1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKKyAgICBpZiAoc2hvdWxkVHJ5VG9NYXRjaFJl
Z2lzdHJhdGlvbk9uUmVkaXJlY3Rpb24ocGFyYW1ldGVycygpLm9wdGlvbnMsICEhbV9zZXJ2aWNl
V29ya2VyRmV0Y2hUYXNrKSkgewogICAgICAgICBtX3NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
PSB7IH07CiAgICAgICAgIGlmIChhdXRvIHNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgPSBtX2Nvbm5l
Y3Rpb24tPmNyZWF0ZUZldGNoVGFzaygqdGhpcywgbmV3UmVxdWVzdCkpIHsKICAgICAgICAgICAg
IExPQURFUl9SRUxFQVNFX0xPRygiY29udGludWVXaWxsU2VuZFJlcXVlc3Q6IENyZWF0ZWQgYSBT
ZXJ2aWNlV29ya2VyRmV0Y2hUYXNrIHRvIGhhbmRsZSB0aGUgcmVkaXJlY3QgKGZldGNoSWRlbnRp
Zmllcj0lIiBQUkl1NjQgIikiLCBzZXJ2aWNlV29ya2VyRmV0Y2hUYXNrLT5mZXRjaElkZW50aWZp
ZXIoKS50b1VJbnQ2NCgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAK
aW5kZXggY2YzMGRlNDlmY2IwOTk4MWNmN2UzZDYxMWViMjllZGI5ZGE0OGVjYy4uZWFlYWEzZDkz
MzQxOWQxNTkwZDk1M2I5M2UxZjNlZjYwYzg4NWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2Vy
dmVyQ29ubmVjdGlvbi5jcHAKQEAgLTE2OSw2ICsxNjksOCBAQCB2b2lkIFdlYlNXU2VydmVyQ29u
bmVjdGlvbjo6Y29udHJvbENsaWVudChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cyYgcAogICAgIFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlIGNsaWVudFR5cGU7CiAgICAgaWYgKHBh
cmFtZXRlcnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6V29ya2VyKQogICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6
OldvcmtlcjsKKyAgICBlbHNlIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcikKKyAgICAgICAgY2xpZW50
VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpTaGFyZWR3b3JrZXI7CiAgICAgZWxzZQog
ICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6OldpbmRvdzsKIApA
QCAtMjAxLDcgKzIwMyw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxTZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
PiBXZWJTV1NlcnZlckNvbm5lY3Rpb246OmNyZWF0ZUZldGNoVGFzayhOCiAgICAgICAgIHJldHVy
biBudWxscHRyOwogCiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9u
SWRlbnRpZmllcj4gc2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI7Ci0gICAgaWYg
KGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6
TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZl
dGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlcikgeworICAgIGlmIChsb2FkZXIucGFyYW1l
dGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxv
YWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRl
c3RpbmF0aW9uOjpXb3JrZXIgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0
aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcikgewogICAgICAg
ICBhdXRvIHRvcE9yaWdpbiA9IGxvYWRlci5wYXJhbWV0ZXJzKCkuaXNNYWluRnJhbWVOYXZpZ2F0
aW9uID8gU2VjdXJpdHlPcmlnaW5EYXRhOjpmcm9tVVJMKHJlcXVlc3QudXJsKCkpIDogbG9hZGVy
LnBhcmFtZXRlcnMoKS50b3BPcmlnaW4tPmRhdGEoKTsKICAgICAgICAgYXV0byogcmVnaXN0cmF0
aW9uID0gZG9SZWdpc3RyYXRpb25NYXRjaGluZyh0b3BPcmlnaW4sIHJlcXVlc3QudXJsKCkpOwog
ICAgICAgICBpZiAoIXJlZ2lzdHJhdGlvbikKQEAgLTY4Myw2ICs2ODUsMTYgQEAgdm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OnRyYW5zZmVyU2VydmljZVdvcmtlckxvYWRUb05ld1dlYlByb2Nl
c3MoTmV0d29ya1Jlc28KICAgICBjb250cm9sQ2xpZW50KGxvYWRlci5wYXJhbWV0ZXJzKCksIHJl
Z2lzdHJhdGlvbiwgbG9hZGVyLm9yaWdpbmFsUmVxdWVzdCgpKTsKIH0KIAorc3RkOjpvcHRpb25h
bDxTV1NlcnZlcjo6R2F0aGVyZWRDbGllbnREYXRhPiBXZWJTV1NlcnZlckNvbm5lY3Rpb246Omdh
dGhlckNsaWVudERhdGEoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRl
bnRpZmllcikKK3sKKyAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllci5wcm9jZXNzSWRlbnRpZmll
cigpID09IGlkZW50aWZpZXIoKSk7CisgICAgYXV0byBpdGVyYXRvciA9IG1fY2xpZW50T3JpZ2lu
cy5maW5kKGNsaWVudElkZW50aWZpZXIpOworICAgIGlmIChpdGVyYXRvciA9PSBtX2NsaWVudE9y
aWdpbnMuZW5kKCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4gc2VydmVyKCku
Z2F0aGVyQ2xpZW50RGF0YShpdGVyYXRvci0+dmFsdWUsIGNsaWVudElkZW50aWZpZXIpOworfQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIENPTk5FQ1RJT05fTUVTU0FHRV9DSEVD
S19DT01QTEVUSU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1Nl
cnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdv
cmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgKaW5kZXggNGYw
MjVlMjE5MTFmMzJiNmVhMGYzZDJhOTk3ZTU4OTllMzgwYWI0NS4uMjFjZTU2MzRkYzg5NDU4NmY1
NmFjNzYzODU1OTc1OTk0NjEwMDE2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaApAQCAtODUsNiArODUsMTAgQEAgcHVibGljOgogICAgIHZvaWQgZmV0Y2hUYXNrVGltZWRP
dXQoV2ViQ29yZTo6U2VydmljZVdvcmtlcklkZW50aWZpZXIpOwogCiAgICAgdm9pZCB0cmFuc2Zl
clNlcnZpY2VXb3JrZXJMb2FkVG9OZXdXZWJQcm9jZXNzKE5ldHdvcmtSZXNvdXJjZUxvYWRlciYs
IFdlYkNvcmU6OlNXU2VydmVyUmVnaXN0cmF0aW9uJik7CisgICAgc3RkOjpvcHRpb25hbDxXZWJD
b3JlOjpTV1NlcnZlcjo6R2F0aGVyZWRDbGllbnREYXRhPiBnYXRoZXJDbGllbnREYXRhKFdlYkNv
cmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKworICAgIHZvaWQgcmVnaXN0
ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpT
ZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmluZyYmIHVzZXJBZ2VudCk7
CisgICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBXZWJDb3JlOjpT
Y3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciYpOwogCiBwcml2YXRlOgogICAgIC8vIElt
cGxlbWVudCBTV1NlcnZlcjo6Q29ubmVjdGlvbiAoTWVzc2FnZXMgdG8gdGhlIGNsaWVudCBXZWJQ
cm9jZXNzKQpAQCAtMTEwLDggKzExNCw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBtYXRjaFJlZ2lz
dHJhdGlvbihjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9yaWdpbiwgY29u
c3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4mJik+JiYpOwogICAgIHZvaWQg
Z2V0UmVnaXN0cmF0aW9ucyhjb25zdCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbkRhdGEmIHRvcE9y
aWdpbiwgY29uc3QgVVJMJiBjbGllbnRVUkwsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3Qg
VmVjdG9yPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25EYXRhPiYpPiYmKTsKIAot
ICAgIHZvaWQgcmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KFdlYkNvcmU6OkNsaWVudE9yaWdp
biYmLCBXZWJDb3JlOjpTZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSYmLCBjb25zdCBzdGQ6Om9wdGlv
bmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiYsIFN0cmlu
ZyYmIHVzZXJBZ2VudCk7Ci0gICAgdm9pZCB1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChj
b25zdCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciYpOwogICAgIHZv
aWQgdGVybWluYXRlV29ya2VyRnJvbUNsaWVudChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHdoZW5TZXJ2aWNl
V29ya2VySXNUZXJtaW5hdGVkRm9yVGVzdGluZyhXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
ZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmNwcCBi
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
ci5jcHAKaW5kZXggZTYxNjFlOTYzMzYwYTU5MDg4MGY4MzMzYTI2NTg1NDU1ZTY1M2Y5MC4uZWM3
MmI3NGYyZjU4ZTE5YTc1OTg3MGQ0NjFhODQyZjY5NzBiMjMxYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXIuY3BwCkBAIC03MiwxMSArNzIsOSBAQCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiBX
ZWJTaGFyZWRXb3JrZXI6OnJlZ2lzdHJhYmxlRG9tYWluKCkgY29uc3QKICAgICByZXR1cm4gV2Vi
Q29yZTo6UmVnaXN0cmFibGVEb21haW4geyB1cmwoKSB9OwogfQogCi12b2lkIFdlYlNoYXJlZFdv
cmtlcjo6c2V0RmV0Y2hSZXN1bHQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJl
c3VsdCwgV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiogY29udGV4dENv
bm5lY3Rpb24pCit2b2lkIFdlYlNoYXJlZFdvcmtlcjo6c2V0RmV0Y2hSZXN1bHQoV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKIHsKICAgICBtX2ZldGNoUmVzdWx0ID0g
V1RGTW92ZShmZXRjaFJlc3VsdCk7Ci0gICAgaWYgKGNvbnRleHRDb25uZWN0aW9uKQotICAgICAg
ICBsYXVuY2goKmNvbnRleHRDb25uZWN0aW9uKTsKIH0KIAogdm9pZCBXZWJTaGFyZWRXb3JrZXI6
OmRpZENyZWF0ZUNvbnRleHRDb25uZWN0aW9uKFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4
dENvbm5lY3Rpb24mIGNvbnRleHRDb25uZWN0aW9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaAppbmRl
eCAzY2M0YTY4OWQ1ZWVjNTQ1NWUwYjBkY2FlOTcwN2YzZWUwNzdiMTY1Li5lMGRmNjljYmNhNDYx
ODNmM2YzYTk2ZmE5ODczMDhhMjBhYzJmNDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXIuaApAQCAt
MzAsNiArMzAsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
Zmllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVHJhbnNmZXJyZWRNZXNzYWdlUG9ydC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dv
cmtlckluaXRpYWxpemF0aW9uRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VyT3B0aW9u
cy5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKQEAgLTcxLDEwICs3MiwxNSBAQCBwdWJs
aWM6CiAgICAgYm9vbCBpc1J1bm5pbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUnVubmluZzsgfQog
ICAgIHZvaWQgbWFya0FzUnVubmluZygpIHsgbV9pc1J1bm5pbmcgPSB0cnVlOyB9CiAKKyAgICBj
b25zdCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmIGluaXRpYWxpemF0aW9uRGF0
YSgpIGNvbnN0IHsgcmV0dXJuIG1faW5pdGlhbGl6YXRpb25EYXRhOyB9CisgICAgdm9pZCBzZXRJ
bml0aWFsaXphdGlvbkRhdGEoV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5p
dGlhbGl6YXRpb25EYXRhKSB7IG1faW5pdGlhbGl6YXRpb25EYXRhID0gV1RGTW92ZShpbml0aWFs
aXphdGlvbkRhdGEpOyB9CisKICAgICBjb25zdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYg
ZmV0Y2hSZXN1bHQoKSBjb25zdCB7IHJldHVybiBtX2ZldGNoUmVzdWx0OyB9Ci0gICAgdm9pZCBz
ZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJTaGFyZWRXb3Jr
ZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uKik7CisgICAgdm9pZCBzZXRGZXRjaFJlc3VsdChX
ZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKTsKICAgICBib29sIGRpZEZpbmlzaEZldGNoaW5n
KCkgY29uc3QgeyByZXR1cm4gISFtX2ZldGNoUmVzdWx0LnNjcmlwdDsgfQogCisgICAgdm9pZCBs
YXVuY2goV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYpOworCiBwcml2
YXRlOgogICAgIFdlYlNoYXJlZFdvcmtlcihXZWJTaGFyZWRXb3JrZXImJikgPSBkZWxldGU7CiAg
ICAgV2ViU2hhcmVkV29ya2VyJiBvcGVyYXRvcj0oV2ViU2hhcmVkV29ya2VyJiYpID0gZGVsZXRl
OwpAQCAtODMsNyArODksNiBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzdXNwZW5kSWZOZWVkZWQo
KTsKICAgICB2b2lkIHJlc3VtZUlmTmVlZGVkKCk7Ci0gICAgdm9pZCBsYXVuY2goV2ViU2hhcmVk
V29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYpOwogCiAgICAgc3RydWN0IFNoYXJlZFdv
cmtlck9iamVjdFN0YXRlIHsKICAgICAgICAgYm9vbCBpc1N1c3BlbmRlZCB7IGZhbHNlIH07CkBA
IC05Niw2ICsxMDEsNyBAQCBwcml2YXRlOgogICAgIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgbV93
b3JrZXJPcHRpb25zOwogICAgIEhhc2hNYXA8V2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgU2hhcmVkV29ya2VyT2JqZWN0U3RhdGU+IG1fc2hhcmVkV29ya2VyT2JqZWN0czsK
ICAgICBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCBtX2ZldGNoUmVzdWx0OworICAgIFdlYkNv
cmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSBtX2luaXRpYWxpemF0aW9uRGF0YTsKICAgICBi
b29sIG1faXNSdW5uaW5nIHsgZmFsc2UgfTsKICAgICBib29sIG1faXNTdXNwZW5kZWQgeyBmYWxz
ZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVk
V29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCmluZGV4IDQwZDNm
MjJiZGFjYzlhODg4NzA3ZmFkZGM1NjBmMDg1ZmM2MDkwM2MuLjM4Yzc2YzY2MTM1ZDdmOThjMTMy
MzBhZWU5OGRlYWI1ZWM4NWU1NTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVy
LmNwcApAQCAtODcsMTMgKzg3LDEzIEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpyZXF1
ZXN0U2hhcmVkV29ya2VyKFdlYkNvcmU6OlNoYXJlZFdvcmtlcktleSYmIHNoYXJlCiAgICAgQVNT
RVJUKHNlcnZlckNvbm5lY3Rpb24pOwogCiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29ya2VyLCAi
V2ViU2hhcmVkV29ya2VyU2VydmVyOjpyZXF1ZXN0U2hhcmVkV29ya2VyOiBGZXRjaGluZyBzaGFy
ZWQgd29ya2VyIHNjcmlwdCBpbiBjbGllbnQiKTsKLSAgICBzZXJ2ZXJDb25uZWN0aW9uLT5mZXRj
aFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZp
ZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRXb3JrZXIgPSBXZWFrUHRy
IHsgKnNoYXJlZFdvcmtlciB9XShXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVz
dWx0KSB7CisgICAgc2VydmVyQ29ubmVjdGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVudCgqc2hhcmVk
V29ya2VyLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXZWFrUHRy
IHsgKnRoaXMgfSwgc2hhcmVkV29ya2VyID0gV2Vha1B0ciB7ICpzaGFyZWRXb3JrZXIgfV0oYXV0
byYmIGZldGNoUmVzdWx0LCBhdXRvJiYgaW5pdGlhbGl6YXRpb25EYXRhKSB7CiAgICAgICAgIGlm
ICh3ZWFrVGhpcyAmJiBzaGFyZWRXb3JrZXIpCi0gICAgICAgICAgICB3ZWFrVGhpcy0+ZGlkRmlu
aXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJlZFdvcmtlciwgV1RGTW92ZShmZXRj
aFJlc3VsdCkpOworICAgICAgICAgICAgd2Vha1RoaXMtPmRpZEZpbmlzaEZldGNoaW5nU2hhcmVk
V29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIsIFdURk1vdmUoZmV0Y2hSZXN1bHQpLCBXVEZNb3Zl
KGluaXRpYWxpemF0aW9uRGF0YSkpOwogICAgIH0pOwogfQogCi12b2lkIFdlYlNoYXJlZFdvcmtl
clNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29y
a2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1
bHQpCit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRX
b3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6Oldvcmtl
ckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9u
RGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKIHsKICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3Jr
ZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2Vy
U2NyaXB0IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0ICIsIHNoYXJlZFdvcmtlcj0l
cCwgc3VjY2Vzcz0lZCIsIHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCkudG9VSW50NjQoKSwgJnNo
YXJlZFdvcmtlciwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkpOwogCkBAIC0xMDcsMTAgKzEw
NywxMiBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlkRmluaXNoRmV0Y2hpbmdTaGFy
ZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJgogICAgICAgICByZXR1cm47CiAgICAgfQog
Ci0gICAgYXV0byogY29ubmVjdGlvbiA9IG1fY29udGV4dENvbm5lY3Rpb25zLmdldChzaGFyZWRX
b3JrZXIucmVnaXN0cmFibGVEb21haW4oKSk7Ci0gICAgc2hhcmVkV29ya2VyLnNldEZldGNoUmVz
dWx0KFdURk1vdmUoZmV0Y2hSZXN1bHQpLCBjb25uZWN0aW9uKTsKKyAgICBzaGFyZWRXb3JrZXIu
c2V0SW5pdGlhbGl6YXRpb25EYXRhKFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CisgICAg
c2hhcmVkV29ya2VyLnNldEZldGNoUmVzdWx0KFdURk1vdmUoZmV0Y2hSZXN1bHQpKTsKIAotICAg
IGlmICghY29ubmVjdGlvbikKKyAgICBpZiAoYXV0byogY29ubmVjdGlvbiA9IG1fY29udGV4dENv
bm5lY3Rpb25zLmdldChzaGFyZWRXb3JrZXIucmVnaXN0cmFibGVEb21haW4oKSkpCisgICAgICAg
IHNoYXJlZFdvcmtlci5sYXVuY2goKmNvbm5lY3Rpb24pOworICAgIGVsc2UKICAgICAgICAgY3Jl
YXRlQ29udGV4dENvbm5lY3Rpb24oc2hhcmVkV29ya2VyLnJlZ2lzdHJhYmxlRG9tYWluKCksIHNo
YXJlZFdvcmtlci5maXJzdFNoYXJlZFdvcmtlck9iamVjdFByb2Nlc3MoKSk7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJl
ZFdvcmtlclNlcnZlci5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmgKaW5kZXggYjIwNmFmMmMwZWMyYjI4ZTExOTY4M2Rk
ZTBkZjc0MDFkMDg4Mjk2ZS4uZTYzNzBkNzMzNDMxNGNlN2U3M2M5YTJhZmI3MDI1MzZiZTVhYzhi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIv
V2ViU2hhcmVkV29ya2VyU2VydmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmgKQEAgLTQyLDYgKzQyLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBzdHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtl
ckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBX
b3JrZXJPcHRpb25zOwogfQogCkBAIC03Nyw3ICs3OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBj
cmVhdGVDb250ZXh0Q29ubmVjdGlvbihjb25zdCBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiYs
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6UHJvY2Vzc0lkZW50aWZpZXI+IHJlcXVlc3RpbmdQcm9j
ZXNzSWRlbnRpZmllcik7CiAgICAgYm9vbCBuZWVkc0NvbnRleHRDb25uZWN0aW9uRm9yUmVnaXN0
cmFibGVEb21haW4oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFibGVEb21haW4mKSBjb25zdDsKICAg
ICB2b2lkIGNvbnRleHRDb25uZWN0aW9uQ3JlYXRlZChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uJik7Ci0gICAgdm9pZCBkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtl
clNjcmlwdChXZWJTaGFyZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKTsK
KyAgICB2b2lkIGRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdv
cmtlciYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6OldvcmtlckluaXRp
YWxpemF0aW9uRGF0YSYmKTsKICAgICB2b2lkIHNodXREb3duU2hhcmVkV29ya2VyKGNvbnN0IFdl
YkNvcmU6OlNoYXJlZFdvcmtlcktleSYpOwogCiAgICAgTmV0d29ya1Nlc3Npb24mIG1fc2Vzc2lv
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2Vy
L1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5j
cHAKaW5kZXggOWE2ZDM2NWUzMGM4ZmZiMGY3YTVkMjQ2ZGZlZmFhYjZiMjVhOGJlMS4uMTJmMzVm
NTVlOTUxZTg5OTNjNjU5NzRmZWUwN2VmNTY1ODM5MjY0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3Jr
ZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHAKQEAgLTExNCw3ICsxMTQsNyBA
QCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OnJlc3VtZUZvckJhY2tGb3J3
YXJkQ2FjaGUoV2ViQ29yZTo6U2hhcmVkVwogICAgICAgICBzZXNzaW9uLT5lbnN1cmVTaGFyZWRX
b3JrZXJTZXJ2ZXIoKS5yZXN1bWVGb3JCYWNrRm9yd2FyZENhY2hlKHNoYXJlZFdvcmtlcktleSwg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcik7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2Vy
U2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3Jr
ZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBz
aGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpmZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdl
YlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJ
ZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlh
bGl6YXRpb25EYXRhJiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIENPTk5FQ1RJT05f
UkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXI9JXtwdWJsaWN9cyIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIudG9TdHJpbmco
KS51dGY4KCkuZGF0YSgpKTsKICAgICBzZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OldlYlNo
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OkZldGNoU2NyaXB0SW5DbGllbnQgeyBzaGFyZWRX
b3JrZXIudXJsKCksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIHNoYXJlZFdvcmtlci53
b3JrZXJPcHRpb25zKCkgfSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFy
ZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5oCmluZGV4IGI0MTkxOTY1
YzM0MjVmZjFlMDZhZjM3ZTRiYTI1YjQ1MmM4MmZmYjguLmYxYjcxMmI3Yzg0MjY4NTkxYjcxNTYz
NjY2ZDRjOGZkNjU2YzAxYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXJDb25uZWN0aW9uLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHVibGljOgogCiAgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKSBmaW5hbDsK
IAotICAgIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3JrZXImLCBX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpPiYmKTsKKyAgICB2b2lkIGZldGNoU2Ny
aXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6U2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYpOwog
ICAgIHZvaWQgbm90aWZ5V29ya2VyT2JqZWN0T2ZMb2FkQ29tcGxldGlvbihXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJik7
CiAgICAgdm9pZCBwb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29y
a2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0
Q29ubmVjdGlvbi5jcHAKaW5kZXggNWU0M2YxMWNmM2E2YzM0Zjk5NzdkNTRmYmE2NjFhNTNjOWJh
MzMxNC4uYTgxZWZkMjY2MGZiMTU0OWEyM2ZiMDZjNTRjOWM5MjJmMzUyODYzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3
b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29u
bmVjdGlvbi5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc1By
b3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1vdGVXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSAi
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiV2ViU1dTZXJ2ZXJDb25uZWN0aW9u
LmgiCiAjaW5jbHVkZSAiV2ViU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiV2ViU2hhcmVkV29y
a2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXIuaCIKQEAgLTk5LDcgKzEwMCwyNCBAQCB2b2lkIFdlYlNoYXJlZFdvcmtl
clNlcnZlclRvQ29udGV4dENvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJTaGFyZWRX
b3JrZQogewogICAgIENPTlRFWFRfQ09OTkVDVElPTl9SRUxFQVNFX0xPRygibGF1bmNoU2hhcmVk
V29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCwgc2hhcmVkV29ya2VyLmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAgICBzaGFyZWRXb3JrZXIubWFya0FzUnVubmluZygp
OwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9yaWdpbigpLCBzaGFyZWRX
b3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0aW9ucygpLCBzaGFyZWRX
b3JrZXIuZmV0Y2hSZXN1bHQoKSB9KTsKKyAgICBhdXRvIGluaXRpYWxpemF0aW9uRGF0YSA9IHNo
YXJlZFdvcmtlci5pbml0aWFsaXphdGlvbkRhdGEoKTsKKyAgICBpZiAoYXV0byBjb250ZXh0SWRl
bnRpZmllciA9IGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyKSB7CisgICAgICAg
IGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyID0gU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dElkZW50aWZpZXIgeyBjb250ZXh0SWRlbnRpZmllci0+b2JqZWN0KCksIHdlYlByb2Nlc3NJ
ZGVudGlmaWVyKCkgfTsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGlmIChh
dXRvKiBzZXJ2aWNlV29ya2VyT2xkQ29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbi5uZXR3b3JrUHJv
Y2VzcygpLndlYlByb2Nlc3NDb25uZWN0aW9uKGNvbnRleHRJZGVudGlmaWVyLT5wcm9jZXNzSWRl
bnRpZmllcigpKSkgeworICAgICAgICAgICAgaWYgKGF1dG8qIHN3T2xkQ29ubmVjdGlvbiA9IHNl
cnZpY2VXb3JrZXJPbGRDb25uZWN0aW9uLT5zd0Nvbm5lY3Rpb24oKSkgeworICAgICAgICAgICAg
ICAgIGlmIChhdXRvIGNsaWVudERhdGEgPSBzd09sZENvbm5lY3Rpb24tPmdhdGhlckNsaWVudERh
dGEoKmNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgICAgICAgICBzd09sZENvbm5l
Y3Rpb24tPnVucmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KCpjb250ZXh0SWRlbnRpZmllcik7
CisgICAgICAgICAgICAgICAgICAgIGlmIChhdXRvKiBzd05ld0Nvbm5lY3Rpb24gPSBtX2Nvbm5l
Y3Rpb24uc3dDb25uZWN0aW9uKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudERh
dGEtPnNlcnZpY2VXb3JrZXJDbGllbnREYXRhLmlkZW50aWZpZXIgPSAqaW5pdGlhbGl6YXRpb25E
YXRhLmNsaWVudElkZW50aWZpZXI7CisgICAgICAgICAgICAgICAgICAgICAgICBzd05ld0Nvbm5l
Y3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXVEZNb3ZlKGNsaWVudERhdGEtPmNs
aWVudE9yaWdpbiksIFdURk1vdmUoY2xpZW50RGF0YS0+c2VydmljZVdvcmtlckNsaWVudERhdGEp
LCBjbGllbnREYXRhLT5jb250cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlm
aWVyLCBXVEZNb3ZlKGNsaWVudERhdGEtPnVzZXJBZ2VudCkpOworICAgICAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYK
KyAgICB9CisgICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNo
YXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNo
YXJlZFdvcmtlci5mZXRjaFJlc3VsdCgpLCBpbml0aWFsaXphdGlvbkRhdGEgfSk7CiAgICAgc2hh
cmVkV29ya2VyLmZvckVhY2hTaGFyZWRXb3JrZXJPYmplY3QoWyZdKGF1dG8sIGF1dG8mIHBvcnQp
IHsKICAgICAgICAgcG9zdENvbm5lY3RFdmVudChzaGFyZWRXb3JrZXIsIHBvcnQpOwogICAgIH0p
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3Bw
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDlkNTY5
MTIzNTMwMDQzZGVkZDA5ZTJlMGUwNzVkYzhkMGE1OTAxNDMuLmQ0OTgwOTliMGNhNjgyZDEwMWE3
Njk4YWEyY2YyNjU3NmNkYTQ1NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzUG9vbC5jcHAKQEAgLTU4NywxNSArNTg3LDEzIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVz
dGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhSZW1v
CiAgICAgICAgICAgICB1c2VQcm9jZXNzRm9yUmVtb3RlV29ya2VycygqcHJvY2Vzcyk7CiAgICAg
fQogCi0gICAgYm9vbCBzaG91bGRVc2VTZXBhcmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MgPSB3b3Jr
ZXJUeXBlID09IFJlbW90ZVdvcmtlclR5cGU6OlNlcnZpY2VXb3JrZXIgJiYgc191c2VTZXBhcmF0
ZVNlcnZpY2VXb3JrZXJQcm9jZXNzOwotCiAgICAgLy8gUHJpb3JpdGl6ZSB0aGUgcmVxdWVzdGlu
ZyBXZWJQcm9jZXNzIGZvciBydW5uaW5nIHRoZSBzZXJ2aWNlIHdvcmtlci4KLSAgICBpZiAoIXJl
bW90ZVdvcmtlclByb2Nlc3NQcm94eSAmJiAhc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQ
cm9jZXNzICYmIHJlcXVlc3RpbmdQcm9jZXNzKSB7CisgICAgaWYgKCFyZW1vdGVXb3JrZXJQcm9j
ZXNzUHJveHkgJiYgIXNfdXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzcyAmJiByZXF1ZXN0
aW5nUHJvY2VzcykgewogICAgICAgICBpZiAoJnJlcXVlc3RpbmdQcm9jZXNzLT53ZWJzaXRlRGF0
YVN0b3JlKCkgPT0gd2Vic2l0ZURhdGFTdG9yZSAmJiByZXF1ZXN0aW5nUHJvY2Vzcy0+aXNNYXRj
aGluZ1JlZ2lzdHJhYmxlRG9tYWluKHJlZ2lzdHJhYmxlRG9tYWluKSkKICAgICAgICAgICAgIHVz
ZVByb2Nlc3NGb3JSZW1vdGVXb3JrZXJzKCpyZXF1ZXN0aW5nUHJvY2Vzcyk7CiAgICAgfQogCi0g
ICAgaWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNob3VsZFVzZVNlcGFyYXRlUmVt
b3RlV29ya2VyUHJvY2VzcykgeworICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYm
ICFzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3MpIHsKICAgICAgICAgZm9yIChhdXRv
JiBwcm9jZXNzIDogcHJvY2Vzc1Bvb2wtPm1fcHJvY2Vzc2VzKSB7CiAgICAgICAgICAgICBpZiAo
cHJvY2Vzcy5wdHIoKSA9PSBwcm9jZXNzUG9vbC0+bV9wcmV3YXJtZWRQcm9jZXNzLmdldCgpIHx8
IHByb2Nlc3MtPmlzRHVtbXlQcm9jZXNzUHJveHkoKSkKICAgICAgICAgICAgICAgICBjb250aW51
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xp
ZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4IGEyNzEzN2JmMTJkZGRhYjg3ZDAzYjljNzhjYmZm
YWZmNTNjODU3ZjguLmE1M2QwNjk0YmRjNWQ3YjIxYjAwYTQzOTEwNzExZTdhYzBlZGQyY2UgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29u
bmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dD
bGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTkyLDYgKzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRD
b25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1
dGlvbkNvCiAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGRhdGEuYWN0aXZlV29ya2VyID8gbG9h
ZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VXb3JrZXIoV1RGTW92ZSgqZGF0YS5hY3RpdmVXb3Jr
ZXIpKSA6IGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKwogICAgIGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggNTYwMmZkNzBlZmM3OWYyOGE1ODNlMmJkMjc1NDNmNTRj
NDM5NWZlMi4uZGRkNjMxZGQ1ODIyMTM1ZDUzNTA2YWQ3NThlYWU3NWQyNmYyMjBjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC00
Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFnZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3Jr
ZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25E
YXRhLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC04OSw3ICs5MCw3IEBAIHZvaWQgV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0
b3JlKGNvbnN0IFdlYlByCiAgICAgbV9wcmVmZXJlbmNlc1N0b3JlID0gc3RvcmU7CiB9CiAKLXZv
aWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRX
b3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlv
bnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZl
dGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246
OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNv
cmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVz
dWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0
YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKIHsKICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIs
ICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdv
cmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1NjQsIHNoYXJlZFdvcmtlcklkZW50
aWZpZXIudG9VSW50NjQoKSk7CiAgICAgYXV0byBwYWdlQ29uZmlndXJhdGlvbiA9IFdlYkNvcmU6
OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5Q2xpZW50cyhXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5zZXNzaW9uSUQoKSk7CkBAIC0xMTAsOCArMTExLDE1IEBAIHZvaWQgV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xp
ZW50CiAgICAgICAgIFdlYlBhZ2U6OnVwZGF0ZVNldHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVu
Y2VzU3RvcmUsIHBhZ2UtPnNldHRpbmdzKCkpOwogICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNl
dFN0b3JhZ2VCbG9ja2luZ1BvbGljeShzdGF0aWNfY2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tp
bmdQb2xpY3k+KG1fcHJlZmVyZW5jZXNTdG9yZS0+Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnN0b3JhZ2VCbG9ja2luZ1BvbGljeUtleSgpKSkpOwogICAgIH0KKworICAg
IGlmICghaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudC5pc0VtcHR5KCkpCisgICAgICAgIGlu
aXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQgPSBtX3VzZXJBZ2VudDsKKworICAgIGlmICghaW5p
dGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50aWZpZXIpCisgICAgICAgIGluaXRpYWxpemF0aW9u
RGF0YS5jbGllbnRJZGVudGlmaWVyID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6
OmdlbmVyYXRlKCk7CisKICAgICBwYWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJGZXRj
aFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hSZXN1
bHQucmVmZXJyZXJQb2xpY3kpOwotICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNo
YXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCks
IFdURk1vdmUod29ya2VyT3B0aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigpKTsKKyAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVh
ZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3Zl
KHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0
Y2hSZXN1bHQpLCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9u
RGF0YSksIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwog
CiAgICAgV2ViQ29yZTo6U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJl
Z2lzdGVyU2hhcmVkV29ya2VyVGhyZWFkKFdURk1vdmUoc2hhcmVkV29ya2VyVGhyZWFkUHJveHkp
KTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgK
aW5kZXggYWIzNWNiZDAxODg1Y2ViMzc2MTMxMGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBiOGU2ZjE0
MWJkYTJhYzJjZDdiYzRiNTljYzA4MTAzN2U4N2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29y
a2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIHN0cnVjdCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1
bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlv
bnM7CiB9CiAKQEAgLTU4LDcgKzU5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIElQ
QyBNZXNzYWdlcy4KLSAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRP
cmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2Vy
T3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lkIGxhdW5j
aFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29y
a2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAg
dm9pZCB1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsK
ICAgICB2b2lkIHNldFVzZXJBZ2VudChTdHJpbmcmJiB1c2VyQWdlbnQpIHsgbV91c2VyQWdlbnQg
PSBXVEZNb3ZlKHVzZXJBZ2VudCk7IH0KICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4K
aW5kZXggODJkNWRlZGY4ZmFjNGIzZmRjNDVkNTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZkY2FmMjdh
NzRlYTUzNjU5YTM1ZmFhNWFkMWYxZWIwY2YyYWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEs
NyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24gTm90UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNoU2hhcmVk
V29ya2VyKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3Jl
OjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRj
aFJlc3VsdCB3b3JrZXJGZXRjaFJlc3VsdCkKKyAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0
IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50
aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlv
bnMgd29ya2VyT3B0aW9ucywgc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtl
ckZldGNoUmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHdv
cmtlckluaXRpYWxpemF0aW9uRGF0YSkKICAgICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNo
YXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJh
bnNmZXJyZWRNZXNzYWdlUG9ydCBwb3J0LCBTdHJpbmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1p
bmF0ZVNoYXJlZFdvcmtlcihXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdv
cmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRlUHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9i
amVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggYzI2OWZkMjZhOTFlYmZjYjRjNTRmMGQ2
YzllMGViM2U0YjBkZjYzMi4uYjZjMDRkNjY0YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUxYzM3OGRl
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVk
V29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNo
YXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24gewotICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJM
IHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRp
b25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KQor
ICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2Jq
ZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29y
ZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6Oldvcmtl
ckZldGNoUmVzdWx0IGZldGNoUmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6
YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0YSkKICAgICBOb3RpZnlXb3JrZXJPYmplY3RPZkxv
YWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVk
V29ya2VyT2JqZWN0SWRlbnRpZmllciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAg
ICBQb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0
SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTdHJpbmcgZXJyb3JNZXNz
YWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgU3RyaW5nIHNvdXJjZVVSTCkK
IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCA4OTNjNzJlMGYwNWIyMDUwYmI5Y2Y0ZGMzZTMxOWYxN2VmMDhkNDAzLi4yZTgw
M2FhYzk0YTVhZGE1NzU2MTg0NmZkNWQ3MDg3OTBlOWM2ZmRhIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcg
QEAKKzIwMjItMDQtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAg
ICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRp
b25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkx
MjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIGh0dHAv
d3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9s
bGVkLXNoYXJlZHdvcmtlci5odHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9z
ZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzOiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29y
a2VyLmpzOgorICAgICAgICAqIHBsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1j
bGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDIyLTA0LTI0ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5u
QGFwcGxlLmNvbT4KIAogICAgICAgICBUZXh0VHJhY2tMb2FkZXIgc2hvdWxkIHVzZSBTYW1lT3Jp
Z2luIG1vZGUgYnkgZGVmYXVsdApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMTg4
NjIzODEwZTljYTk5ZDA3MDBhZGVjNDYxNjdjZGQ3ZmViZmVkMy4uMWNmYWRjZTU1MzA4NmVmZjc0
NGQzYjRlMjZkYTIwMjYwODE2YjA5OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUu
Y29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtl
ciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
bWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRl
cmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2Vw
dGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMjItMDQtMjQgIFlvdWVubiBGYWJsZXQgIDx5
b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFRleHRUcmFja0xvYWRlciBzaG91bGQgdXNlIFNh
bWVPcmlnaW4gbW9kZSBieSBkZWZhdWx0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dw
dC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hh
cmVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWY3MDZiM2UxZWY2NGIy
YTAxM2FmYWMyODY1YmMyNzQxZWNiZGUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBSZWdpc3RlciBzZXJ2aWNlIHdvcmtl
cgorUEFTUyBWZXJpZnkgc2hhcmVkIHdvcmtlciBpcyBjb250cm9sbGVkCitQQVNTIFZlcmlmeSBz
aGFyZWQgd29ya2VyIGNhbiBwb3N0IG1lc3NhZ2UgdG8gaXRzIHNlcnZpY2Ugd29ya2VyCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVk
LXNoYXJlZHdvcmtlci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODc1
MTRiODU2YzIyOGI4ZThmYzQ3NzlkZTFiYzM1NDY4NDcyZGJmOAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdv
cmtlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0
IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJzLnN1
Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93LnRl
c3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9j
ZXNzKHRydWUpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBy
ZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcigic2tp
cEZldGNoRXZlbnQtd29ya2VyLmpzIiwgeyBzY29wZSA6ICdyZXNvdXJjZXMnIH0pOworICAgIGFj
dGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7CisgICAgaWYgKGFjdGl2ZVdvcmtlcikK
KyAgICAgICAgcmV0dXJuOworCisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmluc3Rh
bGxpbmc7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGFjdGl2
ZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdzdGF0ZWNoYW5nZScsICgpID0+IHsKKyAgICAgICAg
ICAgIGlmIChhY3RpdmVXb3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAgICAgICAg
ICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiUmVnaXN0ZXIgc2Vydmlj
ZSB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgd29ya2Vy
ID0gbmV3IFNoYXJlZFdvcmtlcigncmVzb3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpz
Jyk7CisgICAgY29uc3QgZXZlbnQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdvcmtl
ci5wb3J0Lm9ubWVzc2FnZSA9IHJlc29sdmUpOworICAgIGFzc2VydF90cnVlKGV2ZW50LmRhdGEu
aXNDb250cm9sbGVkKTsKK30sICJWZXJpZnkgc2hhcmVkIHdvcmtlciBpcyBjb250cm9sbGVkIik7
CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHdvcmtlci5wb3J0LnBvc3RN
ZXNzYWdlKCdwaW5nJyk7CisgICAgY29uc3QgZXZlbnQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNv
bHZlID0+IHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IHJlc29sdmUpOworICAgIGFzc2VydF9lcXVh
bHMoZXZlbnQuZGF0YSwgJ3BvbmcnKTsKK30sICJWZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4gcG9z
dCBtZXNzYWdlIHRvIGl0cyBzZXJ2aWNlIHdvcmtlciIpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMv
cmVzb3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5qcwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44MjU3OWFmZjRjZGYxNGNkOGFiNzlmYzkyODVmMDkwNmI0YmExZTBkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291
cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5qcwpAQCAtMCwwICsxLDggQEAKK29uY29ubmVj
dCA9IGFzeW5jIChlKSA9PiB7IAorICAgIGNvbnN0ICBwb3J0ID0gZS5wb3J0c1swXTsKKyAgICBw
b3J0LnBvc3RNZXNzYWdlKHsgaXNDb250cm9sbGVkIDogISFuYXZpZ2F0b3Iuc2VydmljZVdvcmtl
ci5jb250cm9sbGVyIH0pOworICAgIHBvcnQub25tZXNzYWdlID0gKGV2ZW50KSA9PiB7CisgICAg
ICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoZXZlbnQu
ZGF0YSk7CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IChldmVu
dCkgPT4gcG9ydC5wb3N0TWVzc2FnZShldmVudC5kYXRhKTsKKyAgICB9OworfQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdv
cmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9za2lwRmV0Y2hF
dmVudC13b3JrZXIuanMKaW5kZXggMGNmOTdmZTIzZjhjY2EwNjIxMjIzMmVlZjk5ZWVhNjc1Nzcx
NTYyMS4uMGMwNzM4MmU5YjJhNzJmOTg5ZThkMGI3ZmFkMzA1YjVhMzc3ZTljNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdv
cmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZl
dGNoRXZlbnQtd29ya2VyLmpzCkBAIC0xMiw2ICsxMiwxMCBAQCBhc3luYyBmdW5jdGlvbiBkb1Rl
c3QoZXZlbnQpCiAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZShzZWxmLnJlY2VpdmVk
RmV0Y2gpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGlmIChldmVudC5kYXRhID09PSAi
cGluZyIpIHsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJwb25nIik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CiAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJLTyIpOwog
fQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlw
ZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBkZjczNWZhZmQwN2JmNjE5M2NkM2Ri
MDE1NDNlNTdhMTc4MTQ3YzIyLi44OTI5NjE5YTVjOTI5NGU0NTdhYmI4NzlkN2E4YWNkOTdkZDdh
NjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlw
ZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0
LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZBSUwg
VGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIgY2xpZW50cyBhc3NlcnRf
bm90X2VxdWFsczogU2hhcmVkIHdvcmtlciBjbGllbnQgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQg
Z290IGRpc2FsbG93ZWQgdmFsdWUgdW5kZWZpbmVkCitQQVNTIFRlc3QgQ2xpZW50cy5nZXQoKSB3
aXRoIHdpbmRvdyBhbmQgd29ya2VyIGNsaWVudHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEwYWUu
LjE5NTdkZWNjODc5NzIxYzZiNjIyNWNkMDNjMTVkOThkYTFhZDI1OWYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10
eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIFBBU1MgVmVyaWZ5IG1h
dGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVyaWZ5IG1hdGNoQWxsKCkg
d2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5cGVzIGFzc2VydF9l
cXVhbHM6IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFTUyBWZXJpZnkgbWF0
Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRp
cmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJj
ZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiYTE0ZWRmZTIyY2UwOTJh
N2U5NTIxNTdjNTQ4ZjA5NjUwZGEwY2Q2Li42YTI3ZWRhY2RhYTFjNGViMzg2OWE0MzM4MmU4ZDIy
N2Q0YzZmZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0
aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93
b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTAsMTIg
KzEwLDEyIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3Np
YyBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIg
KG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCi1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
bW9kdWxlIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNo
ZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xh
c3NpYyBTaGFyZWRXb3JrZXIpCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xh
c3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1z
Y29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJv
ciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJv
ciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQt
c2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgY2xlYW51cCBnbG9iYWwgc3RhdGUK
IFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNj
b3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCkBAIC0yMywxMSArMjMsMTEg
QEAgUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNj
b3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNl
ICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRj
aCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNh
dGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3Jp
cHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsg
KHNjb3BlMi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6
IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6
IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BB
U1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIs
IGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMg
U2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENh
c2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNo
KCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBm
cm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUg
KHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVs
ZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6
IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBv
cnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMzUsMTEgKzM1LDExIEBAIFBBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3Jr
ZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2Nv
cGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAj
MjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0
Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERl
ZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29w
ZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3Jr
ZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1zY3Jp
cHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdvcmsi
Ci1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNh
dyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0
IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3Np
YyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENh
c2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBs
b2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlICht
b2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzI6IG5ldHdv
cmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2Vy
dF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBsZS50
eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBDYXNlICMy
OiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgp
KQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVk
V29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0cy1l
Y2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNj
cmlwdHMtZWNoby5weSIKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMg
RGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2go
KTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2go
KTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKQEAgLTQ3LDEwICs0Nywy
MiBAQCBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdv
cmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0XwogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNj
b3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20g
dGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3Vi
ZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20g
dGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Nv
cGUyL3NpbXBsZS50eHQiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUg
RGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5o
cmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rf
d2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0
aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVy
Y2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL2ltcG9ydC1zY3Jp
cHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3Jr
ZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBv
cnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xh
c3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRj
aCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRj
aCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMz
OiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYp
IGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29y
a2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3
JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIK
K1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGlt
cG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBT
aGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBz
dzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0
X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9z
ZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50
ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUl
MjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczov
L2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgogUEFTUyBD
YXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGlt
cG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENh
c2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBv
cnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
RGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1z
Y29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2FzZSAj
NDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3Jp
cHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJl
ZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBzY29w
ZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFT
UyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0
Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRX
b3JrZXIsIGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dv
cmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYWJhMTkwMDY5NGM0
ZTQ5OTRhYTg2ODM5NTI1ODQwYTVkNmY1N2Q4YS4uMDBhZWEyYzhhNmI4YTBkMDY5NWU3NDY4Y2Yy
NzAwMjBkOWQwMTg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVy
Y2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAogUEFT
UyBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEg
dW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2
aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBkZWRpY2F0ZWQgd29ya2Vy
IHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1bWVudCBzaG91bGQg
bm90IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3b3JrZXIuCi1GQUlMIFZl
cmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRy
b2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29y
a2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5kZWZp
bmVkCitQQVNTIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZy
b20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3du
IHNlcnZpY2Ugd29ya2VyLgogUEFTUyBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0
IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVkaWNh
dGVkIHdvcmtlci4KLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2
ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3Jr
ZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmlu
ZWQKK1BBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBz
ZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3JrZXIuCiBQQVNT
IFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBm
YWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBz
Y3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hhcmVkIHdvcmtlciBzdGFy
dC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2
ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFT
UyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBh
IHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFJlZ2lzdGVy
IGEgc2VydmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJyZXNvdXJjZSBpbnRlcmNlcHRpb24gdGVz
dHMuCiBQQVNTIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBjb250cm9sbGVkIGJ5IGEg
c2VydmljZSB3b3JrZXIuCi1GQUlMIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtlciBjb250cm9s
bGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxv
YWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIntcImVycm9yXCI6IHtc
ImNvZGVcIjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFTUyBSZXF1ZXN0cyBvbiBh
IHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgogRkFJTCBSZXF1
ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVzdGVkIGluIGEgZGVkaWNhdGVkIHdvcmtlciBh
bmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhw
ZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtlciIKIEZBSUwgUmVxdWVzdHMg
b24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIHNoYXJlZCB3b3JrZXIgYW5kIGNvbnRy
b2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBs
b2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVkIGVy
cm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBQQVNTIFVucmVnaXN0ZXIgYSBzZXJ2
aWNlIHdvcmtlciBmb3Igc3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVu
dC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmIwZjExNDY3ZjRmNDhiNWFlOTI3YzlmN2ViNWZm
ZmVhYWM3MTBhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50
LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBAQAot
Ci1QQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlMIFZl
cmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVu
dCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQgZ290IDAK
LQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBz
LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2QyM2Q2YjVhYjQ1
MDhlNWI3NDA3NDAwMDI3ZTYyMDUyY2EwMGVhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2Ns
aWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9u
dWxsCkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93
IGNsaWVudCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVk
d29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAndy5wb3J0Lm9ubWVzc2FnZSA9IF8gPT4gcmVzb2x2ZSh3KScpIgotCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458351</attachid>
            <date>2022-04-26 04:52:54 -0700</date>
            <delta_ts>2022-04-26 05:05:38 -0700</delta_ts>
            <desc>Rebasing</desc>
            <filename>bug-239122-20220426135252.patch</filename>
            <type>text/plain</type>
            <size>83775</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJkZjRjM2UxYTk0MmY3
ZGZlMmJhYWRiNzUzOTA2ZDk0ZmRiMmVkZS4uMGIzYmU4ODg2N2EzOWFkOTcxMzUwNzA1OTM4YmFk
NjRlZTBhNjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yNiAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtEYXRhYmFzZVRyYWNrZXJdIFVzZSBQUkl1NjQgZm9yIGxvZ2dpbmcgZm9yIHBvcnRhYmls
aXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGQxYWJlMmRmYTZjMTM0MDM3ZWM3Mjk2NWU3NDU4N2Y2MWRhZTIzMTQu
LmZhOWFhYzRkMmFiMzJiMTEwY2Y5OTMxZmI1ZDFkY2JjZTcwNWNiMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjItMDQtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2Vzcyk6CisKIDIwMjItMDQtMjUgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBOU0NvZGluZyBzdXBwb3J0IGZvciBmaW5kSW50
ZXJhY3Rpb25FbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBkZjI2MWQ0NTc3YWYzOGY1MDA2
OWRjYjRjMWM1YzlkNTE3ZDBmMDcyLi5kMDYwYWQ5ZjMxYWQyZTYxNDgzNzk1MjM3MGJhNTAwMTE5
ZDBhYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE5OTksNiArMTk5OSw3IEBAIHNldChXZWJD
b3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVz
dWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2Jq
ZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKaW5kZXggOWU0MjQ0OGJhMDczYWU5MjBlMzQ3MjQ1YzI2MDgyNGZjOTc0ZjBjNi4u
NjAyM2E2ZjY5YTMyYjg1ZjQ3ZDlmZTIwMzRiNTRjMTYzZDEzMjFhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29y
a2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
CiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkp
OwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlm
aWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAg
cmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRlbnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaAppbmRleCA1M2VkZGYzYWY3YTIxM2NmMjlmNTQzYjUyYTc1YzZiN2IzNmJkNWRhLi4xNjU2
NTI3YjZkYjIxMDgzMTgzMzMzYmU1ZTM1NTk0MTE1MjUxYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtl
ckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsK
IAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciog
d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAg
ICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAppbmRleCA1Njk3MGQwNGEzYTcw
YzE4OTVjZTk3MTk1ODI2ZDA5OWM2NzA4YWVhLi5kY2JlZTFhNzY2NjhlMWQ1MDk1OWZjOTgyZWNl
M2YzYTdjYTE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEu
aCIKKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNiArMzgsNjEgQEAg
c3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CiAjZW5kaWYKICAgICBzdGQ6Om9wdGlv
bmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwog
ICAgIFN0cmluZyB1c2VyQWdlbnQ7CisKKyAgICBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaXNv
bGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBkZWNvZGUoRGVjb2RlciYp
OwogfTsKIAoraW5saW5lIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2aWNlV29ya2Vy
RGF0YSksCisjZW5kaWYKKyAgICAgICAgY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgdXNlckFn
ZW50Lmlzb2xhdGVkQ29weSgpCisgICAgfTsKK30KKworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
Pgordm9pZCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBlbmNvZGVyIDw8IHNl
cnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCisgICAgZW5jb2RlciA8PCBjbGllbnRJZGVudGlmaWVy
IDw8IHVzZXJBZ2VudDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9u
YWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBzZXJ2aWNl
V29ya2VyRGF0YTsKKyAgICBkZWNvZGVyID4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGlmICgh
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHJldHVybiB7IH07CisjZW5kaWYKKworICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4+IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBjbGllbnRJZGVudGlmaWVyOwor
ICAgIGlmICghY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiB1c2VyQWdlbnQ7CisgICAgZGVjb2RlciA+PiB1c2VyQWdlbnQ7
CisgICAgaWYgKCF1c2VyQWdlbnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgICAgIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBXVEZN
b3ZlKCpjbGllbnRJZGVudGlmaWVyKSwKKyAgICAgICAgV1RGTW92ZSgqdXNlckFnZW50KQorICAg
IH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA0MWFhYmM4MDgxODYzYmNmYTUyMjIwNGFj
YTA2MGYzMTcyNjFjYjM3Li5lZmE4Njc3ZTA5MzEyNDZjOWE5NzdhNDc4NjllMGRkYmE5ZjVmZDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBA
IC0xNTYsOCArMTU2LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICAvLyBBIHNlcnZp
Y2Ugd29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBhIHdvcmtlciBjb250ZXh0IG9yIGEg
ZG9jdW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IHNlcnZp
Y2VXb3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHNoYXJlZCB3b3JrZXIuCi0gICAgaWYgKG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIGlzPERvY3VtZW50PihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSkgeworICAgIGlmICgobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpICYmIGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KSkgewogICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7CiAgICAgICAg
IG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElk
ZW50aWZpZXI7CiAgICAgICAgIC8vIEluIGNhc2Ugb2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUg
ZG9jdW1lbnQgY29udHJvbGxpbmcgc2VydmljZSB3b3JrZXIuCkBAIC0xNjgsNiArMTY3LDggQEAg
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICB9IGVsc2UgaWYgKGF1dG8qIGFjdGl2ZVNlcnZp
Y2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkK
ICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFj
dGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKICNlbmRpZgorICAg
IGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdv
cmtlcikKKyAgICAgICAgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LnVzZXJBZ2VudChzY3JpcHRSZXF1ZXN0LnVybCgpKTsKIAogICAgIC8vIER1cmlu
ZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZl
cmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaAppbmRleCBiNjhiMDI0ZDYxM2FlMWRmMmU1YTQ5NTFmNTA5ODlhZDY5NjBlZTQ4Li4zZGEw
YTFkNWE2OTlmNDA3MTdjOTQzNTBkOTQ5YTkzYTU0MzhlNjRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTEwNCw2ICsxMDQsOSBAQCBwdWJsaWM6
CiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gdGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCkgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhLCB7
IH0pOyB9CiAjZW5kaWYKIAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNs
aWVudElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KKyAg
ICBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOyB9CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0
ZDo6ZGVmYXVsdF9kZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEzOSw2ICsxNDIsNyBA
QCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJEYXRhPiBtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhOwogI2VuZGlmCisg
ICAgU3RyaW5nIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dD
bGllbnRDb25uZWN0aW9uLmNwcAppbmRleCA4OGI0ZDg0Yzg5ZTk5YzFjNGYyNWEwODIzMWU0MTFk
ZjU5MDc0ZDUxLi41NWYzNzM1YzIyMTdmZTQ5NWQ0N2UyY2RkZGQ0NzFlMDRmMDA0MmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0
aW9uLmNwcApAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRh
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFk
LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgPHd0Zi9Dcm9z
c1RocmVhZENvcGllci5oPgpAQCAtMTE0LDE3ICsxMTYsMzMgQEAgdm9pZCBTV0NsaWVudENvbm5l
Y3Rpb246OnN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIoU2VydmljZVdvcmtlckpvYklkZW50aWZp
ZXIgam8KIH0KIAogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2Fn
ZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4p
Cit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuZW5zdXJlU2VydmljZVdvcmtl
ckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVz
c2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7Cit9CisK
IHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJE
YXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25Db250ZXh0SWRlbnRp
ZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCi0gICAgYXV0
byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQo
ZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYgKCFkZXN0aW5hdGlvbkRvY3Vt
ZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERv
Y3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAg
ICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBXVEZNb3ZlKG1l
c3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRlc3RpbmF0
aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgY29u
dGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEp
LCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6
OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICB3
b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRl
bnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICBzaGFyZWRX
b3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBmb3JB
bGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MiwxOCBAQCB2b2lkIFNXQ2xpZW50
Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0
PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFNlcnZp
Y2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OndvcmtlckJ5SWRl
bnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBpZiAoYXV0byogd29ya2VyID0g
V29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikpIHsKICAgICAgICAgICAgIHdv
cmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdDb250cm9sbGVyID0gbmV3Q29u
dHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgewogICAgICAg
ICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVy
KSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0g
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJzLgorICAgICAgICBpZiAoYXV0
byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihj
bGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVkV29ya2VyLT50aHJlYWQoKS5y
dW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVk
Q29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgdXBkYXRl
Q29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYwYjQ4MWY4YTBh
Li45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0YzgyN2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclNXQ2xpZW50Q29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzMsNyAr
MTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgpIC0+IFJlYWR5UHJv
bWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xsZXIo
KSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRl
eHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRl
eHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFuZCBkZWRpY2F0ZWQg
d29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAgfHwgaXM8U2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtlcnMgY2FuIGhhdmUg
YSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4dC0+YWN0aXZlU2Vy
dmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA3ZDRlM2FiYWE5M2MyMDdlOTZm
ZGU1MmFiOWRhZDgxODZlYWQ0MzM3Li41M2QwMGEyNGZhZTc3NmU2NDNlNzJkMWM4MmM0OGU1YmEx
YTQwOTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcApAQCAtMTAzOSw2ICsxMDM5LDI4IEBAIHZvaWQgU1dTZXJ2ZXI6OnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNlcnZp
Y2VXCiAgICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmFkZChjbGllbnRJZGVu
dGlmaWVyLCAqY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7
CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4gU1dTZXJ2
ZXI6OmdhdGhlckNsaWVudERhdGEoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAg
YXV0byBjbGllbnREYXRhSXRlcmF0b3IgPSBtX2NsaWVudHNCeUlkLmZpbmQoY2xpZW50SWRlbnRp
Zmllcik7CisgICAgaWYgKGNsaWVudERhdGFJdGVyYXRvciA9PSBtX2NsaWVudHNCeUlkLmVuZCgp
KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjb250cm9sbGluZ1JlZ2lzdHJhdGlv
SXRlcmF0b3IgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24uZmluZChjbGllbnRJ
ZGVudGlmaWVyKTsKKyAgICBpZiAoY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yID09IG1f
Y2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbi5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGF1dG8gY2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yID0gbV9jbGllbnRJZGVudGlm
aWVyc1Blck9yaWdpbi5maW5kKGNsaWVudE9yaWdpbik7CisgICAgaWYgKGNsaWVudHNQZXJPcmln
aW5JdGVyYXRvciA9PSBtX2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luLmVuZCgpKQorICAgICAg
ICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIEdhdGhlcmVkQ2xpZW50RGF0YSB7CisgICAgICAg
IGNsaWVudE9yaWdpbiwKKyAgICAgICAgY2xpZW50RGF0YUl0ZXJhdG9yLT52YWx1ZSwKKyAgICAg
ICAgY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yLT52YWx1ZSwKKyAgICAgICAgY2xpZW50
c1Blck9yaWdpbkl0ZXJhdG9yLT52YWx1ZS51c2VyQWdlbnQKKyAgICB9OworfQorCiB2b2lkIFNX
U2VydmVyOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRl
bnRpZmllcikKIHsKICAgICBhdXRvIGNsaWVudFJlZ2lzdHJhYmxlRG9tYWluID0gY2xpZW50T3Jp
Z2luLmNsaWVudFJlZ2lzdHJhYmxlRG9tYWluKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggN2FhODcyYzk0Y2M5MzYwZmI4YjQ2
MzA1MTJlMzliZjkwMDA0NTJkZC4uMzNhODE0MGE1OGM0OGE4NWU4N2ViMzNlY2I5YzZkNDQ0ZjJi
YmI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaApAQCAtMjQ2LDYgKzI0NiwxNCBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllclRvQ29u
dHJvbGxpbmdSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZm9yRWFjaENsaWVudEZvck9yaWdpbihjb25z
dCBDbGllbnRPcmlnaW4mLCBjb25zdCBGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJik+Jik7CiAKKyAgICBzdHJ1Y3QgR2F0aGVyZWRDbGllbnREYXRhIHsKKyAgICAgICAgQ2xp
ZW50T3JpZ2luIGNsaWVudE9yaWdpbjsKKyAgICAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEg
c2VydmljZVdvcmtlckNsaWVudERhdGE7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI7CisgICAgICAgIFN0cmluZyB1c2VyQWdlbnQ7CisgICAgfTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPEdhdGhlcmVkQ2xpZW50RGF0YT4gZ2F0aGVy
Q2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbWF4UmVnaXN0cmF0aW9uQ291bnQo
KTsKICAgICBib29sIGFsbG93TG9vcGJhY2tJUEFkZHJlc3MoY29uc3QgU3RyaW5nJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
ck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEyYTM5Njg3ZTU1
YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2MmQ2NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKIFNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBk
ZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZldGNoU2NyaXB0
SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVy
IHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNj
cmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2Vy
T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9IFNoYXJlZFdv
cmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcik7CiAgICAg
Q09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2JqZWN0KTsKICAg
ICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHdv
cmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNl
bGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRj
aEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24g
fSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRlcklkZW50aWZp
ZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3b3JrZXJPcHRp
b25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAgbV9sb2FkZXJz
LmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAgbG9hZGVyUHRy
LT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KSBt
dXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBmZXRj
aFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAgICAgICAgIENP
Tk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlzaGVkIHNjcmlw
dCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkpOwogICAgICAg
ICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIpOwogICAgICAg
ICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRj
aFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZldGNoUmVzdWx0
KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFkNTliN2Y3ZmIwMGQ1ZTA1OWJi
NzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTkyYWMwMGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtlckZldGNoUmVz
dWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRp
b25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTIsNyArNTMsNyBAQCBw
dWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmV0
Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVkOThhMzZjOWUy
MzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0OWZmYmQ4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2Vy
RmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OlNoYXJlZFdv
cmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtlciYgd29yawogewogfQogCi12
b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVyKTsKICAgICBtX2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBhdXRvIHNvdXJj
ZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSA/IFdvcmtlclNjcmlwdExv
YWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJjZTo6
Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCpt
X3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwp
LCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2Rl
OjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAgICBtX2xvYWRl
ci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9w
dGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIp
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVj
dGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZh
dWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSk7
CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9
IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+ZmFpbGVkKCkp
CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9hZGVyLT5zY3Jp
cHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRj
aFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhhbmRsZXIobV9s
b2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZpZXIoKSwKKyAg
ICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpCisgICAgfSk7IC8vIGRl
bGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApp
bmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40NWU2NWZmNmMw
MzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDAs
MTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNz
IFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJG
ZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlvbnMmJik7CiAK
LSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYm
KT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hS
ZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAgIGNvbnN0IFVS
TCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3JrZXImIHdvcmtl
cigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBAIHByaXZhdGU6
CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29uc3QgUmVmPFdv
cmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJsOwotICAgIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29tcGxldGlvbkhh
bmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNTg1OTlh
YmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3OTY0YzlkZjcyYWExYzkwZmE0
M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApAQCAtNDMsNyAr
NDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQoU2hhcmVkV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBT
aGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29y
a2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlOiBt
X2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0g
ICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpleGNoYW5nZSht
X25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUo
dG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAg
IGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFu
Z2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZN
b3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMuc2VydmljZVdv
cmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VX
b3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpwYXJh
bWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29wZTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5
LmNwcAppbmRleCA0NmVhNDZhYjA0MTVmMTEzZmZhYjUzZWY5YzYyNjZkN2YxNzZhMmNmLi5kMzIx
ZThkYmE5M2FiNjQ2NmE3MTMxN2EzOTYzZmUwMWRkOTAzMTYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcApAQCAtNDksMTkgKzQ5LDIwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVkV29ya2Vy
VGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3RhdGlj
IE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKIH0KIAotc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJz
KGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9u
cyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVudCYgZG9j
dW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRp
b25EYXRhLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoZG9jdW1l
bnQuc2Vzc2lvbklEKCkpOwogICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0
Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAgICJz
aGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVu
dGlmaWVyKCksCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCks
CiAgICAgICAgIHVzZXJBZ2VudCwKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPmlzT25MaW5lKCksCiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0LmNvbnRl
bnRTZWN1cml0eVBvbGljeSwKQEAgLTc1LDIwICs3NiwyNiBAQCBzdGF0aWMgV29ya2VyUGFyYW1l
dGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMoY29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdv
cmtlcgogICAgICAgICBXb3JrZXJUaHJlYWRNb2RlOjpDcmVhdGVOZXdUaHJlYWQsCiAgICAgICAg
ICpkb2N1bWVudC5zZXNzaW9uSUQoKSwKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCi0gICAg
ICAgIHsgfSwKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEuc2VydmljZVdvcmtl
ckRhdGEpLAogI2VuZGlmCi0gICAgICAgIHsgfQorICAgICAgICAqaW5pdGlhbGl6YXRpb25EYXRh
LmNsaWVudElkZW50aWZpZXIKICAgICB9OwogfQogCi1TaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYgcGFnZSwgU2hhcmVkV29y
a2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV29y
a2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgY2FjaGVTdG9yYWdlUHJvdmlkZXIpCitTaGFyZWRXb3JrZXJUaHJl
YWRQcm94eSogU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihTY3JpcHRFeGVj
dXRpb25Db250ZXh0SWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBhbGxTaGFy
ZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkuZ2V0KGlkZW50aWZpZXIpOworfQorCitTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYg
cGFnZSwgU2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBjb25z
dCBDbGllbnRPcmlnaW4mIGNsaWVudE9yaWdpbiwgV29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJG
ZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdvcmtlckluaXRpYWxp
emF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNh
Y2hlU3RvcmFnZVByb3ZpZGVyKQogICAgIDogbV9wYWdlKFdURk1vdmUocGFnZSkpCiAgICAgLCBt
X2RvY3VtZW50KCptX3BhZ2UtPm1haW5GcmFtZSgpLmRvY3VtZW50KCkpCi0gICAgLCBtX3dvcmtl
clRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVudGlmaWVy
LCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1vdmUod29y
a2VyT3B0aW9ucyksIHVzZXJBZ2VudCwgbV9kb2N1bWVudCksIFdURk1vdmUod29ya2VyRmV0Y2hS
ZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhpcywgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
OjpOb3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4uc2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1
bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9jdW1lbnQtPnNvY2tldFByb3ZpZGVyKCks
IEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpKQorICAgICwgbV9jb250ZXh0
SWRlbnRpZmllcigqaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50aWZpZXIpCisgICAgLCBt
X3dvcmtlclRocmVhZChTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzaGFyZWRXb3JrZXJJZGVu
dGlmaWVyLCBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMod29ya2VyRmV0Y2hSZXN1bHQsIFdURk1v
dmUod29ya2VyT3B0aW9ucyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSwgbV9kb2N1bWVu
dCksIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQuc2NyaXB0KSwgKnRoaXMsICp0aGlzLCAqdGhp
cywgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGNsaWVudE9yaWdpbi50b3BPcmlnaW4u
c2VjdXJpdHlPcmlnaW4oKSwgbV9kb2N1bWVudC0+aWRiQ29ubmVjdGlvblByb3h5KCksIG1fZG9j
dW1lbnQtPnNvY2tldFByb3ZpZGVyKCksIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFi
bGVkKCkpKQogICAgICwgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcihjYWNoZVN0b3JhZ2VQcm92aWRl
cikKIHsKLSAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlu
cyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmFkZCh0aGlzKTsK
KyAgICBBU1NFUlQoIWFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyhtX2Nv
bnRleHRJZGVudGlmaWVyKSk7CisgICAgYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmFk
ZChtX2NvbnRleHRJZGVudGlmaWVyLCB0aGlzKTsKIAogICAgIHN0YXRpYyBib29sIGFkZGVkTGlz
dGVuZXI7CiAgICAgaWYgKCFhZGRlZExpc3RlbmVyKSB7CkBAIC05OSw4ICsxMDYsOCBAQCBTaGFy
ZWRXb3JrZXJUaHJlYWRQcm94eTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBh
Z2U+JiYgcGFnZSwgU2hhcmVkVwogCiBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eTo6flNoYXJlZFdv
cmtlclRocmVhZFByb3h5KCkKIHsKLSAgICBBU1NFUlQoYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJv
eGllcygpLmNvbnRhaW5zKHRoaXMpKTsKLSAgICBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkucmVtb3ZlKHRoaXMpOworICAgIEFTU0VSVChhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRo
cmVhZFByb3hpZXMoKS5yZW1vdmUobV9jb250ZXh0SWRlbnRpZmllcik7CiB9CiAKIFNoYXJlZFdv
cmtlcklkZW50aWZpZXIgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmlkZW50aWZpZXIoKSBjb25z
dApAQCAtMTc2LDcgKzE4Myw3IEBAIHZvaWQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OnNldFJl
c291cmNlQ2FjaGluZ0Rpc2FibGVkQnlXZWJJbnNwZWN0b3IoYm9vbCkKIAogdm9pZCBTaGFyZWRX
b3JrZXJUaHJlYWRQcm94eTo6bmV0d29ya1N0YXRlQ2hhbmdlZChib29sIGlzT25MaW5lKQogewot
ICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkpCisg
ICAgZm9yIChhdXRvKiBwcm94eSA6IGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hpZXMoKS52YWx1
ZXMoKSkKICAgICAgICAgcHJveHktPm5vdGlmeU5ldHdvcmtTdGF0ZUNoYW5nZShpc09uTGluZSk7
CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQv
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVk
L2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaAppbmRleCBkYWIzYTEyM2RlZTE4ZGJi
NjI0ZDc3ZjU4ZWQ5OGQ0NDk0YzdmYTk5Li41ZTNlYTRiMDZhN2M4NTA5NTQ1ZDlmYWZhMDA0NTM1
YTcyYTg1NTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250
ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCkBAIC00MSwxMiArNDEs
MTUgQEAgY2xhc3MgU2hhcmVkV29ya2VyVGhyZWFkOwogCiBzdHJ1Y3QgQ2xpZW50T3JpZ2luOwog
c3RydWN0IFdvcmtlckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0
YTsKIAogY2xhc3MgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkgZmluYWwgOiBwdWJsaWMgVGhyZWFk
U2FmZVJlZkNvdW50ZWQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+LCBwdWJsaWMgV29ya2VyT2Jq
ZWN0UHJveHksIHB1YmxpYyBXb3JrZXJMb2FkZXJQcm94eSwgcHVibGljIFdvcmtlckRlYnVnZ2Vy
UHJveHkgewogcHVibGljOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lLi4uIEFyZ3M+IHN0YXRpYyBS
ZWY8U2hhcmVkV29ya2VyVGhyZWFkUHJveHk+IGNyZWF0ZShBcmdzJiYuLi4gYXJncykgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShzdGQ6OmZvcndhcmQ8QXJn
cz4oYXJncykuLi4pKTsgfQogICAgIFdFQkNPUkVfRVhQT1JUIH5TaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eSgpOwogCisgICAgc3RhdGljIFNoYXJlZFdvcmtlclRocmVhZFByb3h5KiBieUlkZW50aWZp
ZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpOworCiAgICAgU2hhcmVkV29ya2Vy
SWRlbnRpZmllciBpZGVudGlmaWVyKCkgY29uc3Q7CiAgICAgU2hhcmVkV29ya2VyVGhyZWFkJiB0
aHJlYWQoKSB7IHJldHVybiBtX3dvcmtlclRocmVhZDsgfQogCkBAIC01NCw3ICs1Nyw3IEBAIHB1
YmxpYzoKICAgICB2b2lkIHNldEFzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQoKSB7IG1faXNUZXJt
aW5hdGluZ09yVGVybWluYXRlZCA9IHRydWU7IH0KIAogcHJpdmF0ZToKLSAgICBXRUJDT1JFX0VY
UE9SVCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlxdWVSZWY8UGFnZT4mJiwgU2hhcmVkV29y
a2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiwgV29ya2VyRmV0Y2hSZXN1bHQmJiwg
V29ya2VyT3B0aW9ucyYmLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJv
dmlkZXImKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eShVbmlx
dWVSZWY8UGFnZT4mJiwgU2hhcmVkV29ya2VySWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2lu
JiwgV29ya2VyRmV0Y2hSZXN1bHQmJiwgV29ya2VyT3B0aW9ucyYmLCBXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEmJiwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImKTsKIAogICAgIC8vIFdvcmtlck9iamVj
dFByb3h5LgogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KGNvbnN0IFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VVUkwpIGZpbmFsOwpAQCAtNzgsNiArODEsNyBAQCBwcml2YXRlOgogCiAg
ICAgVW5pcXVlUmVmPFBhZ2U+IG1fcGFnZTsKICAgICBSZWY8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgbV9jb250ZXh0SWRlbnRpZmll
cjsKICAgICBSZWY8U2hhcmVkV29ya2VyVGhyZWFkPiBtX3dvcmtlclRocmVhZDsKICAgICBDYWNo
ZVN0b3JhZ2VQcm92aWRlciYgbV9jYWNoZVN0b3JhZ2VQcm92aWRlcjsKICAgICBSZWZQdHI8Q2Fj
aGVTdG9yYWdlQ29ubmVjdGlvbj4gbV9jYWNoZVN0b3JhZ2VDb25uZWN0aW9uOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3Bw
CmluZGV4IDBkNGU5Zjk5YzZiZjdiZjIxZTc1ZTAxMGU0ZWEyNWYwNzBiMTFlNGMuLmY3NjFjYTJj
NmI5NWIxNGQxN2NlM2QyMjZhYWU0Y2Y1OGU2OTllMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEyMTUs
MTIgKzEyMTUsMjEgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OnJlc3RhcnROZXR3b3Jr
TG9hZChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmJiBuZXdSZXEKICAgICBzdGFydE5ldHdvcmtM
b2FkKFdURk1vdmUobmV3UmVxdWVzdCksIEZpcnN0TG9hZDo6Tm8pOwogfQogCisjaWYgRU5BQkxF
KFNFUlZJQ0VfV09SS0VSKQorc3RhdGljIGJvb2wgc2hvdWxkVHJ5VG9NYXRjaFJlZ2lzdHJhdGlv
bk9uUmVkaXJlY3Rpb24oY29uc3QgRmV0Y2hPcHRpb25zJiBvcHRpb25zLCBib29sIGlzU2Vydmlj
ZVdvcmtlckxvYWRlZCkKK3sKKyAgICBpZiAob3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6
TW9kZTo6TmF2aWdhdGUpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBpc1NlcnZp
Y2VXb3JrZXJMb2FkZWQgJiYgKG9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpE
ZXN0aW5hdGlvbjo6V29ya2VyIHx8IG9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25z
OjpEZXN0aW5hdGlvbjo6U2hhcmVkd29ya2VyKTsKK30KKyNlbmRpZgorCiB2b2lkIE5ldHdvcmtS
ZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoUmVzb3VyY2VSZXF1ZXN0JiYg
bmV3UmVxdWVzdCwgYm9vbCBpc0FsbG93ZWRUb0Fza1VzZXJGb3JDcmVkZW50aWFscykKIHsKICAg
ICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiAoaXNBbGxvd2Vk
VG9Bc2tVc2VyRm9yQ3JlZGVudGlhbHM9JWQpIiwgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3JlZGVu
dGlhbHMpOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQotICAgIGlmIChwYXJhbWV0ZXJz
KCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgKHBhcmFt
ZXRlcnMoKS5vcHRpb25zLmRlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246
OldvcmtlciAmJiBtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CisgICAgaWYgKHNob3VsZFRy
eVRvTWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKHBhcmFtZXRlcnMoKS5vcHRpb25zLCAh
IW1fc2VydmljZVdvcmtlckZldGNoVGFzaykpIHsKICAgICAgICAgbV9zZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uID0geyB9OwogICAgICAgICBpZiAoYXV0byBzZXJ2aWNlV29ya2VyRmV0Y2hUYXNr
ID0gbV9jb25uZWN0aW9uLT5jcmVhdGVGZXRjaFRhc2soKnRoaXMsIG5ld1JlcXVlc3QpKSB7CiAg
ICAgICAgICAgICBMT0FERVJfUkVMRUFTRV9MT0coImNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0OiBD
cmVhdGVkIGEgU2VydmljZVdvcmtlckZldGNoVGFzayB0byBoYW5kbGUgdGhlIHJlZGlyZWN0IChm
ZXRjaElkZW50aWZpZXI9JSIgUFJJdTY0ICIpIiwgc2VydmljZVdvcmtlckZldGNoVGFzay0+ZmV0
Y2hJZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwCmluZGV4IGNmMzBkZTQ5ZmNiMDk5ODFjZjdlM2Q2MTFlYjI5ZWRiOWRhNDhlY2Mu
LmVhZWFhM2Q5MzM0MTlkMTU5MGQ5NTNiOTNlMWYzZWY2MGM4ODVlMDUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5l
Y3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtl
ci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xNjksNiArMTY5LDggQEAgdm9pZCBXZWJT
V1NlcnZlckNvbm5lY3Rpb246OmNvbnRyb2xDbGllbnQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9h
ZFBhcmFtZXRlcnMmIHAKICAgICBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZSBjbGllbnRUeXBlOwog
ICAgIGlmIChwYXJhbWV0ZXJzLm9wdGlvbnMuZGVzdGluYXRpb24gID09IEZldGNoT3B0aW9uczo6
RGVzdGluYXRpb246OldvcmtlcikKICAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJD
bGllbnRUeXBlOjpXb3JrZXI7CisgICAgZWxzZSBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3Rp
bmF0aW9uICA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpCisgICAg
ICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6U2hhcmVkd29ya2VyOwog
ICAgIGVsc2UKICAgICAgICAgY2xpZW50VHlwZSA9IFNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjpX
aW5kb3c7CiAKQEAgLTIwMSw3ICsyMDMsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8U2VydmljZVdvcmtl
ckZldGNoVGFzaz4gV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjcmVhdGVGZXRjaFRhc2soTgogICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbklkZW50aWZpZXI+IHNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVy
OwotICAgIGlmIChsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlv
bnM6Ok1vZGU6Ok5hdmlnYXRlIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5h
dGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpIHsKKyAgICBpZiAobG9h
ZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1vZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZp
Z2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hP
cHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyIHx8IGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9u
cy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIp
IHsKICAgICAgICAgYXV0byB0b3BPcmlnaW4gPSBsb2FkZXIucGFyYW1ldGVycygpLmlzTWFpbkZy
YW1lTmF2aWdhdGlvbiA/IFNlY3VyaXR5T3JpZ2luRGF0YTo6ZnJvbVVSTChyZXF1ZXN0LnVybCgp
KSA6IGxvYWRlci5wYXJhbWV0ZXJzKCkudG9wT3JpZ2luLT5kYXRhKCk7CiAgICAgICAgIGF1dG8q
IHJlZ2lzdHJhdGlvbiA9IGRvUmVnaXN0cmF0aW9uTWF0Y2hpbmcodG9wT3JpZ2luLCByZXF1ZXN0
LnVybCgpKTsKICAgICAgICAgaWYgKCFyZWdpc3RyYXRpb24pCkBAIC02ODMsNiArNjg1LDE2IEBA
IHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjp0cmFuc2ZlclNlcnZpY2VXb3JrZXJMb2FkVG9O
ZXdXZWJQcm9jZXNzKE5ldHdvcmtSZXNvCiAgICAgY29udHJvbENsaWVudChsb2FkZXIucGFyYW1l
dGVycygpLCByZWdpc3RyYXRpb24sIGxvYWRlci5vcmlnaW5hbFJlcXVlc3QoKSk7CiB9CiAKK3N0
ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4gV2ViU1dTZXJ2ZXJDb25u
ZWN0aW9uOjpnYXRoZXJDbGllbnREYXRhKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
IGNsaWVudElkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKGNsaWVudElkZW50aWZpZXIucHJvY2Vz
c0lkZW50aWZpZXIoKSA9PSBpZGVudGlmaWVyKCkpOworICAgIGF1dG8gaXRlcmF0b3IgPSBtX2Ns
aWVudE9yaWdpbnMuZmluZChjbGllbnRJZGVudGlmaWVyKTsKKyAgICBpZiAoaXRlcmF0b3IgPT0g
bV9jbGllbnRPcmlnaW5zLmVuZCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgcmV0dXJu
IHNlcnZlcigpLmdhdGhlckNsaWVudERhdGEoaXRlcmF0b3ItPnZhbHVlLCBjbGllbnRJZGVudGlm
aWVyKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICN1bmRlZiBDT05ORUNUSU9OX01F
U1NBR0VfQ0hFQ0tfQ09NUExFVElPTgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5o
CmluZGV4IDRmMDI1ZTIxOTExZjMyYjZlYTBmM2QyYTk5N2U1ODk5ZTM4MGFiNDUuLjIxY2U1NjM0
ZGM4OTQ1ODZmNTZhYzc2Mzg1NTk3NTk5NDYxMDAxNjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uaAor
KysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmgKQEAgLTg1LDYgKzg1LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIGZldGNo
VGFza1RpbWVkT3V0KFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyKTsKIAogICAgIHZv
aWQgdHJhbnNmZXJTZXJ2aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXImLCBXZWJDb3JlOjpTV1NlcnZlclJlZ2lzdHJhdGlvbiYpOworICAgIHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4gZ2F0aGVyQ2xpZW50
RGF0YShXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcik7CisKKyAgICB2
b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwg
V2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qgc3RkOjpvcHRpb25hbDxX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4mLCBTdHJpbmcmJiB1
c2VyQWdlbnQpOworICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoY29uc3Qg
V2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXImKTsKIAogcHJpdmF0ZToK
ICAgICAvLyBJbXBsZW1lbnQgU1dTZXJ2ZXI6OkNvbm5lY3Rpb24gKE1lc3NhZ2VzIHRvIHRoZSBj
bGllbnQgV2ViUHJvY2VzcykKQEAgLTExMCw4ICsxMTQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQg
bWF0Y2hSZWdpc3RyYXRpb24oY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5EYXRhJiB0b3BP
cmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbkRhdGE+JiYpPiYmKTsK
ICAgICB2b2lkIGdldFJlZ2lzdHJhdGlvbnMoY29uc3QgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW5E
YXRhJiB0b3BPcmlnaW4sIGNvbnN0IFVSTCYgY2xpZW50VVJMLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YT4m
KT4mJik7CiAKLSAgICB2b2lkIHJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChXZWJDb3JlOjpD
bGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2VydmljZVdvcmtlckNsaWVudERhdGEmJiwgY29uc3Qg
c3RkOjpvcHRpb25hbDxXZWJDb3JlOjpTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmll
cj4mLCBTdHJpbmcmJiB1c2VyQWdlbnQpOwotICAgIHZvaWQgdW5yZWdpc3RlclNlcnZpY2VXb3Jr
ZXJDbGllbnQoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIm
KTsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckZyb21DbGllbnQoV2ViQ29yZTo6U2VydmljZVdv
cmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCB3
aGVuU2VydmljZVdvcmtlcklzVGVybWluYXRlZEZvclRlc3RpbmcoV2ViQ29yZTo6U2VydmljZVdv
cmtlcklkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXIuY3BwCmluZGV4IGU2MTYxZTk2MzM2MGE1OTA4ODBmODMzM2EyNjU4NTQ1NWU2
NTNmOTAuLmVjNzJiNzRmMmY1OGUxOWE3NTk4NzBkNDYxYTg0MmY2OTcwYjIzMWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIv
V2ViU2hhcmVkV29ya2VyLmNwcApAQCAtNzIsMTEgKzcyLDkgQEAgV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW4gV2ViU2hhcmVkV29ya2VyOjpyZWdpc3RyYWJsZURvbWFpbigpIGNvbnN0CiAgICAg
cmV0dXJuIFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIHsgdXJsKCkgfTsKIH0KIAotdm9pZCBX
ZWJTaGFyZWRXb3JrZXI6OnNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0
JiYgZmV0Y2hSZXN1bHQsIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24q
IGNvbnRleHRDb25uZWN0aW9uKQordm9pZCBXZWJTaGFyZWRXb3JrZXI6OnNldEZldGNoUmVzdWx0
KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpCiB7CiAgICAgbV9mZXRj
aFJlc3VsdCA9IFdURk1vdmUoZmV0Y2hSZXN1bHQpOwotICAgIGlmIChjb250ZXh0Q29ubmVjdGlv
bikKLSAgICAgICAgbGF1bmNoKCpjb250ZXh0Q29ubmVjdGlvbik7CiB9CiAKIHZvaWQgV2ViU2hh
cmVkV29ya2VyOjpkaWRDcmVhdGVDb250ZXh0Q29ubmVjdGlvbihXZWJTaGFyZWRXb3JrZXJTZXJ2
ZXJUb0NvbnRleHRDb25uZWN0aW9uJiBjb250ZXh0Q29ubmVjdGlvbikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5o
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyLmgKaW5kZXggM2NjNGE2ODlkNWVlYzU0NTVlMGIwZGNhZTk3MDdmM2VlMDc3YjE2NS4uZTBk
ZjY5Y2JjYTQ2MTgzZjNmM2E5NmZhOTg3MzA4YTIwYWMyZjQ5NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmgKKysr
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFdvcmtlck9i
amVjdElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1RyYW5zZmVycmVkTWVzc2FnZVBv
cnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8
V2ViQ29yZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dv
cmtlck9wdGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCkBAIC03MSwxMCArNzIs
MTUgQEAgcHVibGljOgogICAgIGJvb2wgaXNSdW5uaW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1J1
bm5pbmc7IH0KICAgICB2b2lkIG1hcmtBc1J1bm5pbmcoKSB7IG1faXNSdW5uaW5nID0gdHJ1ZTsg
fQogCisgICAgY29uc3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiBpbml0aWFs
aXphdGlvbkRhdGEoKSBjb25zdCB7IHJldHVybiBtX2luaXRpYWxpemF0aW9uRGF0YTsgfQorICAg
IHZvaWQgc2V0SW5pdGlhbGl6YXRpb25EYXRhKFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9u
RGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkgeyBtX2luaXRpYWxpemF0aW9uRGF0YSA9IFdURk1v
dmUoaW5pdGlhbGl6YXRpb25EYXRhKTsgfQorCiAgICAgY29uc3QgV2ViQ29yZTo6V29ya2VyRmV0
Y2hSZXN1bHQmIGZldGNoUmVzdWx0KCkgY29uc3QgeyByZXR1cm4gbV9mZXRjaFJlc3VsdDsgfQot
ICAgIHZvaWQgc2V0RmV0Y2hSZXN1bHQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2Vi
U2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiopOworICAgIHZvaWQgc2V0RmV0
Y2hSZXN1bHQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik7CiAgICAgYm9vbCBkaWRGaW5p
c2hGZXRjaGluZygpIGNvbnN0IHsgcmV0dXJuICEhbV9mZXRjaFJlc3VsdC5zY3JpcHQ7IH0KIAor
ICAgIHZvaWQgbGF1bmNoKFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24m
KTsKKwogcHJpdmF0ZToKICAgICBXZWJTaGFyZWRXb3JrZXIoV2ViU2hhcmVkV29ya2VyJiYpID0g
ZGVsZXRlOwogICAgIFdlYlNoYXJlZFdvcmtlciYgb3BlcmF0b3I9KFdlYlNoYXJlZFdvcmtlciYm
KSA9IGRlbGV0ZTsKQEAgLTgzLDcgKzg5LDYgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgc3VzcGVu
ZElmTmVlZGVkKCk7CiAgICAgdm9pZCByZXN1bWVJZk5lZWRlZCgpOwotICAgIHZvaWQgbGF1bmNo
KFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKIAogICAgIHN0cnVj
dCBTaGFyZWRXb3JrZXJPYmplY3RTdGF0ZSB7CiAgICAgICAgIGJvb2wgaXNTdXNwZW5kZWQgeyBm
YWxzZSB9OwpAQCAtOTYsNiArMTAxLDcgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpXb3JrZXJP
cHRpb25zIG1fd29ya2VyT3B0aW9uczsKICAgICBIYXNoTWFwPFdlYkNvcmU6OlNoYXJlZFdvcmtl
ck9iamVjdElkZW50aWZpZXIsIFNoYXJlZFdvcmtlck9iamVjdFN0YXRlPiBtX3NoYXJlZFdvcmtl
ck9iamVjdHM7CiAgICAgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgbV9mZXRjaFJlc3VsdDsK
KyAgICBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgbV9pbml0aWFsaXphdGlvbkRh
dGE7CiAgICAgYm9vbCBtX2lzUnVubmluZyB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2lzU3VzcGVu
ZGVkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwIGIvU291cmNlL1dlYktp
dC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNwcApp
bmRleCA0MGQzZjIyYmRhY2M5YTg4ODcwN2ZhZGRjNTYwZjA4NWZjNjA5MDNjLi4zOGM3NmM2NjEz
NWQ3Zjk4YzEzMjMwYWVlOThkZWFiNWVjODVlNTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlclNlcnZlci5jcHAKQEAgLTg3LDEzICs4NywxMyBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNl
cnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcihXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmJiBzaGFy
ZQogICAgIEFTU0VSVChzZXJ2ZXJDb25uZWN0aW9uKTsKIAogICAgIFJFTEVBU0VfTE9HKFNoYXJl
ZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6cmVxdWVzdFNoYXJlZFdvcmtlcjogRmV0
Y2hpbmcgc2hhcmVkIHdvcmtlciBzY3JpcHQgaW4gY2xpZW50Iik7Ci0gICAgc2VydmVyQ29ubmVj
dGlvbi0+ZmV0Y2hTY3JpcHRJbkNsaWVudCgqc2hhcmVkV29ya2VyLCBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLCBbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgc2hhcmVkV29ya2Vy
ID0gV2Vha1B0ciB7ICpzaGFyZWRXb3JrZXIgfV0oV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
JiBmZXRjaFJlc3VsdCkgeworICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGll
bnQoKnNoYXJlZFdvcmtlciwgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlz
ID0gV2Vha1B0ciB7ICp0aGlzIH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29y
a2VyIH1dKGF1dG8mJiBmZXRjaFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgewog
ICAgICAgICBpZiAod2Vha1RoaXMgJiYgc2hhcmVkV29ya2VyKQotICAgICAgICAgICAgd2Vha1Ro
aXMtPmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KCpzaGFyZWRXb3JrZXIsIFdU
Rk1vdmUoZmV0Y2hSZXN1bHQpKTsKKyAgICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRj
aGluZ1NoYXJlZFdvcmtlclNjcmlwdCgqc2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0
KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIAotdm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdl
YlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYm
IGZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZldGNo
aW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJD
b3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0
aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0co
U2hhcmVkV29ya2VyLCAiV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1No
YXJlZFdvcmtlclNjcmlwdCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUiIFBSSXU2NCAiLCBzaGFy
ZWRXb3JrZXI9JXAsIHN1Y2Nlc3M9JWQiLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUlu
dDY0KCksICZzaGFyZWRXb3JrZXIsIGZldGNoUmVzdWx0LmVycm9yLmlzTnVsbCgpKTsKIApAQCAt
MTA3LDEwICsxMDcsMTIgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OmRpZEZpbmlzaEZl
dGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotICAgIGF1dG8qIGNvbm5lY3Rpb24gPSBtX2NvbnRleHRDb25uZWN0aW9ucy5n
ZXQoc2hhcmVkV29ya2VyLnJlZ2lzdHJhYmxlRG9tYWluKCkpOwotICAgIHNoYXJlZFdvcmtlci5z
ZXRGZXRjaFJlc3VsdChXVEZNb3ZlKGZldGNoUmVzdWx0KSwgY29ubmVjdGlvbik7CisgICAgc2hh
cmVkV29ya2VyLnNldEluaXRpYWxpemF0aW9uRGF0YShXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0
YSkpOworICAgIHNoYXJlZFdvcmtlci5zZXRGZXRjaFJlc3VsdChXVEZNb3ZlKGZldGNoUmVzdWx0
KSk7CiAKLSAgICBpZiAoIWNvbm5lY3Rpb24pCisgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBt
X2NvbnRleHRDb25uZWN0aW9ucy5nZXQoc2hhcmVkV29ya2VyLnJlZ2lzdHJhYmxlRG9tYWluKCkp
KQorICAgICAgICBzaGFyZWRXb3JrZXIubGF1bmNoKCpjb25uZWN0aW9uKTsKKyAgICBlbHNlCiAg
ICAgICAgIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKHNoYXJlZFdvcmtlci5yZWdpc3RyYWJsZURv
bWFpbigpLCBzaGFyZWRXb3JrZXIuZmlyc3RTaGFyZWRXb3JrZXJPYmplY3RQcm9jZXNzKCkpOwog
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCmluZGV4IGIyMDZhZjJjMGVjMmIy
OGUxMTk2ODNkZGUwZGY3NDAxZDA4ODI5NmUuLmU2MzcwZDczMzQzMTRjZTdlNzNjOWEyYWZiNzAy
NTM2YmU1YWM4YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlci5oCkBAIC00Miw2
ICs0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogc3RydWN0IENsaWVudE9yaWdpbjsKIHN0
cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7
CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNzcsNyArNzgsNyBAQCBwcml2YXRlOgog
ICAgIHZvaWQgY3JlYXRlQ29udGV4dENvbm5lY3Rpb24oY29uc3QgV2ViQ29yZTo6UmVnaXN0cmFi
bGVEb21haW4mLCBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlByb2Nlc3NJZGVudGlmaWVyPiByZXF1
ZXN0aW5nUHJvY2Vzc0lkZW50aWZpZXIpOwogICAgIGJvb2wgbmVlZHNDb250ZXh0Q29ubmVjdGlv
bkZvclJlZ2lzdHJhYmxlRG9tYWluKGNvbnN0IFdlYkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJikg
Y29uc3Q7CiAgICAgdm9pZCBjb250ZXh0Q29ubmVjdGlvbkNyZWF0ZWQoV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYpOwotICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdT
aGFyZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hS
ZXN1bHQmJik7CisgICAgdm9pZCBkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChX
ZWJTaGFyZWRXb3JrZXImLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCBzaHV0RG93blNoYXJlZFdvcmtl
cihjb25zdCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJLZXkmKTsKIAogICAgIE5ldHdvcmtTZXNzaW9u
JiBtX3Nlc3Npb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1No
YXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNv
bm5lY3Rpb24uY3BwCmluZGV4IDlhNmQzNjVlMzBjOGZmYjBmN2E1ZDI0NmRmZWZhYWI2YjI1YThi
ZTEuLjEyZjM1ZjU1ZTk1MWU4OTkzYzY1OTc0ZmVlMDdlZjU2NTgzOTI2NDIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtl
clNlcnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
U2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uY3BwCkBAIC0xMTQs
NyArMTE0LDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpyZXN1bWVG
b3JCYWNrRm9yd2FyZENhY2hlKFdlYkNvcmU6OlNoYXJlZFcKICAgICAgICAgc2Vzc2lvbi0+ZW5z
dXJlU2hhcmVkV29ya2VyU2VydmVyKCkucmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShzaGFyZWRX
b3JrZXJLZXksIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIpOwogfQogCi12b2lkIFdlYlNo
YXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2Vi
U2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElk
ZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
K3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbjo6ZmV0Y2hTY3JpcHRJbkNsaWVu
dChjb25zdCBXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6U2hhcmVkV29y
a2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldv
cmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBD
T05ORUNUSU9OX1JFTEVBU0VfTE9HKCJmZXRjaFNjcmlwdEluQ2xpZW50OiBzaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyPSV7cHVibGljfXMiLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVy
LnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSk7CiAgICAgc2VuZFdpdGhBc3luY1JlcGx5KE1lc3Nh
Z2VzOjpXZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpGZXRjaFNjcmlwdEluQ2xpZW50
IHsgc2hhcmVkV29ya2VyLnVybCgpLCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzaGFy
ZWRXb3JrZXIud29ya2VyT3B0aW9ucygpIH0sIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dl
YlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1By
b2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaAppbmRl
eCBiNDE5MTk2NWMzNDI1ZmYxZTA2YWYzN2U0YmEyNWI0NTJjODJmZmI4Li5mMWI3MTJiN2M4NDI2
ODU5MWI3MTU2MzY2NmQ0YzhmZDY1NmMwMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9u
LmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hh
cmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5oCkBAIC02Myw3ICs2Myw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVy
JikgZmluYWw7CiAKLSAgICB2b2lkIGZldGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVk
V29ya2VyJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmKT4mJik7CisgICAgdm9p
ZCBmZXRjaFNjcmlwdEluQ2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29y
ZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRh
JiYpPiYmKTsKICAgICB2b2lkIG5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2Vi
Q29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvciYpOwogICAgIHZvaWQgcG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6
OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdl
LCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VV
UkwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZl
clRvQ29udGV4dENvbm5lY3Rpb24uY3BwCmluZGV4IDVlNDNmMTFjZjNhNmMzNGY5OTc3ZDU0ZmJh
NjYxYTUzYzliYTMzMTQuLmE4MWVmZDI2NjBmYjE1NDlhMjNmYjA2YzU0YzljOTIyZjM1Mjg2Mzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dl
YlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlclRv
Q29udGV4dENvbm5lY3Rpb24uY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiTmV0d29y
a1Byb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiUmVtb3RlV29ya2VyVHlwZS5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2luY2x1ZGUgIldlYlNXU2VydmVy
Q29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlci5oIgogI2luY2x1ZGUgIldl
YlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiV2ViU2hhcmVkV29ya2VyU2VydmVyLmgiCkBAIC05OSw3ICsxMDAsMjQgQEAgdm9pZCBXZWJT
aGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIo
V2ViU2hhcmVkV29ya2UKIHsKICAgICBDT05URVhUX0NPTk5FQ1RJT05fUkVMRUFTRV9MT0coImxh
dW5jaFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmllcj0lIiBQUkl1NjQsIHNoYXJl
ZFdvcmtlci5pZGVudGlmaWVyKCkudG9VSW50NjQoKSk7CiAgICAgc2hhcmVkV29ya2VyLm1hcmtB
c1J1bm5pbmcoKTsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OkxhdW5jaFNoYXJlZFdvcmtlciB7IHNoYXJlZFdvcmtlci5vcmlnaW4o
KSwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKSwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMo
KSwgc2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCkgfSk7CisgICAgYXV0byBpbml0aWFsaXphdGlv
bkRhdGEgPSBzaGFyZWRXb3JrZXIuaW5pdGlhbGl6YXRpb25EYXRhKCk7CisgICAgaWYgKGF1dG8g
Y29udGV4dElkZW50aWZpZXIgPSBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcikg
eworICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllciA9IFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIHsgY29udGV4dElkZW50aWZpZXItPm9iamVjdCgpLCB3
ZWJQcm9jZXNzSWRlbnRpZmllcigpIH07CisjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQorICAg
ICAgICBpZiAoYXV0byogc2VydmljZVdvcmtlck9sZENvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24u
bmV0d29ya1Byb2Nlc3MoKS53ZWJQcm9jZXNzQ29ubmVjdGlvbihjb250ZXh0SWRlbnRpZmllci0+
cHJvY2Vzc0lkZW50aWZpZXIoKSkpIHsKKyAgICAgICAgICAgIGlmIChhdXRvKiBzd09sZENvbm5l
Y3Rpb24gPSBzZXJ2aWNlV29ya2VyT2xkQ29ubmVjdGlvbi0+c3dDb25uZWN0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoYXV0byBjbGllbnREYXRhID0gc3dPbGRDb25uZWN0aW9uLT5nYXRo
ZXJDbGllbnREYXRhKCpjb250ZXh0SWRlbnRpZmllcikpIHsKKyAgICAgICAgICAgICAgICAgICAg
c3dPbGRDb25uZWN0aW9uLT51bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudCgqY29udGV4dElk
ZW50aWZpZXIpOworICAgICAgICAgICAgICAgICAgICBpZiAoYXV0byogc3dOZXdDb25uZWN0aW9u
ID0gbV9jb25uZWN0aW9uLnN3Q29ubmVjdGlvbigpKSB7CisgICAgICAgICAgICAgICAgICAgICAg
ICBjbGllbnREYXRhLT5zZXJ2aWNlV29ya2VyQ2xpZW50RGF0YS5pZGVudGlmaWVyID0gKmluaXRp
YWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyOworICAgICAgICAgICAgICAgICAgICAgICAg
c3dOZXdDb25uZWN0aW9uLT5yZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV1RGTW92ZShjbGll
bnREYXRhLT5jbGllbnRPcmlnaW4pLCBXVEZNb3ZlKGNsaWVudERhdGEtPnNlcnZpY2VXb3JrZXJD
bGllbnREYXRhKSwgY2xpZW50RGF0YS0+Y29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0
aW9uSWRlbnRpZmllciwgV1RGTW92ZShjbGllbnREYXRhLT51c2VyQWdlbnQpKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0KKyAgICAgICAg
fQorI2VuZGlmCisgICAgfQorICAgIHNlbmQoTWVzc2FnZXM6OldlYlNoYXJlZFdvcmtlckNvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsgc2hhcmVkV29ya2VyLm9y
aWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRXb3JrZXIud29ya2VyT3B0
aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSwgaW5pdGlhbGl6YXRpb25EYXRhIH0p
OwogICAgIHNoYXJlZFdvcmtlci5mb3JFYWNoU2hhcmVkV29ya2VyT2JqZWN0KFsmXShhdXRvLCBh
dXRvJiBwb3J0KSB7CiAgICAgICAgIHBvc3RDb25uZWN0RXZlbnQoc2hhcmVkV29ya2VyLCBwb3J0
KTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nl
c3NQb29sLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApp
bmRleCA2NjA1ZjM0NTMzYzcyZWY5MTgxOTAxNzc0MmY2MjAzMTg5Y2ViNmMyLi45M2M2OTgxN2Qx
ZWJjY2UxYzE1MTI0MGE4ZmIzZjJiNjcwMjcxMGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCkBAIC01ODksMTUgKzU4OSwxMyBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjplc3RhYmxpc2hSZW1vdGVXb3JrZXJDb250ZXh0Q29ubmVjdGlvblRvTmV0d29ya1By
b2Nlc3MoUmVtbwogICAgICAgICAgICAgdXNlUHJvY2Vzc0ZvclJlbW90ZVdvcmtlcnMoKnByb2Nl
c3MpOwogICAgIH0KIAotICAgIGJvb2wgc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9j
ZXNzID0gd29ya2VyVHlwZSA9PSBSZW1vdGVXb3JrZXJUeXBlOjpTZXJ2aWNlV29ya2VyICYmIHNf
dXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzczsKLQogICAgIC8vIFByaW9yaXRpemUgdGhl
IHJlcXVlc3RpbmcgV2ViUHJvY2VzcyBmb3IgcnVubmluZyB0aGUgc2VydmljZSB3b3JrZXIuCi0g
ICAgaWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNob3VsZFVzZVNlcGFyYXRlUmVt
b3RlV29ya2VyUHJvY2VzcyAmJiByZXF1ZXN0aW5nUHJvY2VzcykgeworICAgIGlmICghcmVtb3Rl
V29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3Mg
JiYgcmVxdWVzdGluZ1Byb2Nlc3MpIHsKICAgICAgICAgaWYgKCZyZXF1ZXN0aW5nUHJvY2Vzcy0+
d2Vic2l0ZURhdGFTdG9yZSgpID09IHdlYnNpdGVEYXRhU3RvcmUgJiYgcmVxdWVzdGluZ1Byb2Nl
c3MtPmlzTWF0Y2hpbmdSZWdpc3RyYWJsZURvbWFpbihyZWdpc3RyYWJsZURvbWFpbikpCiAgICAg
ICAgICAgICB1c2VQcm9jZXNzRm9yUmVtb3RlV29ya2VycygqcmVxdWVzdGluZ1Byb2Nlc3MpOwog
ICAgIH0KIAotICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzaG91bGRVc2VT
ZXBhcmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MpIHsKKyAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nl
c3NQcm94eSAmJiAhc191c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzKSB7CiAgICAgICAg
IGZvciAoYXV0byYgcHJvY2VzcyA6IHByb2Nlc3NQb29sLT5tX3Byb2Nlc3NlcykgewogICAgICAg
ICAgICAgaWYgKHByb2Nlc3MucHRyKCkgPT0gcHJvY2Vzc1Bvb2wtPm1fcHJld2FybWVkUHJvY2Vz
cy5nZXQoKSB8fCBwcm9jZXNzLT5pc0R1bW15UHJvY2Vzc1Byb3h5KCkpCiAgICAgICAgICAgICAg
ICAgY29udGludWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFn
ZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0
b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAppbmRleCBhMjcxMzdiZjEyZGRkYWI4N2Qw
M2I5Yzc4Y2JmZmFmZjUzYzg1N2Y4Li5hNTNkMDY5NGJkYzVkN2IyMWIwMGE0MzkxMDcxMWU3YWMw
ZWRkMmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJT
V0NsaWVudENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKQEAgLTE5Miw2ICsxOTIsNyBAQCB2b2lkIFdl
YlNXQ2xpZW50Q29ubmVjdGlvbjo6c2V0U2VydmljZVdvcmtlckNsaWVudElzQ29udHJvbGxlZChT
Y3JpcHRFeGVjdXRpb25DbwogICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihkYXRhLmFjdGl2ZVdv
cmtlciA/IGxvYWRlci0+c2V0Q29udHJvbGxpbmdTZXJ2aWNlV29ya2VyKFdURk1vdmUoKmRhdGEu
YWN0aXZlV29ya2VyKSkgOiBmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CisKICAgICBj
b21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCmluZGV4IDc1OGZjODQ0ZGE3NDZjNTFmZGJiM2E3
MzdkODYxZDI3YTQyOTlkMjAuLjlmODgzNTRmYjI1OGI5Y2VhMzUyMWZkYTI4MDlhOTViZDRhOTBm
ZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJl
ZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmNwcApAQCAtNDcsNiArNDcsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvV29ya2VyRmV0Y2hSZXN1bHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckluaXRp
YWxpemF0aW9uRGF0YS5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtODksNyArOTAsNyBA
QCB2b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6dXBkYXRlUHJl
ZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcgogICAgIG1fcHJlZmVyZW5jZXNTdG9yZSA9IHN0b3Jl
OwogfQogCi12b2lkIFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1
bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6
U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpX
b3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9ucywgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
JiB3b3JrZXJGZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYgb3Jp
Z2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZp
ZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3JlOjpXb3Jr
ZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0LCBXZWJDb3JlOjpXb3JrZXJJbml0aWFs
aXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpCiB7CiAgICAgUkVMRUFTRV9MT0coU2hh
cmVkV29ya2VyLCAiV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVu
Y2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9JSIgUFJJdTY0LCBzaGFyZWRX
b3JrZXJJZGVudGlmaWVyLnRvVUludDY0KCkpOwogICAgIGF1dG8gcGFnZUNvbmZpZ3VyYXRpb24g
PSBXZWJDb3JlOjpwYWdlQ29uZmlndXJhdGlvbldpdGhFbXB0eUNsaWVudHMoV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkuc2Vzc2lvbklEKCkpOwpAQCAtMTA5LDggKzExMCwxNSBAQCB2b2lkIFdlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdl
YkNvcmU6OkNsaWVudAogICAgICAgICBXZWJQYWdlOjp1cGRhdGVTZXR0aW5nc0dlbmVyYXRlZCgq
bV9wcmVmZXJlbmNlc1N0b3JlLCBwYWdlLT5zZXR0aW5ncygpKTsKICAgICAgICAgcGFnZS0+c2V0
dGluZ3MoKS5zZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3koc3RhdGljX2Nhc3Q8V2ViQ29yZTo6U3Rv
cmFnZUJsb2NraW5nUG9saWN5PihtX3ByZWZlcmVuY2VzU3RvcmUtPmdldFVJbnQzMlZhbHVlRm9y
S2V5KFdlYlByZWZlcmVuY2VzS2V5OjpzdG9yYWdlQmxvY2tpbmdQb2xpY3lLZXkoKSkpKTsKICAg
ICB9CisKKyAgICBpZiAoIWluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQuaXNFbXB0eSgpKQor
ICAgICAgICBpbml0aWFsaXphdGlvbkRhdGEudXNlckFnZW50ID0gbV91c2VyQWdlbnQ7CisKKyAg
ICBpZiAoIWluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyKQorICAgICAgICBpbml0
aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllciA9IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyOjpnZW5lcmF0ZSgpOworCiAgICAgcGFnZS0+c2V0dXBGb3JSZW1vdGVXb3JrZXIo
d29ya2VyRmV0Y2hSZXN1bHQubGFzdFJlcXVlc3RVUkwsIG9yaWdpbi50b3BPcmlnaW4sIHdvcmtl
ckZldGNoUmVzdWx0LnJlZmVycmVyUG9saWN5KTsKLSAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVh
ZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3Zl
KHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0
Y2hSZXN1bHQpLCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBtX3VzZXJBZ2VudCwgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkuY2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CisgICAgYXV0byBzaGFyZWRX
b3JrZXJUaHJlYWRQcm94eSA9IFdlYkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpjcmVh
dGUoV1RGTW92ZShwYWdlKSwgc2hhcmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2luLCBXVEZNb3Zl
KHdvcmtlckZldGNoUmVzdWx0KSwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgV1RGTW92ZShpbml0
aWFsaXphdGlvbkRhdGEpLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92
aWRlcigpKTsKIAogICAgIFdlYkNvcmU6OlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyOjpzaW5n
bGV0b24oKS5yZWdpc3RlclNoYXJlZFdvcmtlclRocmVhZChXVEZNb3ZlKHNoYXJlZFdvcmtlclRo
cmVhZFByb3h5KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5oCmluZGV4IGFiMzVjYmQwMTg4NWNlYjM3NjEzMTBiZGY0ZDViN2I4ODcyMGFmNjMu
LmQwYjhlNmYxNDFiZGEyYWMyY2Q3YmM0YjU5Y2MwODEwMzdlODdlOWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dl
YlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5oCkBAIC0zOCw2ICszOCw3IEBA
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBzdHJ1Y3QgQ2xpZW50T3JpZ2luOwogc3RydWN0IFdvcmtl
ckZldGNoUmVzdWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBX
b3JrZXJPcHRpb25zOwogfQogCkBAIC01OCw3ICs1OSw3IEBAIHB1YmxpYzoKIAogcHJpdmF0ZToK
ICAgICAvLyBJUEMgTWVzc2FnZXMuCi0gICAgdm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29y
ZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNv
cmU6Oldvcmtlck9wdGlvbnMmJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik7CisgICAg
dm9pZCBsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6
OlNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiwgV2ViQ29y
ZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRh
JiYpOwogICAgIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXNTdG9yZShjb25zdCBXZWJQcmVmZXJlbmNl
c1N0b3JlJik7CiAgICAgdm9pZCBzZXRVc2VyQWdlbnQoU3RyaW5nJiYgdXNlckFnZW50KSB7IG1f
dXNlckFnZW50ID0gV1RGTW92ZSh1c2VyQWdlbnQpOyB9CiAgICAgdm9pZCBjbG9zZSgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1l
c3NhZ2VzLmluCmluZGV4IDgyZDVkZWRmOGZhYzRiM2ZkYzQ1ZDU2NDVlNDRjN2VlZGQ1ZmMzMzYu
LjhmZGNhZjI3YTc0ZWE1MzY1OWEzNWZhYTVhZDFmMWViMGNmMmFkNWIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uIE5vdFJlZkNvdW50ZWQgewotICAgIExh
dW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgV2Vi
Q29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBzdHJ1
Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29yZTo6
V29ya2VyRmV0Y2hSZXN1bHQgd29ya2VyRmV0Y2hSZXN1bHQpCisgICAgTGF1bmNoU2hhcmVkV29y
a2VyKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRX
b3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpX
b3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJl
c3VsdCB3b3JrZXJGZXRjaFJlc3VsdCwgc3RydWN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0
aW9uRGF0YSB3b3JrZXJJbml0aWFsaXphdGlvbkRhdGEpCiAgICAgUG9zdENvbm5lY3RFdmVudChX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIFdl
YkNvcmU6OlRyYW5zZmVycmVkTWVzc2FnZVBvcnQgcG9ydCwgU3RyaW5nIHNvdXJjZU9yaWdpbikK
ICAgICBUZXJtaW5hdGVTaGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmll
ciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyKQogICAgIFVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoc3Ry
dWN0IFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZSBzdG9yZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFy
ZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IGMyNjlmZDI2YTkxZWJm
Y2I0YzU0ZjBkNmM5ZTBlYjNlNGIwZGY2MzIuLmI2YzA0ZDY2NGFlY2Q2ZWM0MTdiOGRjY2NiOTRm
YzVlMWMzNzhkZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlv
bi5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCiBtZXNzYWdl
cyAtPiBXZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIHsKLSAgICBGZXRjaFNjcmlwdElu
Q2xpZW50KFVSTCB1cmwsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMg
d29ya2VyT3B0aW9ucykgLT4gKHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCBmZXRj
aFJlc3VsdCkKKyAgICBGZXRjaFNjcmlwdEluQ2xpZW50KFVSTCB1cmwsIFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgc3Ry
dWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucykgLT4gKHN0cnVjdCBXZWJD
b3JlOjpXb3JrZXJGZXRjaFJlc3VsdCBmZXRjaFJlc3VsdCwgc3RydWN0IFdlYkNvcmU6Oldvcmtl
ckluaXRpYWxpemF0aW9uRGF0YSBpbml0aWFsaXphdGlvbkRhdGEpCiAgICAgTm90aWZ5V29ya2Vy
T2JqZWN0T2ZMb2FkQ29tcGxldGlvbihXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlm
aWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdlYkNvcmU6OlJlc291cmNlRXJyb3Ig
ZXJyb3IpCiAgICAgUG9zdEV4Y2VwdGlvblRvV29ya2VyT2JqZWN0KFdlYkNvcmU6OlNoYXJlZFdv
cmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgU3RyaW5n
IGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFN0cmluZyBz
b3VyY2VVUkwpCiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjZjYzRkZDM1MzRmNTFhZWNiMzQzYmZlYjkwZWQ1YzgwZGZi
NjdhZi4uZWM4Yjc0MDcyOTQ3NTNlMzc4NmY2ZDYzNWNkZjY0NTY2Y2VkMmZmMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDIyLTA0LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIg
cmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAg
ICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0
cHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbDogQWRkZWQuCisgICAgICAgICog
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtl
ci5qczogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRj
aEV2ZW50LXdvcmtlci5qczoKKyAgICAgICAgKiBwbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
bWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKwogMjAyMi0wNC0yNiAgWW91ZW5uIEZhYmxl
dCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZSBXb3JrZXIgbG9hZHMgc2hv
dWxkIG5vdCBleHBvc2Ugc29tZSBSZXNvdXJjZVRpbWluZyBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggYjUxNjZlNzkyMTAyYTFhMDlhMTc2ZDUxNmEyY2QxOWNk
MzhmZWE5Ni4uY2Y2MDllZWVlNzc4ZTg2Yjc0MjAxMGRjMzQ2MzFiMTAyMzJlN2I3ZCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjYgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJz
IHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIw
MjItMDQtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNl
cnZpY2UgV29ya2VyIGxvYWRzIHNob3VsZCBub3QgZXhwb3NlIHNvbWUgUmVzb3VyY2VUaW1pbmcg
aW5mb3JtYXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29y
a2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0
cHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1ZjcwNmIzZTFlZjY0YjJhMDEzYWZhYzI4NjVi
YzI3NDFlY2JkZTAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsNSBAQAorCitQQVNTIFJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyCitQQVNTIFZlcmlm
eSBzaGFyZWQgd29ya2VyIGlzIGNvbnRyb2xsZWQKK1BBU1MgVmVyaWZ5IHNoYXJlZCB3b3JrZXIg
Y2FuIHBvc3QgbWVzc2FnZSB0byBpdHMgc2VydmljZSB3b3JrZXIKKwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2Vy
Lmh0dHBzLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJv
bGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzUxNGI4NTZjMjI4Yjhl
OGZjNDc3OWRlMWJjMzU0Njg0NzJkYmY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBzLmh0
bWwKQEAgLTAsMCArMSw0MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIvcmVzb3Vy
Y2VzL3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy90ZXN0LWhlbHBlcnMuc3ViLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAg
ICB0ZXN0UnVubmVyLnNldFVzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3ModHJ1ZSk7CisK
K3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIGNvbnN0IHJlZ2lzdHJhdGlvbiA9
IGF3YWl0IG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLnJlZ2lzdGVyKCJza2lwRmV0Y2hFdmVudC13
b3JrZXIuanMiLCB7IHNjb3BlIDogJ3Jlc291cmNlcycgfSk7CisgICAgYWN0aXZlV29ya2VyID0g
cmVnaXN0cmF0aW9uLmFjdGl2ZTsKKyAgICBpZiAoYWN0aXZlV29ya2VyKQorICAgICAgICByZXR1
cm47CisKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uaW5zdGFsbGluZzsKKyAgICBh
d2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHsKKyAgICAgICAgYWN0aXZlV29ya2VyLmFkZEV2
ZW50TGlzdGVuZXIoJ3N0YXRlY2hhbmdlJywgKCkgPT4geworICAgICAgICAgICAgaWYgKGFjdGl2
ZVdvcmtlci5zdGF0ZSA9PT0gImFjdGl2YXRlZCIpCisgICAgICAgICAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgICB9KTsKKyAgICB9KTsKK30sICJSZWdpc3RlciBzZXJ2aWNlIHdvcmtlciIpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB3b3JrZXIgPSBuZXcgU2hhcmVk
V29ya2VyKCdyZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuanMnKTsKKyAgICBjb25z
dCBldmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLnBvcnQub25tZXNz
YWdlID0gcmVzb2x2ZSk7CisgICAgYXNzZXJ0X3RydWUoZXZlbnQuZGF0YS5pc0NvbnRyb2xsZWQp
OworfSwgIlZlcmlmeSBzaGFyZWQgd29ya2VyIGlzIGNvbnRyb2xsZWQiKTsKKworcHJvbWlzZV90
ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgd29ya2VyLnBvcnQucG9zdE1lc3NhZ2UoJ3Bpbmcn
KTsKKyAgICBjb25zdCBldmVudCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2Vy
LnBvcnQub25tZXNzYWdlID0gcmVzb2x2ZSk7CisgICAgYXNzZXJ0X2VxdWFscyhldmVudC5kYXRh
LCAncG9uZycpOworfSwgIlZlcmlmeSBzaGFyZWQgd29ya2VyIGNhbiBwb3N0IG1lc3NhZ2UgdG8g
aXRzIHNlcnZpY2Ugd29ya2VyIik7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29u
dHJvbGxlZC1zaGFyZWR3b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjgy
NTc5YWZmNGNkZjE0Y2Q4YWI3OWZjOTI4NWYwOTA2YjRiYTFlMGQKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2NvbnRyb2xs
ZWQtc2hhcmVkd29ya2VyLmpzCkBAIC0wLDAgKzEsOCBAQAorb25jb25uZWN0ID0gYXN5bmMgKGUp
ID0+IHsgCisgICAgY29uc3QgIHBvcnQgPSBlLnBvcnRzWzBdOworICAgIHBvcnQucG9zdE1lc3Nh
Z2UoeyBpc0NvbnRyb2xsZWQgOiAhIW5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIg
fSk7CisgICAgcG9ydC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHsKKyAgICAgICAgbmF2aWdhdG9y
LnNlcnZpY2VXb3JrZXIuY29udHJvbGxlci5wb3N0TWVzc2FnZShldmVudC5kYXRhKTsKKyAgICAg
ICAgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIub25tZXNzYWdlID0gKGV2ZW50KSA9PiBwb3J0LnBv
c3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICAgIH07Cit9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdvcmtlci5q
cwppbmRleCAwY2Y5N2ZlMjNmOGNjYTA2MjEyMjMyZWVmOTllZWE2NzU3NzE1NjIxLi4wYzA3Mzgy
ZTliMmE3MmY5ODllOGQwYjdmYWQzMDViNWEzNzdlOWM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzCisrKyBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9za2lwRmV0Y2hFdmVudC13b3Jr
ZXIuanMKQEAgLTEyLDYgKzEyLDEwIEBAIGFzeW5jIGZ1bmN0aW9uIGRvVGVzdChldmVudCkKICAg
ICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKHNlbGYucmVjZWl2ZWRGZXRjaCk7CiAgICAg
ICAgIHJldHVybjsKICAgICB9CisgICAgaWYgKGV2ZW50LmRhdGEgPT09ICJwaW5nIikgeworICAg
ICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoInBvbmciKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2UoIktPIik7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0
cHMtZXhwZWN0ZWQudHh0CmluZGV4IGRmNzM1ZmFmZDA3YmY2MTkzY2QzZGIwMTU0M2U1N2ExNzgx
NDdjMjIuLjg5Mjk2MTlhNWM5Mjk0ZTQ1N2FiYjg3OWQ3YThhY2Q5N2RkN2E2MzkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xpZW50LXR5cGVz
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBUZXN0IENsaWVudHMu
Z2V0KCkgd2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzIGFzc2VydF9ub3RfZXF1YWxzOiBT
aGFyZWQgd29ya2VyIGNsaWVudCBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCBnb3QgZGlzYWxsb3dl
ZCB2YWx1ZSB1bmRlZmluZWQKK1BBU1MgVGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFu
ZCB3b3JrZXIgY2xpZW50cwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5k
ZXggNmIwZjExNDY3ZjRmNDhiNWFlOTI3YzlmN2ViNWZmZmVhYWM3MTBhZS4uMTk1N2RlY2M4Nzk3
MjFjNmI2MjI1Y2QwM2MxNWQ5OGRhMWFkMjU5ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIAogUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRo
IHdpbmRvdyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3cs
IHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0
IGNvdW50IGV4cGVjdGVkIDEgYnV0IGdvdCAwCitQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgg
e3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJl
Y3QuaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGJhMTRlZGZlMjJjZTA5MmE3ZTk1MjE1N2M1NDhm
MDk2NTBkYTBjZDYuLjZhMjdlZGFjZGFhMWM0ZWIzODY5YTQzMzgyZThkMjI3ZDRjNmZmNTggMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24tcmVkaXJlY3Qu
aHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNl
cHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xMCwxMiArMTAsMTIgQEAgUEFT
UyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtl
cikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJl
ZFdvcmtlcikKIFBBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNh
dGVkV29ya2VyKQogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGlj
YXRlZFdvcmtlcikKLUZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hh
cmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNo
YWJsZSBjb2RlCi1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVk
V29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJs
ZSBjb2RlCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdv
cmtlcikKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3Jr
ZXIpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIpCi1GQUlMIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJlYWNoZWQgdW5y
ZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3Np
YyBTaGFyZWRXb3JrZXIpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1
bGUgU2hhcmVkV29ya2VyKQogUEFTUyBjbGVhbnVwIGdsb2JhbCBzdGF0ZQogUEFTUyBDYXNlICMx
OiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0
U2NyaXB0cygpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2lj
IERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAgLTIzLDExICsyMywxMSBAQCBQQVNTIENhc2Ug
IzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2Nh
dGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUg
RGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENh
c2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxv
Y2F0aW9uLmhyZWYpCi1GQUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNz
aWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIg
YnV0IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayAoc2NvcGUyLykiCi1G
QUlMIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUg
ZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4
dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICMxOiBu
ZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBB
U1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIs
IGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtl
cjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIK
K1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtl
ciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29w
ZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkK
IFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIsIGZldGNoKCkpCkBAIC0zNSwxMSArMzUsMTEgQEAgUEFTUyBDYXNlICMyOiBuZXR3
b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24u
aHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERl
ZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNj
b3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBD
YXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2Vy
LCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIg
YnV0IGdvdCAiaW1wb3J0U2NyaXB0czogc2VydmVkIGZyb20gbmV0d29yayIKLUZBSUwgQ2FzZSAj
MjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNo
KCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBm
cm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFT
UyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtl
ciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNj
b3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYp
CiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRX
b3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZp
Y2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAi
ZmV0Y2goKTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2Ug
IzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAic3cy
IHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiIGJ1dCBn
b3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5
IgogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3Jr
ZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRo
ZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRo
ZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgpAQCAtNDcsMTAgKzQ3LDIyIEBAIEZBSUwgQ2Fz
ZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKSBhc3NlcnRfCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUg
RGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBGQUlMIENhc2UgIzM6IHN3IHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4
dCIKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3Jr
ZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQg
Imh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zdWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/
Z3JlZXRpbmc9c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUy
MHNjcmlwdCIgYnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGly
ZWN0X3dlYndvcmtlci5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNz
aWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIg
YnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVj
aG8ucHkiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdv
cmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcg
dGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcg
dGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFs
czogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNl
LXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0
aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1
ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2Fs
aG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUy
L3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorUEFTUyBDYXNlICMz
OiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwg
ZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZl
dGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZl
dGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2Nh
dGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vy
cy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVk
aXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBm
b3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0
NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2Vy
X2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCiBQQVNTIENhc2UgIzQ6IHN3IHNj
b3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygp
KQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFz
c2ljIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjNDogc3cgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkK
IFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3Jr
ZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
RGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEt
Pm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRj
aCgpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRX
b3JrZXIsIGxvY2F0aW9uLmhyZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3
IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQorUEFTUyBD
YXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRp
b24uaHJlZikKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2Vw
dGlvbi5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJj
ZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBhYmExOTAwNjk0YzRlNDk5NGFhODY4Mzk1
MjU4NDBhNWQ2ZjU3ZDhhLi4wMGFlYTJjOGE2YjhhMGQwNjk1ZTc0NjhjZjI3MDAyMGQ5ZDAxODVh
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9u
Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMSwxNiArMSwxNiBAQAogCiBQQVNTIFZlcmlmeSBhIGRl
ZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1bmNvbnRyb2xsZWQg
ZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ugd29ya2VyLgog
UEFTUyBWZXJpZnkgYW4gb3V0LW9mLXNjb3BlIGRlZGljYXRlZCB3b3JrZXIgc2NyaXB0IHJlcXVl
c3QgaXNzdWVkIGZyb20gYSBjb250cm9sbGVkIGRvY3VtZW50IHNob3VsZCBub3QgYmUgaW50ZXJj
ZXB0ZWQgYnkgZG9jdW1lbnQncyBzZXJ2aWNlIHdvcmtlci4KLUZBSUwgVmVyaWZ5IGEgc2hhcmVk
IHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVu
dCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRlZmluZWQKK1BBU1MgVmVy
aWZ5IGEgc2hhcmVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIHVuY29udHJv
bGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBvd24gc2VydmljZSB3b3Jr
ZXIuCiBQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEg
c2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBkZWRpY2F0ZWQgd29ya2VyLgot
RkFJTCBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZp
Y2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgc2hhcmVkIHdvcmtlci4gcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJp
ZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2Vy
IHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgc2hhcmVkIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgY29y
cyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIGRlZGljYXRl
ZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQg
YnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJp
ZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZp
Y2Ugd29ya2VyIGZhaWxzIGRlZGljYXRlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5v
LWNvcnMgY3Jvc3Mtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3Jr
ZXIgZmFpbHMgc2hhcmVkIHdvcmtlciBzdGFydC4KIFBBU1MgUmVnaXN0ZXIgYSBzZXJ2aWNlIHdv
cmtlciBmb3Igd29ya2VyIHN1YnJlc291cmNlIGludGVyY2VwdGlvbiB0ZXN0cy4KIFBBU1MgUmVx
dWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtl
ci4KLUZBSUwgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2
aWNlIHdvcmtlci4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vz
c2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAie1wiZXJyb3JcIjoge1wiY29kZVwiOiA0MDQs
IFwibWVzc2FnZVwiOiBcIjQwNFwifX0iCitQQVNTIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtl
ciBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuCiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVk
aWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBkZWRpY2F0ZWQgd29ya2VyIGFuZCBjb250cm9sbGVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgIlRoaXMgbG9hZCB3
YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBlY3RlZCBlcnJvciEg
Q2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgogRkFJTCBSZXF1ZXN0cyBvbiBhIGRlZGljYXRl
ZCB3b3JrZXIgbmVzdGVkIGluIGEgc2hhcmVkIHdvcmtlciBhbmQgY29udHJvbGxlZCBieSBhIHNl
cnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nl
c3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVuZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZp
bmQgdmFyaWFibGU6IFdvcmtlciIKIFBBU1MgVW5yZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZv
ciBzdWJyZXNvdXJjZSBpbnRlcmNlcHRpb24gdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5MjdjOWY3ZWI1ZmZmZWFhYzcxMGFlLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCArMCwwIEBACi0KLVBBU1MgVmVyaWZ5
IG1hdGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVyaWZ5IG1hdGNoQWxs
KCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5cGVzIGFzc2Vy
dF9lcXVhbHM6IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAotCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZDIzZDZiNWFiNDUwOGU1Yjc0MDc0MDAw
MjdlNjIwNTJjYTAwZWE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFs
bC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNCAr
MCwwIEBACi0KLVBBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUK
LUZBSUwgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtl
cn0gY2xpZW50IHR5cGVzIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbnVsbCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICd3LnBvcnQub25tZXNzYWdlID0gXyA9PiByZXNvbHZlKHcpJykiCi0K
</data>
<flag name="commit-queue"
          id="487192"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458353</attachid>
            <date>2022-04-26 05:04:00 -0700</date>
            <delta_ts>2022-04-26 23:17:50 -0700</delta_ts>
            <desc>Fix build</desc>
            <filename>bug-239122-20220426140358.patch</filename>
            <type>text/plain</type>
            <size>83791</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJkZjRjM2UxYTk0MmY3
ZGZlMmJhYWRiNzUzOTA2ZDk0ZmRiMmVkZS4uMGIzYmU4ODg2N2EzOWFkOTcxMzUwNzA1OTM4YmFk
NjRlZTBhNjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yNiAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtEYXRhYmFzZVRyYWNrZXJdIFVzZSBQUkl1NjQgZm9yIGxvZ2dpbmcgZm9yIHBvcnRhYmls
aXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGQxYWJlMmRmYTZjMTM0MDM3ZWM3Mjk2NWU3NDU4N2Y2MWRhZTIzMTQu
LmZhOWFhYzRkMmFiMzJiMTEwY2Y5OTMxZmI1ZDFkY2JjZTcwNWNiMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjItMDQtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2Vzcyk6CisKIDIwMjItMDQtMjUgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBOU0NvZGluZyBzdXBwb3J0IGZvciBmaW5kSW50
ZXJhY3Rpb25FbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBkZjI2MWQ0NTc3YWYzOGY1MDA2
OWRjYjRjMWM1YzlkNTE3ZDBmMDcyLi5kMDYwYWQ5ZjMxYWQyZTYxNDgzNzk1MjM3MGJhNTAwMTE5
ZDBhYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE5OTksNiArMTk5OSw3IEBAIHNldChXZWJD
b3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVz
dWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2Jq
ZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKaW5kZXggOWU0MjQ0OGJhMDczYWU5MjBlMzQ3MjQ1YzI2MDgyNGZjOTc0ZjBjNi4u
NjAyM2E2ZjY5YTMyYjg1ZjQ3ZDlmZTIwMzRiNTRjMTYzZDEzMjFhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29y
a2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
CiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkp
OwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlm
aWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAg
cmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRlbnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaAppbmRleCA1M2VkZGYzYWY3YTIxM2NmMjlmNTQzYjUyYTc1YzZiN2IzNmJkNWRhLi4xNjU2
NTI3YjZkYjIxMDgzMTgzMzMzYmU1ZTM1NTk0MTE1MjUxYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtl
ckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsK
IAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciog
d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAg
ICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAppbmRleCA1Njk3MGQwNGEzYTcw
YzE4OTVjZTk3MTk1ODI2ZDA5OWM2NzA4YWVhLi5kY2JlZTFhNzY2NjhlMWQ1MDk1OWZjOTgyZWNl
M2YzYTdjYTE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEu
aCIKKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNiArMzgsNjEgQEAg
c3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CiAjZW5kaWYKICAgICBzdGQ6Om9wdGlv
bmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwog
ICAgIFN0cmluZyB1c2VyQWdlbnQ7CisKKyAgICBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaXNv
bGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBkZWNvZGUoRGVjb2RlciYp
OwogfTsKIAoraW5saW5lIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2aWNlV29ya2Vy
RGF0YSksCisjZW5kaWYKKyAgICAgICAgY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgdXNlckFn
ZW50Lmlzb2xhdGVkQ29weSgpCisgICAgfTsKK30KKworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
Pgordm9pZCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBlbmNvZGVyIDw8IHNl
cnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCisgICAgZW5jb2RlciA8PCBjbGllbnRJZGVudGlmaWVy
IDw8IHVzZXJBZ2VudDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9u
YWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBzZXJ2aWNl
V29ya2VyRGF0YTsKKyAgICBkZWNvZGVyID4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGlmICgh
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHJldHVybiB7IH07CisjZW5kaWYKKworICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4+IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBjbGllbnRJZGVudGlmaWVyOwor
ICAgIGlmICghY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiB1c2VyQWdlbnQ7CisgICAgZGVjb2RlciA+PiB1c2VyQWdlbnQ7
CisgICAgaWYgKCF1c2VyQWdlbnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgICAgIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBXVEZN
b3ZlKCpjbGllbnRJZGVudGlmaWVyKSwKKyAgICAgICAgV1RGTW92ZSgqdXNlckFnZW50KQorICAg
IH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA0MWFhYmM4MDgxODYzYmNmYTUyMjIwNGFj
YTA2MGYzMTcyNjFjYjM3Li5lZmE4Njc3ZTA5MzEyNDZjOWE5NzdhNDc4NjllMGRkYmE5ZjVmZDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBA
IC0xNTYsOCArMTU2LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICAvLyBBIHNlcnZp
Y2Ugd29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBhIHdvcmtlciBjb250ZXh0IG9yIGEg
ZG9jdW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IHNlcnZp
Y2VXb3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHNoYXJlZCB3b3JrZXIuCi0gICAgaWYgKG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIGlzPERvY3VtZW50PihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSkgeworICAgIGlmICgobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpICYmIGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KSkgewogICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7CiAgICAgICAg
IG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElk
ZW50aWZpZXI7CiAgICAgICAgIC8vIEluIGNhc2Ugb2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUg
ZG9jdW1lbnQgY29udHJvbGxpbmcgc2VydmljZSB3b3JrZXIuCkBAIC0xNjgsNiArMTY3LDggQEAg
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICB9IGVsc2UgaWYgKGF1dG8qIGFjdGl2ZVNlcnZp
Y2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkK
ICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFj
dGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKICNlbmRpZgorICAg
IGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdv
cmtlcikKKyAgICAgICAgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LnVzZXJBZ2VudChzY3JpcHRSZXF1ZXN0LnVybCgpKTsKIAogICAgIC8vIER1cmlu
ZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZl
cmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaAppbmRleCBiNjhiMDI0ZDYxM2FlMWRmMmU1YTQ5NTFmNTA5ODlhZDY5NjBlZTQ4Li4zZGEw
YTFkNWE2OTlmNDA3MTdjOTQzNTBkOTQ5YTkzYTU0MzhlNjRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTEwNCw2ICsxMDQsOSBAQCBwdWJsaWM6
CiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gdGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCkgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhLCB7
IH0pOyB9CiAjZW5kaWYKIAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNs
aWVudElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KKyAg
ICBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOyB9CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0
ZDo6ZGVmYXVsdF9kZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEzOSw2ICsxNDIsNyBA
QCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJEYXRhPiBtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhOwogI2VuZGlmCisg
ICAgU3RyaW5nIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dD
bGllbnRDb25uZWN0aW9uLmNwcAppbmRleCA4OGI0ZDg0Yzg5ZTk5YzFjNGYyNWEwODIzMWU0MTFk
ZjU5MDc0ZDUxLi41NWYzNzM1YzIyMTdmZTQ5NWQ0N2UyY2RkZGQ0NzFlMDRmMDA0MmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0
aW9uLmNwcApAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRh
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFk
LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgPHd0Zi9Dcm9z
c1RocmVhZENvcGllci5oPgpAQCAtMTE0LDE3ICsxMTYsMzMgQEAgdm9pZCBTV0NsaWVudENvbm5l
Y3Rpb246OnN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIoU2VydmljZVdvcmtlckpvYklkZW50aWZp
ZXIgam8KIH0KIAogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2Fn
ZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4p
Cit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuZW5zdXJlU2VydmljZVdvcmtl
ckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVz
c2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7Cit9CisK
IHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJE
YXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25Db250ZXh0SWRlbnRp
ZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCi0gICAgYXV0
byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQo
ZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYgKCFkZXN0aW5hdGlvbkRvY3Vt
ZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERv
Y3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAg
ICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBXVEZNb3ZlKG1l
c3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRlc3RpbmF0
aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgY29u
dGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEp
LCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6
OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICB3
b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRl
bnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICBzaGFyZWRX
b3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBmb3JB
bGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MiwxOCBAQCB2b2lkIFNXQ2xpZW50
Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0
PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFNlcnZp
Y2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OndvcmtlckJ5SWRl
bnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBpZiAoYXV0byogd29ya2VyID0g
V29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikpIHsKICAgICAgICAgICAgIHdv
cmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdDb250cm9sbGVyID0gbmV3Q29u
dHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgewogICAgICAg
ICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVy
KSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0g
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJzLgorICAgICAgICBpZiAoYXV0
byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihj
bGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVkV29ya2VyLT50aHJlYWQoKS5y
dW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVk
Q29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgdXBkYXRl
Q29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYwYjQ4MWY4YTBh
Li45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0YzgyN2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclNXQ2xpZW50Q29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzMsNyAr
MTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgpIC0+IFJlYWR5UHJv
bWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xsZXIo
KSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRl
eHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRl
eHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFuZCBkZWRpY2F0ZWQg
d29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAgfHwgaXM8U2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtlcnMgY2FuIGhhdmUg
YSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4dC0+YWN0aXZlU2Vy
dmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA3ZDRlM2FiYWE5M2MyMDdlOTZm
ZGU1MmFiOWRhZDgxODZlYWQ0MzM3Li41M2QwMGEyNGZhZTc3NmU2NDNlNzJkMWM4MmM0OGU1YmEx
YTQwOTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcApAQCAtMTAzOSw2ICsxMDM5LDI4IEBAIHZvaWQgU1dTZXJ2ZXI6OnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNlcnZp
Y2VXCiAgICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmFkZChjbGllbnRJZGVu
dGlmaWVyLCAqY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7
CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4gU1dTZXJ2
ZXI6OmdhdGhlckNsaWVudERhdGEoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAg
YXV0byBjbGllbnREYXRhSXRlcmF0b3IgPSBtX2NsaWVudHNCeUlkLmZpbmQoY2xpZW50SWRlbnRp
Zmllcik7CisgICAgaWYgKGNsaWVudERhdGFJdGVyYXRvciA9PSBtX2NsaWVudHNCeUlkLmVuZCgp
KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjb250cm9sbGluZ1JlZ2lzdHJhdGlv
SXRlcmF0b3IgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24uZmluZChjbGllbnRJ
ZGVudGlmaWVyKTsKKyAgICBpZiAoY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yID09IG1f
Y2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbi5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGF1dG8gY2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yID0gbV9jbGllbnRJZGVudGlm
aWVyc1Blck9yaWdpbi5maW5kKGNsaWVudE9yaWdpbik7CisgICAgaWYgKGNsaWVudHNQZXJPcmln
aW5JdGVyYXRvciA9PSBtX2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luLmVuZCgpKQorICAgICAg
ICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIEdhdGhlcmVkQ2xpZW50RGF0YSB7CisgICAgICAg
IGNsaWVudE9yaWdpbiwKKyAgICAgICAgY2xpZW50RGF0YUl0ZXJhdG9yLT52YWx1ZSwKKyAgICAg
ICAgY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yLT52YWx1ZSwKKyAgICAgICAgY2xpZW50
c1Blck9yaWdpbkl0ZXJhdG9yLT52YWx1ZS51c2VyQWdlbnQKKyAgICB9OworfQorCiB2b2lkIFNX
U2VydmVyOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRl
bnRpZmllcikKIHsKICAgICBhdXRvIGNsaWVudFJlZ2lzdHJhYmxlRG9tYWluID0gY2xpZW50T3Jp
Z2luLmNsaWVudFJlZ2lzdHJhYmxlRG9tYWluKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggN2FhODcyYzk0Y2M5MzYwZmI4YjQ2
MzA1MTJlMzliZjkwMDA0NTJkZC4uMzNhODE0MGE1OGM0OGE4NWU4N2ViMzNlY2I5YzZkNDQ0ZjJi
YmI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaApAQCAtMjQ2LDYgKzI0NiwxNCBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllclRvQ29u
dHJvbGxpbmdSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZm9yRWFjaENsaWVudEZvck9yaWdpbihjb25z
dCBDbGllbnRPcmlnaW4mLCBjb25zdCBGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJik+Jik7CiAKKyAgICBzdHJ1Y3QgR2F0aGVyZWRDbGllbnREYXRhIHsKKyAgICAgICAgQ2xp
ZW50T3JpZ2luIGNsaWVudE9yaWdpbjsKKyAgICAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEg
c2VydmljZVdvcmtlckNsaWVudERhdGE7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI7CisgICAgICAgIFN0cmluZyB1c2VyQWdlbnQ7CisgICAgfTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPEdhdGhlcmVkQ2xpZW50RGF0YT4gZ2F0aGVy
Q2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbWF4UmVnaXN0cmF0aW9uQ291bnQo
KTsKICAgICBib29sIGFsbG93TG9vcGJhY2tJUEFkZHJlc3MoY29uc3QgU3RyaW5nJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
ck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEyYTM5Njg3ZTU1
YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2MmQ2NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKIFNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBk
ZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZldGNoU2NyaXB0
SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVy
IHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNj
cmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2Vy
T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9IFNoYXJlZFdv
cmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcik7CiAgICAg
Q09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2JqZWN0KTsKICAg
ICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHdv
cmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNl
bGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRj
aEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24g
fSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRlcklkZW50aWZp
ZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3b3JrZXJPcHRp
b25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAgbV9sb2FkZXJz
LmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAgbG9hZGVyUHRy
LT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KSBt
dXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBmZXRj
aFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAgICAgICAgIENP
Tk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlzaGVkIHNjcmlw
dCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkpOwogICAgICAg
ICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIpOwogICAgICAg
ICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRj
aFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZldGNoUmVzdWx0
KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFkNTliN2Y3ZmIwMGQ1ZTA1OWJi
NzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTkyYWMwMGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtlckZldGNoUmVz
dWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRp
b25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTIsNyArNTMsNyBAQCBw
dWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmV0
Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVkOThhMzZjOWUy
MzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0OWZmYmQ4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2Vy
RmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OlNoYXJlZFdv
cmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtlciYgd29yawogewogfQogCi12
b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVyKTsKICAgICBtX2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBhdXRvIHNvdXJj
ZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSA/IFdvcmtlclNjcmlwdExv
YWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJjZTo6
Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCpt
X3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwp
LCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2Rl
OjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAgICBtX2xvYWRl
ci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9w
dGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIp
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVj
dGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZh
dWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSk7
CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9
IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+ZmFpbGVkKCkp
CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9hZGVyLT5zY3Jp
cHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRj
aFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhhbmRsZXIobV9s
b2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZpZXIoKSwKKyAg
ICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpCisgICAgfSk7IC8vIGRl
bGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApp
bmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40NWU2NWZmNmMw
MzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDAs
MTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNz
IFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJG
ZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlvbnMmJik7CiAK
LSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYm
KT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hS
ZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAgIGNvbnN0IFVS
TCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3JrZXImIHdvcmtl
cigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBAIHByaXZhdGU6
CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29uc3QgUmVmPFdv
cmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJsOwotICAgIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29tcGxldGlvbkhh
bmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNTg1OTlh
YmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3OTY0YzlkZjcyYWExYzkwZmE0
M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApAQCAtNDMsNyAr
NDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQoU2hhcmVkV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBT
aGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29y
a2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlOiBt
X2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0g
ICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpleGNoYW5nZSht
X25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUo
dG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAg
IGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFu
Z2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZN
b3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMuc2VydmljZVdv
cmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VX
b3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpwYXJh
bWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29wZTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5
LmNwcAppbmRleCA0NmVhNDZhYjA0MTVmMTEzZmZhYjUzZWY5YzYyNjZkN2YxNzZhMmNmLi45ZTQy
Y2IwYjhlMzdjMGFjNTcwNmI4NDgyM2RiNzc1M2Q1MWQ4ODgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcApAQCAtNDksMjAgKzQ5LDIwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVkV29ya2Vy
VGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3RhdGlj
IE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKIH0KIAotc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJz
KGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9u
cyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVudCYgZG9j
dW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRp
b25EYXRhLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoZG9jdW1l
bnQuc2Vzc2lvbklEKCkpOwogICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0
Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAgICJz
aGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVu
dGlmaWVyKCksCi0gICAgICAgIHVzZXJBZ2VudCwKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXph
dGlvbkRhdGEudXNlckFnZW50KSwKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPmlzT25MaW5lKCksCiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0LmNvbnRl
bnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgZmFsc2UsCkBAIC03NSwyMCArNzUsMjYgQEAgc3Rh
dGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtl
ckZldGNoUmVzdWx0JiB3b3JrZXIKICAgICAgICAgV29ya2VyVGhyZWFkTW9kZTo6Q3JlYXRlTmV3
VGhyZWFkLAogICAgICAgICAqZG9jdW1lbnQuc2Vzc2lvbklEKCksCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQotICAgICAgICB7IH0sCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhLnNlcnZpY2VXb3JrZXJEYXRhKSwKICNlbmRpZgotICAgICAgICB7IH0KKyAgICAgICAgKmlu
aXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyCiAgICAgfTsKIH0KIAotU2hhcmVkV29y
a2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYm
IHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29u
c3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2Vy
RmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQor
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlkZW50
aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAg
ICByZXR1cm4gYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmdldChpZGVudGlmaWVyKTsK
K30KKworU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVu
aXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2Vy
SWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNo
UmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25z
LCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIENhY2hlU3Rv
cmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IG1fcGFnZShXVEZNb3Zl
KHBhZ2UpKQogICAgICwgbV9kb2N1bWVudCgqbV9wYWdlLT5tYWluRnJhbWUoKS5kb2N1bWVudCgp
KQotICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVk
V29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVz
dWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCB1c2VyQWdlbnQsIG1fZG9jdW1lbnQpLCBXVEZN
b3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5
T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5z
b2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkK
KyAgICAsIG1fY29udGV4dElkZW50aWZpZXIoKmluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVu
dGlmaWVyKQorICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUo
c2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZl
dGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9u
RGF0YSksIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0
aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRP
cmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rp
b25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFn
czo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoY2Fj
aGVTdG9yYWdlUHJvdmlkZXIpCiB7Ci0gICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94aWVzKCkuY29udGFpbnModGhpcykpOwotICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hp
ZXMoKS5hZGQodGhpcyk7CisgICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRo
cmVhZFByb3hpZXMoKS5hZGQobV9jb250ZXh0SWRlbnRpZmllciwgdGhpcyk7CiAKICAgICBzdGF0
aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtOTks
OCArMTA1LDggQEAgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFcKIAogU2hhcmVkV29ya2VyVGhyZWFk
UHJveHk6On5TaGFyZWRXb3JrZXJUaHJlYWRQcm94eSgpCiB7Ci0gICAgQVNTRVJUKGFsbFNoYXJl
ZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29y
a2VyVGhyZWFkUHJveGllcygpLnJlbW92ZSh0aGlzKTsKKyAgICBBU1NFUlQoYWxsU2hhcmVkV29y
a2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY29udGV4dElkZW50aWZpZXIpKTsKKyAgICBh
bGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkucmVtb3ZlKG1fY29udGV4dElkZW50aWZpZXIp
OwogfQogCiBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Ojpp
ZGVudGlmaWVyKCkgY29uc3QKQEAgLTE3Niw3ICsxODIsNyBAQCB2b2lkIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5OjpzZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKGJvb2wp
CiAKIHZvaWQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoYm9v
bCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhy
ZWFkUHJveGllcygpKQorICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94aWVzKCkudmFsdWVzKCkpCiAgICAgICAgIHByb3h5LT5ub3RpZnlOZXR3b3JrU3RhdGVD
aGFuZ2UoaXNPbkxpbmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXgg
ZGFiM2ExMjNkZWUxOGRiYjYyNGQ3N2Y1OGVkOThkNDQ5NGM3ZmE5OS4uNWUzZWE0YjA2YTdjODUw
OTU0NWQ5ZmFmYTAwNDUzNWE3MmE4NTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHku
aApAQCAtNDEsMTIgKzQxLDE1IEBAIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZDsKIAogc3RydWN0
IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZFByb3h5IGZpbmFs
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNoYXJlZFdvcmtlclRocmVhZFByb3h5Piwg
cHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1Ymxp
YyBXb3JrZXJEZWJ1Z2dlclByb3h5IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBBcmdzPiBzdGF0aWMgUmVmPFNoYXJlZFdvcmtlclRocmVhZFByb3h5PiBjcmVhdGUoQXJncyYm
Li4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyVGhyZWFkUHJveHko
c3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB+U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkoKTsKIAorICAgIHN0YXRpYyBTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eSogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwog
ICAgIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIFNoYXJl
ZFdvcmtlclRocmVhZCYgdGhyZWFkKCkgeyByZXR1cm4gbV93b3JrZXJUaHJlYWQ7IH0KIApAQCAt
NTQsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJtaW5h
dGVkKCkgeyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6
Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBh
Z2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtl
ckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNv
bnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAKICAg
ICAvLyBXb3JrZXJPYmplY3RQcm94eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9i
amVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBmaW5hbDsKQEAgLTc4LDYgKzgxLDcg
QEAgcHJpdmF0ZToKIAogICAgIFVuaXF1ZVJlZjxQYWdlPiBtX3BhZ2U7CiAgICAgUmVmPERvY3Vt
ZW50PiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIG1f
Y29udGV4dElkZW50aWZpZXI7CiAgICAgUmVmPFNoYXJlZFdvcmtlclRocmVhZD4gbV93b3JrZXJU
aHJlYWQ7CiAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7
CiAgICAgUmVmUHRyPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAppbmRleCAwZDRlOWY5OWM2YmY3YmYyMWU3NWUwMTBlNGVhMjVmMDcw
YjExZTRjLi5mNzYxY2EyYzZiOTViMTRkMTdjZTNkMjI2YWFlNGNmNThlNjk5ZTM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xMjE1LDEyICsxMjE1LDIxIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVy
OjpyZXN0YXJ0TmV0d29ya0xvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxCiAg
ICAgc3RhcnROZXR3b3JrTG9hZChXVEZNb3ZlKG5ld1JlcXVlc3QpLCBGaXJzdExvYWQ6Ok5vKTsK
IH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3N0YXRpYyBib29sIHNob3VsZFRyeVRv
TWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0aW9u
cywgYm9vbCBpc1NlcnZpY2VXb3JrZXJMb2FkZWQpCit7CisgICAgaWYgKG9wdGlvbnMubW9kZSA9
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gaXNTZXJ2aWNlV29ya2VyTG9hZGVkICYmIChvcHRpb25zLmRlc3RpbmF0aW9uID09
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBvcHRpb25zLmRlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcik7Cit9CisjZW5kaWYK
Kwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QsIGJvb2wgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3Jl
ZGVudGlhbHMpCiB7CiAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVx
dWVzdDogKGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzPSVkKSIsIGlzQWxsb3dlZFRv
QXNrVXNlckZvckNyZWRlbnRpYWxzKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAg
ICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5h
dmlnYXRlIHx8IChwYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewor
ICAgIGlmIChzaG91bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVjdGlvbihwYXJhbWV0
ZXJzKCkub3B0aW9ucywgISFtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAgIG1f
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2Vydmlj
ZVdvcmtlckZldGNoVGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlzLCBu
ZXdSZXF1ZXN0KSkgewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdp
bGxTZW5kUmVxdWVzdDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFuZGxl
IHRoZSByZWRpcmVjdCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2stPmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBjZjMwZGU0OWZjYjA5OTgxY2Y3ZTNkNjEx
ZWIyOWVkYjlkYTQ4ZWNjLi5lYWVhYTNkOTMzNDE5ZDE1OTBkOTUzYjkzZTFmM2VmNjBjODg1ZTA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY5LDYgKzE2
OSw4IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwCiAgICAgU2VydmljZVdvcmtlckNsaWVudFR5
cGUgY2xpZW50VHlwZTsKICAgICBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uICA9
PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCiAgICAgICAgIGNsaWVudFR5cGUg
PSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyOworICAgIGVsc2UgaWYgKHBhcmFtZXRl
cnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hh
cmVkd29ya2VyKQorICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6
OlNoYXJlZHdvcmtlcjsKICAgICBlbHNlCiAgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZTo6V2luZG93OwogCkBAIC0yMDEsNyArMjAzLDcgQEAgc3RkOjp1bmlxdWVf
cHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRl
RmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygp
Lm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
KSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0
aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3Rp
bmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBsb2FkZXIucGFy
YW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2hhcmVkd29ya2VyKSB7CiAgICAgICAgIGF1dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBhcmFt
ZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRpb24gPyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21V
UkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIucGFyYW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0YSgp
OwogICAgICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRv
cE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKQpAQCAt
NjgzLDYgKzY4NSwxNiBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dHJhbnNmZXJTZXJ2
aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrUmVzbwogICAgIGNvbnRyb2xDbGll
bnQobG9hZGVyLnBhcmFtZXRlcnMoKSwgcmVnaXN0cmF0aW9uLCBsb2FkZXIub3JpZ2luYWxSZXF1
ZXN0KCkpOwogfQogCitzdGQ6Om9wdGlvbmFsPFNXU2VydmVyOjpHYXRoZXJlZENsaWVudERhdGE+
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2F0aGVyQ2xpZW50RGF0YShTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQoreworICAgIEFTU0VSVChjbGllbnRJ
ZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gaWRlbnRpZmllcigpKTsKKyAgICBhdXRv
IGl0ZXJhdG9yID0gbV9jbGllbnRPcmlnaW5zLmZpbmQoY2xpZW50SWRlbnRpZmllcik7CisgICAg
aWYgKGl0ZXJhdG9yID09IG1fY2xpZW50T3JpZ2lucy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIHJldHVybiBzZXJ2ZXIoKS5nYXRoZXJDbGllbnREYXRhKGl0ZXJhdG9yLT52YWx1
ZSwgY2xpZW50SWRlbnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5k
ZWYgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uaAppbmRleCA0ZjAyNWUyMTkxMWYzMmI2ZWEwZjNkMmE5OTdlNTg5OWUz
ODBhYjQ1Li4yMWNlNTYzNGRjODk0NTg2ZjU2YWM3NjM4NTU5NzU5OTQ2MTAwMTY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC04NSw2ICs4NSwxMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBmZXRjaFRhc2tUaW1lZE91dChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CiAKICAgICB2b2lkIHRyYW5zZmVyU2VydmljZVdvcmtlckxvYWRUb05ld1dlYlByb2Nl
c3MoTmV0d29ya1Jlc291cmNlTG9hZGVyJiwgV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb24m
KTsKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNXU2VydmVyOjpHYXRoZXJlZENsaWVudERh
dGE+IGdhdGhlckNsaWVudERhdGEoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOworCisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
Jik7CiAKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50IFNXU2VydmVyOjpDb25uZWN0aW9uIChN
ZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MpCkBAIC0xMTAsOCArMTE0LDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhPiYmKT4mJik7CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGE+Jik+JiYpOwogCi0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKLSAgICB2b2lkIHVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyJik7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJGcm9tQ2xpZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmNwcAppbmRleCBlNjE2MWU5NjMzNjBhNTkwODgw
ZjgzMzNhMjY1ODU0NTVlNjUzZjkwLi5lYzcyYjc0ZjJmNThlMTlhNzU5ODcwZDQ2MWE4NDJmNjk3
MGIyMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5jcHAKQEAgLTcyLDExICs3Miw5IEBAIFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIFdlYlNoYXJlZFdvcmtlcjo6cmVnaXN0cmFibGVEb21h
aW4oKSBjb25zdAogICAgIHJldHVybiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB7IHVybCgp
IH07CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyOjpzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0LCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uKiBjb250ZXh0Q29ubmVjdGlvbikKK3ZvaWQgV2ViU2hhcmVkV29ya2Vy
OjpzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0
KQogewogICAgIG1fZmV0Y2hSZXN1bHQgPSBXVEZNb3ZlKGZldGNoUmVzdWx0KTsKLSAgICBpZiAo
Y29udGV4dENvbm5lY3Rpb24pCi0gICAgICAgIGxhdW5jaCgqY29udGV4dENvbm5lY3Rpb24pOwog
fQogCiB2b2lkIFdlYlNoYXJlZFdvcmtlcjo6ZGlkQ3JlYXRlQ29udGV4dENvbm5lY3Rpb24oV2Vi
U2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYgY29udGV4dENvbm5lY3Rpb24p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCmluZGV4IDNjYzRhNjg5ZDVlZWM1NDU1ZTBiMGRjYWU5NzA3
ZjNlZTA3N2IxNjUuLmUwZGY2OWNiY2E0NjE4M2YzZjNhOTZmYTk4NzMwOGEyMGFjMmY0OTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFu
c2ZlcnJlZE1lc3NhZ2VQb3J0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3Vs
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Xb3JrZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
IApAQCAtNzEsMTAgKzcyLDE1IEBAIHB1YmxpYzoKICAgICBib29sIGlzUnVubmluZygpIGNvbnN0
IHsgcmV0dXJuIG1faXNSdW5uaW5nOyB9CiAgICAgdm9pZCBtYXJrQXNSdW5uaW5nKCkgeyBtX2lz
UnVubmluZyA9IHRydWU7IH0KIAorICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0
aW9uRGF0YSYgaW5pdGlhbGl6YXRpb25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXph
dGlvbkRhdGE7IH0KKyAgICB2b2lkIHNldEluaXRpYWxpemF0aW9uRGF0YShXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpIHsgbV9pbml0aWFsaXph
dGlvbkRhdGEgPSBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSk7IH0KKwogICAgIGNvbnN0IFdl
YkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiBmZXRjaFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZmV0Y2hSZXN1bHQ7IH0KLSAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYsIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qKTsK
KyAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOwog
ICAgIGJvb2wgZGlkRmluaXNoRmV0Y2hpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fZmV0Y2hSZXN1
bHQuc2NyaXB0OyB9CiAKKyAgICB2b2lkIGxhdW5jaChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uJik7CisKIHByaXZhdGU6CiAgICAgV2ViU2hhcmVkV29ya2VyKFdlYlNo
YXJlZFdvcmtlciYmKSA9IGRlbGV0ZTsKICAgICBXZWJTaGFyZWRXb3JrZXImIG9wZXJhdG9yPShX
ZWJTaGFyZWRXb3JrZXImJikgPSBkZWxldGU7CkBAIC04Myw3ICs4OSw2IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHZvaWQgcmVzdW1lSWZOZWVkZWQoKTsK
LSAgICB2b2lkIGxhdW5jaChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9u
Jik7CiAKICAgICBzdHJ1Y3QgU2hhcmVkV29ya2VyT2JqZWN0U3RhdGUgewogICAgICAgICBib29s
IGlzU3VzcGVuZGVkIHsgZmFsc2UgfTsKQEAgLTk2LDYgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6V29ya2VyT3B0aW9ucyBtX3dvcmtlck9wdGlvbnM7CiAgICAgSGFzaE1hcDxXZWJD
b3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJPYmplY3RTdGF0
ZT4gbV9zaGFyZWRXb3JrZXJPYmplY3RzOwogICAgIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0
IG1fZmV0Y2hSZXN1bHQ7CisgICAgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIG1f
aW5pdGlhbGl6YXRpb25EYXRhOwogICAgIGJvb2wgbV9pc1J1bm5pbmcgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlclNlcnZlci5jcHAKaW5kZXggNDBkM2YyMmJkYWNjOWE4ODg3MDdmYWRkYzU2MGYwODVmYzYw
OTAzYy4uMzhjNzZjNjYxMzVkN2Y5OGMxMzIzMGFlZTk4ZGVhYjVlYzg1ZTU1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04NywxMyArODcsMTMgQEAgdm9pZCBX
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVk
V29ya2VyS2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVyQ29ubmVjdGlvbik7CiAKICAgICBS
RUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RT
aGFyZWRXb3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIgc2NyaXB0IGluIGNsaWVudCIpOwot
ICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlz
IH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKFdlYkNvcmU6Oldv
cmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAgICBzZXJ2ZXJDb25uZWN0aW9uLT5m
ZXRjaFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRXb3JrZXIgPSBXZWFr
UHRyIHsgKnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1dG8mJiBpbml0aWFs
aXphdGlvbkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHNoYXJlZFdvcmtlcikKLSAg
ICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgq
c2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgICAgICB3ZWFrVGhp
cy0+ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJlZFdvcmtlciwgV1RG
TW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7
CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJl
ZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVy
OjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNo
YXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCwgV2Vi
Q29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewog
ICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlk
RmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hhcmVkV29ya2VySWRlbnRpZmllcj0l
IiBQUkl1NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNzPSVkIiwgc2hhcmVkV29ya2VyLmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2VyLCBmZXRjaFJlc3VsdC5lcnJvci5p
c051bGwoKSk7CiAKQEAgLTEwNywxMCArMTA3LDEyIEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2Vy
dmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXIm
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvKiBjb25uZWN0aW9uID0gbV9jb250
ZXh0Q29ubmVjdGlvbnMuZ2V0KHNoYXJlZFdvcmtlci5yZWdpc3RyYWJsZURvbWFpbigpKTsKLSAg
ICBzaGFyZWRXb3JrZXIuc2V0RmV0Y2hSZXN1bHQoV1RGTW92ZShmZXRjaFJlc3VsdCksIGNvbm5l
Y3Rpb24pOworICAgIHNoYXJlZFdvcmtlci5zZXRJbml0aWFsaXphdGlvbkRhdGEoV1RGTW92ZShp
bml0aWFsaXphdGlvbkRhdGEpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0RmV0Y2hSZXN1bHQoV1RG
TW92ZShmZXRjaFJlc3VsdCkpOwogCi0gICAgaWYgKCFjb25uZWN0aW9uKQorICAgIGlmIChhdXRv
KiBjb25uZWN0aW9uID0gbV9jb250ZXh0Q29ubmVjdGlvbnMuZ2V0KHNoYXJlZFdvcmtlci5yZWdp
c3RyYWJsZURvbWFpbigpKSkKKyAgICAgICAgc2hhcmVkV29ya2VyLmxhdW5jaCgqY29ubmVjdGlv
bik7CisgICAgZWxzZQogICAgICAgICBjcmVhdGVDb250ZXh0Q29ubmVjdGlvbihzaGFyZWRXb3Jr
ZXIucmVnaXN0cmFibGVEb21haW4oKSwgc2hhcmVkV29ya2VyLmZpcnN0U2hhcmVkV29ya2VyT2Jq
ZWN0UHJvY2VzcygpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAppbmRl
eCBiMjA2YWYyYzBlYzJiMjhlMTE5NjgzZGRlMGRmNzQwMWQwODgyOTZlLi5lNjM3MGQ3MzM0MzE0
Y2U3ZTczYzlhMmFmYjcwMjUzNmJlNWFjOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBD
bGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTc3LDcgKzc4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKGNvbnN0IFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllcj4gcmVxdWVzdGluZ1Byb2Nlc3NJZGVudGlmaWVyKTsKICAgICBib29sIG5lZWRz
Q29udGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbiYpIGNvbnN0OwogICAgIHZvaWQgY29udGV4dENvbm5lY3Rpb25DcmVhdGVk
KFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKLSAgICB2b2lkIGRp
ZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYsIFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFy
ZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgc2h1
dERvd25TaGFyZWRXb3JrZXIoY29uc3QgV2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5Jik7CiAKICAg
ICBOZXR3b3JrU2Vzc2lvbiYgbV9zZXNzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA5YTZkMzY1ZTMwYzhmZmIwZjdhNWQy
NDZkZmVmYWFiNmIyNWE4YmUxLi4xMmYzNWY1NWU5NTFlODk5M2M2NTk3NGZlZTA3ZWY1NjU4Mzky
NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0
aW9uLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29u
bmVjdGlvbjo6cmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShXZWJDb3JlOjpTaGFyZWRXCiAgICAg
ICAgIHNlc3Npb24tPmVuc3VyZVNoYXJlZFdvcmtlclNlcnZlcigpLnJlc3VtZUZvckJhY2tGb3J3
YXJkQ2FjaGUoc2hhcmVkV29ya2VyS2V5LCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyKTsK
IH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpmZXRjaFNjcmlwdElu
Q2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZl
dGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdl
YkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3Vs
dCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVu
dDogc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zIiwgc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNlbmRXaXRo
QXN5bmNSZXBseShNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6RmV0
Y2hTY3JpcHRJbkNsaWVudCB7IHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVkV29ya2VyT2JqZWN0
SWRlbnRpZmllciwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSB9LCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJD
b25uZWN0aW9uLmgKaW5kZXggYjQxOTE5NjVjMzQyNWZmMWUwNmFmMzdlNGJhMjViNDUyYzgyZmZi
OC4uZjFiNzEyYjdjODQyNjg1OTFiNzE1NjM2NjZkNGM4ZmQ2NTZjMDFiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaApAQCAtNjMsNyArNjMs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50
KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
Jik+JiYpOworICAgIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3Jr
ZXImLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxv
YWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCA1ZTQzZjExY2Yz
YTZjMzRmOTk3N2Q1NGZiYTY2MWE1M2M5YmEzMzE0Li5hODFlZmQyNjYwZmIxNTQ5YTIzZmIwNmM1
NGM5YzkyMmYzNTI4NjM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMzIsNiArMzIsNyBAQAog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIlJlbW90
ZVdvcmtlclR5cGUuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpbmNs
dWRlICJXZWJTV1NlcnZlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXIu
aCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb25NZXNz
YWdlcy5oIgogI2luY2x1ZGUgIldlYlNoYXJlZFdvcmtlclNlcnZlci5oIgpAQCAtOTksNyArMTAw
LDI0IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbjo6bGF1
bmNoU2hhcmVkV29ya2VyKFdlYlNoYXJlZFdvcmtlCiB7CiAgICAgQ09OVEVYVF9DT05ORUNUSU9O
X1JFTEVBU0VfTE9HKCJsYXVuY2hTaGFyZWRXb3JrZXI6IHNoYXJlZFdvcmtlcklkZW50aWZpZXI9
JSIgUFJJdTY0LCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLnRvVUludDY0KCkpOwogICAgIHNo
YXJlZFdvcmtlci5tYXJrQXNSdW5uaW5nKCk7Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViU2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3JrZXIgeyBzaGFy
ZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNoYXJlZFdvcmtl
ci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5mZXRjaFJlc3VsdCgpIH0pOworICAgIGF1
dG8gaW5pdGlhbGl6YXRpb25EYXRhID0gc2hhcmVkV29ya2VyLmluaXRpYWxpemF0aW9uRGF0YSgp
OworICAgIGlmIChhdXRvIGNvbnRleHRJZGVudGlmaWVyID0gaW5pdGlhbGl6YXRpb25EYXRhLmNs
aWVudElkZW50aWZpZXIpIHsKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50
aWZpZXIgPSBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciB7IGNvbnRleHRJZGVudGlm
aWVyLT5vYmplY3QoKSwgd2ViUHJvY2Vzc0lkZW50aWZpZXIoKSB9OworI2lmIEVOQUJMRShTRVJW
SUNFX1dPUktFUikKKyAgICAgICAgaWYgKGF1dG8qIHNlcnZpY2VXb3JrZXJPbGRDb25uZWN0aW9u
ID0gbV9jb25uZWN0aW9uLm5ldHdvcmtQcm9jZXNzKCkud2ViUHJvY2Vzc0Nvbm5lY3Rpb24oY29u
dGV4dElkZW50aWZpZXItPnByb2Nlc3NJZGVudGlmaWVyKCkpKSB7CisgICAgICAgICAgICBpZiAo
YXV0byogc3dPbGRDb25uZWN0aW9uID0gc2VydmljZVdvcmtlck9sZENvbm5lY3Rpb24tPnN3Q29u
bmVjdGlvbigpKSB7CisgICAgICAgICAgICAgICAgaWYgKGF1dG8gY2xpZW50RGF0YSA9IHN3T2xk
Q29ubmVjdGlvbi0+Z2F0aGVyQ2xpZW50RGF0YSgqY29udGV4dElkZW50aWZpZXIpKSB7CisgICAg
ICAgICAgICAgICAgICAgIHN3T2xkQ29ubmVjdGlvbi0+dW5yZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoKmNvbnRleHRJZGVudGlmaWVyKTsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGF1dG8q
IHN3TmV3Q29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbi5zd0Nvbm5lY3Rpb24oKSkgeworICAgICAg
ICAgICAgICAgICAgICAgICAgY2xpZW50RGF0YS0+c2VydmljZVdvcmtlckNsaWVudERhdGEuaWRl
bnRpZmllciA9ICppbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmllcjsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIHN3TmV3Q29ubmVjdGlvbi0+cmVnaXN0ZXJTZXJ2aWNlV29ya2VyQ2xp
ZW50KFdURk1vdmUoY2xpZW50RGF0YS0+Y2xpZW50T3JpZ2luKSwgV1RGTW92ZShjbGllbnREYXRh
LT5zZXJ2aWNlV29ya2VyQ2xpZW50RGF0YSksIGNsaWVudERhdGEtPmNvbnRyb2xsaW5nU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXIsIFdURk1vdmUoY2xpZW50RGF0YS0+dXNlckFn
ZW50KSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAg
ICAgICB9CisgICAgICAgIH0KKyNlbmRpZgorICAgIH0KKyAgICBzZW5kKE1lc3NhZ2VzOjpXZWJT
aGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OkxhdW5jaFNoYXJlZFdvcmtlciB7
IHNoYXJlZFdvcmtlci5vcmlnaW4oKSwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKSwgc2hhcmVk
V29ya2VyLndvcmtlck9wdGlvbnMoKSwgc2hhcmVkV29ya2VyLmZldGNoUmVzdWx0KCksIGluaXRp
YWxpemF0aW9uRGF0YSB9KTsKICAgICBzaGFyZWRXb3JrZXIuZm9yRWFjaFNoYXJlZFdvcmtlck9i
amVjdChbJl0oYXV0bywgYXV0byYgcG9ydCkgewogICAgICAgICBwb3N0Q29ubmVjdEV2ZW50KHNo
YXJlZFdvcmtlciwgcG9ydCk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5jcHAKaW5kZXggNjYwNWYzNDUzM2M3MmVmOTE4MTkwMTc3NDJmNjIwMzE4OWNl
YjZjMi4uOTNjNjk4MTdkMWViY2NlMWMxNTEyNDBhOGZiM2YyYjY3MDI3MTBjMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcApAQCAtNTg5LDE1ICs1ODksMTMg
QEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6ZXN0YWJsaXNoUmVtb3RlV29ya2VyQ29udGV4dENvbm5l
Y3Rpb25Ub05ldHdvcmtQcm9jZXNzKFJlbW8KICAgICAgICAgICAgIHVzZVByb2Nlc3NGb3JSZW1v
dGVXb3JrZXJzKCpwcm9jZXNzKTsKICAgICB9CiAKLSAgICBib29sIHNob3VsZFVzZVNlcGFyYXRl
UmVtb3RlV29ya2VyUHJvY2VzcyA9IHdvcmtlclR5cGUgPT0gUmVtb3RlV29ya2VyVHlwZTo6U2Vy
dmljZVdvcmtlciAmJiBzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtlclByb2Nlc3M7Ci0KICAgICAv
LyBQcmlvcml0aXplIHRoZSByZXF1ZXN0aW5nIFdlYlByb2Nlc3MgZm9yIHJ1bm5pbmcgdGhlIHNl
cnZpY2Ugd29ya2VyLgotICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzaG91
bGRVc2VTZXBhcmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MgJiYgcmVxdWVzdGluZ1Byb2Nlc3MpIHsK
KyAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQcm94eSAmJiAhc191c2VTZXBhcmF0ZVNlcnZp
Y2VXb3JrZXJQcm9jZXNzICYmIHJlcXVlc3RpbmdQcm9jZXNzKSB7CiAgICAgICAgIGlmICgmcmVx
dWVzdGluZ1Byb2Nlc3MtPndlYnNpdGVEYXRhU3RvcmUoKSA9PSB3ZWJzaXRlRGF0YVN0b3JlICYm
IHJlcXVlc3RpbmdQcm9jZXNzLT5pc01hdGNoaW5nUmVnaXN0cmFibGVEb21haW4ocmVnaXN0cmFi
bGVEb21haW4pKQogICAgICAgICAgICAgdXNlUHJvY2Vzc0ZvclJlbW90ZVdvcmtlcnMoKnJlcXVl
c3RpbmdQcm9jZXNzKTsKICAgICB9CiAKLSAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQcm94
eSAmJiAhc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9jZXNzKSB7CisgICAgaWYgKCFy
ZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNfdXNlU2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJv
Y2VzcykgewogICAgICAgICBmb3IgKGF1dG8mIHByb2Nlc3MgOiBwcm9jZXNzUG9vbC0+bV9wcm9j
ZXNzZXMpIHsKICAgICAgICAgICAgIGlmIChwcm9jZXNzLnB0cigpID09IHByb2Nlc3NQb29sLT5t
X3ByZXdhcm1lZFByb2Nlc3MuZ2V0KCkgfHwgcHJvY2Vzcy0+aXNEdW1teVByb2Nlc3NQcm94eSgp
KQogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKaW5kZXggYTI3
MTM3YmYxMmRkZGFiODdkMDNiOWM3OGNiZmZhZmY1M2M4NTdmOC4uYTUzZDA2OTRiZGM1ZDdiMjFi
MDBhNDM5MTA3MTFlN2FjMGVkZDJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCkBAIC0xOTIsNiAr
MTkyLDcgQEAgdm9pZCBXZWJTV0NsaWVudENvbm5lY3Rpb246OnNldFNlcnZpY2VXb3JrZXJDbGll
bnRJc0NvbnRyb2xsZWQoU2NyaXB0RXhlY3V0aW9uQ28KICAgICAgICAgY29tcGxldGlvbkhhbmRs
ZXIoZGF0YS5hY3RpdmVXb3JrZXIgPyBsb2FkZXItPnNldENvbnRyb2xsaW5nU2VydmljZVdvcmtl
cihXVEZNb3ZlKCpkYXRhLmFjdGl2ZVdvcmtlcikpIDogZmFsc2UpOwogICAgICAgICByZXR1cm47
CiAgICAgfQorCiAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOwogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAppbmRleCA3NThmYzg0
NGRhNzQ2YzUxZmRiYjNhNzM3ZDg2MWQyN2E0Mjk5ZDIwLi45Zjg4MzU0ZmIyNThiOWNlYTM1MjFm
ZGEyODA5YTk1YmQ0YTkwZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
U3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5jcHAKQEAgLTQ3LDYgKzQ3LDcgQEAKICNpbmNsdWRlIDxXZWJDb3Jl
L1NoYXJlZFdvcmtlclRocmVhZFByb3h5Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Vc2VyQWdlbnQu
aD4KICNpbmNsdWRlIDxXZWJDb3JlL1dvcmtlckZldGNoUmVzdWx0Lmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAK
QEAgLTg5LDcgKzkwLDcgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb246OnVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29uc3QgV2ViUHIKICAgICBtX3ByZWZlcmVu
Y2VzU3RvcmUgPSBzdG9yZTsKIH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdl
ckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBv
cmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRp
ZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9wdGlvbnMsIFdlYkNvcmU6Oldv
cmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQpCit2b2lkIFdlYlNoYXJlZFdvcmtl
ckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNs
aWVudE9yaWdpbiYmIG9yaWdpbiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFy
ZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYgd29ya2VyT3B0aW9u
cywgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiB3b3JrZXJGZXRjaFJlc3VsdCwgV2ViQ29y
ZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewogICAg
IFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbjo6bGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlmaWVyPSUi
IFBSSXU2NCwgc2hhcmVkV29ya2VySWRlbnRpZmllci50b1VJbnQ2NCgpKTsKICAgICBhdXRvIHBh
Z2VDb25maWd1cmF0aW9uID0gV2ViQ29yZTo6cGFnZUNvbmZpZ3VyYXRpb25XaXRoRW1wdHlDbGll
bnRzKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnNlc3Npb25JRCgpKTsKQEAgLTEwOSw4ICsxMTAs
MTUgQEAgdm9pZCBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5j
aFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnQKICAgICAgICAgV2ViUGFnZTo6dXBkYXRlU2V0
dGluZ3NHZW5lcmF0ZWQoKm1fcHJlZmVyZW5jZXNTdG9yZSwgcGFnZS0+c2V0dGluZ3MoKSk7CiAg
ICAgICAgIHBhZ2UtPnNldHRpbmdzKCkuc2V0U3RvcmFnZUJsb2NraW5nUG9saWN5KHN0YXRpY19j
YXN0PFdlYkNvcmU6OlN0b3JhZ2VCbG9ja2luZ1BvbGljeT4obV9wcmVmZXJlbmNlc1N0b3JlLT5n
ZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6c3RvcmFnZUJsb2NraW5nUG9s
aWN5S2V5KCkpKSk7CiAgICAgfQorCisgICAgaWYgKCFpbml0aWFsaXphdGlvbkRhdGEudXNlckFn
ZW50LmlzRW1wdHkoKSkKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRhLnVzZXJBZ2VudCA9IG1f
dXNlckFnZW50OworCisgICAgaWYgKCFpbml0aWFsaXphdGlvbkRhdGEuY2xpZW50SWRlbnRpZmll
cikKKyAgICAgICAgaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50aWZpZXIgPSBTY3JpcHRF
eGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKTsKKwogICAgIHBhZ2UtPnNldHVw
Rm9yUmVtb3RlV29ya2VyKHdvcmtlckZldGNoUmVzdWx0Lmxhc3RSZXF1ZXN0VVJMLCBvcmlnaW4u
dG9wT3JpZ2luLCB3b3JrZXJGZXRjaFJlc3VsdC5yZWZlcnJlclBvbGljeSk7Ci0gICAgYXV0byBz
aGFyZWRXb3JrZXJUaHJlYWRQcm94eSA9IFdlYkNvcmU6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5
OjpjcmVhdGUoV1RGTW92ZShwYWdlKSwgc2hhcmVkV29ya2VySWRlbnRpZmllciwgb3JpZ2luLCBX
VEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0KSwgV1RGTW92ZSh3b3JrZXJPcHRpb25zKSwgbV91c2Vy
QWdlbnQsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwor
ICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJU
aHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIs
IG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9u
cyksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
Y2FjaGVTdG9yYWdlUHJvdmlkZXIoKSk7CiAKICAgICBXZWJDb3JlOjpTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkucmVnaXN0ZXJTaGFyZWRXb3JrZXJUaHJlYWQoV1RGTW92
ZShzaGFyZWRXb3JrZXJUaHJlYWRQcm94eSkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAppbmRleCBhYjM1Y2JkMDE4ODVjZWIzNzYxMzEwYmRm
NGQ1YjdiODg3MjBhZjYzLi5kMGI4ZTZmMTQxYmRhMmFjMmNkN2JjNGI1OWNjMDgxMDM3ZTg3ZTlh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uaApA
QCAtMzgsNiArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogc3RydWN0IENsaWVudE9yaWdp
bjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlv
bkRhdGE7CiBzdHJ1Y3QgV29ya2VyT3B0aW9uczsKIH0KIApAQCAtNTgsNyArNTksNyBAQCBwdWJs
aWM6CiAKIHByaXZhdGU6CiAgICAgLy8gSVBDIE1lc3NhZ2VzLgotICAgIHZvaWQgbGF1bmNoU2hh
cmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9yaWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJ
ZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNo
UmVzdWx0JiYpOworICAgIHZvaWQgbGF1bmNoU2hhcmVkV29ya2VyKFdlYkNvcmU6OkNsaWVudE9y
aWdpbiYmLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpXb3JrZXJP
cHRpb25zJiYsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKTsKICAgICB2b2lkIHVwZGF0ZVByZWZlcmVuY2VzU3RvcmUoY29u
c3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYpOwogICAgIHZvaWQgc2V0VXNlckFnZW50KFN0cmluZyYm
IHVzZXJBZ2VudCkgeyBtX3VzZXJBZ2VudCA9IFdURk1vdmUodXNlckFnZW50KTsgfQogICAgIHZv
aWQgY2xvc2UoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdl
L1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5h
Z2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA4MmQ1ZGVkZjhmYWM0YjNmZGM0NWQ1NjQ1
ZTQ0YzdlZWRkNWZjMzM2Li44ZmRjYWYyN2E3NGVhNTM2NTlhMzVmYWE1YWQxZjFlYjBjZjJhZDVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1l
c3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbiBOb3RSZWZD
b3VudGVkIHsKLSAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2Vy
SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywg
c3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0KQorICAg
IExhdW5jaFNoYXJlZFdvcmtlcihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwg
V2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3JrZXJJZGVudGlmaWVyLCBz
dHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zLCBzdHJ1Y3QgV2ViQ29y
ZTo6V29ya2VyRmV0Y2hSZXN1bHQgd29ya2VyRmV0Y2hSZXN1bHQsIHN0cnVjdCBXZWJDb3JlOjpX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEgd29ya2VySW5pdGlhbGl6YXRpb25EYXRhKQogICAgIFBv
c3RDb25uZWN0RXZlbnQoV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBXZWJDb3JlOjpUcmFuc2ZlcnJlZE1lc3NhZ2VQb3J0IHBvcnQsIFN0cmlu
ZyBzb3VyY2VPcmlnaW4pCiAgICAgVGVybWluYXRlU2hhcmVkV29ya2VyKFdlYkNvcmU6OlNoYXJl
ZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllcikKICAgICBVcGRhdGVQcmVm
ZXJlbmNlc1N0b3JlKHN0cnVjdCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmUgc3RvcmUpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRl
eCBjMjY5ZmQyNmE5MWViZmNiNGM1NGYwZDZjOWUwZWIzZTRiMGRmNjMyLi5iNmMwNGQ2NjRhZWNk
NmVjNDE3YjhkY2NjYjk0ZmM1ZTFjMzc4ZGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtl
ck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTIxLDcgKzIxLDcgQEAKICMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KIAogbWVzc2FnZXMgLT4gV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbiB7Ci0g
ICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3Jl
OjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMpIC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2Vy
RmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQpCisgICAgRmV0Y2hTY3JpcHRJbkNsaWVudChVUkwgdXJs
LCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVj
dElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlvbnMp
IC0+IChzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQgZmV0Y2hSZXN1bHQsIHN0cnVj
dCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaW5pdGlhbGl6YXRpb25EYXRhKQog
ICAgIE5vdGlmeVdvcmtlck9iamVjdE9mTG9hZENvbXBsZXRpb24oV2ViQ29yZTo6U2hhcmVkV29y
a2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yIGVycm9yKQogICAgIFBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElk
ZW50aWZpZXIsIFN0cmluZyBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1u
TnVtYmVyLCBTdHJpbmcgc291cmNlVVJMKQogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDY2Y2M0ZGQzNTM0ZjUxYWVjYjM0
M2JmZWI5MGVkNWM4MGRmYjY3YWYuLmVjOGI3NDA3Mjk0NzUzZTM3ODZmNmQ2MzVjZGY2NDU2NmNl
ZDJmZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMi0wNC0yNiAgWW91ZW5uIEZhYmxldCAg
PHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNo
IHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlz
IER1bWV6LgorCisgICAgICAgICogaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQt
c2hhcmVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93
cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJv
bGxlZC1zaGFyZWR3b3JrZXIuanM6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Ut
d29ya2Vycy9za2lwRmV0Y2hFdmVudC13b3JrZXIuanM6CisgICAgICAgICogcGxhdGZvcm0vZ2xp
Yi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNl
LXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6
IFJlbW92ZWQuCisgICAgICAgICogcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNo
YWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisKIDIwMjItMDQt
MjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZpY2Ug
V29ya2VyIGxvYWRzIHNob3VsZCBub3QgZXhwb3NlIHNvbWUgUmVzb3VyY2VUaW1pbmcgaW5mb3Jt
YXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGI1MTY2ZTc5MjEwMmExYTA5
YTE3NmQ1MTZhMmNkMTljZDM4ZmVhOTYuLmNmNjA5ZWVlZTc3OGU4NmI3NDIwMTBkYzM0NjMxYjEw
MjMyZTdiN2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDIyLTA0LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAg
ICBTaGFyZWQgd29ya2VycyBzaG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtZ2V0LWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVu
dC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGly
ZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvc2Vy
dmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhw
ZWN0ZWQudHh0OgorCiAyMDIyLTA0LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBTZXJ2aWNlIFdvcmtlciBsb2FkcyBzaG91bGQgbm90IGV4cG9zZSBzb21l
IFJlc291cmNlVGltaW5nIGluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQt
c2hhcmVkd29ya2VyLmh0dHBzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNWY3MDZiM2UxZWY2
NGIyYTAxM2FmYWMyODY1YmMyNzQxZWNiZGUwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKKworUEFTUyBSZWdpc3RlciBzZXJ2aWNlIHdv
cmtlcgorUEFTUyBWZXJpZnkgc2hhcmVkIHdvcmtlciBpcyBjb250cm9sbGVkCitQQVNTIFZlcmlm
eSBzaGFyZWQgd29ya2VyIGNhbiBwb3N0IG1lc3NhZ2UgdG8gaXRzIHNlcnZpY2Ugd29ya2VyCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9s
bGVkLXNoYXJlZHdvcmtlci5odHRwcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBzLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ODc1MTRiODU2YzIyOGI4ZThmYzQ3NzlkZTFiYzM1NDY4NDcyZGJmOAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJl
ZHdvcmtlci5odHRwcy5odG1sCkBAIC0wLDAgKzEsNDAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0iL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvdGVzdC1oZWxwZXJz
LnN1Yi5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5lci5zZXRVc2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQ
cm9jZXNzKHRydWUpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25z
dCByZWdpc3RyYXRpb24gPSBhd2FpdCBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5yZWdpc3Rlcigi
c2tpcEZldGNoRXZlbnQtd29ya2VyLmpzIiwgeyBzY29wZSA6ICdyZXNvdXJjZXMnIH0pOworICAg
IGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlvbi5hY3RpdmU7CisgICAgaWYgKGFjdGl2ZVdvcmtl
cikKKyAgICAgICAgcmV0dXJuOworCisgICAgYWN0aXZlV29ya2VyID0gcmVnaXN0cmF0aW9uLmlu
c3RhbGxpbmc7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7CisgICAgICAgIGFj
dGl2ZVdvcmtlci5hZGRFdmVudExpc3RlbmVyKCdzdGF0ZWNoYW5nZScsICgpID0+IHsKKyAgICAg
ICAgICAgIGlmIChhY3RpdmVXb3JrZXIuc3RhdGUgPT09ICJhY3RpdmF0ZWQiKQorICAgICAgICAg
ICAgICAgIHJlc29sdmUoKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9LCAiUmVnaXN0ZXIgc2Vy
dmljZSB3b3JrZXIiKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAgd29y
a2VyID0gbmV3IFNoYXJlZFdvcmtlcigncmVzb3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2Vy
LmpzJyk7CisgICAgY29uc3QgZXZlbnQgPSBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHdv
cmtlci5wb3J0Lm9ubWVzc2FnZSA9IHJlc29sdmUpOworICAgIGFzc2VydF90cnVlKGV2ZW50LmRh
dGEuaXNDb250cm9sbGVkKTsKK30sICJWZXJpZnkgc2hhcmVkIHdvcmtlciBpcyBjb250cm9sbGVk
Iik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAgIHdvcmtlci5wb3J0LnBv
c3RNZXNzYWdlKCdwaW5nJyk7CisgICAgY29uc3QgZXZlbnQgPSBhd2FpdCBuZXcgUHJvbWlzZShy
ZXNvbHZlID0+IHdvcmtlci5wb3J0Lm9ubWVzc2FnZSA9IHJlc29sdmUpOworICAgIGFzc2VydF9l
cXVhbHMoZXZlbnQuZGF0YSwgJ3BvbmcnKTsKK30sICJWZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4g
cG9zdCBtZXNzYWdlIHRvIGl0cyBzZXJ2aWNlIHdvcmtlciIpOworPC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtl
cnMvcmVzb3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvc2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi44MjU3OWFmZjRjZGYxNGNkOGFiNzlmYzkyODVmMDkwNmI0YmExZTBkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3Jl
c291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5qcwpAQCAtMCwwICsxLDggQEAKK29uY29u
bmVjdCA9IGFzeW5jIChlKSA9PiB7IAorICAgIGNvbnN0ICBwb3J0ID0gZS5wb3J0c1swXTsKKyAg
ICBwb3J0LnBvc3RNZXNzYWdlKHsgaXNDb250cm9sbGVkIDogISFuYXZpZ2F0b3Iuc2VydmljZVdv
cmtlci5jb250cm9sbGVyIH0pOworICAgIHBvcnQub25tZXNzYWdlID0gKGV2ZW50KSA9PiB7Cisg
ICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLmNvbnRyb2xsZXIucG9zdE1lc3NhZ2UoZXZl
bnQuZGF0YSk7CisgICAgICAgIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyLm9ubWVzc2FnZSA9IChl
dmVudCkgPT4gcG9ydC5wb3N0TWVzc2FnZShldmVudC5kYXRhKTsKKyAgICB9OworfQpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50
LXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9za2lwRmV0
Y2hFdmVudC13b3JrZXIuanMKaW5kZXggMGNmOTdmZTIzZjhjY2EwNjIxMjIzMmVlZjk5ZWVhNjc1
NzcxNTYyMS4uMGMwNzM4MmU5YjJhNzJmOTg5ZThkMGI3ZmFkMzA1YjVhMzc3ZTljNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50
LXdvcmtlci5qcworKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tp
cEZldGNoRXZlbnQtd29ya2VyLmpzCkBAIC0xMiw2ICsxMiwxMCBAQCBhc3luYyBmdW5jdGlvbiBk
b1Rlc3QoZXZlbnQpCiAgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZShzZWxmLnJlY2Vp
dmVkRmV0Y2gpOwogICAgICAgICByZXR1cm47CiAgICAgfQorICAgIGlmIChldmVudC5kYXRhID09
PSAicGluZyIpIHsKKyAgICAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJwb25nIik7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgZXZlbnQuc291cmNlLnBvc3RNZXNzYWdlKCJLTyIp
OwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQt
dHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQt
Y2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBkZjczNWZhZmQwN2JmNjE5M2Nk
M2RiMDE1NDNlNTdhMTc4MTQ3YzIyLi44OTI5NjE5YTVjOTI5NGU0NTdhYmI4NzlkN2E4YWNkOTdk
ZDdhNjM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdldC1jbGllbnQt
dHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
Z2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiAKLUZB
SUwgVGVzdCBDbGllbnRzLmdldCgpIHdpdGggd2luZG93IGFuZCB3b3JrZXIgY2xpZW50cyBhc3Nl
cnRfbm90X2VxdWFsczogU2hhcmVkIHdvcmtlciBjbGllbnQgc2hvdWxkIG5vdCBiZSB1bmRlZmlu
ZWQgZ290IGRpc2FsbG93ZWQgdmFsdWUgdW5kZWZpbmVkCitQQVNTIFRlc3QgQ2xpZW50cy5nZXQo
KSB3aXRoIHdpbmRvdyBhbmQgd29ya2VyIGNsaWVudHMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEw
YWUuLjE5NTdkZWNjODc5NzIxYzZiNjIyNWNkMDNjMTVkOThkYTFhZDI1OWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVu
dC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKIFBBU1MgVmVyaWZ5
IG1hdGNoQWxsKCkgd2l0aCB3aW5kb3cgY2xpZW50IHR5cGUKLUZBSUwgVmVyaWZ5IG1hdGNoQWxs
KCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50IHR5cGVzIGFzc2Vy
dF9lcXVhbHM6IHJlc3VsdCBjb3VudCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorUEFTUyBWZXJpZnkg
bWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlw
ZXMKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1y
ZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50
ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCBiYTE0ZWRmZTIyY2Uw
OTJhN2U5NTIxNTdjNTQ4ZjA5NjUwZGEwY2Q2Li42YTI3ZWRhY2RhYTFjNGViMzg2OWE0MzM4MmU4
ZDIyN2Q0YzZmZjU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJj
ZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtl
ci93b3JrZXItaW50ZXJjZXB0aW9uLXJlZGlyZWN0Lmh0dHBzLWV4cGVjdGVkLnR4dApAQCAtMTAs
MTIgKzEwLDEyIEBAIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xh
c3NpYyBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2Nv
cGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUy
IChjbGFzc2ljIERlZGljYXRlZFdvcmtlcikKIFBBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIpCi1GQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2Nv
cGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9y
IFJlYWNoZWQgdW5yZWFjaGFibGUgY29kZQotRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAobW9kdWxlIFNoYXJlZFdvcmtlcikgYXNzZXJ0X3VucmVhY2hlZDogV29ya2VyIGVycm9yIFJl
YWNoZWQgdW5yZWFjaGFibGUgY29kZQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBTaGFyZWRXb3JrZXIpCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyICht
b2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAo
Y2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNj
b3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBl
cnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBl
cnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEt
Pm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgY2xlYW51cCBnbG9iYWwgc3Rh
dGUKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0
ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGZldGNoKCkpCkBAIC0yMywxMSArMjMs
MTEgQEAgUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBD
YXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBm
ZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVk
aWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3Bl
MS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAic3cxIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjog
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2ltcG9ydC1z
Y3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdv
cmsgKHNjb3BlMi8pIgotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChjbGFz
c2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNo
KCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNo
KCk6IGEgc2ltcGxlIHRleHQgZmlsZSAoc2NvcGUyLylcbiIKK1BBU1MgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkK
K1BBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3Jr
ZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNz
aWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlM
IENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZl
dGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRj
aCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZp
bGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKG1v
ZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUx
LT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2Ug
IzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBp
bXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMzUsMTEgKzM1LDExIEBAIFBB
U1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRX
b3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2Fz
ZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwg
ZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMjogbmV0d29yayBz
Y29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkg
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL2ltcG9ydC1z
Y3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgImltcG9ydFNjcmlwdHM6IHNlcnZlZCBmcm9tIG5ldHdv
cmsiCi1GQUlMIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hh
cmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cx
IHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0
ZXh0IGZpbGVcbiIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAoY2xh
c3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjMjogbmV0d29y
ayBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNT
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCi1GQUlMIENhc2UgIzI6IG5l
dHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRo
ZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3NpbXBs
ZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IGEgc2ltcGxlIHRleHQgZmlsZVxuIgorUEFTUyBDYXNl
ICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRj
aCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hh
cmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBvcnQtc2NyaXB0
cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2Vy
OiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvaW1wb3J0
LXNjcmlwdHMtZWNoby5weSIKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0
Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0
Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKQEAgLTQ3LDEwICs0
NywyMiBAQCBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChjbGFzc2ljIERlZGljYXRl
ZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0XwogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogRkFJTCBD
YXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2go
KSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZy
b20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZy
b20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c2NvcGUyL3NpbXBsZS50eHQiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1
bGUgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlv
bi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJl
Y3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3Il
MjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2lu
dGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHkiCitGQUlMIENhc2UgIzM6IHN3IHNjb3Bl
MS0+c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKSBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdvcmtlcjog
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL2ltcG9ydC1z
Y3JpcHRzLWVjaG8ucHkiIGJ1dCBnb3QgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3
b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9p
bXBvcnQtc2NyaXB0cy1lY2hvLnB5IgorRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJm
ZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJm
ZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhy
ZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxo
b3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIv
d29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIw
c2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdv
dCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
cmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5w
eSIKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIs
IGltcG9ydFNjcmlwdHMoKSkKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVs
ZSBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgp
OiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgp
OiBzdzIgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgorRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNz
ZXJ0X2VxdWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0
My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJf
aW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0
aGUlMjByZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRw
czovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJj
ZXMvc2NvcGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgogUEFT
UyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIs
IGltcG9ydFNjcmlwdHMoKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEt
Pm91dC1zY29wZSAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNT
IENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBp
bXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1
bGUgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2Fz
ZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRT
Y3JpcHRzKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNo
YXJlZFdvcmtlciwgZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQorUEFTUyBDYXNlICM0OiBzdyBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQor
UEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwg
ZmV0Y2goKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFy
ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvd29ya2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYWJhMTkwMDY5
NGM0ZTQ5OTRhYTg2ODM5NTI1ODQwYTVkNmY1N2Q4YS4uMDBhZWEyYzhhNmI4YTBkMDY5NWU3NDY4
Y2YyNzAwMjBkOWQwMTg1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29y
a2VyLWludGVyY2VwdGlvbi5odHRwcy1leHBlY3RlZC50eHQKQEAgLTEsMTYgKzEsMTYgQEAKIAog
UEFTUyBWZXJpZnkgYSBkZWRpY2F0ZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9t
IGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBz
ZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGFuIG91dC1vZi1zY29wZSBkZWRpY2F0ZWQgd29y
a2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEgY29udHJvbGxlZCBkb2N1bWVudCBzaG91
bGQgbm90IGJlIGludGVyY2VwdGVkIGJ5IGRvY3VtZW50J3Mgc2VydmljZSB3b3JrZXIuCi1GQUlM
IFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVkIGZyb20gYSB1bmNv
bnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mgb3duIHNlcnZpY2Ug
d29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogdW5k
ZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNoYXJlZCB3b3JrZXIgc2NyaXB0IHJlcXVlc3QgaXNzdWVk
IGZyb20gYSB1bmNvbnRyb2xsZWQgZG9jdW1lbnQgaXMgaW50ZXJjZXB0ZWQgYnkgd29ya2VyJ3Mg
b3duIHNlcnZpY2Ugd29ya2VyLgogUEFTUyBWZXJpZnkgYSBzYW1lLW9yaWdpbiB3b3JrZXIgc2Ny
aXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIHN1Y2NlZWRzIGluIHN0YXJ0aW5nIGEgZGVk
aWNhdGVkIHdvcmtlci4KLUZBSUwgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBz
ZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3
b3JrZXIuIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiB1bmRl
ZmluZWQKK1BBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkg
YSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBhIHNoYXJlZCB3b3JrZXIuCiBQ
QVNTIFZlcmlmeSBhIGNvcnMgd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtl
ciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtl
ciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgc2hhcmVkIHdvcmtlciBz
dGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlwdCBz
ZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBkZWRpY2F0ZWQgd29ya2VyIHN0YXJ0Lgog
UEFTUyBWZXJpZnkgYSBuby1jb3JzIGNyb3NzLW9yaWdpbiB3b3JrZXIgc2NyaXB0IHNlcnZlZCBi
eSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFJlZ2lz
dGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHdvcmtlciBzdWJyZXNvdXJjZSBpbnRlcmNlcHRpb24g
dGVzdHMuCiBQQVNTIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBjb250cm9sbGVkIGJ5
IGEgc2VydmljZSB3b3JrZXIuCi1GQUlMIFJlcXVlc3RzIG9uIGEgc2hhcmVkIHdvcmtlciBjb250
cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJUaGlz
IGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIntcImVycm9yXCI6
IHtcImNvZGVcIjogNDA0LCBcIm1lc3NhZ2VcIjogXCI0MDRcIn19IgorUEFTUyBSZXF1ZXN0cyBv
biBhIHNoYXJlZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgogRkFJTCBS
ZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgbmVzdGVkIGluIGEgZGVkaWNhdGVkIHdvcmtl
ciBhbmQgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkICJUaGlzIGxvYWQgd2FzIHN1Y2Nlc3NmdWxseSBpbnRlcmNlcHRlZC4iIGJ1dCBnb3QgIlVu
ZXhwZWN0ZWQgZXJyb3IhIENhbid0IGZpbmQgdmFyaWFibGU6IFdvcmtlciIKIEZBSUwgUmVxdWVz
dHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIHNoYXJlZCB3b3JrZXIgYW5kIGNv
bnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiVGhp
cyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJVbmV4cGVjdGVk
IGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBQQVNTIFVucmVnaXN0ZXIgYSBz
ZXJ2aWNlIHdvcmtlciBmb3Igc3VicmVzb3VyY2UgaW50ZXJjZXB0aW9uIHRlc3RzLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGli
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmIwZjExNDY3ZjRmNDhiNWFlOTI3YzlmN2Vi
NWZmZmVhYWM3MTBhZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9nbGliL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQgKzAsMCBA
QAotCi1QQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlM
IFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNs
aWVudCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQgZ290
IDAKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGll
bnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0
dHBzLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2QyM2Q2YjVh
YjQ1MDhlNWI3NDA3NDAwMDI3ZTYyMDUyY2EwMGVhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3Mtd2syL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDQgKzAsMCBAQAotCi1QQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2lu
ZG93IGNsaWVudCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hh
cmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG51bGwgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndy5wb3J0Lm9ubWVzc2FnZSA9IF8gPT4gcmVzb2x2ZSh3KScpIgot
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458420</attachid>
            <date>2022-04-26 23:17:55 -0700</date>
            <delta_ts>2022-04-27 00:38:26 -0700</delta_ts>
            <desc>Fix WinCairo</desc>
            <filename>bug-239122-20220427081753.patch</filename>
            <type>text/plain</type>
            <size>83909</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJkZjRjM2UxYTk0MmY3
ZGZlMmJhYWRiNzUzOTA2ZDk0ZmRiMmVkZS4uMGIzYmU4ODg2N2EzOWFkOTcxMzUwNzA1OTM4YmFk
NjRlZTBhNjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yNiAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtEYXRhYmFzZVRyYWNrZXJdIFVzZSBQUkl1NjQgZm9yIGxvZ2dpbmcgZm9yIHBvcnRhYmls
aXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGQxYWJlMmRmYTZjMTM0MDM3ZWM3Mjk2NWU3NDU4N2Y2MWRhZTIzMTQu
LmZhOWFhYzRkMmFiMzJiMTEwY2Y5OTMxZmI1ZDFkY2JjZTcwNWNiMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjItMDQtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2Vzcyk6CisKIDIwMjItMDQtMjUgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBOU0NvZGluZyBzdXBwb3J0IGZvciBmaW5kSW50
ZXJhY3Rpb25FbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBkZjI2MWQ0NTc3YWYzOGY1MDA2
OWRjYjRjMWM1YzlkNTE3ZDBmMDcyLi5kMDYwYWQ5ZjMxYWQyZTYxNDgzNzk1MjM3MGJhNTAwMTE5
ZDBhYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE5OTksNiArMTk5OSw3IEBAIHNldChXZWJD
b3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVz
dWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2Jq
ZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKaW5kZXggOWU0MjQ0OGJhMDczYWU5MjBlMzQ3MjQ1YzI2MDgyNGZjOTc0ZjBjNi4u
NjAyM2E2ZjY5YTMyYjg1ZjQ3ZDlmZTIwMzRiNTRjMTYzZDEzMjFhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29y
a2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
CiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkp
OwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlm
aWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAg
cmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRlbnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaAppbmRleCA1M2VkZGYzYWY3YTIxM2NmMjlmNTQzYjUyYTc1YzZiN2IzNmJkNWRhLi4xNjU2
NTI3YjZkYjIxMDgzMTgzMzMzYmU1ZTM1NTk0MTE1MjUxYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtl
ckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsK
IAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciog
d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAg
ICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAppbmRleCA1Njk3MGQwNGEzYTcw
YzE4OTVjZTk3MTk1ODI2ZDA5OWM2NzA4YWVhLi5kY2JlZTFhNzY2NjhlMWQ1MDk1OWZjOTgyZWNl
M2YzYTdjYTE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEu
aCIKKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNiArMzgsNjEgQEAg
c3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CiAjZW5kaWYKICAgICBzdGQ6Om9wdGlv
bmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwog
ICAgIFN0cmluZyB1c2VyQWdlbnQ7CisKKyAgICBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaXNv
bGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBkZWNvZGUoRGVjb2RlciYp
OwogfTsKIAoraW5saW5lIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2aWNlV29ya2Vy
RGF0YSksCisjZW5kaWYKKyAgICAgICAgY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgdXNlckFn
ZW50Lmlzb2xhdGVkQ29weSgpCisgICAgfTsKK30KKworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
Pgordm9pZCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBlbmNvZGVyIDw8IHNl
cnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCisgICAgZW5jb2RlciA8PCBjbGllbnRJZGVudGlmaWVy
IDw8IHVzZXJBZ2VudDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9u
YWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBzZXJ2aWNl
V29ya2VyRGF0YTsKKyAgICBkZWNvZGVyID4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGlmICgh
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHJldHVybiB7IH07CisjZW5kaWYKKworICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4+IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBjbGllbnRJZGVudGlmaWVyOwor
ICAgIGlmICghY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiB1c2VyQWdlbnQ7CisgICAgZGVjb2RlciA+PiB1c2VyQWdlbnQ7
CisgICAgaWYgKCF1c2VyQWdlbnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgICAgIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBXVEZN
b3ZlKCpjbGllbnRJZGVudGlmaWVyKSwKKyAgICAgICAgV1RGTW92ZSgqdXNlckFnZW50KQorICAg
IH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA0MWFhYmM4MDgxODYzYmNmYTUyMjIwNGFj
YTA2MGYzMTcyNjFjYjM3Li5lZmE4Njc3ZTA5MzEyNDZjOWE5NzdhNDc4NjllMGRkYmE5ZjVmZDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBA
IC0xNTYsOCArMTU2LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICAvLyBBIHNlcnZp
Y2Ugd29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBhIHdvcmtlciBjb250ZXh0IG9yIGEg
ZG9jdW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IHNlcnZp
Y2VXb3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHNoYXJlZCB3b3JrZXIuCi0gICAgaWYgKG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIGlzPERvY3VtZW50PihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSkgeworICAgIGlmICgobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpICYmIGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KSkgewogICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7CiAgICAgICAg
IG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElk
ZW50aWZpZXI7CiAgICAgICAgIC8vIEluIGNhc2Ugb2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUg
ZG9jdW1lbnQgY29udHJvbGxpbmcgc2VydmljZSB3b3JrZXIuCkBAIC0xNjgsNiArMTY3LDggQEAg
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICB9IGVsc2UgaWYgKGF1dG8qIGFjdGl2ZVNlcnZp
Y2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkK
ICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFj
dGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKICNlbmRpZgorICAg
IGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdv
cmtlcikKKyAgICAgICAgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LnVzZXJBZ2VudChzY3JpcHRSZXF1ZXN0LnVybCgpKTsKIAogICAgIC8vIER1cmlu
ZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZl
cmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaAppbmRleCBiNjhiMDI0ZDYxM2FlMWRmMmU1YTQ5NTFmNTA5ODlhZDY5NjBlZTQ4Li4zZGEw
YTFkNWE2OTlmNDA3MTdjOTQzNTBkOTQ5YTkzYTU0MzhlNjRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTEwNCw2ICsxMDQsOSBAQCBwdWJsaWM6
CiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gdGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCkgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhLCB7
IH0pOyB9CiAjZW5kaWYKIAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNs
aWVudElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KKyAg
ICBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOyB9CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0
ZDo6ZGVmYXVsdF9kZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEzOSw2ICsxNDIsNyBA
QCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJEYXRhPiBtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhOwogI2VuZGlmCisg
ICAgU3RyaW5nIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dD
bGllbnRDb25uZWN0aW9uLmNwcAppbmRleCA4OGI0ZDg0Yzg5ZTk5YzFjNGYyNWEwODIzMWU0MTFk
ZjU5MDc0ZDUxLi41NWYzNzM1YzIyMTdmZTQ5NWQ0N2UyY2RkZGQ0NzFlMDRmMDA0MmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0
aW9uLmNwcApAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRh
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFk
LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgPHd0Zi9Dcm9z
c1RocmVhZENvcGllci5oPgpAQCAtMTE0LDE3ICsxMTYsMzMgQEAgdm9pZCBTV0NsaWVudENvbm5l
Y3Rpb246OnN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIoU2VydmljZVdvcmtlckpvYklkZW50aWZp
ZXIgam8KIH0KIAogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2Fn
ZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4p
Cit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuZW5zdXJlU2VydmljZVdvcmtl
ckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVz
c2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7Cit9CisK
IHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJE
YXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25Db250ZXh0SWRlbnRp
ZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCi0gICAgYXV0
byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQo
ZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYgKCFkZXN0aW5hdGlvbkRvY3Vt
ZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERv
Y3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAg
ICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBXVEZNb3ZlKG1l
c3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRlc3RpbmF0
aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgY29u
dGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEp
LCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6
OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICB3
b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRl
bnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICBzaGFyZWRX
b3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBmb3JB
bGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MiwxOCBAQCB2b2lkIFNXQ2xpZW50
Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0
PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFNlcnZp
Y2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OndvcmtlckJ5SWRl
bnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBpZiAoYXV0byogd29ya2VyID0g
V29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikpIHsKICAgICAgICAgICAgIHdv
cmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdDb250cm9sbGVyID0gbmV3Q29u
dHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgewogICAgICAg
ICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVy
KSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0g
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJzLgorICAgICAgICBpZiAoYXV0
byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihj
bGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVkV29ya2VyLT50aHJlYWQoKS5y
dW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVk
Q29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgdXBkYXRl
Q29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYwYjQ4MWY4YTBh
Li45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0YzgyN2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclNXQ2xpZW50Q29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzMsNyAr
MTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgpIC0+IFJlYWR5UHJv
bWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xsZXIo
KSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRl
eHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRl
eHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFuZCBkZWRpY2F0ZWQg
d29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAgfHwgaXM8U2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtlcnMgY2FuIGhhdmUg
YSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4dC0+YWN0aXZlU2Vy
dmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA3ZDRlM2FiYWE5M2MyMDdlOTZm
ZGU1MmFiOWRhZDgxODZlYWQ0MzM3Li41M2QwMGEyNGZhZTc3NmU2NDNlNzJkMWM4MmM0OGU1YmEx
YTQwOTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcApAQCAtMTAzOSw2ICsxMDM5LDI4IEBAIHZvaWQgU1dTZXJ2ZXI6OnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNlcnZp
Y2VXCiAgICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmFkZChjbGllbnRJZGVu
dGlmaWVyLCAqY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7
CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4gU1dTZXJ2
ZXI6OmdhdGhlckNsaWVudERhdGEoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAg
YXV0byBjbGllbnREYXRhSXRlcmF0b3IgPSBtX2NsaWVudHNCeUlkLmZpbmQoY2xpZW50SWRlbnRp
Zmllcik7CisgICAgaWYgKGNsaWVudERhdGFJdGVyYXRvciA9PSBtX2NsaWVudHNCeUlkLmVuZCgp
KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjb250cm9sbGluZ1JlZ2lzdHJhdGlv
SXRlcmF0b3IgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24uZmluZChjbGllbnRJ
ZGVudGlmaWVyKTsKKyAgICBpZiAoY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yID09IG1f
Y2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbi5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGF1dG8gY2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yID0gbV9jbGllbnRJZGVudGlm
aWVyc1Blck9yaWdpbi5maW5kKGNsaWVudE9yaWdpbik7CisgICAgaWYgKGNsaWVudHNQZXJPcmln
aW5JdGVyYXRvciA9PSBtX2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luLmVuZCgpKQorICAgICAg
ICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIEdhdGhlcmVkQ2xpZW50RGF0YSB7CisgICAgICAg
IGNsaWVudE9yaWdpbiwKKyAgICAgICAgY2xpZW50RGF0YUl0ZXJhdG9yLT52YWx1ZSwKKyAgICAg
ICAgY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yLT52YWx1ZSwKKyAgICAgICAgY2xpZW50
c1Blck9yaWdpbkl0ZXJhdG9yLT52YWx1ZS51c2VyQWdlbnQKKyAgICB9OworfQorCiB2b2lkIFNX
U2VydmVyOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRl
bnRpZmllcikKIHsKICAgICBhdXRvIGNsaWVudFJlZ2lzdHJhYmxlRG9tYWluID0gY2xpZW50T3Jp
Z2luLmNsaWVudFJlZ2lzdHJhYmxlRG9tYWluKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggN2FhODcyYzk0Y2M5MzYwZmI4YjQ2
MzA1MTJlMzliZjkwMDA0NTJkZC4uMzNhODE0MGE1OGM0OGE4NWU4N2ViMzNlY2I5YzZkNDQ0ZjJi
YmI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaApAQCAtMjQ2LDYgKzI0NiwxNCBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllclRvQ29u
dHJvbGxpbmdSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZm9yRWFjaENsaWVudEZvck9yaWdpbihjb25z
dCBDbGllbnRPcmlnaW4mLCBjb25zdCBGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJik+Jik7CiAKKyAgICBzdHJ1Y3QgR2F0aGVyZWRDbGllbnREYXRhIHsKKyAgICAgICAgQ2xp
ZW50T3JpZ2luIGNsaWVudE9yaWdpbjsKKyAgICAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEg
c2VydmljZVdvcmtlckNsaWVudERhdGE7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI7CisgICAgICAgIFN0cmluZyB1c2VyQWdlbnQ7CisgICAgfTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPEdhdGhlcmVkQ2xpZW50RGF0YT4gZ2F0aGVy
Q2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbWF4UmVnaXN0cmF0aW9uQ291bnQo
KTsKICAgICBib29sIGFsbG93TG9vcGJhY2tJUEFkZHJlc3MoY29uc3QgU3RyaW5nJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
ck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEyYTM5Njg3ZTU1
YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2MmQ2NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKIFNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBk
ZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZldGNoU2NyaXB0
SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVy
IHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNj
cmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2Vy
T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9IFNoYXJlZFdv
cmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcik7CiAgICAg
Q09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2JqZWN0KTsKICAg
ICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHdv
cmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNl
bGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRj
aEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24g
fSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRlcklkZW50aWZp
ZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3b3JrZXJPcHRp
b25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAgbV9sb2FkZXJz
LmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAgbG9hZGVyUHRy
LT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KSBt
dXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBmZXRj
aFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAgICAgICAgIENP
Tk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlzaGVkIHNjcmlw
dCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkpOwogICAgICAg
ICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIpOwogICAgICAg
ICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRj
aFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZldGNoUmVzdWx0
KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFkNTliN2Y3ZmIwMGQ1ZTA1OWJi
NzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTkyYWMwMGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtlckZldGNoUmVz
dWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRp
b25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTIsNyArNTMsNyBAQCBw
dWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmV0
Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVkOThhMzZjOWUy
MzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0OWZmYmQ4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2Vy
RmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OlNoYXJlZFdv
cmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtlciYgd29yawogewogfQogCi12
b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVyKTsKICAgICBtX2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBhdXRvIHNvdXJj
ZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSA/IFdvcmtlclNjcmlwdExv
YWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJjZTo6
Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCpt
X3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwp
LCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2Rl
OjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAgICBtX2xvYWRl
ci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9w
dGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIp
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVj
dGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZh
dWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSk7
CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9
IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+ZmFpbGVkKCkp
CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9hZGVyLT5zY3Jp
cHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRj
aFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhhbmRsZXIobV9s
b2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZpZXIoKSwKKyAg
ICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpCisgICAgfSk7IC8vIGRl
bGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApp
bmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40NWU2NWZmNmMw
MzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDAs
MTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNz
IFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJG
ZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlvbnMmJik7CiAK
LSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYm
KT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hS
ZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAgIGNvbnN0IFVS
TCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3JrZXImIHdvcmtl
cigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBAIHByaXZhdGU6
CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29uc3QgUmVmPFdv
cmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJsOwotICAgIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29tcGxldGlvbkhh
bmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNTg1OTlh
YmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3OTY0YzlkZjcyYWExYzkwZmE0
M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApAQCAtNDMsNyAr
NDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQoU2hhcmVkV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBT
aGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29y
a2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlOiBt
X2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0g
ICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpleGNoYW5nZSht
X25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUo
dG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAg
IGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFu
Z2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZN
b3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMuc2VydmljZVdv
cmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VX
b3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpwYXJh
bWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29wZTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5
LmNwcAppbmRleCA0NmVhNDZhYjA0MTVmMTEzZmZhYjUzZWY5YzYyNjZkN2YxNzZhMmNmLi45ZTQy
Y2IwYjhlMzdjMGFjNTcwNmI4NDgyM2RiNzc1M2Q1MWQ4ODgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcApAQCAtNDksMjAgKzQ5LDIwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVkV29ya2Vy
VGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3RhdGlj
IE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKIH0KIAotc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJz
KGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9u
cyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVudCYgZG9j
dW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRp
b25EYXRhLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoZG9jdW1l
bnQuc2Vzc2lvbklEKCkpOwogICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0
Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAgICJz
aGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVu
dGlmaWVyKCksCi0gICAgICAgIHVzZXJBZ2VudCwKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXph
dGlvbkRhdGEudXNlckFnZW50KSwKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPmlzT25MaW5lKCksCiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0LmNvbnRl
bnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgZmFsc2UsCkBAIC03NSwyMCArNzUsMjYgQEAgc3Rh
dGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtl
ckZldGNoUmVzdWx0JiB3b3JrZXIKICAgICAgICAgV29ya2VyVGhyZWFkTW9kZTo6Q3JlYXRlTmV3
VGhyZWFkLAogICAgICAgICAqZG9jdW1lbnQuc2Vzc2lvbklEKCksCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQotICAgICAgICB7IH0sCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhLnNlcnZpY2VXb3JrZXJEYXRhKSwKICNlbmRpZgotICAgICAgICB7IH0KKyAgICAgICAgKmlu
aXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyCiAgICAgfTsKIH0KIAotU2hhcmVkV29y
a2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYm
IHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29u
c3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2Vy
RmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQor
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlkZW50
aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAg
ICByZXR1cm4gYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmdldChpZGVudGlmaWVyKTsK
K30KKworU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVu
aXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2Vy
SWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNo
UmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25z
LCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIENhY2hlU3Rv
cmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IG1fcGFnZShXVEZNb3Zl
KHBhZ2UpKQogICAgICwgbV9kb2N1bWVudCgqbV9wYWdlLT5tYWluRnJhbWUoKS5kb2N1bWVudCgp
KQotICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVk
V29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVz
dWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCB1c2VyQWdlbnQsIG1fZG9jdW1lbnQpLCBXVEZN
b3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5
T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5z
b2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkK
KyAgICAsIG1fY29udGV4dElkZW50aWZpZXIoKmluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVu
dGlmaWVyKQorICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUo
c2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZl
dGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9u
RGF0YSksIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0
aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRP
cmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rp
b25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFn
czo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoY2Fj
aGVTdG9yYWdlUHJvdmlkZXIpCiB7Ci0gICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94aWVzKCkuY29udGFpbnModGhpcykpOwotICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hp
ZXMoKS5hZGQodGhpcyk7CisgICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRo
cmVhZFByb3hpZXMoKS5hZGQobV9jb250ZXh0SWRlbnRpZmllciwgdGhpcyk7CiAKICAgICBzdGF0
aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtOTks
OCArMTA1LDggQEAgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFcKIAogU2hhcmVkV29ya2VyVGhyZWFk
UHJveHk6On5TaGFyZWRXb3JrZXJUaHJlYWRQcm94eSgpCiB7Ci0gICAgQVNTRVJUKGFsbFNoYXJl
ZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29y
a2VyVGhyZWFkUHJveGllcygpLnJlbW92ZSh0aGlzKTsKKyAgICBBU1NFUlQoYWxsU2hhcmVkV29y
a2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY29udGV4dElkZW50aWZpZXIpKTsKKyAgICBh
bGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkucmVtb3ZlKG1fY29udGV4dElkZW50aWZpZXIp
OwogfQogCiBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Ojpp
ZGVudGlmaWVyKCkgY29uc3QKQEAgLTE3Niw3ICsxODIsNyBAQCB2b2lkIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5OjpzZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKGJvb2wp
CiAKIHZvaWQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoYm9v
bCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhy
ZWFkUHJveGllcygpKQorICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94aWVzKCkudmFsdWVzKCkpCiAgICAgICAgIHByb3h5LT5ub3RpZnlOZXR3b3JrU3RhdGVD
aGFuZ2UoaXNPbkxpbmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXgg
ZGFiM2ExMjNkZWUxOGRiYjYyNGQ3N2Y1OGVkOThkNDQ5NGM3ZmE5OS4uNWUzZWE0YjA2YTdjODUw
OTU0NWQ5ZmFmYTAwNDUzNWE3MmE4NTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHku
aApAQCAtNDEsMTIgKzQxLDE1IEBAIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZDsKIAogc3RydWN0
IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZFByb3h5IGZpbmFs
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNoYXJlZFdvcmtlclRocmVhZFByb3h5Piwg
cHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1Ymxp
YyBXb3JrZXJEZWJ1Z2dlclByb3h5IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBBcmdzPiBzdGF0aWMgUmVmPFNoYXJlZFdvcmtlclRocmVhZFByb3h5PiBjcmVhdGUoQXJncyYm
Li4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyVGhyZWFkUHJveHko
c3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB+U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkoKTsKIAorICAgIHN0YXRpYyBTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eSogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwog
ICAgIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIFNoYXJl
ZFdvcmtlclRocmVhZCYgdGhyZWFkKCkgeyByZXR1cm4gbV93b3JrZXJUaHJlYWQ7IH0KIApAQCAt
NTQsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJtaW5h
dGVkKCkgeyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6
Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBh
Z2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtl
ckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNv
bnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAKICAg
ICAvLyBXb3JrZXJPYmplY3RQcm94eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9i
amVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBmaW5hbDsKQEAgLTc4LDYgKzgxLDcg
QEAgcHJpdmF0ZToKIAogICAgIFVuaXF1ZVJlZjxQYWdlPiBtX3BhZ2U7CiAgICAgUmVmPERvY3Vt
ZW50PiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIG1f
Y29udGV4dElkZW50aWZpZXI7CiAgICAgUmVmPFNoYXJlZFdvcmtlclRocmVhZD4gbV93b3JrZXJU
aHJlYWQ7CiAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7
CiAgICAgUmVmUHRyPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAppbmRleCAwZDRlOWY5OWM2YmY3YmYyMWU3NWUwMTBlNGVhMjVmMDcw
YjExZTRjLi5mNzYxY2EyYzZiOTViMTRkMTdjZTNkMjI2YWFlNGNmNThlNjk5ZTM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xMjE1LDEyICsxMjE1LDIxIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVy
OjpyZXN0YXJ0TmV0d29ya0xvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxCiAg
ICAgc3RhcnROZXR3b3JrTG9hZChXVEZNb3ZlKG5ld1JlcXVlc3QpLCBGaXJzdExvYWQ6Ok5vKTsK
IH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3N0YXRpYyBib29sIHNob3VsZFRyeVRv
TWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0aW9u
cywgYm9vbCBpc1NlcnZpY2VXb3JrZXJMb2FkZWQpCit7CisgICAgaWYgKG9wdGlvbnMubW9kZSA9
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gaXNTZXJ2aWNlV29ya2VyTG9hZGVkICYmIChvcHRpb25zLmRlc3RpbmF0aW9uID09
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBvcHRpb25zLmRlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcik7Cit9CisjZW5kaWYK
Kwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QsIGJvb2wgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3Jl
ZGVudGlhbHMpCiB7CiAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVx
dWVzdDogKGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzPSVkKSIsIGlzQWxsb3dlZFRv
QXNrVXNlckZvckNyZWRlbnRpYWxzKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAg
ICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5h
dmlnYXRlIHx8IChwYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewor
ICAgIGlmIChzaG91bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVjdGlvbihwYXJhbWV0
ZXJzKCkub3B0aW9ucywgISFtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAgIG1f
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2Vydmlj
ZVdvcmtlckZldGNoVGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlzLCBu
ZXdSZXF1ZXN0KSkgewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdp
bGxTZW5kUmVxdWVzdDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFuZGxl
IHRoZSByZWRpcmVjdCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2stPmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBjZjMwZGU0OWZjYjA5OTgxY2Y3ZTNkNjEx
ZWIyOWVkYjlkYTQ4ZWNjLi5lYWVhYTNkOTMzNDE5ZDE1OTBkOTUzYjkzZTFmM2VmNjBjODg1ZTA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY5LDYgKzE2
OSw4IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwCiAgICAgU2VydmljZVdvcmtlckNsaWVudFR5
cGUgY2xpZW50VHlwZTsKICAgICBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uICA9
PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCiAgICAgICAgIGNsaWVudFR5cGUg
PSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyOworICAgIGVsc2UgaWYgKHBhcmFtZXRl
cnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hh
cmVkd29ya2VyKQorICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6
OlNoYXJlZHdvcmtlcjsKICAgICBlbHNlCiAgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZTo6V2luZG93OwogCkBAIC0yMDEsNyArMjAzLDcgQEAgc3RkOjp1bmlxdWVf
cHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRl
RmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygp
Lm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
KSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0
aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3Rp
bmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBsb2FkZXIucGFy
YW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2hhcmVkd29ya2VyKSB7CiAgICAgICAgIGF1dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBhcmFt
ZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRpb24gPyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21V
UkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIucGFyYW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0YSgp
OwogICAgICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRv
cE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKQpAQCAt
NjgzLDYgKzY4NSwxNiBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dHJhbnNmZXJTZXJ2
aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrUmVzbwogICAgIGNvbnRyb2xDbGll
bnQobG9hZGVyLnBhcmFtZXRlcnMoKSwgcmVnaXN0cmF0aW9uLCBsb2FkZXIub3JpZ2luYWxSZXF1
ZXN0KCkpOwogfQogCitzdGQ6Om9wdGlvbmFsPFNXU2VydmVyOjpHYXRoZXJlZENsaWVudERhdGE+
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2F0aGVyQ2xpZW50RGF0YShTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQoreworICAgIEFTU0VSVChjbGllbnRJ
ZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gaWRlbnRpZmllcigpKTsKKyAgICBhdXRv
IGl0ZXJhdG9yID0gbV9jbGllbnRPcmlnaW5zLmZpbmQoY2xpZW50SWRlbnRpZmllcik7CisgICAg
aWYgKGl0ZXJhdG9yID09IG1fY2xpZW50T3JpZ2lucy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIHJldHVybiBzZXJ2ZXIoKS5nYXRoZXJDbGllbnREYXRhKGl0ZXJhdG9yLT52YWx1
ZSwgY2xpZW50SWRlbnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5k
ZWYgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uaAppbmRleCA0ZjAyNWUyMTkxMWYzMmI2ZWEwZjNkMmE5OTdlNTg5OWUz
ODBhYjQ1Li4yMWNlNTYzNGRjODk0NTg2ZjU2YWM3NjM4NTU5NzU5OTQ2MTAwMTY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC04NSw2ICs4NSwxMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBmZXRjaFRhc2tUaW1lZE91dChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CiAKICAgICB2b2lkIHRyYW5zZmVyU2VydmljZVdvcmtlckxvYWRUb05ld1dlYlByb2Nl
c3MoTmV0d29ya1Jlc291cmNlTG9hZGVyJiwgV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb24m
KTsKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNXU2VydmVyOjpHYXRoZXJlZENsaWVudERh
dGE+IGdhdGhlckNsaWVudERhdGEoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOworCisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
Jik7CiAKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50IFNXU2VydmVyOjpDb25uZWN0aW9uIChN
ZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MpCkBAIC0xMTAsOCArMTE0LDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhPiYmKT4mJik7CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGE+Jik+JiYpOwogCi0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKLSAgICB2b2lkIHVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyJik7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJGcm9tQ2xpZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmNwcAppbmRleCBlNjE2MWU5NjMzNjBhNTkwODgw
ZjgzMzNhMjY1ODU0NTVlNjUzZjkwLi5lYzcyYjc0ZjJmNThlMTlhNzU5ODcwZDQ2MWE4NDJmNjk3
MGIyMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5jcHAKQEAgLTcyLDExICs3Miw5IEBAIFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIFdlYlNoYXJlZFdvcmtlcjo6cmVnaXN0cmFibGVEb21h
aW4oKSBjb25zdAogICAgIHJldHVybiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB7IHVybCgp
IH07CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyOjpzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0LCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uKiBjb250ZXh0Q29ubmVjdGlvbikKK3ZvaWQgV2ViU2hhcmVkV29ya2Vy
OjpzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0
KQogewogICAgIG1fZmV0Y2hSZXN1bHQgPSBXVEZNb3ZlKGZldGNoUmVzdWx0KTsKLSAgICBpZiAo
Y29udGV4dENvbm5lY3Rpb24pCi0gICAgICAgIGxhdW5jaCgqY29udGV4dENvbm5lY3Rpb24pOwog
fQogCiB2b2lkIFdlYlNoYXJlZFdvcmtlcjo6ZGlkQ3JlYXRlQ29udGV4dENvbm5lY3Rpb24oV2Vi
U2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYgY29udGV4dENvbm5lY3Rpb24p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCmluZGV4IDNjYzRhNjg5ZDVlZWM1NDU1ZTBiMGRjYWU5NzA3
ZjNlZTA3N2IxNjUuLmUwZGY2OWNiY2E0NjE4M2YzZjNhOTZmYTk4NzMwOGEyMGFjMmY0OTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFu
c2ZlcnJlZE1lc3NhZ2VQb3J0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3Vs
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Xb3JrZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
IApAQCAtNzEsMTAgKzcyLDE1IEBAIHB1YmxpYzoKICAgICBib29sIGlzUnVubmluZygpIGNvbnN0
IHsgcmV0dXJuIG1faXNSdW5uaW5nOyB9CiAgICAgdm9pZCBtYXJrQXNSdW5uaW5nKCkgeyBtX2lz
UnVubmluZyA9IHRydWU7IH0KIAorICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0
aW9uRGF0YSYgaW5pdGlhbGl6YXRpb25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXph
dGlvbkRhdGE7IH0KKyAgICB2b2lkIHNldEluaXRpYWxpemF0aW9uRGF0YShXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpIHsgbV9pbml0aWFsaXph
dGlvbkRhdGEgPSBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSk7IH0KKwogICAgIGNvbnN0IFdl
YkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiBmZXRjaFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZmV0Y2hSZXN1bHQ7IH0KLSAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYsIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qKTsK
KyAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOwog
ICAgIGJvb2wgZGlkRmluaXNoRmV0Y2hpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fZmV0Y2hSZXN1
bHQuc2NyaXB0OyB9CiAKKyAgICB2b2lkIGxhdW5jaChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uJik7CisKIHByaXZhdGU6CiAgICAgV2ViU2hhcmVkV29ya2VyKFdlYlNo
YXJlZFdvcmtlciYmKSA9IGRlbGV0ZTsKICAgICBXZWJTaGFyZWRXb3JrZXImIG9wZXJhdG9yPShX
ZWJTaGFyZWRXb3JrZXImJikgPSBkZWxldGU7CkBAIC04Myw3ICs4OSw2IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHZvaWQgcmVzdW1lSWZOZWVkZWQoKTsK
LSAgICB2b2lkIGxhdW5jaChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9u
Jik7CiAKICAgICBzdHJ1Y3QgU2hhcmVkV29ya2VyT2JqZWN0U3RhdGUgewogICAgICAgICBib29s
IGlzU3VzcGVuZGVkIHsgZmFsc2UgfTsKQEAgLTk2LDYgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6V29ya2VyT3B0aW9ucyBtX3dvcmtlck9wdGlvbnM7CiAgICAgSGFzaE1hcDxXZWJD
b3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJPYmplY3RTdGF0
ZT4gbV9zaGFyZWRXb3JrZXJPYmplY3RzOwogICAgIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0
IG1fZmV0Y2hSZXN1bHQ7CisgICAgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIG1f
aW5pdGlhbGl6YXRpb25EYXRhOwogICAgIGJvb2wgbV9pc1J1bm5pbmcgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlclNlcnZlci5jcHAKaW5kZXggNDBkM2YyMmJkYWNjOWE4ODg3MDdmYWRkYzU2MGYwODVmYzYw
OTAzYy4uMzhjNzZjNjYxMzVkN2Y5OGMxMzIzMGFlZTk4ZGVhYjVlYzg1ZTU1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04NywxMyArODcsMTMgQEAgdm9pZCBX
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVk
V29ya2VyS2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVyQ29ubmVjdGlvbik7CiAKICAgICBS
RUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RT
aGFyZWRXb3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIgc2NyaXB0IGluIGNsaWVudCIpOwot
ICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlz
IH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKFdlYkNvcmU6Oldv
cmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAgICBzZXJ2ZXJDb25uZWN0aW9uLT5m
ZXRjaFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRXb3JrZXIgPSBXZWFr
UHRyIHsgKnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1dG8mJiBpbml0aWFs
aXphdGlvbkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHNoYXJlZFdvcmtlcikKLSAg
ICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgq
c2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgICAgICB3ZWFrVGhp
cy0+ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJlZFdvcmtlciwgV1RG
TW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7
CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJl
ZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVy
OjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNo
YXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCwgV2Vi
Q29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewog
ICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlk
RmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hhcmVkV29ya2VySWRlbnRpZmllcj0l
IiBQUkl1NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNzPSVkIiwgc2hhcmVkV29ya2VyLmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2VyLCBmZXRjaFJlc3VsdC5lcnJvci5p
c051bGwoKSk7CiAKQEAgLTEwNywxMCArMTA3LDEyIEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2Vy
dmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXIm
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvKiBjb25uZWN0aW9uID0gbV9jb250
ZXh0Q29ubmVjdGlvbnMuZ2V0KHNoYXJlZFdvcmtlci5yZWdpc3RyYWJsZURvbWFpbigpKTsKLSAg
ICBzaGFyZWRXb3JrZXIuc2V0RmV0Y2hSZXN1bHQoV1RGTW92ZShmZXRjaFJlc3VsdCksIGNvbm5l
Y3Rpb24pOworICAgIHNoYXJlZFdvcmtlci5zZXRJbml0aWFsaXphdGlvbkRhdGEoV1RGTW92ZShp
bml0aWFsaXphdGlvbkRhdGEpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0RmV0Y2hSZXN1bHQoV1RG
TW92ZShmZXRjaFJlc3VsdCkpOwogCi0gICAgaWYgKCFjb25uZWN0aW9uKQorICAgIGlmIChhdXRv
KiBjb25uZWN0aW9uID0gbV9jb250ZXh0Q29ubmVjdGlvbnMuZ2V0KHNoYXJlZFdvcmtlci5yZWdp
c3RyYWJsZURvbWFpbigpKSkKKyAgICAgICAgc2hhcmVkV29ya2VyLmxhdW5jaCgqY29ubmVjdGlv
bik7CisgICAgZWxzZQogICAgICAgICBjcmVhdGVDb250ZXh0Q29ubmVjdGlvbihzaGFyZWRXb3Jr
ZXIucmVnaXN0cmFibGVEb21haW4oKSwgc2hhcmVkV29ya2VyLmZpcnN0U2hhcmVkV29ya2VyT2Jq
ZWN0UHJvY2VzcygpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAppbmRl
eCBiMjA2YWYyYzBlYzJiMjhlMTE5NjgzZGRlMGRmNzQwMWQwODgyOTZlLi5lNjM3MGQ3MzM0MzE0
Y2U3ZTczYzlhMmFmYjcwMjUzNmJlNWFjOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBD
bGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTc3LDcgKzc4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKGNvbnN0IFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllcj4gcmVxdWVzdGluZ1Byb2Nlc3NJZGVudGlmaWVyKTsKICAgICBib29sIG5lZWRz
Q29udGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbiYpIGNvbnN0OwogICAgIHZvaWQgY29udGV4dENvbm5lY3Rpb25DcmVhdGVk
KFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKLSAgICB2b2lkIGRp
ZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYsIFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFy
ZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgc2h1
dERvd25TaGFyZWRXb3JrZXIoY29uc3QgV2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5Jik7CiAKICAg
ICBOZXR3b3JrU2Vzc2lvbiYgbV9zZXNzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA5YTZkMzY1ZTMwYzhmZmIwZjdhNWQy
NDZkZmVmYWFiNmIyNWE4YmUxLi4xMmYzNWY1NWU5NTFlODk5M2M2NTk3NGZlZTA3ZWY1NjU4Mzky
NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0
aW9uLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29u
bmVjdGlvbjo6cmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShXZWJDb3JlOjpTaGFyZWRXCiAgICAg
ICAgIHNlc3Npb24tPmVuc3VyZVNoYXJlZFdvcmtlclNlcnZlcigpLnJlc3VtZUZvckJhY2tGb3J3
YXJkQ2FjaGUoc2hhcmVkV29ya2VyS2V5LCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyKTsK
IH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpmZXRjaFNjcmlwdElu
Q2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZl
dGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdl
YkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3Vs
dCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVu
dDogc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zIiwgc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNlbmRXaXRo
QXN5bmNSZXBseShNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6RmV0
Y2hTY3JpcHRJbkNsaWVudCB7IHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVkV29ya2VyT2JqZWN0
SWRlbnRpZmllciwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSB9LCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJD
b25uZWN0aW9uLmgKaW5kZXggYjQxOTE5NjVjMzQyNWZmMWUwNmFmMzdlNGJhMjViNDUyYzgyZmZi
OC4uZjFiNzEyYjdjODQyNjg1OTFiNzE1NjM2NjZkNGM4ZmQ2NTZjMDFiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaApAQCAtNjMsNyArNjMs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50
KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
Jik+JiYpOworICAgIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3Jr
ZXImLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxv
YWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCA1ZTQzZjExY2Yz
YTZjMzRmOTk3N2Q1NGZiYTY2MWE1M2M5YmEzMzE0Li4xMWUxNWE2NDk4ZDE5ODFhMjZjMDkxZjcz
ZTBmNmJkNWRjMGIyN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMzIsOSArMzIsMTEgQEAK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1v
dGVXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5j
bHVkZSAiV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViU2hhcmVkV29ya2Vy
LmgiCiAjaW5jbHVkZSAiV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVz
c2FnZXMuaCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTk5LDcg
KzEwMSwyNCBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb246
OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJTaGFyZWRXb3JrZQogewogICAgIENPTlRFWFRfQ09OTkVD
VElPTl9SRUxFQVNFX0xPRygibGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlm
aWVyPSUiIFBSSXU2NCwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAg
ICBzaGFyZWRXb3JrZXIubWFya0FzUnVubmluZygpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsg
c2hhcmVkV29ya2VyLm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRX
b3JrZXIud29ya2VyT3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSB9KTsKKyAg
ICBhdXRvIGluaXRpYWxpemF0aW9uRGF0YSA9IHNoYXJlZFdvcmtlci5pbml0aWFsaXphdGlvbkRh
dGEoKTsKKyAgICBpZiAoYXV0byBjb250ZXh0SWRlbnRpZmllciA9IGluaXRpYWxpemF0aW9uRGF0
YS5jbGllbnRJZGVudGlmaWVyKSB7CisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJ
ZGVudGlmaWVyID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgeyBjb250ZXh0SWRl
bnRpZmllci0+b2JqZWN0KCksIHdlYlByb2Nlc3NJZGVudGlmaWVyKCkgfTsKKyNpZiBFTkFCTEUo
U0VSVklDRV9XT1JLRVIpCisgICAgICAgIGlmIChhdXRvKiBzZXJ2aWNlV29ya2VyT2xkQ29ubmVj
dGlvbiA9IG1fY29ubmVjdGlvbi5uZXR3b3JrUHJvY2VzcygpLndlYlByb2Nlc3NDb25uZWN0aW9u
KGNvbnRleHRJZGVudGlmaWVyLT5wcm9jZXNzSWRlbnRpZmllcigpKSkgeworICAgICAgICAgICAg
aWYgKGF1dG8qIHN3T2xkQ29ubmVjdGlvbiA9IHNlcnZpY2VXb3JrZXJPbGRDb25uZWN0aW9uLT5z
d0Nvbm5lY3Rpb24oKSkgeworICAgICAgICAgICAgICAgIGlmIChhdXRvIGNsaWVudERhdGEgPSBz
d09sZENvbm5lY3Rpb24tPmdhdGhlckNsaWVudERhdGEoKmNvbnRleHRJZGVudGlmaWVyKSkgewor
ICAgICAgICAgICAgICAgICAgICBzd09sZENvbm5lY3Rpb24tPnVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KCpjb250ZXh0SWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAgICAgIGlmIChh
dXRvKiBzd05ld0Nvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24uc3dDb25uZWN0aW9uKCkpIHsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaWVudERhdGEtPnNlcnZpY2VXb3JrZXJDbGllbnREYXRh
LmlkZW50aWZpZXIgPSAqaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50aWZpZXI7CisgICAg
ICAgICAgICAgICAgICAgICAgICBzd05ld0Nvbm5lY3Rpb24tPnJlZ2lzdGVyU2VydmljZVdvcmtl
ckNsaWVudChXVEZNb3ZlKGNsaWVudERhdGEtPmNsaWVudE9yaWdpbiksIFdURk1vdmUoY2xpZW50
RGF0YS0+c2VydmljZVdvcmtlckNsaWVudERhdGEpLCBjbGllbnREYXRhLT5jb250cm9sbGluZ1Nl
cnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKGNsaWVudERhdGEtPnVz
ZXJBZ2VudCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYKKyAgICB9CisgICAgc2VuZChNZXNzYWdlczo6
V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpMYXVuY2hTaGFyZWRXb3Jr
ZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtlci5pZGVudGlmaWVyKCksIHNo
YXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5mZXRjaFJlc3VsdCgpLCBp
bml0aWFsaXphdGlvbkRhdGEgfSk7CiAgICAgc2hhcmVkV29ya2VyLmZvckVhY2hTaGFyZWRXb3Jr
ZXJPYmplY3QoWyZdKGF1dG8sIGF1dG8mIHBvcnQpIHsKICAgICAgICAgcG9zdENvbm5lY3RFdmVu
dChzaGFyZWRXb3JrZXIsIHBvcnQpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDY2MDVmMzQ1MzNjNzJlZjkxODE5MDE3NzQyZjYyMDMx
ODljZWI2YzIuLjkzYzY5ODE3ZDFlYmNjZTFjMTUxMjQwYThmYjNmMmI2NzAyNzEwYzIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTU4OSwxNSArNTg5
LDEzIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRD
b25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhSZW1vCiAgICAgICAgICAgICB1c2VQcm9jZXNzRm9y
UmVtb3RlV29ya2VycygqcHJvY2Vzcyk7CiAgICAgfQogCi0gICAgYm9vbCBzaG91bGRVc2VTZXBh
cmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MgPSB3b3JrZXJUeXBlID09IFJlbW90ZVdvcmtlclR5cGU6
OlNlcnZpY2VXb3JrZXIgJiYgc191c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9jZXNzOwotCiAg
ICAgLy8gUHJpb3JpdGl6ZSB0aGUgcmVxdWVzdGluZyBXZWJQcm9jZXNzIGZvciBydW5uaW5nIHRo
ZSBzZXJ2aWNlIHdvcmtlci4KLSAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQcm94eSAmJiAh
c2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9jZXNzICYmIHJlcXVlc3RpbmdQcm9jZXNz
KSB7CisgICAgaWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNfdXNlU2VwYXJhdGVT
ZXJ2aWNlV29ya2VyUHJvY2VzcyAmJiByZXF1ZXN0aW5nUHJvY2VzcykgewogICAgICAgICBpZiAo
JnJlcXVlc3RpbmdQcm9jZXNzLT53ZWJzaXRlRGF0YVN0b3JlKCkgPT0gd2Vic2l0ZURhdGFTdG9y
ZSAmJiByZXF1ZXN0aW5nUHJvY2Vzcy0+aXNNYXRjaGluZ1JlZ2lzdHJhYmxlRG9tYWluKHJlZ2lz
dHJhYmxlRG9tYWluKSkKICAgICAgICAgICAgIHVzZVByb2Nlc3NGb3JSZW1vdGVXb3JrZXJzKCpy
ZXF1ZXN0aW5nUHJvY2Vzcyk7CiAgICAgfQogCi0gICAgaWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNz
UHJveHkgJiYgIXNob3VsZFVzZVNlcGFyYXRlUmVtb3RlV29ya2VyUHJvY2VzcykgeworICAgIGlm
ICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzX3VzZVNlcGFyYXRlU2VydmljZVdvcmtl
clByb2Nlc3MpIHsKICAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogcHJvY2Vzc1Bvb2wtPm1f
cHJvY2Vzc2VzKSB7CiAgICAgICAgICAgICBpZiAocHJvY2Vzcy5wdHIoKSA9PSBwcm9jZXNzUG9v
bC0+bV9wcmV3YXJtZWRQcm9jZXNzLmdldCgpIHx8IHByb2Nlc3MtPmlzRHVtbXlQcm9jZXNzUHJv
eHkoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24uY3BwCmluZGV4
IGEyNzEzN2JmMTJkZGRhYjg3ZDAzYjljNzhjYmZmYWZmNTNjODU3ZjguLmE1M2QwNjk0YmRjNWQ3
YjIxYjAwYTQzOTEwNzExZTdhYzBlZGQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNwcApAQCAtMTky
LDYgKzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXRTZXJ2aWNlV29ya2Vy
Q2xpZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKGRhdGEuYWN0aXZlV29ya2VyID8gbG9hZGVyLT5zZXRDb250cm9sbGluZ1NlcnZpY2VX
b3JrZXIoV1RGTW92ZSgqZGF0YS5hY3RpdmVXb3JrZXIpKSA6IGZhbHNlKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KKwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29u
dGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAKaW5kZXggNzU4
ZmM4NDRkYTc0NmM1MWZkYmIzYTczN2Q4NjFkMjdhNDI5OWQyMC4uOWY4ODM1NGZiMjU4YjljZWEz
NTIxZmRhMjgwOWE5NWJkNGE5MGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5jbHVkZSA8V2Vi
Q29yZS9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvVXNlckFn
ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3VsdC5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQg
ewogCkBAIC04OSw3ICs5MCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdlYlByCiAgICAgbV9wcmVm
ZXJlbmNlc1N0b3JlID0gc3RvcmU7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1h
bmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50T3JpZ2lu
JiYgb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklk
ZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBXZWJDb3Jl
OjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0KQordm9pZCBXZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3Jl
OjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIg
c2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmIHdvcmtlck9w
dGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdl
YkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9uRGF0YSkKIHsK
ICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFu
YWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2VySWRlbnRpZmll
cj0lIiBQUkl1NjQsIHNoYXJlZFdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSk7CiAgICAgYXV0
byBwYWdlQ29uZmlndXJhdGlvbiA9IFdlYkNvcmU6OnBhZ2VDb25maWd1cmF0aW9uV2l0aEVtcHR5
Q2xpZW50cyhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CkBAIC0xMDksOCAr
MTEwLDE1IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjps
YXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50CiAgICAgICAgIFdlYlBhZ2U6OnVwZGF0
ZVNldHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVuY2VzU3RvcmUsIHBhZ2UtPnNldHRpbmdzKCkp
OwogICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1BvbGljeShzdGF0
aWNfY2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3k+KG1fcHJlZmVyZW5jZXNTdG9y
ZS0+Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0b3JhZ2VCbG9ja2lu
Z1BvbGljeUtleSgpKSkpOwogICAgIH0KKworICAgIGlmICghaW5pdGlhbGl6YXRpb25EYXRhLnVz
ZXJBZ2VudC5pc0VtcHR5KCkpCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS51c2VyQWdlbnQg
PSBtX3VzZXJBZ2VudDsKKworICAgIGlmICghaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50
aWZpZXIpCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyID0gU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CisKICAgICBwYWdlLT5z
ZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVzdFVSTCwgb3Jp
Z2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kpOwotICAgIGF1
dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIG9yaWdp
biwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0aW9ucyksIG1f
dXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQcm92aWRlcigp
KTsKKyAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6U2hhcmVkV29y
a2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3JrZXJJZGVudGlm
aWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3ZlKHdvcmtlck9w
dGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwogCiAgICAgV2ViQ29yZTo6U2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJlZ2lzdGVyU2hhcmVkV29ya2VyVGhyZWFkKFdU
Rk1vdmUoc2hhcmVkV29ya2VyVGhyZWFkUHJveHkpKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29u
bmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29y
a2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5kZXggYWIzNWNiZDAxODg1Y2ViMzc2MTMx
MGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBiOGU2ZjE0MWJkYTJhYzJjZDdiYzRiNTljYzA4MTAzN2U4
N2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9u
LmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBDbGllbnRP
cmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5pdGlhbGl6
YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTU4LDcgKzU5LDcgQEAg
cHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIElQQyBNZXNzYWdlcy4KLSAgICB2b2lkIGxhdW5j
aFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29y
a2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJG
ZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGll
bnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29y
a2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJlbmNlc1N0b3Jl
KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHNldFVzZXJBZ2VudChTdHJp
bmcmJiB1c2VyQWdlbnQpIHsgbV91c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2VudCk7IH0KICAg
ICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3Rv
cmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0
TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODJkNWRlZGY4ZmFjNGIzZmRjNDVk
NTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZkY2FmMjdhNzRlYTUzNjU5YTM1ZmFhNWFkMWYxZWIwY2Yy
YWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2Vy
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
CiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24gTm90
UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJDb3JlOjpDbGll
bnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdv
cmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdvcmtlck9wdGlv
bnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRjaFJlc3VsdCkK
KyAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmln
aW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmll
ciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywgc3RydWN0IFdl
YkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0LCBzdHJ1Y3QgV2ViQ29y
ZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHdvcmtlckluaXRpYWxpemF0aW9uRGF0YSkKICAg
ICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVk
V29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9ydCBwb3J0LCBT
dHJpbmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihXZWJDb3JlOjpT
aGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAgICAgVXBkYXRl
UHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlIHN0b3Jl
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVk
V29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW4K
aW5kZXggYzI2OWZkMjZhOTFlYmZjYjRjNTRmMGQ2YzllMGViM2U0YjBkZjYzMi4uYjZjMDRkNjY0
YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUxYzM3OGRlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3IEBACiAjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24g
ewotICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2Vi
Q29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6Oldv
cmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KQorICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJM
IHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJP
YmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRp
b25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0LCBz
dHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxpemF0aW9uRGF0
YSkKICAgICBOb3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJl
ZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAgICBQb3N0RXhjZXB0aW9uVG9Xb3JrZXJPYmpl
Y3QoV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLCBTdHJpbmcgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNv
bHVtbk51bWJlciwgU3RyaW5nIHNvdXJjZVVSTCkKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NmNjNGRkMzUzNGY1MWFl
Y2IzNDNiZmViOTBlZDVjODBkZmI2N2FmLi5lYzhiNzQwNzI5NDc1M2UzNzg2ZjZkNjM1Y2RmNjQ1
NjZjZWQyZmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDQtMjYgIFlvdWVubiBGYWJs
ZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBt
YXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBD
aHJpcyBEdW1lei4KKworICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9s
bGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVzb3VyY2VzL2Nv
bnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2
aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzOgorICAgICAgICAqIHBsYXRmb3Jt
L2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vy
dmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQu
dHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorCiAyMDIy
LTA0LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBTZXJ2
aWNlIFdvcmtlciBsb2FkcyBzaG91bGQgbm90IGV4cG9zZSBzb21lIFJlc291cmNlVGltaW5nIGlu
Zm9ybWF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiNTE2NmU3OTIxMDJh
MWEwOWExNzZkNTE2YTJjZDE5Y2QzOGZlYTk2Li5jZjYwOWVlZWU3NzhlODZiNzQyMDEwZGMzNDYz
MWIxMDIzMmU3YjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMi0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAg
ICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29ya2VyIHJlZ2lzdHJh
dGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
OTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLWdl
dC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1j
bGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1y
ZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBz
LWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBs
ZS5jb20+CiAKICAgICAgICAgU2VydmljZSBXb3JrZXIgbG9hZHMgc2hvdWxkIG5vdCBleHBvc2Ug
c29tZSBSZXNvdXJjZVRpbWluZyBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9s
bGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVmNzA2YjNl
MWVmNjRiMmEwMTNhZmFjMjg2NWJjMjc0MWVjYmRlMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5o
dHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgUmVnaXN0ZXIgc2Vydmlj
ZSB3b3JrZXIKK1BBU1MgVmVyaWZ5IHNoYXJlZCB3b3JrZXIgaXMgY29udHJvbGxlZAorUEFTUyBW
ZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4gcG9zdCBtZXNzYWdlIHRvIGl0cyBzZXJ2aWNlIHdvcmtl
cgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29u
dHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3Nl
cnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjg3NTE0Yjg1NmMyMjhiOGU4ZmM0Nzc5ZGUxYmMzNTQ2ODQ3MmRiZjgKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29udHJvbGxlZC1z
aGFyZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Rlc3QtaGVs
cGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0VXNlU2VwYXJhdGVTZXJ2aWNlV29y
a2VyUHJvY2Vzcyh0cnVlKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9PiB7CisgICAg
Y29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3JrZXIucmVnaXN0
ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5qcyIsIHsgc2NvcGUgOiAncmVzb3VyY2VzJyB9KTsK
KyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworICAgIGlmIChhY3RpdmVX
b3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFjdGl2ZVdvcmtlciA9IHJlZ2lzdHJhdGlv
bi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4geworICAgICAg
ICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFuZ2UnLCAoKSA9PiB7Cisg
ICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVkIikKKyAgICAg
ICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwgIlJlZ2lzdGVy
IHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAg
IHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdv
cmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9
PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKKyAgICBhc3NlcnRfdHJ1ZShldmVu
dC5kYXRhLmlzQ29udHJvbGxlZCk7Cit9LCAiVmVyaWZ5IHNoYXJlZCB3b3JrZXIgaXMgY29udHJv
bGxlZCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB3b3JrZXIucG9y
dC5wb3N0TWVzc2FnZSgncGluZycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFByb21p
c2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKKyAgICBhc3Nl
cnRfZXF1YWxzKGV2ZW50LmRhdGEsICdwb25nJyk7Cit9LCAiVmVyaWZ5IHNoYXJlZCB3b3JrZXIg
Y2FuIHBvc3QgbWVzc2FnZSB0byBpdHMgc2VydmljZSB3b3JrZXIiKTsKKzwvc2NyaXB0PgorPC9i
b2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13
b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3Jr
ZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uODI1NzlhZmY0Y2RmMTRjZDhhYjc5ZmM5Mjg1ZjA5MDZiNGJhMWUw
ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9yZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuanMKQEAgLTAsMCArMSw4IEBACitv
bmNvbm5lY3QgPSBhc3luYyAoZSkgPT4geyAKKyAgICBjb25zdCAgcG9ydCA9IGUucG9ydHNbMF07
CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEhbmF2aWdhdG9yLnNlcnZp
Y2VXb3JrZXIuY29udHJvbGxlciB9KTsKKyAgICBwb3J0Lm9ubWVzc2FnZSA9IChldmVudCkgPT4g
eworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnBvc3RNZXNzYWdl
KGV2ZW50LmRhdGEpOworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5vbm1lc3NhZ2Ug
PSAoZXZlbnQpID0+IHBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7CisgICAgfTsKK30KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9za2lwRmV0Y2hF
dmVudC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tp
cEZldGNoRXZlbnQtd29ya2VyLmpzCmluZGV4IDBjZjk3ZmUyM2Y4Y2NhMDYyMTIyMzJlZWY5OWVl
YTY3NTc3MTU2MjEuLjBjMDczODJlOWIyYTcyZjk4OWU4ZDBiN2ZhZDMwNWI1YTM3N2U5YzQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9za2lwRmV0Y2hF
dmVudC13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJz
L3NraXBGZXRjaEV2ZW50LXdvcmtlci5qcwpAQCAtMTIsNiArMTIsMTAgQEAgYXN5bmMgZnVuY3Rp
b24gZG9UZXN0KGV2ZW50KQogICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3NhZ2Uoc2VsZi5y
ZWNlaXZlZEZldGNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBpZiAoZXZlbnQuZGF0
YSA9PT0gInBpbmciKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgicG9uZyIp
OworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2FnZSgi
S08iKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMt
Z2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZGY3MzVmYWZkMDdiZjYx
OTNjZDNkYjAxNTQzZTU3YTE3ODE0N2MyMi4uODkyOTYxOWE1YzkyOTRlNDU3YWJiODc5ZDdhOGFj
ZDk3ZGQ3YTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1nZXQtY2xp
ZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGll
bnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAog
Ci1GQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQgd29ya2VyIGNsaWVudHMg
YXNzZXJ0X25vdF9lcXVhbHM6IFNoYXJlZCB3b3JrZXIgY2xpZW50IHNob3VsZCBub3QgYmUgdW5k
ZWZpbmVkIGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFTUyBUZXN0IENsaWVudHMu
Z2V0KCkgd2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0
dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5MjdjOWY3ZWI1ZmZmZWFh
YzcxMGFlLi4xOTU3ZGVjYzg3OTcyMWM2YjYyMjVjZDAzYzE1ZDk4ZGExYWQyNTlmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Ut
d29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRw
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1j
bGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCiBQQVNTIFZl
cmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlMIFZlcmlmeSBtYXRj
aEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVudCB0eXBlcyBh
c3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQgZ290IDAKK1BBU1MgVmVy
aWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtlcn0gY2xpZW50
IHR5cGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRp
b24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2Vy
LWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggYmExNGVkZmUy
MmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNkYWExYzRlYjM4NjlhNDMz
ODJlOGQyMjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWlu
dGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKQEAg
LTEwLDEyICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0
LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNj
b3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBl
cnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdvcmtlciBlcnJv
ciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3Bl
MiAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2Nv
cGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2FzZSAjNDogc3cgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3Jr
ZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2UgIzQ6IHN3IHNjb3Bl
MS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFjaGVkOiBXb3Jr
ZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENhc2UgIzQ6IHN3IHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1MgQ2FzZSAjNDogc3cgc2Nv
cGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIGNsZWFudXAgZ2xvYmFs
IHN0YXRlCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVk
aWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2Nv
cGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpAQCAtMjMsMTEg
KzIzLDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBE
ZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2Nv
cGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIFBB
U1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxl
IERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3Jr
ZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9pbXBv
cnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBu
ZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJm
ZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBidXQgZ290ICJm
ZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENhc2UgIzE6IG5l
dHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRz
KCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVk
V29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMTogbmV0d29y
ayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQot
RkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2Vy
LCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUg
ZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1wbGUgdGV4
dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUy
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNj
b3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBD
YXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtl
ciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNj
b3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAgLTM1LDExICszNSwxMSBA
QCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNh
dGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+
b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNT
IENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3Jr
ZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1v
ZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlMIENhc2UgIzI6IG5ldHdv
cmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRz
KCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0
aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9pbXBv
cnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2ZWQgZnJvbSBu
ZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImZldGNoKCk6
IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBzaW1w
bGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUg
KGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzI6IG5l
dHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQog
UEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdv
cmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1z
Y29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJTCBDYXNlICMy
OiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgp
KSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUgZmV0Y2ggZnJv
bSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
aW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVcbiIKK1BBU1Mg
Q2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwg
ZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxl
IFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5z
Y29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpIGFzc2VydF9l
cXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvaW1wb3J0LXNj
cmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZyb20gdGhlIHdv
cmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL2lt
cG9ydC1zY3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChj
bGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQiIGJ1dCBnb3Qg
ImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQiCkBAIC00Nywx
MCArNDcsMjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRp
Y2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1MgQ2FzZSAjMzogc3cgc2Nv
cGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkKIEZB
SUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGZl
dGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRj
aCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3IHRoZSBmZXRj
aCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3Vy
Y2VzL3Njb3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2VxdWFsczogbG9j
YXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtl
cnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJjZXB0aW9uX3Jl
ZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjByZXF1ZXN0JTIw
Zm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xvY2FsaG9zdDo5
NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3dvcmtl
cl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJTCBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMoKSkgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9tIHRoZSB3b3Jr
ZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci9pbXBv
cnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0
aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29w
ZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29w
ZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3Rl
ZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdv
dCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwg
Q2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJodHRwczovL2xv
Y2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3Vi
ZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dyZWV0aW5nPXN3
MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBzY3JpcHQiIGJ1
dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3Jr
ZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29y
a2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyICht
b2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0
Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0
Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZBSUwgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYp
IGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8vbG9jYWxob3N0
Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvd29y
a2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9c3cyJTIwc2F3
JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIgYnV0IGdvdCAi
aHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVz
b3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weSIK
IFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29y
a2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3Bl
IChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2Nv
cGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQog
UEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtl
ciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAo
bW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUx
LT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCitQQVNT
IENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgaW1w
b3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAoY2xhc3Np
YyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNj
b3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1MgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlwdHMo
KSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3Jr
ZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CmluZGV4IGFiYTE5
MDA2OTRjNGU0OTk0YWE4NjgzOTUyNTg0MGE1ZDZmNTdkOGEuLjAwYWVhMmM4YTZiOGEwZDA2OTVl
NzQ2OGNmMjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtl
ci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE2ICsxLDE2IEBA
CiAKIFBBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQg
ZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3b3JrZXIncyBv
d24gc2VydmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUgZGVkaWNhdGVk
IHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQgZG9jdW1lbnQg
c2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ugd29ya2VyLgot
RkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3VlZCBmcm9tIGEg
dW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidzIG93biBzZXJ2
aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlz
c3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtl
cidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2FtZS1vcmlnaW4gd29ya2Vy
IHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBzdGFydGluZyBh
IGRlZGljYXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3Jp
cHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFy
ZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
dW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3JpcHQgc2VydmVk
IGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFyZWQgd29ya2Vy
LgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3
b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgY29ycyB3
b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNoYXJlZCB3b3Jr
ZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3JpZ2luIHdvcmtlciBzY3Jp
cHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFy
dC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNjcmlwdCBzZXJ2
ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0LgogUEFTUyBS
ZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVzb3VyY2UgaW50ZXJjZXB0
aW9uIHRlc3RzLgogUEFTUyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIgY29udHJvbGxl
ZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBSZXF1ZXN0cyBvbiBhIHNoYXJlZCB3b3JrZXIg
Y29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAi
VGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290ICJ7XCJlcnJv
clwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIKK1BBU1MgUmVxdWVz
dHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlci4KIEZB
SUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIGRlZGljYXRlZCB3
b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290
ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIiCiBGQUlMIFJl
cXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBzaGFyZWQgd29ya2VyIGFu
ZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
IlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdvdCAiVW5leHBl
Y3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgogUEFTUyBVbnJlZ2lzdGVy
IGEgc2VydmljZSB3b3JrZXIgZm9yIHN1YnJlc291cmNlIGludGVyY2VwdGlvbiB0ZXN0cy4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFs
bC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2
aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4YjVhZTkyN2M5
ZjdlYjVmZmZlYWFjNzEwYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxs
LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICsw
LDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBjbGllbnQgdHlwZQot
RkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2Vy
fSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50IGV4cGVjdGVkIDEgYnV0
IGdvdCAwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBl
cy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkMjNk
NmI1YWI0NTA4ZTViNzQwNzQwMDAyN2U2MjA1MmNhMDBlYTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRo
IHdpbmRvdyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3cs
IHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBudWxsIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3cucG9ydC5vbm1lc3NhZ2UgPSBfID0+IHJlc29sdmUodykn
KSIKLQo=
</data>
<flag name="commit-queue"
          id="487260"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458423</attachid>
            <date>2022-04-26 23:52:10 -0700</date>
            <delta_ts>2022-04-27 01:22:33 -0700</delta_ts>
            <desc>Fix WinCairo</desc>
            <filename>bug-239122-20220427085207.patch</filename>
            <type>text/plain</type>
            <size>83918</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWJkZjRjM2UxYTk0MmY3
ZGZlMmJhYWRiNzUzOTA2ZDk0ZmRiMmVkZS4uMGIzYmU4ODg2N2EzOWFkOTcxMzUwNzA1OTM4YmFk
NjRlZTBhNjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDIyLTA0LTI2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBTaGFyZWQgd29ya2VycyBz
aG91bGQgbWF0Y2ggc2VydmljZSB3b3JrZXIgcmVnaXN0cmF0aW9ucworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5MTIyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIFNoYXJlZFdvcmtlclNjcmlwdExv
YWRlciB0byBzZXQgY29ycmVjdGx5IGNsaWVudCBJRCBhbmQgc2VydmljZSB3b3JrZXIgZGF0YS4K
KyAgICAgICAgRGl0dG8gZm9yIFNoYXJlZFdvcmtlclRocmVhZCBhbmQgU2hhcmVkV29ya2VyVGhy
ZWFkUHJveHkuCisgICAgICAgIEFkZCBzdXBwb3J0IHRvIGdldCBhIFNoYXJlZFdvcmtlclRocmVh
ZFByb3h5IGZyb20gYSBjbGllbnQgSUQuCisgICAgICAgIFVzZSB0aGlzIGluIFNXQ2xpZW50Q29u
bmVjdGlvbiB0byBhZGQgc3VwcG9ydCBmb3IgY29udHJvbGxlciBjaGFuZ2UgYW5kIHBvc3QgbWVz
c2FnaW5nLgorCisgICAgICAgIEdpdmVuIHdlIGNyZWF0ZSB0aGUgc2hhcmVkIHdvcmtlciBpZGVu
dGlmaWVyIGluIG9uZSB3ZWIgcHJvY2VzcyBidXQgd2UgbWlnaHQgc3Bhd24gdGhlIGFjdHVhbCB3
b3JrZXIgaW4gYW5vdGhlciBwcm9jZXNzLAorICAgICAgICB3ZSBuZWVkIHRvIHVucmVnaXN0ZXIg
dGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgb2xkIHByb2Nlc3MgaWRlbnRpZmllciBhbmQgcmVnaXN0
ZXIgdGhlIGlkZW50aWZpZXIgd2l0aCB0aGUgbmV3IHByb2Nlc3MgaWRlbnRpZmllci4KKyAgICAg
ICAgVGhpcyBpcyBkb25lIGF0IHNoYXJlZCB3b3JrZXIgbGF1bmNoIHRpbWUuCisKKyAgICAgICAg
Q292ZXJlZCBieSB1cGRhdGVkIHRlc3RzLgorICAgICAgICBUZXN0OiBodHRwL3dwdC9zZXJ2aWNl
LXdvcmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbAorCisgICAgICAgICog
SGVhZGVycy5jbWFrZToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgICog
d29ya2Vycy9Xb3JrZXIuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oOgorICAgICAg
ICAqIHdvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcDoKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlclNjcmlwdExvYWRlci5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1dTZXJ2ZXI6OmdhdGhlckNsaWVudERhdGEp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXIuaDoKKyAgICAgICAg
KiB3b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHA6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5oOgorICAgICAgICAqIHdv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNjcmlwdExvYWRlci5jcHA6CisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmg6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAqIHdvcmtl
cnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuY3BwOgorICAgICAgICAq
IHdvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaDoKKwogMjAy
Mi0wNC0yNiAgQ2xhdWRpbyBTYWF2ZWRyYSAgPGNzYWF2ZWRyYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtEYXRhYmFzZVRyYWNrZXJdIFVzZSBQUkl1NjQgZm9yIGxvZ2dpbmcgZm9yIHBvcnRhYmls
aXR5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCmluZGV4IGQxYWJlMmRmYTZjMTM0MDM3ZWM3Mjk2NWU3NDU4N2Y2MWRhZTIzMTQu
LmZhOWFhYzRkMmFiMzJiMTEwY2Y5OTMxZmI1ZDFkY2JjZTcwNWNiMTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjcgQEAKKzIwMjItMDQtMjYgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJzIHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciBy
ZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMzkxMjIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rpb24uY3BwOgor
ICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0
aW9uLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlci5oOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRX
b3JrZXJTZXJ2ZXIuY3BwOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRX
b3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAgICAgICogTmV0
d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9TdG9y
YWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHA6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVj
dGlvbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250
ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9T
dG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtlckNvbnRleHRDb25uZWN0aW9uVG9OZXR3
b3JrUHJvY2Vzcyk6CisKIDIwMjItMDQtMjUgIEFkaXR5YSBLZWVydGhpICA8YWtlZXJ0aGlAYXBw
bGUuY29tPgogCiAgICAgICAgIFtpT1NdIEFkZCBOU0NvZGluZyBzdXBwb3J0IGZvciBmaW5kSW50
ZXJhY3Rpb25FbmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
IGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQppbmRleCBkZjI2MWQ0NTc3YWYzOGY1MDA2
OWRjYjRjMWM1YzlkNTE3ZDBmMDcyLi5kMDYwYWQ5ZjMxYWQyZTYxNDgzNzk1MjM3MGJhNTAwMTE5
ZDBhYWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKQEAgLTE5OTksNiArMTk5OSw3IEBAIHNldChXZWJD
b3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAgICB3b3JrZXJzL1dvcmtlckZldGNoUmVz
dWx0LmgKICAgICB3b3JrZXJzL1dvcmtlckZvbnRMb2FkUmVxdWVzdC5oCiAgICAgd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5oCisgICAgd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEu
aAogICAgIHdvcmtlcnMvV29ya2VyTG9hZGVyUHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT2Jq
ZWN0UHJveHkuaAogICAgIHdvcmtlcnMvV29ya2VyT3B0aW9ucy5oCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKaW5kZXggOWU0MjQ0OGJhMDczYWU5MjBlMzQ3MjQ1YzI2MDgyNGZjOTc0ZjBjNi4u
NjAyM2E2ZjY5YTMyYjg1ZjQ3ZDlmZTIwMzRiNTRjMTYzZDEzMjFhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcApAQCAtMjY3LDcgKzI2Nyw3IEBAIHZvaWQgV29ya2VyOjpmb3JFYWNoV29y
a2VyKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
CiAgICAgICAgIHdvcmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKGNhbGxiYWNrKCkp
OwogfQogCi1Xb3JrZXIqIFdvcmtlcjo6d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCitXb3JrZXIqIFdvcmtlcjo6YnlJZGVudGlm
aWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGlkZW50aWZpZXIpCiB7CiAgICAg
cmV0dXJuIGFsbFdvcmtlcnMoKS5nZXQoaWRlbnRpZmllcik7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXIuaAppbmRleCA1M2VkZGYzYWY3YTIxM2NmMjlmNTQzYjUyYTc1YzZiN2IzNmJkNWRhLi4xNjU2
NTI3YjZkYjIxMDgzMTgzMzMzYmU1ZTM1NTk0MTE1MjUxYjgzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyLmgKQEAgLTgzLDcgKzgzLDcgQEAgcHVibGljOgogICAgIHZvaWQgcG9zdFRhc2tUb1dvcmtl
ckdsb2JhbFNjb3BlKEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpPiYmKTsK
IAogICAgIHN0YXRpYyB2b2lkIGZvckVhY2hXb3JrZXIoY29uc3QgRnVuY3Rpb248RnVuY3Rpb248
dm9pZChTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik+KCk+Jik7Ci0gICAgc3RhdGljIFdvcmtlciog
d29ya2VyQnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKyAg
ICBzdGF0aWMgV29ya2VyKiBieUlkZW50aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOwogCiBwcml2YXRlOgogICAgIFdvcmtlcihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jiwg
SlNDOjpSdW50aW1lRmxhZ3MsIFdvcmtlck9wdGlvbnMmJik7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckluaXRpYWxpemF0aW9uRGF0YS5oIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaAppbmRleCA1Njk3MGQwNGEzYTcw
YzE4OTVjZTk3MTk1ODI2ZDA5OWM2NzA4YWVhLi5kY2JlZTFhNzY2NjhlMWQ1MDk1OWZjOTgyZWNl
M2YzYTdjYTE4OGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlcklu
aXRpYWxpemF0aW9uRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhLmgKQEAgLTI3LDYgKzI3LDcgQEAKIAogI2luY2x1ZGUgIlNjcmlwdEV4
ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckRhdGEu
aCIKKyNpbmNsdWRlIDx3dGYvQ3Jvc3NUaHJlYWRDb3BpZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzcsNiArMzgsNjEgQEAg
c3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CiAjZW5kaWYKICAgICBzdGQ6Om9wdGlv
bmFsPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyPiBjbGllbnRJZGVudGlmaWVyOwog
ICAgIFN0cmluZyB1c2VyQWdlbnQ7CisKKyAgICBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEgaXNv
bGF0ZWRDb3B5KCkgY29uc3Q7CisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBkZWNvZGUoRGVjb2RlciYp
OwogfTsKIAoraW5saW5lIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSBXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGE6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsKKyNpZiBFTkFC
TEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGNyb3NzVGhyZWFkQ29weShzZXJ2aWNlV29ya2Vy
RGF0YSksCisjZW5kaWYKKyAgICAgICAgY2xpZW50SWRlbnRpZmllciwKKyAgICAgICAgdXNlckFn
ZW50Lmlzb2xhdGVkQ29weSgpCisgICAgfTsKK30KKworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVy
Pgordm9pZCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAgICBlbmNvZGVyIDw8IHNl
cnZpY2VXb3JrZXJEYXRhOworI2VuZGlmCisgICAgZW5jb2RlciA8PCBjbGllbnRJZGVudGlmaWVy
IDw8IHVzZXJBZ2VudDsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4KK3N0ZDo6b3B0aW9u
YWw8V29ya2VySW5pdGlhbGl6YXRpb25EYXRhPiBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE6OmRl
Y29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKKyAg
ICBzdGQ6Om9wdGlvbmFsPHN0ZDo6b3B0aW9uYWw8U2VydmljZVdvcmtlckRhdGE+PiBzZXJ2aWNl
V29ya2VyRGF0YTsKKyAgICBkZWNvZGVyID4+IHNlcnZpY2VXb3JrZXJEYXRhOworICAgIGlmICgh
c2VydmljZVdvcmtlckRhdGEpCisgICAgICAgIHJldHVybiB7IH07CisjZW5kaWYKKworICAgIHN0
ZDo6b3B0aW9uYWw8c3RkOjpvcHRpb25hbDxTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmll
cj4+IGNsaWVudElkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBjbGllbnRJZGVudGlmaWVyOwor
ICAgIGlmICghY2xpZW50SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIHN0
ZDo6b3B0aW9uYWw8U3RyaW5nPiB1c2VyQWdlbnQ7CisgICAgZGVjb2RlciA+PiB1c2VyQWdlbnQ7
CisgICAgaWYgKCF1c2VyQWdlbnQpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisg
ICAgICAgIFdURk1vdmUoKnNlcnZpY2VXb3JrZXJEYXRhKSwKKyNlbmRpZgorICAgICAgICBXVEZN
b3ZlKCpjbGllbnRJZGVudGlmaWVyKSwKKyAgICAgICAgV1RGTW92ZSgqdXNlckFnZW50KQorICAg
IH07Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcAppbmRleCA0MWFhYmM4MDgxODYzYmNmYTUyMjIwNGFj
YTA2MGYzMTcyNjFjYjM3Li5lZmE4Njc3ZTA5MzEyNDZjOWE5NzdhNDc4NjllMGRkYmE5ZjVmZDQ2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3BwCkBA
IC0xNTYsOCArMTU2LDcgQEAgdm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25v
dXNseShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICAvLyBBIHNlcnZp
Y2Ugd29ya2VyIGpvYiBjYW4gYmUgZXhlY3V0ZWQgZnJvbSBhIHdvcmtlciBjb250ZXh0IG9yIGEg
ZG9jdW1lbnQgY29udGV4dC4KICAgICBvcHRpb25zLnNlcnZpY2VXb3JrZXJzTW9kZSA9IHNlcnZp
Y2VXb3JrZXJNb2RlOwogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAgICAvLyBGSVhNRTog
QWRkIHN1cHBvcnQgZm9yIHNoYXJlZCB3b3JrZXIuCi0gICAgaWYgKG1fZGVzdGluYXRpb24gPT0g
RmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2VyICYmIGlzPERvY3VtZW50PihzY3JpcHRF
eGVjdXRpb25Db250ZXh0KSkgeworICAgIGlmICgobV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgfHwgbV9kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlvbnM6
OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpICYmIGlzPERvY3VtZW50PihzY3JpcHRFeGVjdXRp
b25Db250ZXh0KSkgewogICAgICAgICBBU1NFUlQoY2xpZW50SWRlbnRpZmllcik7CiAgICAgICAg
IG9wdGlvbnMuY2xpZW50SWRlbnRpZmllciA9IG1fY2xpZW50SWRlbnRpZmllciA9IGNsaWVudElk
ZW50aWZpZXI7CiAgICAgICAgIC8vIEluIGNhc2Ugb2YgYmxvYiBVUkxzLCB3ZSByZXVzZSB0aGUg
ZG9jdW1lbnQgY29udHJvbGxpbmcgc2VydmljZSB3b3JrZXIuCkBAIC0xNjgsNiArMTY3LDggQEAg
dm9pZCBXb3JrZXJTY3JpcHRMb2FkZXI6OmxvYWRBc3luY2hyb25vdXNseShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiBzY3JpcHRFeGVjdXQKICAgICB9IGVsc2UgaWYgKGF1dG8qIGFjdGl2ZVNlcnZp
Y2VXb3JrZXIgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0LmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSkK
ICAgICAgICAgb3B0aW9ucy5zZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllciA9IGFj
dGl2ZVNlcnZpY2VXb3JrZXItPnJlZ2lzdHJhdGlvbklkZW50aWZpZXIoKTsKICNlbmRpZgorICAg
IGlmIChtX2Rlc3RpbmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdv
cmtlcikKKyAgICAgICAgbV91c2VyQWdlbnRGb3JTaGFyZWRXb3JrZXIgPSBzY3JpcHRFeGVjdXRp
b25Db250ZXh0LnVzZXJBZ2VudChzY3JpcHRSZXF1ZXN0LnVybCgpKTsKIAogICAgIC8vIER1cmlu
ZyBjcmVhdGUsIGNhbGxiYWNrcyBtYXkgaGFwcGVuIHdoaWNoIHJlbW92ZSB0aGUgbGFzdCByZWZl
cmVuY2UgdG8gdGhpcyBvYmplY3QuCiAgICAgUmVmPFdvcmtlclNjcmlwdExvYWRlcj4gcHJvdGVj
dGVkVGhpcygqdGhpcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
clNjcmlwdExvYWRlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaAppbmRleCBiNjhiMDI0ZDYxM2FlMWRmMmU1YTQ5NTFmNTA5ODlhZDY5NjBlZTQ4Li4zZGEw
YTFkNWE2OTlmNDA3MTdjOTQzNTBkOTQ5YTkzYTU0MzhlNjRlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKQEAgLTEwNCw2ICsxMDQsOSBAQCBwdWJsaWM6
CiAgICAgc3RkOjpvcHRpb25hbDxTZXJ2aWNlV29ya2VyRGF0YT4gdGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCkgeyByZXR1cm4gc3RkOjpleGNoYW5nZShtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhLCB7
IH0pOyB9CiAjZW5kaWYKIAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNs
aWVudElkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudElkZW50aWZpZXI7IH0KKyAg
ICBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOyB9CisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNs
YXNzIFJlZkNvdW50ZWQ8V29ya2VyU2NyaXB0TG9hZGVyPjsKICAgICBmcmllbmQgc3RydWN0IHN0
ZDo6ZGVmYXVsdF9kZWxldGU8V29ya2VyU2NyaXB0TG9hZGVyPjsKQEAgLTEzOSw2ICsxNDIsNyBA
QCBwcml2YXRlOgogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJEYXRhPiBtX2FjdGl2ZVNlcnZpY2VXb3JrZXJEYXRhOwogI2VuZGlmCisg
ICAgU3RyaW5nIG1fdXNlckFnZW50Rm9yU2hhcmVkV29ya2VyOwogfTsKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NX
Q2xpZW50Q29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dD
bGllbnRDb25uZWN0aW9uLmNwcAppbmRleCA4OGI0ZDg0Yzg5ZTk5YzFjNGYyNWEwODIzMWU0MTFk
ZjU5MDc0ZDUxLi41NWYzNzM1YzIyMTdmZTQ5NWQ0N2UyY2RkZGQ0NzFlMDRmMDA0MmU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU1dDbGllbnRDb25uZWN0
aW9uLmNwcApAQCAtMzcsNiArMzcsOCBAQAogI2luY2x1ZGUgIlNlcnZpY2VXb3JrZXJKb2JEYXRh
LmgiCiAjaW5jbHVkZSAiU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5oIgogI2luY2x1ZGUgIlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFk
LmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyVGhyZWFkUHJveHkuaCIKICNpbmNsdWRlICJXb3Jr
ZXIuaCIKICNpbmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgPHd0Zi9Dcm9z
c1RocmVhZENvcGllci5oPgpAQCAtMTE0LDE3ICsxMTYsMzMgQEAgdm9pZCBTV0NsaWVudENvbm5l
Y3Rpb246OnN0YXJ0U2NyaXB0RmV0Y2hGb3JTZXJ2ZXIoU2VydmljZVdvcmtlckpvYklkZW50aWZp
ZXIgam8KIH0KIAogCitzdGF0aWMgdm9pZCBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYgbWVzc2Fn
ZSwgU2VydmljZVdvcmtlckRhdGEmJiBzb3VyY2VEYXRhLCBTdHJpbmcmJiBzb3VyY2VPcmlnaW4p
Cit7CisgICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGNvbnRleHQuZW5zdXJlU2VydmljZVdvcmtl
ckNvbnRhaW5lcigpKQorICAgICAgICBjb250YWluZXItPnBvc3RNZXNzYWdlKFdURk1vdmUobWVz
c2FnZSksIFdURk1vdmUoc291cmNlRGF0YSksIFdURk1vdmUoc291cmNlT3JpZ2luKSk7Cit9CisK
IHZvaWQgU1dDbGllbnRDb25uZWN0aW9uOjpwb3N0TWVzc2FnZVRvU2VydmljZVdvcmtlckNsaWVu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllciBkZXN0aW5hdGlvbkNvbnRleHRJZGVu
dGlmaWVyLCBNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmIG1lc3NhZ2UsIFNlcnZpY2VXb3JrZXJE
YXRhJiYgc291cmNlRGF0YSwgU3RyaW5nJiYgc291cmNlT3JpZ2luKQogewogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKLSAgICAvLyBGSVhNRTogZGVzdGluYXRpb25Db250ZXh0SWRlbnRp
ZmllciBjYW4gb25seSBpZGVudGlmeSBhIERvY3VtZW50IGF0IHRoZSBtb21lbnQuCi0gICAgYXV0
byogZGVzdGluYXRpb25Eb2N1bWVudCA9IERvY3VtZW50OjphbGxEb2N1bWVudHNNYXAoKS5nZXQo
ZGVzdGluYXRpb25Db250ZXh0SWRlbnRpZmllcik7Ci0gICAgaWYgKCFkZXN0aW5hdGlvbkRvY3Vt
ZW50KQorICAgIGlmIChhdXRvKiBkZXN0aW5hdGlvbkRvY3VtZW50ID0gRG9jdW1lbnQ6OmFsbERv
Y3VtZW50c01hcCgpLmdldChkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAg
ICBwb3N0TWVzc2FnZVRvQ29udGFpbmVyKCpkZXN0aW5hdGlvbkRvY3VtZW50LCBXVEZNb3ZlKG1l
c3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEpLCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOwogICAg
ICAgICByZXR1cm47CisgICAgfQogCi0gICAgaWYgKGF1dG8qIGNvbnRhaW5lciA9IGRlc3RpbmF0
aW9uRG9jdW1lbnQtPmVuc3VyZVNlcnZpY2VXb3JrZXJDb250YWluZXIoKSkKLSAgICAgICAgY29u
dGFpbmVyLT5wb3N0TWVzc2FnZShXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHNvdXJjZURhdGEp
LCBXVEZNb3ZlKHNvdXJjZU9yaWdpbikpOworICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6
OmJ5SWRlbnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICB3
b3JrZXItPnBvc3RUYXNrVG9Xb3JrZXJHbG9iYWxTY29wZShbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBpZiAoYXV0byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRl
bnRpZmllcihkZXN0aW5hdGlvbkNvbnRleHRJZGVudGlmaWVyKSkgeworICAgICAgICBzaGFyZWRX
b3JrZXItPnRocmVhZCgpLnJ1bkxvb3AoKS5wb3N0VGFzayhbbWVzc2FnZSA9IFdURk1vdmUobWVz
c2FnZSksIHNvdXJjZURhdGEgPSBXVEZNb3ZlKHNvdXJjZURhdGEpLmlzb2xhdGVkQ29weSgpLCBz
b3VyY2VPcmlnaW4gPSBXVEZNb3ZlKHNvdXJjZU9yaWdpbikuaXNvbGF0ZWRDb3B5KCldIChhdXRv
JiBjb250ZXh0KSBtdXRhYmxlIHsKKyAgICAgICAgICAgIHBvc3RNZXNzYWdlVG9Db250YWluZXIo
Y29udGV4dCwgV1RGTW92ZShtZXNzYWdlKSwgV1RGTW92ZShzb3VyY2VEYXRhKSwgV1RGTW92ZShz
b3VyY2VPcmlnaW4pKTsKKyAgICAgICAgfSk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBmb3JB
bGxXb3JrZXJzKGNvbnN0IEZ1bmN0aW9uPEZ1bmN0aW9uPHZvaWQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCYpPigpPiYgY2FsbGJhY2spCkBAIC0yNDQsMTMgKzI2MiwxOCBAQCB2b2lkIFNXQ2xpZW50
Q29ubmVjdGlvbjo6bm90aWZ5Q2xpZW50c09mQ29udHJvbGxlckNoYW5nZShjb25zdCBIYXNoU2V0
PFNjcmlwdEV4ZQogICAgICAgICAgICAgdXBkYXRlQ29udHJvbGxlcigqZG9jdW1lbnQsIFNlcnZp
Y2VXb3JrZXJEYXRhIHsgbmV3Q29udHJvbGxlciB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwog
ICAgICAgICB9Ci0gICAgICAgIGlmIChhdXRvKiB3b3JrZXIgPSBXb3JrZXI6OndvcmtlckJ5SWRl
bnRpZmllcihjbGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICBpZiAoYXV0byogd29ya2VyID0g
V29ya2VyOjpieUlkZW50aWZpZXIoY2xpZW50SWRlbnRpZmllcikpIHsKICAgICAgICAgICAgIHdv
cmtlci0+cG9zdFRhc2tUb1dvcmtlckdsb2JhbFNjb3BlKFtuZXdDb250cm9sbGVyID0gbmV3Q29u
dHJvbGxlci5pc29sYXRlZENvcHkoKV0gKGF1dG8mIGNvbnRleHQpIG11dGFibGUgewogICAgICAg
ICAgICAgICAgIHVwZGF0ZUNvbnRyb2xsZXIoY29udGV4dCwgV1RGTW92ZShuZXdDb250cm9sbGVy
KSk7CiAgICAgICAgICAgICB9KTsKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9Ci0g
ICAgICAgIC8vIEZJWE1FOiBTdXBwb3J0IHNoYXJlZCB3b3JrZXJzLgorICAgICAgICBpZiAoYXV0
byogc2hhcmVkV29ya2VyID0gU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmJ5SWRlbnRpZmllcihj
bGllbnRJZGVudGlmaWVyKSkgeworICAgICAgICAgICAgc2hhcmVkV29ya2VyLT50aHJlYWQoKS5y
dW5Mb29wKCkucG9zdFRhc2soW25ld0NvbnRyb2xsZXIgPSBuZXdDb250cm9sbGVyLmlzb2xhdGVk
Q29weSgpXSAoYXV0byYgY29udGV4dCkgbXV0YWJsZSB7CisgICAgICAgICAgICAgICAgdXBkYXRl
Q29udHJvbGxlcihjb250ZXh0LCBXVEZNb3ZlKG5ld0NvbnRyb2xsZXIpKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29udGFp
bmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyQ29u
dGFpbmVyLmNwcAppbmRleCBkYjhkNDAwYTM3NTQ0ZGM4YmUyMWRjMTA2YjIzMTYwYjQ4MWY4YTBh
Li45NGYxNTQ5NTA0NThjZTZjNWIyODFlNWI0MGE3MDNiYWQ0YzgyN2ZmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckNvbnRhaW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJDb250YWlu
ZXIuY3BwCkBAIC01OCw2ICs1OCw3IEBACiAjaW5jbHVkZSAiU2VydmljZVdvcmtlckpvYkRhdGEu
aCIKICNpbmNsdWRlICJTZXJ2aWNlV29ya2VyUHJvdmlkZXIuaCIKICNpbmNsdWRlICJTZXJ2aWNl
V29ya2VyVGhyZWFkLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCIKICNp
bmNsdWRlICJXb3JrZXJGZXRjaFJlc3VsdC5oIgogI2luY2x1ZGUgIldvcmtlclNXQ2xpZW50Q29u
bmVjdGlvbi5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CkBAIC0xMzMsNyAr
MTM0LDcgQEAgYXV0byBTZXJ2aWNlV29ya2VyQ29udGFpbmVyOjpyZWFkeSgpIC0+IFJlYWR5UHJv
bWlzZSYKIFNlcnZpY2VXb3JrZXIqIFNlcnZpY2VXb3JrZXJDb250YWluZXI6OmNvbnRyb2xsZXIo
KSBjb25zdAogewogICAgIGF1dG8qIGNvbnRleHQgPSBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
Ci0gICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghY29udGV4dCB8fCBpczxEb2N1bWVudD4oKmNvbnRl
eHQpIHx8IGlzPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPigqY29udGV4dCkgfHwgIWNvbnRl
eHQtPmFjdGl2ZVNlcnZpY2VXb3JrZXIoKSwgIk9ubHkgZG9jdW1lbnRzIGFuZCBkZWRpY2F0ZWQg
d29ya2VycyBjYW4gaGF2ZSBhIGNvbnRyb2xsZXIgYXQgdGhlIG1vbWVudC4iKTsKKyAgICBBU1NF
UlRfV0lUSF9NRVNTQUdFKCFjb250ZXh0IHx8IGlzPERvY3VtZW50PigqY29udGV4dCkgfHwgaXM8
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+KCpjb250ZXh0KSAgfHwgaXM8U2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGU+KCpjb250ZXh0KSB8fCAhY29udGV4dC0+YWN0aXZlU2VydmljZVdvcmtlcigp
LCAiT25seSBkb2N1bWVudHMsIGRlZGljYXRlZCBhbmQgc2hhcmVkIHdvcmtlcnMgY2FuIGhhdmUg
YSBjb250cm9sbGVyLiIpOwogICAgIHJldHVybiBjb250ZXh0ID8gY29udGV4dC0+YWN0aXZlU2Vy
dmljZVdvcmtlcigpIDogbnVsbHB0cjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmNwcAppbmRleCA3ZDRlM2FiYWE5M2MyMDdlOTZm
ZGU1MmFiOWRhZDgxODZlYWQ0MzM3Li41M2QwMGEyNGZhZTc3NmU2NDNlNzJkMWM4MmM0OGU1YmEx
YTQwOTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVy
L1NXU2VydmVyLmNwcApAQCAtMTAzOSw2ICsxMDM5LDI4IEBAIHZvaWQgU1dTZXJ2ZXI6OnJlZ2lz
dGVyU2VydmljZVdvcmtlckNsaWVudChDbGllbnRPcmlnaW4mJiBjbGllbnRPcmlnaW4sIFNlcnZp
Y2VXCiAgICAgbV9jbGllbnRUb0NvbnRyb2xsaW5nUmVnaXN0cmF0aW9uLmFkZChjbGllbnRJZGVu
dGlmaWVyLCAqY29udHJvbGxpbmdTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcik7
CiB9CiAKK3N0ZDo6b3B0aW9uYWw8U1dTZXJ2ZXI6OkdhdGhlcmVkQ2xpZW50RGF0YT4gU1dTZXJ2
ZXI6OmdhdGhlckNsaWVudERhdGEoY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIGNsaWVudElkZW50aWZpZXIpCit7CisgICAg
YXV0byBjbGllbnREYXRhSXRlcmF0b3IgPSBtX2NsaWVudHNCeUlkLmZpbmQoY2xpZW50SWRlbnRp
Zmllcik7CisgICAgaWYgKGNsaWVudERhdGFJdGVyYXRvciA9PSBtX2NsaWVudHNCeUlkLmVuZCgp
KQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byBjb250cm9sbGluZ1JlZ2lzdHJhdGlv
SXRlcmF0b3IgPSBtX2NsaWVudFRvQ29udHJvbGxpbmdSZWdpc3RyYXRpb24uZmluZChjbGllbnRJ
ZGVudGlmaWVyKTsKKyAgICBpZiAoY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yID09IG1f
Y2xpZW50VG9Db250cm9sbGluZ1JlZ2lzdHJhdGlvbi5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIGF1dG8gY2xpZW50c1Blck9yaWdpbkl0ZXJhdG9yID0gbV9jbGllbnRJZGVudGlm
aWVyc1Blck9yaWdpbi5maW5kKGNsaWVudE9yaWdpbik7CisgICAgaWYgKGNsaWVudHNQZXJPcmln
aW5JdGVyYXRvciA9PSBtX2NsaWVudElkZW50aWZpZXJzUGVyT3JpZ2luLmVuZCgpKQorICAgICAg
ICByZXR1cm4geyB9OworCisgICAgcmV0dXJuIEdhdGhlcmVkQ2xpZW50RGF0YSB7CisgICAgICAg
IGNsaWVudE9yaWdpbiwKKyAgICAgICAgY2xpZW50RGF0YUl0ZXJhdG9yLT52YWx1ZSwKKyAgICAg
ICAgY29udHJvbGxpbmdSZWdpc3RyYXRpb0l0ZXJhdG9yLT52YWx1ZSwKKyAgICAgICAgY2xpZW50
c1Blck9yaWdpbkl0ZXJhdG9yLT52YWx1ZS51c2VyQWdlbnQKKyAgICB9OworfQorCiB2b2lkIFNX
U2VydmVyOjp1bnJlZ2lzdGVyU2VydmljZVdvcmtlckNsaWVudChjb25zdCBDbGllbnRPcmlnaW4m
IGNsaWVudE9yaWdpbiwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgY2xpZW50SWRl
bnRpZmllcikKIHsKICAgICBhdXRvIGNsaWVudFJlZ2lzdHJhYmxlRG9tYWluID0gY2xpZW50T3Jp
Z2luLmNsaWVudFJlZ2lzdHJhYmxlRG9tYWluKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2Uvc2VydmVyL1NXU2VydmVyLmgKaW5kZXggN2FhODcyYzk0Y2M5MzYwZmI4YjQ2
MzA1MTJlMzliZjkwMDA0NTJkZC4uMzNhODE0MGE1OGM0OGE4NWU4N2ViMzNlY2I5YzZkNDQ0ZjJi
YmI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9T
V1NlcnZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dT
ZXJ2ZXIuaApAQCAtMjQ2LDYgKzI0NiwxNCBAQCBwdWJsaWM6CiAgICAgc3RkOjpvcHRpb25hbDxT
ZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uSWRlbnRpZmllcj4gY2xpZW50SWRlbnRpZmllclRvQ29u
dHJvbGxpbmdSZWdpc3RyYXRpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIpIGNv
bnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZm9yRWFjaENsaWVudEZvck9yaWdpbihjb25z
dCBDbGllbnRPcmlnaW4mLCBjb25zdCBGdW5jdGlvbjx2b2lkKFNlcnZpY2VXb3JrZXJDbGllbnRE
YXRhJik+Jik7CiAKKyAgICBzdHJ1Y3QgR2F0aGVyZWRDbGllbnREYXRhIHsKKyAgICAgICAgQ2xp
ZW50T3JpZ2luIGNsaWVudE9yaWdpbjsKKyAgICAgICAgU2VydmljZVdvcmtlckNsaWVudERhdGEg
c2VydmljZVdvcmtlckNsaWVudERhdGE7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8U2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbklkZW50aWZpZXI+IGNvbnRyb2xsaW5nU2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI7CisgICAgICAgIFN0cmluZyB1c2VyQWdlbnQ7CisgICAgfTsKKyAg
ICBXRUJDT1JFX0VYUE9SVCBzdGQ6Om9wdGlvbmFsPEdhdGhlcmVkQ2xpZW50RGF0YT4gZ2F0aGVy
Q2xpZW50RGF0YShjb25zdCBDbGllbnRPcmlnaW4mLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRl
bnRpZmllcik7CisKIHByaXZhdGU6CiAgICAgdW5zaWduZWQgbWF4UmVnaXN0cmF0aW9uQ291bnQo
KTsKICAgICBib29sIGFsbG93TG9vcGJhY2tJUEFkZHJlc3MoY29uc3QgU3RyaW5nJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmplY3RD
b25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
ck9iamVjdENvbm5lY3Rpb24uY3BwCmluZGV4IDMwOGJiZmE2YWY5MDMwMDk1NmEyYTM5Njg3ZTU1
YzVkNzM0OWVkYjUuLmIwNGI3NjljMTRkMTMyNTZhYTU1YmU3MzIzNDc2Mjc5OWI2MmQ2NDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVj
dENvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlck9iamVjdENvbm5lY3Rpb24uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAi
U2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmgiCiAj
aW5jbHVkZSAiV29ya2VyRmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXph
dGlvbkRhdGEuaCIKICNpbmNsdWRlICJXb3JrZXJTY3JpcHRMb2FkZXIuaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewpAQCAtNDYsMjUgKzQ3LDI1IEBAIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b246OlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24oKSA9IGRlZmF1bHQ7CiAKIFNoYXJlZFdv
cmtlck9iamVjdENvbm5lY3Rpb246On5TaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uKCkgPSBk
ZWZhdWx0OwogCi12b2lkIFNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb246OmZldGNoU2NyaXB0
SW5DbGllbnQoVVJMJiYgdXJsLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVy
IHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRp
b25zLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uOjpmZXRjaFNj
cmlwdEluQ2xpZW50KFVSTCYmIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYgd29ya2Vy
T3B0aW9ucywgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAgQVNT
RVJUKGlzTWFpblRocmVhZCgpKTsKIAogICAgIGF1dG8qIHdvcmtlck9iamVjdCA9IFNoYXJlZFdv
cmtlcjo6ZnJvbUlkZW50aWZpZXIoc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcik7CiAgICAg
Q09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVudDogc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zLCB3b3JrZXI9JXAiLCBzaGFyZWRXb3JrZXJPYmpl
Y3RJZGVudGlmaWVyLnRvU3RyaW5nKCkudXRmOCgpLmRhdGEoKSwgd29ya2VyT2JqZWN0KTsKICAg
ICBpZiAoIXdvcmtlck9iamVjdCkKLSAgICAgICAgcmV0dXJuIGNvbXBsZXRpb25IYW5kbGVyKHdv
cmtlckZldGNoRXJyb3IoUmVzb3VyY2VFcnJvciB7IFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNl
bGxhdGlvbiB9KSk7CisgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcih3b3JrZXJGZXRj
aEVycm9yKFJlc291cmNlRXJyb3IgeyBSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRpb24g
fSksIHsgfSk7CiAKICAgICBhdXRvIGxvYWRlcklkZW50aWZpZXIgPSArK2xvYWRlcklkZW50aWZp
ZXJTZWVkOwogICAgIGF1dG8gbG9hZGVyID0gbWFrZVVuaXF1ZVJlZjxTaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXI+KFdURk1vdmUodXJsKSwgKndvcmtlck9iamVjdCwgV1RGTW92ZSh3b3JrZXJPcHRp
b25zKSk7CiAgICAgYXV0byBsb2FkZXJQdHIgPSBsb2FkZXIucHRyKCk7CiAgICAgbV9sb2FkZXJz
LmFkZChsb2FkZXJJZGVudGlmaWVyLCBXVEZNb3ZlKGxvYWRlcikpOwogCi0gICAgbG9hZGVyUHRy
LT5sb2FkKFt0aGlzLCBsb2FkZXJJZGVudGlmaWVyLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpXShXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0KSBt
dXRhYmxlIHsKKyAgICBsb2FkZXJQdHItPmxvYWQoW3RoaXMsIGxvYWRlcklkZW50aWZpZXIsIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildKGF1dG8mJiBmZXRj
aFJlc3VsdCwgYXV0byYmIGluaXRpYWxpemF0aW9uRGF0YSkgbXV0YWJsZSB7CiAgICAgICAgIENP
Tk5FQ1RJT05fUkVMRUFTRV9MT0coImZldGNoU2NyaXB0SW5DbGllbnQ6IGZpbmlzaGVkIHNjcmlw
dCBsb2FkLCBzdWNjZXNzPSVkIiwgZmV0Y2hSZXN1bHQuZXJyb3IuaXNOdWxsKCkpOwogICAgICAg
ICBhdXRvIGxvYWRlciA9IG1fbG9hZGVycy50YWtlKGxvYWRlcklkZW50aWZpZXIpOwogICAgICAg
ICBBU1NFUlQobG9hZGVyKTsKLSAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RGTW92ZShmZXRj
aFJlc3VsdCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKGZldGNoUmVzdWx0
KSwgV1RGTW92ZShpbml0aWFsaXphdGlvbkRhdGEpKTsKICAgICB9KTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVj
dGlvbi5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyT2JqZWN0
Q29ubmVjdGlvbi5oCmluZGV4IGQyZTI0NzM3MTE0ZjYxZGEyMGFkNTliN2Y3ZmIwMGQ1ZTA1OWJi
NzAuLjE4Mjk5YTgzNTRhMjAyZjdkNGUwN2UxNjg1NjI3ZWMyZTkyYWMwMGIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rp
b24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJPYmpl
Y3RDb25uZWN0aW9uLmgKQEAgLTM5LDYgKzM5LDcgQEAgY2xhc3MgU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyOwogCiBzdHJ1Y3QgU2hhcmVkV29ya2VyS2V5Owogc3RydWN0IFdvcmtlckZldGNoUmVz
dWx0Oworc3RydWN0IFdvcmtlckluaXRpYWxpemF0aW9uRGF0YTsKIHN0cnVjdCBXb3JrZXJPcHRp
b25zOwogCiBjbGFzcyBTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uIDogcHVibGljIFJlZkNv
dW50ZWQ8U2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbj4gewpAQCAtNTIsNyArNTMsNyBAQCBw
dWJsaWM6CiAKIHByb3RlY3RlZDoKICAgICAvLyBJUEMgbWVzc2FnZXMuCi0gICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50KFVSTCYmLCBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBXb3JrZXJPcHRpb25zJiYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+JiYpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgZmV0
Y2hTY3JpcHRJbkNsaWVudChVUkwmJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgV29ya2VyT3B0aW9ucyYmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFdvcmtlckZldGNo
UmVzdWx0JiYsIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNvcmU6OlNo
YXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlRXJyb3ImKTsKICAgICBX
RUJDT1JFX0VYUE9SVCB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9iamVjdChTaGFyZWRXb3Jr
ZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVO
dW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0
TG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlclNj
cmlwdExvYWRlci5jcHAKaW5kZXggMDcyODRlMDI3ODQzZWNkYzkzY2E5NzFkZmVkOThhMzZjOWUy
MzM3Ny4uN2U1Yjk0ODFlM2U1NjgyY2I3ZGJmZTFlZjQ3ODNlYTI0OWZmYmQ4YSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3Jp
cHRMb2FkZXIuY3BwCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCiAjaW5jbHVkZSAiV29ya2Vy
RmV0Y2hSZXN1bHQuaCIKKyNpbmNsdWRlICJXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEuaCIKICNp
bmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSAiV29ya2VyU2NyaXB0TG9hZGVyLmgi
CiAKQEAgLTQzLDEzICs0NCwxMyBAQCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6OlNoYXJlZFdv
cmtlclNjcmlwdExvYWRlcihVUkwmJiB1cmwsIFNoYXJlZFdvcmtlciYgd29yawogewogfQogCi12
b2lkIFNoYXJlZFdvcmtlclNjcmlwdExvYWRlcjo6bG9hZChDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KFdvcmtlckZldGNoUmVzdWx0JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQordm9pZCBTaGFyZWRX
b3JrZXJTY3JpcHRMb2FkZXI6OmxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRj
aFJlc3VsdCYmLCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCiB7CiAgICAgQVNTRVJUKCFtX2NvbXBsZXRpb25IYW5kbGVyKTsKICAgICBtX2NvbXBsZXRp
b25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcik7CiAKICAgICBhdXRvIHNvdXJj
ZSA9IG1fb3B0aW9ucy50eXBlID09IFdvcmtlclR5cGU6Ok1vZHVsZSA/IFdvcmtlclNjcmlwdExv
YWRlcjo6U291cmNlOjpNb2R1bGVTY3JpcHQgOiBXb3JrZXJTY3JpcHRMb2FkZXI6OlNvdXJjZTo6
Q2xhc3NpY1dvcmtlclNjcmlwdDsKLSAgICBtX2xvYWRlci0+bG9hZEFzeW5jaHJvbm91c2x5KCpt
X3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLCBSZXNvdXJjZVJlcXVlc3QobV91cmwp
LCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9wdGlvbnMobV9vcHRpb25zLCBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIpLCBDb250ZW50U2VjdXJpdHlQb2xpY3lF
bmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVjdGl2ZSwgU2VydmljZVdvcmtlcnNNb2Rl
OjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZhdWx0TW9kZSgpKTsKKyAgICBtX2xvYWRl
ci0+bG9hZEFzeW5jaHJvbm91c2x5KCptX3dvcmtlci0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCBSZXNvdXJjZVJlcXVlc3QobV91cmwpLCBzb3VyY2UsIG1fd29ya2VyLT53b3JrZXJGZXRjaE9w
dGlvbnMobV9vcHRpb25zLCBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpTaGFyZWR3b3JrZXIp
LCBDb250ZW50U2VjdXJpdHlQb2xpY3lFbmZvcmNlbWVudDo6RW5mb3JjZVdvcmtlclNyY0RpcmVj
dGl2ZSwgU2VydmljZVdvcmtlcnNNb2RlOjpBbGwsICp0aGlzLCBXb3JrZXJSdW5Mb29wOjpkZWZh
dWx0TW9kZSgpLCBTY3JpcHRFeGVjdXRpb25Db250ZXh0SWRlbnRpZmllcjo6Z2VuZXJhdGUoKSk7
CiB9CiAKIHZvaWQgU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2Uo
UmVzb3VyY2VMb2FkZXJJZGVudGlmaWVyIGlkZW50aWZpZXIsIGNvbnN0IFJlc291cmNlUmVzcG9u
c2UmKQpAQCAtNjEsNyArNjIsMTMgQEAgdm9pZCBTaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXI6Om5v
dGlmeUZpbmlzaGVkKCkKIHsKICAgICBpZiAoYXV0byogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCA9
IG1fd29ya2VyLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7ICFtX2xvYWRlci0+ZmFpbGVkKCkp
CiAgICAgICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKnNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQsIG1fbG9hZGVyLT5pZGVudGlmaWVyKCksIG1fbG9hZGVyLT5zY3Jp
cHQoKS50b1N0cmluZygpKTsKLSAgICBtX2NvbXBsZXRpb25IYW5kbGVyKG1fbG9hZGVyLT5mZXRj
aFJlc3VsdCgpKTsgLy8gZGVsZXRlcyB0aGlzLgorICAgIG1fY29tcGxldGlvbkhhbmRsZXIobV9s
b2FkZXItPmZldGNoUmVzdWx0KCksIFdvcmtlckluaXRpYWxpemF0aW9uRGF0YSB7CisjaWYgRU5B
QkxFKFNFUlZJQ0VfV09SS0VSKQorICAgICAgICBtX2xvYWRlci0+dGFrZVNlcnZpY2VXb3JrZXJE
YXRhKCksCisjZW5kaWYKKyAgICAgICAgbV9sb2FkZXItPmNsaWVudElkZW50aWZpZXIoKSwKKyAg
ICAgICAgbV9sb2FkZXItPnVzZXJBZ2VudEZvclNoYXJlZFdvcmtlcigpCisgICAgfSk7IC8vIGRl
bGV0ZXMgdGhpcy4KIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyU2NyaXB0TG9hZGVyLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApp
bmRleCA3MWNiNGI2NWJjOTk1YzU1Y2JlZmIwMWEzOWVjMmQxNjEzZjI4MWEyLi40NWU2NWZmNmMw
MzY2Y2NkNDgyMjYxMWE4N2E2NTc5YTFhYWE4NTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNDAs
MTMgKzQwLDE0IEBAIHN0cnVjdCBTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uRGF0YTsKIGNsYXNz
IFNoYXJlZFdvcmtlcjsKIGNsYXNzIFdvcmtlclNjcmlwdExvYWRlcjsKIHN0cnVjdCBXb3JrZXJG
ZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNo
YXJlZFdvcmtlclNjcmlwdExvYWRlciA6IHByaXZhdGUgV29ya2VyU2NyaXB0TG9hZGVyQ2xpZW50
IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKICAgICBTaGFyZWRXb3Jr
ZXJTY3JpcHRMb2FkZXIoVVJMJiYsIFNoYXJlZFdvcmtlciYsIFdvcmtlck9wdGlvbnMmJik7CiAK
LSAgICB2b2lkIGxvYWQoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYm
KT4mJik7CisgICAgdm9pZCBsb2FkKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hS
ZXN1bHQmJiwgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpPiYmKTsKIAogICAgIGNvbnN0IFVS
TCYgdXJsKCkgY29uc3QgeyByZXR1cm4gbV91cmw7IH0KICAgICBTaGFyZWRXb3JrZXImIHdvcmtl
cigpIHsgcmV0dXJuIG1fd29ya2VyLmdldCgpOyB9CkBAIC02MCw3ICs2MSw3IEBAIHByaXZhdGU6
CiAgICAgY29uc3QgUmVmPFNoYXJlZFdvcmtlcj4gbV93b3JrZXI7CiAgICAgY29uc3QgUmVmPFdv
cmtlclNjcmlwdExvYWRlcj4gbV9sb2FkZXI7CiAgICAgY29uc3QgVVJMIG1fdXJsOwotICAgIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV29ya2VyRmV0Y2hSZXN1bHQmJik+IG1fY29tcGxldGlvbkhh
bmRsZXI7CisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXb3JrZXJGZXRjaFJlc3VsdCYmLCBX
b3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+IG1fY29tcGxldGlvbkhhbmRsZXI7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggNTg1OTlh
YmM5NGUzYmNkNmNiMmRlMDYwYzdkZTc3NzVhMjRhMmIwNy4uNjA3OTY0YzlkZjcyYWExYzkwZmE0
M2JmMTc2M2FjY2Q3NTExMjY0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
aGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkLmNwcApAQCAtNDMsNyAr
NDMsMTIgQEAgU2hhcmVkV29ya2VyVGhyZWFkOjpTaGFyZWRXb3JrZXJUaHJlYWQoU2hhcmVkV29y
a2VySWRlbnRpZmllciBpZGVudGlmaWVyLCBjb25zdAogUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBT
aGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBh
cmFtZXRlcnMmIHBhcmFtZXRlcnMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4pCiB7CiAgICAgUkVMRUFTRV9MT0coU2hhcmVkV29y
a2VyLCAiJXAgLSBTaGFyZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlOiBt
X2lkZW50aWZpZXI9JSIgUFJJdTY0LCB0aGlzLCBtX2lkZW50aWZpZXIudG9VSW50NjQoKSk7Ci0g
ICAgcmV0dXJuIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoc3RkOjpleGNoYW5nZSht
X25hbWUsIHsgfSksIHBhcmFtZXRlcnMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUo
dG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAg
IGF1dG8gc2NvcGUgPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHN0ZDo6ZXhjaGFu
Z2UobV9uYW1lLCB7IH0pLCBwYXJhbWV0ZXJzLCBXVEZNb3ZlKG9yaWdpbiksICp0aGlzLCBXVEZN
b3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsK
KyNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgaWYgKHBhcmFtZXRlcnMuc2VydmljZVdv
cmtlckRhdGEpCisgICAgICAgIHNjb3BlLT5zZXRBY3RpdmVTZXJ2aWNlV29ya2VyKFNlcnZpY2VX
b3JrZXI6OmdldE9yQ3JlYXRlKHNjb3BlLmdldCgpLCBTZXJ2aWNlV29ya2VyRGF0YSB7ICpwYXJh
bWV0ZXJzLnNlcnZpY2VXb3JrZXJEYXRhIH0pKTsKKyNlbmRpZgorICAgIHJldHVybiBzY29wZTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5
LmNwcAppbmRleCA0NmVhNDZhYjA0MTVmMTEzZmZhYjUzZWY5YzYyNjZkN2YxNzZhMmNmLi45ZTQy
Y2IwYjhlMzdjMGFjNTcwNmI4NDgyM2RiNzc1M2Q1MWQ4ODgyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtl
clRocmVhZFByb3h5LmNwcApAQCAtNDksMjAgKzQ5LDIwIEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotc3RhdGljIEhhc2hTZXQ8U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVk
V29ya2VyVGhyZWFkUHJveGllcygpCitzdGF0aWMgSGFzaE1hcDxTY3JpcHRFeGVjdXRpb25Db250
ZXh0SWRlbnRpZmllciwgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkqPiYgYWxsU2hhcmVkV29ya2Vy
VGhyZWFkUHJveGllcygpCiB7Ci0gICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEhhc2hTZXQ8U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkqPj4gc2V0OwotICAgIHJldHVybiBzZXQ7CisgICAgc3RhdGlj
IE1haW5UaHJlYWROZXZlckRlc3Ryb3llZDxIYXNoTWFwPFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJ
ZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJUaHJlYWRQcm94eSo+PiBtYXA7CisgICAgcmV0dXJuIG1h
cDsKIH0KIAotc3RhdGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJz
KGNvbnN0IFdvcmtlckZldGNoUmVzdWx0JiB3b3JrZXJGZXRjaFJlc3VsdCwgV29ya2VyT3B0aW9u
cyYmIHdvcmtlck9wdGlvbnMsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBEb2N1bWVudCYgZG9j
dW1lbnQpCitzdGF0aWMgV29ya2VyUGFyYW1ldGVycyBnZW5lcmF0ZVdvcmtlclBhcmFtZXRlcnMo
Y29uc3QgV29ya2VyRmV0Y2hSZXN1bHQmIHdvcmtlckZldGNoUmVzdWx0LCBXb3JrZXJPcHRpb25z
JiYgd29ya2VyT3B0aW9ucywgV29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRp
b25EYXRhLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoZG9jdW1l
bnQuc2Vzc2lvbklEKCkpOwogICAgIHJldHVybiB7CiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0
Lmxhc3RSZXF1ZXN0VVJMLAogICAgICAgICB3b3JrZXJPcHRpb25zLm5hbWUsCiAgICAgICAgICJz
aGFyZWR3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVu
dGlmaWVyKCksCi0gICAgICAgIHVzZXJBZ2VudCwKKyAgICAgICAgV1RGTW92ZShpbml0aWFsaXph
dGlvbkRhdGEudXNlckFnZW50KSwKICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPmlzT25MaW5lKCksCiAgICAgICAgIHdvcmtlckZldGNoUmVzdWx0LmNvbnRl
bnRTZWN1cml0eVBvbGljeSwKICAgICAgICAgZmFsc2UsCkBAIC03NSwyMCArNzUsMjYgQEAgc3Rh
dGljIFdvcmtlclBhcmFtZXRlcnMgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKGNvbnN0IFdvcmtl
ckZldGNoUmVzdWx0JiB3b3JrZXIKICAgICAgICAgV29ya2VyVGhyZWFkTW9kZTo6Q3JlYXRlTmV3
VGhyZWFkLAogICAgICAgICAqZG9jdW1lbnQuc2Vzc2lvbklEKCksCiAjaWYgRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQotICAgICAgICB7IH0sCisgICAgICAgIFdURk1vdmUoaW5pdGlhbGl6YXRpb25E
YXRhLnNlcnZpY2VXb3JrZXJEYXRhKSwKICNlbmRpZgotICAgICAgICB7IH0KKyAgICAgICAgKmlu
aXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlmaWVyCiAgICAgfTsKIH0KIAotU2hhcmVkV29y
a2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVuaXF1ZVJlZjxQYWdlPiYm
IHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgY29u
c3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNoUmVzdWx0JiYgd29ya2Vy
RmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25zLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIGNhY2hlU3RvcmFnZVByb3ZpZGVyKQor
U2hhcmVkV29ya2VyVGhyZWFkUHJveHkqIFNoYXJlZFdvcmtlclRocmVhZFByb3h5OjpieUlkZW50
aWZpZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgaWRlbnRpZmllcikKK3sKKyAg
ICByZXR1cm4gYWxsU2hhcmVkV29ya2VyVGhyZWFkUHJveGllcygpLmdldChpZGVudGlmaWVyKTsK
K30KKworU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFByb3h5KFVu
aXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2Vy
SWRlbnRpZmllciwgY29uc3QgQ2xpZW50T3JpZ2luJiBjbGllbnRPcmlnaW4sIFdvcmtlckZldGNo
UmVzdWx0JiYgd29ya2VyRmV0Y2hSZXN1bHQsIFdvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25z
LCBXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEsIENhY2hlU3Rv
cmFnZVByb3ZpZGVyJiBjYWNoZVN0b3JhZ2VQcm92aWRlcikKICAgICA6IG1fcGFnZShXVEZNb3Zl
KHBhZ2UpKQogICAgICwgbV9kb2N1bWVudCgqbV9wYWdlLT5tYWluRnJhbWUoKS5kb2N1bWVudCgp
KQotICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2hhcmVk
V29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZldGNoUmVz
dWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCB1c2VyQWdlbnQsIG1fZG9jdW1lbnQpLCBXVEZN
b3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtl
clRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRPcmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5
T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rpb25Qcm94eSgpLCBtX2RvY3VtZW50LT5z
b2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkK
KyAgICAsIG1fY29udGV4dElkZW50aWZpZXIoKmluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVu
dGlmaWVyKQorICAgICwgbV93b3JrZXJUaHJlYWQoU2hhcmVkV29ya2VyVGhyZWFkOjpjcmVhdGUo
c2hhcmVkV29ya2VySWRlbnRpZmllciwgZ2VuZXJhdGVXb3JrZXJQYXJhbWV0ZXJzKHdvcmtlckZl
dGNoUmVzdWx0LCBXVEZNb3ZlKHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9u
RGF0YSksIG1fZG9jdW1lbnQpLCBXVEZNb3ZlKHdvcmtlckZldGNoUmVzdWx0LnNjcmlwdCksICp0
aGlzLCAqdGhpcywgKnRoaXMsIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBjbGllbnRP
cmlnaW4udG9wT3JpZ2luLnNlY3VyaXR5T3JpZ2luKCksIG1fZG9jdW1lbnQtPmlkYkNvbm5lY3Rp
b25Qcm94eSgpLCBtX2RvY3VtZW50LT5zb2NrZXRQcm92aWRlcigpLCBKU0M6OlJ1bnRpbWVGbGFn
czo6Y3JlYXRlQWxsRW5hYmxlZCgpKSkKICAgICAsIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXIoY2Fj
aGVTdG9yYWdlUHJvdmlkZXIpCiB7Ci0gICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94aWVzKCkuY29udGFpbnModGhpcykpOwotICAgIGFsbFNoYXJlZFdvcmtlclRocmVhZFByb3hp
ZXMoKS5hZGQodGhpcyk7CisgICAgQVNTRVJUKCFhbGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVz
KCkuY29udGFpbnMobV9jb250ZXh0SWRlbnRpZmllcikpOworICAgIGFsbFNoYXJlZFdvcmtlclRo
cmVhZFByb3hpZXMoKS5hZGQobV9jb250ZXh0SWRlbnRpZmllciwgdGhpcyk7CiAKICAgICBzdGF0
aWMgYm9vbCBhZGRlZExpc3RlbmVyOwogICAgIGlmICghYWRkZWRMaXN0ZW5lcikgewpAQCAtOTks
OCArMTA1LDggQEAgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OlNoYXJlZFdvcmtlclRocmVhZFBy
b3h5KFVuaXF1ZVJlZjxQYWdlPiYmIHBhZ2UsIFNoYXJlZFcKIAogU2hhcmVkV29ya2VyVGhyZWFk
UHJveHk6On5TaGFyZWRXb3JrZXJUaHJlYWRQcm94eSgpCiB7Ci0gICAgQVNTRVJUKGFsbFNoYXJl
ZFdvcmtlclRocmVhZFByb3hpZXMoKS5jb250YWlucyh0aGlzKSk7Ci0gICAgYWxsU2hhcmVkV29y
a2VyVGhyZWFkUHJveGllcygpLnJlbW92ZSh0aGlzKTsKKyAgICBBU1NFUlQoYWxsU2hhcmVkV29y
a2VyVGhyZWFkUHJveGllcygpLmNvbnRhaW5zKG1fY29udGV4dElkZW50aWZpZXIpKTsKKyAgICBh
bGxTaGFyZWRXb3JrZXJUaHJlYWRQcm94aWVzKCkucmVtb3ZlKG1fY29udGV4dElkZW50aWZpZXIp
OwogfQogCiBTaGFyZWRXb3JrZXJJZGVudGlmaWVyIFNoYXJlZFdvcmtlclRocmVhZFByb3h5Ojpp
ZGVudGlmaWVyKCkgY29uc3QKQEAgLTE3Niw3ICsxODIsNyBAQCB2b2lkIFNoYXJlZFdvcmtlclRo
cmVhZFByb3h5OjpzZXRSZXNvdXJjZUNhY2hpbmdEaXNhYmxlZEJ5V2ViSW5zcGVjdG9yKGJvb2wp
CiAKIHZvaWQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHk6Om5ldHdvcmtTdGF0ZUNoYW5nZWQoYm9v
bCBpc09uTGluZSkKIHsKLSAgICBmb3IgKGF1dG8qIHByb3h5IDogYWxsU2hhcmVkV29ya2VyVGhy
ZWFkUHJveGllcygpKQorICAgIGZvciAoYXV0byogcHJveHkgOiBhbGxTaGFyZWRXb3JrZXJUaHJl
YWRQcm94aWVzKCkudmFsdWVzKCkpCiAgICAgICAgIHByb3h5LT5ub3RpZnlOZXR3b3JrU3RhdGVD
aGFuZ2UoaXNPbkxpbmUpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9jb250ZXh0L1NoYXJlZFdvcmtlclRocmVhZFByb3h5LmgKaW5kZXgg
ZGFiM2ExMjNkZWUxOGRiYjYyNGQ3N2Y1OGVkOThkNDQ5NGM3ZmE5OS4uNWUzZWE0YjA2YTdjODUw
OTU0NWQ5ZmFmYTAwNDUzNWE3MmE4NTU1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvY29udGV4dC9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL2NvbnRleHQvU2hhcmVkV29ya2VyVGhyZWFkUHJveHku
aApAQCAtNDEsMTIgKzQxLDE1IEBAIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZDsKIAogc3RydWN0
IENsaWVudE9yaWdpbjsKIHN0cnVjdCBXb3JrZXJGZXRjaFJlc3VsdDsKK3N0cnVjdCBXb3JrZXJJ
bml0aWFsaXphdGlvbkRhdGE7CiAKIGNsYXNzIFNoYXJlZFdvcmtlclRocmVhZFByb3h5IGZpbmFs
IDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFNoYXJlZFdvcmtlclRocmVhZFByb3h5Piwg
cHVibGljIFdvcmtlck9iamVjdFByb3h5LCBwdWJsaWMgV29ya2VyTG9hZGVyUHJveHksIHB1Ymxp
YyBXb3JrZXJEZWJ1Z2dlclByb3h5IHsKIHB1YmxpYzoKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4u
LiBBcmdzPiBzdGF0aWMgUmVmPFNoYXJlZFdvcmtlclRocmVhZFByb3h5PiBjcmVhdGUoQXJncyYm
Li4uIGFyZ3MpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyVGhyZWFkUHJveHko
c3RkOjpmb3J3YXJkPEFyZ3M+KGFyZ3MpLi4uKSk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCB+U2hh
cmVkV29ya2VyVGhyZWFkUHJveHkoKTsKIAorICAgIHN0YXRpYyBTaGFyZWRXb3JrZXJUaHJlYWRQ
cm94eSogYnlJZGVudGlmaWVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyKTsKKwog
ICAgIFNoYXJlZFdvcmtlcklkZW50aWZpZXIgaWRlbnRpZmllcigpIGNvbnN0OwogICAgIFNoYXJl
ZFdvcmtlclRocmVhZCYgdGhyZWFkKCkgeyByZXR1cm4gbV93b3JrZXJUaHJlYWQ7IH0KIApAQCAt
NTQsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBc1Rlcm1pbmF0aW5nT3JUZXJtaW5h
dGVkKCkgeyBtX2lzVGVybWluYXRpbmdPclRlcm1pbmF0ZWQgPSB0cnVlOyB9CiAKIHByaXZhdGU6
Ci0gICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2VyVGhyZWFkUHJveHkoVW5pcXVlUmVmPFBh
Z2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNvbnN0IENsaWVudE9yaWdpbiYsIFdvcmtl
ckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CisgICAgV0VCQ09SRV9FWFBPUlQgU2hhcmVkV29ya2Vy
VGhyZWFkUHJveHkoVW5pcXVlUmVmPFBhZ2U+JiYsIFNoYXJlZFdvcmtlcklkZW50aWZpZXIsIGNv
bnN0IENsaWVudE9yaWdpbiYsIFdvcmtlckZldGNoUmVzdWx0JiYsIFdvcmtlck9wdGlvbnMmJiwg
V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYsIENhY2hlU3RvcmFnZVByb3ZpZGVyJik7CiAKICAg
ICAvLyBXb3JrZXJPYmplY3RQcm94eS4KICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtlck9i
amVjdChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1
bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMKSBmaW5hbDsKQEAgLTc4LDYgKzgxLDcg
QEAgcHJpdmF0ZToKIAogICAgIFVuaXF1ZVJlZjxQYWdlPiBtX3BhZ2U7CiAgICAgUmVmPERvY3Vt
ZW50PiBtX2RvY3VtZW50OworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyIG1f
Y29udGV4dElkZW50aWZpZXI7CiAgICAgUmVmPFNoYXJlZFdvcmtlclRocmVhZD4gbV93b3JrZXJU
aHJlYWQ7CiAgICAgQ2FjaGVTdG9yYWdlUHJvdmlkZXImIG1fY2FjaGVTdG9yYWdlUHJvdmlkZXI7
CiAgICAgUmVmUHRyPENhY2hlU3RvcmFnZUNvbm5lY3Rpb24+IG1fY2FjaGVTdG9yYWdlQ29ubmVj
dGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLmNwcAppbmRleCAwZDRlOWY5OWM2YmY3YmYyMWU3NWUwMTBlNGVhMjVmMDcw
YjExZTRjLi5mNzYxY2EyYzZiOTViMTRkMTdjZTNkMjI2YWFlNGNmNThlNjk5ZTM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIuY3BwCkBAIC0xMjE1LDEyICsxMjE1LDIxIEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVy
OjpyZXN0YXJ0TmV0d29ya0xvYWQoV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiYgbmV3UmVxCiAg
ICAgc3RhcnROZXR3b3JrTG9hZChXVEZNb3ZlKG5ld1JlcXVlc3QpLCBGaXJzdExvYWQ6Ok5vKTsK
IH0KIAorI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKK3N0YXRpYyBib29sIHNob3VsZFRyeVRv
TWF0Y2hSZWdpc3RyYXRpb25PblJlZGlyZWN0aW9uKGNvbnN0IEZldGNoT3B0aW9ucyYgb3B0aW9u
cywgYm9vbCBpc1NlcnZpY2VXb3JrZXJMb2FkZWQpCit7CisgICAgaWYgKG9wdGlvbnMubW9kZSA9
PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5hdmlnYXRlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICByZXR1cm4gaXNTZXJ2aWNlV29ya2VyTG9hZGVkICYmIChvcHRpb25zLmRlc3RpbmF0aW9uID09
IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBvcHRpb25zLmRlc3RpbmF0aW9u
ID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OlNoYXJlZHdvcmtlcik7Cit9CisjZW5kaWYK
Kwogdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KFJl
c291cmNlUmVxdWVzdCYmIG5ld1JlcXVlc3QsIGJvb2wgaXNBbGxvd2VkVG9Bc2tVc2VyRm9yQ3Jl
ZGVudGlhbHMpCiB7CiAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdpbGxTZW5kUmVx
dWVzdDogKGlzQWxsb3dlZFRvQXNrVXNlckZvckNyZWRlbnRpYWxzPSVkKSIsIGlzQWxsb3dlZFRv
QXNrVXNlckZvckNyZWRlbnRpYWxzKTsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktFUikKLSAg
ICBpZiAocGFyYW1ldGVycygpLm9wdGlvbnMubW9kZSA9PSBGZXRjaE9wdGlvbnM6Ok1vZGU6Ok5h
dmlnYXRlIHx8IChwYXJhbWV0ZXJzKCkub3B0aW9ucy5kZXN0aW5hdGlvbiA9PSBGZXRjaE9wdGlv
bnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIgJiYgbV9zZXJ2aWNlV29ya2VyRmV0Y2hUYXNrKSkgewor
ICAgIGlmIChzaG91bGRUcnlUb01hdGNoUmVnaXN0cmF0aW9uT25SZWRpcmVjdGlvbihwYXJhbWV0
ZXJzKCkub3B0aW9ucywgISFtX3NlcnZpY2VXb3JrZXJGZXRjaFRhc2spKSB7CiAgICAgICAgIG1f
c2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbiA9IHsgfTsKICAgICAgICAgaWYgKGF1dG8gc2Vydmlj
ZVdvcmtlckZldGNoVGFzayA9IG1fY29ubmVjdGlvbi0+Y3JlYXRlRmV0Y2hUYXNrKCp0aGlzLCBu
ZXdSZXF1ZXN0KSkgewogICAgICAgICAgICAgTE9BREVSX1JFTEVBU0VfTE9HKCJjb250aW51ZVdp
bGxTZW5kUmVxdWVzdDogQ3JlYXRlZCBhIFNlcnZpY2VXb3JrZXJGZXRjaFRhc2sgdG8gaGFuZGxl
IHRoZSByZWRpcmVjdCAoZmV0Y2hJZGVudGlmaWVyPSUiIFBSSXU2NCAiKSIsIHNlcnZpY2VXb3Jr
ZXJGZXRjaFRhc2stPmZldGNoSWRlbnRpZmllcigpLnRvVUludDY0KCkpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNlV29ya2VyL1dlYlNXU2VydmVyQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCBjZjMwZGU0OWZjYjA5OTgxY2Y3ZTNkNjEx
ZWIyOWVkYjlkYTQ4ZWNjLi5lYWVhYTNkOTMzNDE5ZDE1OTBkOTUzYjkzZTFmM2VmNjBjODg1ZTA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIv
V2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtMTY5LDYgKzE2
OSw4IEBAIHZvaWQgV2ViU1dTZXJ2ZXJDb25uZWN0aW9uOjpjb250cm9sQ2xpZW50KGNvbnN0IE5l
dHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiBwCiAgICAgU2VydmljZVdvcmtlckNsaWVudFR5
cGUgY2xpZW50VHlwZTsKICAgICBpZiAocGFyYW1ldGVycy5vcHRpb25zLmRlc3RpbmF0aW9uICA9
PSBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uOjpXb3JrZXIpCiAgICAgICAgIGNsaWVudFR5cGUg
PSBTZXJ2aWNlV29ya2VyQ2xpZW50VHlwZTo6V29ya2VyOworICAgIGVsc2UgaWYgKHBhcmFtZXRl
cnMub3B0aW9ucy5kZXN0aW5hdGlvbiAgPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6U2hh
cmVkd29ya2VyKQorICAgICAgICBjbGllbnRUeXBlID0gU2VydmljZVdvcmtlckNsaWVudFR5cGU6
OlNoYXJlZHdvcmtlcjsKICAgICBlbHNlCiAgICAgICAgIGNsaWVudFR5cGUgPSBTZXJ2aWNlV29y
a2VyQ2xpZW50VHlwZTo6V2luZG93OwogCkBAIC0yMDEsNyArMjAzLDcgQEAgc3RkOjp1bmlxdWVf
cHRyPFNlcnZpY2VXb3JrZXJGZXRjaFRhc2s+IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Y3JlYXRl
RmV0Y2hUYXNrKE4KICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzdGQ6Om9wdGlvbmFs
PFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyPiBzZXJ2aWNlV29ya2VyUmVnaXN0
cmF0aW9uSWRlbnRpZmllcjsKLSAgICBpZiAobG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLm1v
ZGUgPT0gRmV0Y2hPcHRpb25zOjpNb2RlOjpOYXZpZ2F0ZSB8fCBsb2FkZXIucGFyYW1ldGVycygp
Lm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbjo6V29ya2Vy
KSB7CisgICAgaWYgKGxvYWRlci5wYXJhbWV0ZXJzKCkub3B0aW9ucy5tb2RlID09IEZldGNoT3B0
aW9uczo6TW9kZTo6TmF2aWdhdGUgfHwgbG9hZGVyLnBhcmFtZXRlcnMoKS5vcHRpb25zLmRlc3Rp
bmF0aW9uID09IEZldGNoT3B0aW9uczo6RGVzdGluYXRpb246OldvcmtlciB8fCBsb2FkZXIucGFy
YW1ldGVycygpLm9wdGlvbnMuZGVzdGluYXRpb24gPT0gRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlv
bjo6U2hhcmVkd29ya2VyKSB7CiAgICAgICAgIGF1dG8gdG9wT3JpZ2luID0gbG9hZGVyLnBhcmFt
ZXRlcnMoKS5pc01haW5GcmFtZU5hdmlnYXRpb24gPyBTZWN1cml0eU9yaWdpbkRhdGE6OmZyb21V
UkwocmVxdWVzdC51cmwoKSkgOiBsb2FkZXIucGFyYW1ldGVycygpLnRvcE9yaWdpbi0+ZGF0YSgp
OwogICAgICAgICBhdXRvKiByZWdpc3RyYXRpb24gPSBkb1JlZ2lzdHJhdGlvbk1hdGNoaW5nKHRv
cE9yaWdpbiwgcmVxdWVzdC51cmwoKSk7CiAgICAgICAgIGlmICghcmVnaXN0cmF0aW9uKQpAQCAt
NjgzLDYgKzY4NSwxNiBAQCB2b2lkIFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6dHJhbnNmZXJTZXJ2
aWNlV29ya2VyTG9hZFRvTmV3V2ViUHJvY2VzcyhOZXR3b3JrUmVzbwogICAgIGNvbnRyb2xDbGll
bnQobG9hZGVyLnBhcmFtZXRlcnMoKSwgcmVnaXN0cmF0aW9uLCBsb2FkZXIub3JpZ2luYWxSZXF1
ZXN0KCkpOwogfQogCitzdGQ6Om9wdGlvbmFsPFNXU2VydmVyOjpHYXRoZXJlZENsaWVudERhdGE+
IFdlYlNXU2VydmVyQ29ubmVjdGlvbjo6Z2F0aGVyQ2xpZW50RGF0YShTY3JpcHRFeGVjdXRpb25D
b250ZXh0SWRlbnRpZmllciBjbGllbnRJZGVudGlmaWVyKQoreworICAgIEFTU0VSVChjbGllbnRJ
ZGVudGlmaWVyLnByb2Nlc3NJZGVudGlmaWVyKCkgPT0gaWRlbnRpZmllcigpKTsKKyAgICBhdXRv
IGl0ZXJhdG9yID0gbV9jbGllbnRPcmlnaW5zLmZpbmQoY2xpZW50SWRlbnRpZmllcik7CisgICAg
aWYgKGl0ZXJhdG9yID09IG1fY2xpZW50T3JpZ2lucy5lbmQoKSkKKyAgICAgICAgcmV0dXJuIHsg
fTsKKworICAgIHJldHVybiBzZXJ2ZXIoKS5nYXRoZXJDbGllbnREYXRhKGl0ZXJhdG9yLT52YWx1
ZSwgY2xpZW50SWRlbnRpZmllcik7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjdW5k
ZWYgQ09OTkVDVElPTl9NRVNTQUdFX0NIRUNLX0NPTVBMRVRJT04KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1NlcnZlckNvbm5lY3Rp
b24uaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2VydmljZVdvcmtlci9XZWJTV1Nl
cnZlckNvbm5lY3Rpb24uaAppbmRleCA0ZjAyNWUyMTkxMWYzMmI2ZWEwZjNkMmE5OTdlNTg5OWUz
ODBhYjQ1Li4yMWNlNTYzNGRjODk0NTg2ZjU2YWM3NjM4NTU5NzU5OTQ2MTAwMTY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NlcnZpY2VXb3JrZXIvV2ViU1dTZXJ2
ZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TZXJ2aWNl
V29ya2VyL1dlYlNXU2VydmVyQ29ubmVjdGlvbi5oCkBAIC04NSw2ICs4NSwxMCBAQCBwdWJsaWM6
CiAgICAgdm9pZCBmZXRjaFRhc2tUaW1lZE91dChXZWJDb3JlOjpTZXJ2aWNlV29ya2VySWRlbnRp
Zmllcik7CiAKICAgICB2b2lkIHRyYW5zZmVyU2VydmljZVdvcmtlckxvYWRUb05ld1dlYlByb2Nl
c3MoTmV0d29ya1Jlc291cmNlTG9hZGVyJiwgV2ViQ29yZTo6U1dTZXJ2ZXJSZWdpc3RyYXRpb24m
KTsKKyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNXU2VydmVyOjpHYXRoZXJlZENsaWVudERh
dGE+IGdhdGhlckNsaWVudERhdGEoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50
aWZpZXIpOworCisgICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJDbGllbnQoV2ViQ29yZTo6
Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGllbnREYXRhJiYsIGNvbnN0
IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbklkZW50aWZp
ZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKKyAgICB2b2lkIHVucmVnaXN0ZXJTZXJ2aWNlV29y
a2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVy
Jik7CiAKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50IFNXU2VydmVyOjpDb25uZWN0aW9uIChN
ZXNzYWdlcyB0byB0aGUgY2xpZW50IFdlYlByb2Nlc3MpCkBAIC0xMTAsOCArMTE0LDYgQEAgcHJp
dmF0ZToKICAgICB2b2lkIG1hdGNoUmVnaXN0cmF0aW9uKGNvbnN0IFdlYkNvcmU6OlNlY3VyaXR5
T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJSZWdpc3RyYXRp
b25EYXRhPiYmKT4mJik7CiAgICAgdm9pZCBnZXRSZWdpc3RyYXRpb25zKGNvbnN0IFdlYkNvcmU6
OlNlY3VyaXR5T3JpZ2luRGF0YSYgdG9wT3JpZ2luLCBjb25zdCBVUkwmIGNsaWVudFVSTCwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBWZWN0b3I8V2ViQ29yZTo6U2VydmljZVdvcmtlclJl
Z2lzdHJhdGlvbkRhdGE+Jik+JiYpOwogCi0gICAgdm9pZCByZWdpc3RlclNlcnZpY2VXb3JrZXJD
bGllbnQoV2ViQ29yZTo6Q2xpZW50T3JpZ2luJiYsIFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJDbGll
bnREYXRhJiYsIGNvbnN0IHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6U2VydmljZVdvcmtlclJlZ2lz
dHJhdGlvbklkZW50aWZpZXI+JiwgU3RyaW5nJiYgdXNlckFnZW50KTsKLSAgICB2b2lkIHVucmVn
aXN0ZXJTZXJ2aWNlV29ya2VyQ2xpZW50KGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHRJZGVudGlmaWVyJik7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJGcm9tQ2xpZW50KFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogICAgIHZvaWQgd2hlblNlcnZpY2VXb3JrZXJJc1Rlcm1pbmF0ZWRGb3JUZXN0aW5nKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKCk+
JiYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9T
aGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyLmNwcAppbmRleCBlNjE2MWU5NjMzNjBhNTkwODgw
ZjgzMzNhMjY1ODU0NTVlNjUzZjkwLi5lYzcyYjc0ZjJmNThlMTlhNzU5ODcwZDQ2MWE4NDJmNjk3
MGIyMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlci5jcHAKQEAgLTcyLDExICs3Miw5IEBAIFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluIFdlYlNoYXJlZFdvcmtlcjo6cmVnaXN0cmFibGVEb21h
aW4oKSBjb25zdAogICAgIHJldHVybiBXZWJDb3JlOjpSZWdpc3RyYWJsZURvbWFpbiB7IHVybCgp
IH07CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyOjpzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpX
b3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0LCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uKiBjb250ZXh0Q29ubmVjdGlvbikKK3ZvaWQgV2ViU2hhcmVkV29ya2Vy
OjpzZXRGZXRjaFJlc3VsdChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIGZldGNoUmVzdWx0
KQogewogICAgIG1fZmV0Y2hSZXN1bHQgPSBXVEZNb3ZlKGZldGNoUmVzdWx0KTsKLSAgICBpZiAo
Y29udGV4dENvbm5lY3Rpb24pCi0gICAgICAgIGxhdW5jaCgqY29udGV4dENvbm5lY3Rpb24pOwog
fQogCiB2b2lkIFdlYlNoYXJlZFdvcmtlcjo6ZGlkQ3JlYXRlQ29udGV4dENvbm5lY3Rpb24oV2Vi
U2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbiYgY29udGV4dENvbm5lY3Rpb24p
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9X
ZWJTaGFyZWRXb3JrZXIuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCmluZGV4IDNjYzRhNjg5ZDVlZWM1NDU1ZTBiMGRjYWU5NzA3
ZjNlZTA3N2IxNjUuLmUwZGY2OWNiY2E0NjE4M2YzZjNhOTZmYTk4NzMwOGEyMGFjMmY0OTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNo
YXJlZFdvcmtlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29y
a2VyL1dlYlNoYXJlZFdvcmtlci5oCkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSA8V2ViQ29y
ZS9TaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9UcmFu
c2ZlcnJlZE1lc3NhZ2VQb3J0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3Vs
dC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9Xb3JrZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4K
IApAQCAtNzEsMTAgKzcyLDE1IEBAIHB1YmxpYzoKICAgICBib29sIGlzUnVubmluZygpIGNvbnN0
IHsgcmV0dXJuIG1faXNSdW5uaW5nOyB9CiAgICAgdm9pZCBtYXJrQXNSdW5uaW5nKCkgeyBtX2lz
UnVubmluZyA9IHRydWU7IH0KIAorICAgIGNvbnN0IFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0
aW9uRGF0YSYgaW5pdGlhbGl6YXRpb25EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9pbml0aWFsaXph
dGlvbkRhdGE7IH0KKyAgICB2b2lkIHNldEluaXRpYWxpemF0aW9uRGF0YShXZWJDb3JlOjpXb3Jr
ZXJJbml0aWFsaXphdGlvbkRhdGEmJiBpbml0aWFsaXphdGlvbkRhdGEpIHsgbV9pbml0aWFsaXph
dGlvbkRhdGEgPSBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSk7IH0KKwogICAgIGNvbnN0IFdl
YkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiBmZXRjaFJlc3VsdCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZmV0Y2hSZXN1bHQ7IH0KLSAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZl
dGNoUmVzdWx0JiYsIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24qKTsK
KyAgICB2b2lkIHNldEZldGNoUmVzdWx0KFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYpOwog
ICAgIGJvb2wgZGlkRmluaXNoRmV0Y2hpbmcoKSBjb25zdCB7IHJldHVybiAhIW1fZmV0Y2hSZXN1
bHQuc2NyaXB0OyB9CiAKKyAgICB2b2lkIGxhdW5jaChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0Nv
bnRleHRDb25uZWN0aW9uJik7CisKIHByaXZhdGU6CiAgICAgV2ViU2hhcmVkV29ya2VyKFdlYlNo
YXJlZFdvcmtlciYmKSA9IGRlbGV0ZTsKICAgICBXZWJTaGFyZWRXb3JrZXImIG9wZXJhdG9yPShX
ZWJTaGFyZWRXb3JrZXImJikgPSBkZWxldGU7CkBAIC04Myw3ICs4OSw2IEBAIHByaXZhdGU6CiAK
ICAgICB2b2lkIHN1c3BlbmRJZk5lZWRlZCgpOwogICAgIHZvaWQgcmVzdW1lSWZOZWVkZWQoKTsK
LSAgICB2b2lkIGxhdW5jaChXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9u
Jik7CiAKICAgICBzdHJ1Y3QgU2hhcmVkV29ya2VyT2JqZWN0U3RhdGUgewogICAgICAgICBib29s
IGlzU3VzcGVuZGVkIHsgZmFsc2UgfTsKQEAgLTk2LDYgKzEwMSw3IEBAIHByaXZhdGU6CiAgICAg
V2ViQ29yZTo6V29ya2VyT3B0aW9ucyBtX3dvcmtlck9wdGlvbnM7CiAgICAgSGFzaE1hcDxXZWJD
b3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBTaGFyZWRXb3JrZXJPYmplY3RTdGF0
ZT4gbV9zaGFyZWRXb3JrZXJPYmplY3RzOwogICAgIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0
IG1fZmV0Y2hSZXN1bHQ7CisgICAgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIG1f
aW5pdGlhbGl6YXRpb25EYXRhOwogICAgIGJvb2wgbV9pc1J1bm5pbmcgeyBmYWxzZSB9OwogICAg
IGJvb2wgbV9pc1N1c3BlbmRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmNw
cCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hhcmVkV29ya2VyL1dlYlNoYXJlZFdv
cmtlclNlcnZlci5jcHAKaW5kZXggNDBkM2YyMmJkYWNjOWE4ODg3MDdmYWRkYzU2MGYwODVmYzYw
OTAzYy4uMzhjNzZjNjYxMzVkN2Y5OGMxMzIzMGFlZTk4ZGVhYjVlYzg1ZTU1MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29y
a2VyU2VydmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdv
cmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuY3BwCkBAIC04NywxMyArODcsMTMgQEAgdm9pZCBX
ZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RTaGFyZWRXb3JrZXIoV2ViQ29yZTo6U2hhcmVk
V29ya2VyS2V5JiYgc2hhcmUKICAgICBBU1NFUlQoc2VydmVyQ29ubmVjdGlvbik7CiAKICAgICBS
RUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXI6OnJlcXVlc3RT
aGFyZWRXb3JrZXI6IEZldGNoaW5nIHNoYXJlZCB3b3JrZXIgc2NyaXB0IGluIGNsaWVudCIpOwot
ICAgIHNlcnZlckNvbm5lY3Rpb24tPmZldGNoU2NyaXB0SW5DbGllbnQoKnNoYXJlZFdvcmtlciwg
c2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciwgW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlz
IH0sIHNoYXJlZFdvcmtlciA9IFdlYWtQdHIgeyAqc2hhcmVkV29ya2VyIH1dKFdlYkNvcmU6Oldv
cmtlckZldGNoUmVzdWx0JiYgZmV0Y2hSZXN1bHQpIHsKKyAgICBzZXJ2ZXJDb25uZWN0aW9uLT5m
ZXRjaFNjcmlwdEluQ2xpZW50KCpzaGFyZWRXb3JrZXIsIHNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIsIFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBzaGFyZWRXb3JrZXIgPSBXZWFr
UHRyIHsgKnNoYXJlZFdvcmtlciB9XShhdXRvJiYgZmV0Y2hSZXN1bHQsIGF1dG8mJiBpbml0aWFs
aXphdGlvbkRhdGEpIHsKICAgICAgICAgaWYgKHdlYWtUaGlzICYmIHNoYXJlZFdvcmtlcikKLSAg
ICAgICAgICAgIHdlYWtUaGlzLT5kaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdCgq
c2hhcmVkV29ya2VyLCBXVEZNb3ZlKGZldGNoUmVzdWx0KSk7CisgICAgICAgICAgICB3ZWFrVGhp
cy0+ZGlkRmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQoKnNoYXJlZFdvcmtlciwgV1RG
TW92ZShmZXRjaFJlc3VsdCksIFdURk1vdmUoaW5pdGlhbGl6YXRpb25EYXRhKSk7CiAgICAgfSk7
CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJl
ZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNoYXJlZFdvcmtlciwgV2ViQ29yZTo6V29y
a2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCkKK3ZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVy
OjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXImIHNo
YXJlZFdvcmtlciwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJiBmZXRjaFJlc3VsdCwgV2Vi
Q29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYgaW5pdGlhbGl6YXRpb25EYXRhKQogewog
ICAgIFJFTEVBU0VfTE9HKFNoYXJlZFdvcmtlciwgIldlYlNoYXJlZFdvcmtlclNlcnZlcjo6ZGlk
RmluaXNoRmV0Y2hpbmdTaGFyZWRXb3JrZXJTY3JpcHQgc2hhcmVkV29ya2VySWRlbnRpZmllcj0l
IiBQUkl1NjQgIiwgc2hhcmVkV29ya2VyPSVwLCBzdWNjZXNzPSVkIiwgc2hhcmVkV29ya2VyLmlk
ZW50aWZpZXIoKS50b1VJbnQ2NCgpLCAmc2hhcmVkV29ya2VyLCBmZXRjaFJlc3VsdC5lcnJvci5p
c051bGwoKSk7CiAKQEAgLTEwNywxMCArMTA3LDEyIEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2Vy
dmVyOjpkaWRGaW5pc2hGZXRjaGluZ1NoYXJlZFdvcmtlclNjcmlwdChXZWJTaGFyZWRXb3JrZXIm
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBhdXRvKiBjb25uZWN0aW9uID0gbV9jb250
ZXh0Q29ubmVjdGlvbnMuZ2V0KHNoYXJlZFdvcmtlci5yZWdpc3RyYWJsZURvbWFpbigpKTsKLSAg
ICBzaGFyZWRXb3JrZXIuc2V0RmV0Y2hSZXN1bHQoV1RGTW92ZShmZXRjaFJlc3VsdCksIGNvbm5l
Y3Rpb24pOworICAgIHNoYXJlZFdvcmtlci5zZXRJbml0aWFsaXphdGlvbkRhdGEoV1RGTW92ZShp
bml0aWFsaXphdGlvbkRhdGEpKTsKKyAgICBzaGFyZWRXb3JrZXIuc2V0RmV0Y2hSZXN1bHQoV1RG
TW92ZShmZXRjaFJlc3VsdCkpOwogCi0gICAgaWYgKCFjb25uZWN0aW9uKQorICAgIGlmIChhdXRv
KiBjb25uZWN0aW9uID0gbV9jb250ZXh0Q29ubmVjdGlvbnMuZ2V0KHNoYXJlZFdvcmtlci5yZWdp
c3RyYWJsZURvbWFpbigpKSkKKyAgICAgICAgc2hhcmVkV29ya2VyLmxhdW5jaCgqY29ubmVjdGlv
bik7CisgICAgZWxzZQogICAgICAgICBjcmVhdGVDb250ZXh0Q29ubmVjdGlvbihzaGFyZWRXb3Jr
ZXIucmVnaXN0cmFibGVEb21haW4oKSwgc2hhcmVkV29ya2VyLmZpcnN0U2hhcmVkV29ya2VyT2Jq
ZWN0UHJvY2VzcygpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJv
Y2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAppbmRl
eCBiMjA2YWYyYzBlYzJiMjhlMTE5NjgzZGRlMGRmNzQwMWQwODgyOTZlLi5lNjM3MGQ3MzM0MzE0
Y2U3ZTczYzlhMmFmYjcwMjUzNmJlNWFjOGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaAorKysgYi9T
b3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJT
ZXJ2ZXIuaApAQCAtNDIsNiArNDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0cnVjdCBD
bGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2VySW5p
dGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTc3LDcgKzc4
LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNyZWF0ZUNvbnRleHRDb25uZWN0aW9uKGNvbnN0IFdl
YkNvcmU6OlJlZ2lzdHJhYmxlRG9tYWluJiwgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpQcm9jZXNz
SWRlbnRpZmllcj4gcmVxdWVzdGluZ1Byb2Nlc3NJZGVudGlmaWVyKTsKICAgICBib29sIG5lZWRz
Q29udGV4dENvbm5lY3Rpb25Gb3JSZWdpc3RyYWJsZURvbWFpbihjb25zdCBXZWJDb3JlOjpSZWdp
c3RyYWJsZURvbWFpbiYpIGNvbnN0OwogICAgIHZvaWQgY29udGV4dENvbm5lY3Rpb25DcmVhdGVk
KFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb24mKTsKLSAgICB2b2lkIGRp
ZEZpbmlzaEZldGNoaW5nU2hhcmVkV29ya2VyU2NyaXB0KFdlYlNoYXJlZFdvcmtlciYsIFdlYkNv
cmU6OldvcmtlckZldGNoUmVzdWx0JiYpOworICAgIHZvaWQgZGlkRmluaXNoRmV0Y2hpbmdTaGFy
ZWRXb3JrZXJTY3JpcHQoV2ViU2hhcmVkV29ya2VyJiwgV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1
bHQmJiwgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhJiYpOwogICAgIHZvaWQgc2h1
dERvd25TaGFyZWRXb3JrZXIoY29uc3QgV2ViQ29yZTo6U2hhcmVkV29ya2VyS2V5Jik7CiAKICAg
ICBOZXR3b3JrU2Vzc2lvbiYgbV9zZXNzaW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9O
ZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAppbmRleCA5YTZkMzY1ZTMwYzhmZmIwZjdhNWQy
NDZkZmVmYWFiNmIyNWE4YmUxLi4xMmYzNWY1NWU5NTFlODk5M2M2NTk3NGZlZTA3ZWY1NjU4Mzky
NjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtl
ci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0
aW9uLmNwcApAQCAtMTE0LDcgKzExNCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyU2VydmVyQ29u
bmVjdGlvbjo6cmVzdW1lRm9yQmFja0ZvcndhcmRDYWNoZShXZWJDb3JlOjpTaGFyZWRXCiAgICAg
ICAgIHNlc3Npb24tPmVuc3VyZVNoYXJlZFdvcmtlclNlcnZlcigpLnJlc3VtZUZvckJhY2tGb3J3
YXJkQ2FjaGUoc2hhcmVkV29ya2VyS2V5LCBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyKTsK
IH0KIAotdm9pZCBXZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uOjpmZXRjaFNjcmlwdElu
Q2xpZW50KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYgc2hhcmVkV29ya2VyLCBXZWJDb3JlOjpTaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyIHNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQmJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb246OmZl
dGNoU2NyaXB0SW5DbGllbnQoY29uc3QgV2ViU2hhcmVkV29ya2VyJiBzaGFyZWRXb3JrZXIsIFdl
YkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRl
bnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3Vs
dCYmLCBXZWJDb3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgQ09OTkVDVElPTl9SRUxFQVNFX0xPRygiZmV0Y2hTY3JpcHRJbkNsaWVu
dDogc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllcj0le3B1YmxpY31zIiwgc2hhcmVkV29ya2Vy
T2JqZWN0SWRlbnRpZmllci50b1N0cmluZygpLnV0ZjgoKS5kYXRhKCkpOwogICAgIHNlbmRXaXRo
QXN5bmNSZXBseShNZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbjo6RmV0
Y2hTY3JpcHRJbkNsaWVudCB7IHNoYXJlZFdvcmtlci51cmwoKSwgc2hhcmVkV29ya2VyT2JqZWN0
SWRlbnRpZmllciwgc2hhcmVkV29ya2VyLndvcmtlck9wdGlvbnMoKSB9LCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJDb25uZWN0aW9uLmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJD
b25uZWN0aW9uLmgKaW5kZXggYjQxOTE5NjVjMzQyNWZmMWUwNmFmMzdlNGJhMjViNDUyYzgyZmZi
OC4uZjFiNzEyYjdjODQyNjg1OTFiNzE1NjM2NjZkNGM4ZmQ2NTZjMDFiNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2Vy
U2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvU2hh
cmVkV29ya2VyL1dlYlNoYXJlZFdvcmtlclNlcnZlckNvbm5lY3Rpb24uaApAQCAtNjMsNyArNjMs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpIGZpbmFsOwogCi0gICAgdm9pZCBmZXRjaFNjcmlwdEluQ2xpZW50
KGNvbnN0IFdlYlNoYXJlZFdvcmtlciYsIFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoV2ViQ29yZTo6V29ya2VyRmV0Y2hSZXN1bHQm
Jik+JiYpOworICAgIHZvaWQgZmV0Y2hTY3JpcHRJbkNsaWVudChjb25zdCBXZWJTaGFyZWRXb3Jr
ZXImLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYsIFdlYkNvcmU6Oldvcmtlcklu
aXRpYWxpemF0aW9uRGF0YSYmKT4mJik7CiAgICAgdm9pZCBub3RpZnlXb3JrZXJPYmplY3RPZkxv
YWRDb21wbGV0aW9uKFdlYkNvcmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIsIGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIHBvc3RFeGNlcHRpb25Ub1dvcmtl
ck9iamVjdChXZWJDb3JlOjpTaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0
IFN0cmluZyYgc291cmNlVVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9TaGFyZWRXb3JrZXIvV2ViU2hhcmVkV29ya2VyU2VydmVyVG9Db250ZXh0Q29ubmVj
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJT
aGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAppbmRleCA1ZTQzZjExY2Yz
YTZjMzRmOTk3N2Q1NGZiYTY2MWE1M2M5YmEzMzE0Li44NzIwNDEzMDgyZjA4Y2MwMjQ5ZDllNzg0
YjMwZjkyYTUxNDcwYmVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L1NoYXJlZFdvcmtlci9XZWJTaGFyZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1NoYXJlZFdvcmtlci9XZWJTaGFy
ZWRXb3JrZXJTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcApAQCAtMzIsOSArMzIsMTEgQEAK
ICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJSZW1v
dGVXb3JrZXJUeXBlLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5j
bHVkZSAiV2ViU1dTZXJ2ZXJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2ViU2hhcmVkV29ya2Vy
LmgiCiAjaW5jbHVkZSAiV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uTWVz
c2FnZXMuaCIKICNpbmNsdWRlICJXZWJTaGFyZWRXb3JrZXJTZXJ2ZXIuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3Rm
L01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTk5LDcg
KzEwMSwyNCBAQCB2b2lkIFdlYlNoYXJlZFdvcmtlclNlcnZlclRvQ29udGV4dENvbm5lY3Rpb246
OmxhdW5jaFNoYXJlZFdvcmtlcihXZWJTaGFyZWRXb3JrZQogewogICAgIENPTlRFWFRfQ09OTkVD
VElPTl9SRUxFQVNFX0xPRygibGF1bmNoU2hhcmVkV29ya2VyOiBzaGFyZWRXb3JrZXJJZGVudGlm
aWVyPSUiIFBSSXU2NCwgc2hhcmVkV29ya2VyLmlkZW50aWZpZXIoKS50b1VJbnQ2NCgpKTsKICAg
ICBzaGFyZWRXb3JrZXIubWFya0FzUnVubmluZygpOwotICAgIHNlbmQoTWVzc2FnZXM6OldlYlNo
YXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbjo6TGF1bmNoU2hhcmVkV29ya2VyIHsg
c2hhcmVkV29ya2VyLm9yaWdpbigpLCBzaGFyZWRXb3JrZXIuaWRlbnRpZmllcigpLCBzaGFyZWRX
b3JrZXIud29ya2VyT3B0aW9ucygpLCBzaGFyZWRXb3JrZXIuZmV0Y2hSZXN1bHQoKSB9KTsKKyAg
ICBhdXRvIGluaXRpYWxpemF0aW9uRGF0YSA9IHNoYXJlZFdvcmtlci5pbml0aWFsaXphdGlvbkRh
dGEoKTsKKyAgICBpZiAoYXV0byBjb250ZXh0SWRlbnRpZmllciA9IGluaXRpYWxpemF0aW9uRGF0
YS5jbGllbnRJZGVudGlmaWVyKSB7CisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJ
ZGVudGlmaWVyID0gV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgeyBj
b250ZXh0SWRlbnRpZmllci0+b2JqZWN0KCksIHdlYlByb2Nlc3NJZGVudGlmaWVyKCkgfTsKKyNp
ZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCisgICAgICAgIGlmIChhdXRvKiBzZXJ2aWNlV29ya2Vy
T2xkQ29ubmVjdGlvbiA9IG1fY29ubmVjdGlvbi5uZXR3b3JrUHJvY2VzcygpLndlYlByb2Nlc3ND
b25uZWN0aW9uKGNvbnRleHRJZGVudGlmaWVyLT5wcm9jZXNzSWRlbnRpZmllcigpKSkgeworICAg
ICAgICAgICAgaWYgKGF1dG8qIHN3T2xkQ29ubmVjdGlvbiA9IHNlcnZpY2VXb3JrZXJPbGRDb25u
ZWN0aW9uLT5zd0Nvbm5lY3Rpb24oKSkgeworICAgICAgICAgICAgICAgIGlmIChhdXRvIGNsaWVu
dERhdGEgPSBzd09sZENvbm5lY3Rpb24tPmdhdGhlckNsaWVudERhdGEoKmNvbnRleHRJZGVudGlm
aWVyKSkgeworICAgICAgICAgICAgICAgICAgICBzd09sZENvbm5lY3Rpb24tPnVucmVnaXN0ZXJT
ZXJ2aWNlV29ya2VyQ2xpZW50KCpjb250ZXh0SWRlbnRpZmllcik7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChhdXRvKiBzd05ld0Nvbm5lY3Rpb24gPSBtX2Nvbm5lY3Rpb24uc3dDb25uZWN0aW9u
KCkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudERhdGEtPnNlcnZpY2VXb3JrZXJD
bGllbnREYXRhLmlkZW50aWZpZXIgPSAqaW5pdGlhbGl6YXRpb25EYXRhLmNsaWVudElkZW50aWZp
ZXI7CisgICAgICAgICAgICAgICAgICAgICAgICBzd05ld0Nvbm5lY3Rpb24tPnJlZ2lzdGVyU2Vy
dmljZVdvcmtlckNsaWVudChXVEZNb3ZlKGNsaWVudERhdGEtPmNsaWVudE9yaWdpbiksIFdURk1v
dmUoY2xpZW50RGF0YS0+c2VydmljZVdvcmtlckNsaWVudERhdGEpLCBjbGllbnREYXRhLT5jb250
cm9sbGluZ1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb25JZGVudGlmaWVyLCBXVEZNb3ZlKGNsaWVu
dERhdGEtPnVzZXJBZ2VudCkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisjZW5kaWYKKyAgICB9CisgICAgc2VuZChN
ZXNzYWdlczo6V2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpMYXVuY2hT
aGFyZWRXb3JrZXIgeyBzaGFyZWRXb3JrZXIub3JpZ2luKCksIHNoYXJlZFdvcmtlci5pZGVudGlm
aWVyKCksIHNoYXJlZFdvcmtlci53b3JrZXJPcHRpb25zKCksIHNoYXJlZFdvcmtlci5mZXRjaFJl
c3VsdCgpLCBpbml0aWFsaXphdGlvbkRhdGEgfSk7CiAgICAgc2hhcmVkV29ya2VyLmZvckVhY2hT
aGFyZWRXb3JrZXJPYmplY3QoWyZdKGF1dG8sIGF1dG8mIHBvcnQpIHsKICAgICAgICAgcG9zdENv
bm5lY3RFdmVudChzaGFyZWRXb3JrZXIsIHBvcnQpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmluZGV4IDY2MDVmMzQ1MzNjNzJlZjkxODE5MDE3
NzQyZjYyMDMxODljZWI2YzIuLjkzYzY5ODE3ZDFlYmNjZTFjMTUxMjQwYThmYjNmMmI2NzAyNzEw
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5jcHAKQEAgLTU4
OSwxNSArNTg5LDEzIEBAIHZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmVzdGFibGlzaFJlbW90ZVdvcmtl
ckNvbnRleHRDb25uZWN0aW9uVG9OZXR3b3JrUHJvY2VzcyhSZW1vCiAgICAgICAgICAgICB1c2VQ
cm9jZXNzRm9yUmVtb3RlV29ya2VycygqcHJvY2Vzcyk7CiAgICAgfQogCi0gICAgYm9vbCBzaG91
bGRVc2VTZXBhcmF0ZVJlbW90ZVdvcmtlclByb2Nlc3MgPSB3b3JrZXJUeXBlID09IFJlbW90ZVdv
cmtlclR5cGU6OlNlcnZpY2VXb3JrZXIgJiYgc191c2VTZXBhcmF0ZVNlcnZpY2VXb3JrZXJQcm9j
ZXNzOwotCiAgICAgLy8gUHJpb3JpdGl6ZSB0aGUgcmVxdWVzdGluZyBXZWJQcm9jZXNzIGZvciBy
dW5uaW5nIHRoZSBzZXJ2aWNlIHdvcmtlci4KLSAgICBpZiAoIXJlbW90ZVdvcmtlclByb2Nlc3NQ
cm94eSAmJiAhc2hvdWxkVXNlU2VwYXJhdGVSZW1vdGVXb3JrZXJQcm9jZXNzICYmIHJlcXVlc3Rp
bmdQcm9jZXNzKSB7CisgICAgaWYgKCFyZW1vdGVXb3JrZXJQcm9jZXNzUHJveHkgJiYgIXNfdXNl
U2VwYXJhdGVTZXJ2aWNlV29ya2VyUHJvY2VzcyAmJiByZXF1ZXN0aW5nUHJvY2VzcykgewogICAg
ICAgICBpZiAoJnJlcXVlc3RpbmdQcm9jZXNzLT53ZWJzaXRlRGF0YVN0b3JlKCkgPT0gd2Vic2l0
ZURhdGFTdG9yZSAmJiByZXF1ZXN0aW5nUHJvY2Vzcy0+aXNNYXRjaGluZ1JlZ2lzdHJhYmxlRG9t
YWluKHJlZ2lzdHJhYmxlRG9tYWluKSkKICAgICAgICAgICAgIHVzZVByb2Nlc3NGb3JSZW1vdGVX
b3JrZXJzKCpyZXF1ZXN0aW5nUHJvY2Vzcyk7CiAgICAgfQogCi0gICAgaWYgKCFyZW1vdGVXb3Jr
ZXJQcm9jZXNzUHJveHkgJiYgIXNob3VsZFVzZVNlcGFyYXRlUmVtb3RlV29ya2VyUHJvY2Vzcykg
eworICAgIGlmICghcmVtb3RlV29ya2VyUHJvY2Vzc1Byb3h5ICYmICFzX3VzZVNlcGFyYXRlU2Vy
dmljZVdvcmtlclByb2Nlc3MpIHsKICAgICAgICAgZm9yIChhdXRvJiBwcm9jZXNzIDogcHJvY2Vz
c1Bvb2wtPm1fcHJvY2Vzc2VzKSB7CiAgICAgICAgICAgICBpZiAocHJvY2Vzcy5wdHIoKSA9PSBw
cm9jZXNzUG9vbC0+bV9wcmV3YXJtZWRQcm9jZXNzLmdldCgpIHx8IHByb2Nlc3MtPmlzRHVtbXlQ
cm9jZXNzUHJveHkoKSkKICAgICAgICAgICAgICAgICBjb250aW51ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTV0NsaWVudENvbm5lY3Rpb24u
Y3BwCmluZGV4IGEyNzEzN2JmMTJkZGRhYjg3ZDAzYjljNzhjYmZmYWZmNTNjODU3ZjguLmE1M2Qw
Njk0YmRjNWQ3YjIxYjAwYTQzOTEwNzExZTdhYzBlZGQyY2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNXQ2xpZW50Q29ubmVjdGlvbi5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU1dDbGllbnRDb25uZWN0aW9uLmNw
cApAQCAtMTkyLDYgKzE5Miw3IEBAIHZvaWQgV2ViU1dDbGllbnRDb25uZWN0aW9uOjpzZXRTZXJ2
aWNlV29ya2VyQ2xpZW50SXNDb250cm9sbGVkKFNjcmlwdEV4ZWN1dGlvbkNvCiAgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKGRhdGEuYWN0aXZlV29ya2VyID8gbG9hZGVyLT5zZXRDb250cm9sbGlu
Z1NlcnZpY2VXb3JrZXIoV1RGTW92ZSgqZGF0YS5hY3RpdmVXb3JrZXIpKSA6IGZhbHNlKTsKICAg
ICAgICAgcmV0dXJuOwogICAgIH0KKwogICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVk
V29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRNYW5hZ2VyQ29ubmVjdGlvbi5jcHAK
aW5kZXggNzU4ZmM4NDRkYTc0NmM1MWZkYmIzYTczN2Q4NjFkMjdhNDI5OWQyMC4uOWY4ODM1NGZi
MjU4YjljZWEzNTIxZmRhMjgwOWE5NWJkNGE5MGZlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRX
b3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24uY3BwCkBAIC00Nyw2ICs0Nyw3IEBACiAjaW5j
bHVkZSA8V2ViQ29yZS9TaGFyZWRXb3JrZXJUaHJlYWRQcm94eS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvVXNlckFnZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Xb3JrZXJGZXRjaFJlc3VsdC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvV29ya2VySW5pdGlhbGl6YXRpb25EYXRhLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCkBAIC04OSw3ICs5MCw3IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4
dE1hbmFnZXJDb25uZWN0aW9uOjp1cGRhdGVQcmVmZXJlbmNlc1N0b3JlKGNvbnN0IFdlYlByCiAg
ICAgbV9wcmVmZXJlbmNlc1N0b3JlID0gc3RvcmU7CiB9CiAKLXZvaWQgV2ViU2hhcmVkV29ya2Vy
Q29udGV4dE1hbmFnZXJDb25uZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xp
ZW50T3JpZ2luJiYgb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJl
ZFdvcmtlcklkZW50aWZpZXIsIFdlYkNvcmU6Oldvcmtlck9wdGlvbnMmJiB3b3JrZXJPcHRpb25z
LCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmIHdvcmtlckZldGNoUmVzdWx0KQordm9pZCBX
ZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtl
cihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklk
ZW50aWZpZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYm
IHdvcmtlck9wdGlvbnMsIFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0JiYgd29ya2VyRmV0Y2hS
ZXN1bHQsIFdlYkNvcmU6OldvcmtlckluaXRpYWxpemF0aW9uRGF0YSYmIGluaXRpYWxpemF0aW9u
RGF0YSkKIHsKICAgICBSRUxFQVNFX0xPRyhTaGFyZWRXb3JrZXIsICJXZWJTaGFyZWRXb3JrZXJD
b250ZXh0TWFuYWdlckNvbm5lY3Rpb246OmxhdW5jaFNoYXJlZFdvcmtlcjogc2hhcmVkV29ya2Vy
SWRlbnRpZmllcj0lIiBQUkl1NjQsIHNoYXJlZFdvcmtlcklkZW50aWZpZXIudG9VSW50NjQoKSk7
CiAgICAgYXV0byBwYWdlQ29uZmlndXJhdGlvbiA9IFdlYkNvcmU6OnBhZ2VDb25maWd1cmF0aW9u
V2l0aEVtcHR5Q2xpZW50cyhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zZXNzaW9uSUQoKSk7CkBA
IC0xMDksOCArMTEwLDE1IEBAIHZvaWQgV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25u
ZWN0aW9uOjpsYXVuY2hTaGFyZWRXb3JrZXIoV2ViQ29yZTo6Q2xpZW50CiAgICAgICAgIFdlYlBh
Z2U6OnVwZGF0ZVNldHRpbmdzR2VuZXJhdGVkKCptX3ByZWZlcmVuY2VzU3RvcmUsIHBhZ2UtPnNl
dHRpbmdzKCkpOwogICAgICAgICBwYWdlLT5zZXR0aW5ncygpLnNldFN0b3JhZ2VCbG9ja2luZ1Bv
bGljeShzdGF0aWNfY2FzdDxXZWJDb3JlOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3k+KG1fcHJlZmVy
ZW5jZXNTdG9yZS0+Z2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnN0b3Jh
Z2VCbG9ja2luZ1BvbGljeUtleSgpKSkpOwogICAgIH0KKworICAgIGlmICghaW5pdGlhbGl6YXRp
b25EYXRhLnVzZXJBZ2VudC5pc0VtcHR5KCkpCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS51
c2VyQWdlbnQgPSBtX3VzZXJBZ2VudDsKKworICAgIGlmICghaW5pdGlhbGl6YXRpb25EYXRhLmNs
aWVudElkZW50aWZpZXIpCisgICAgICAgIGluaXRpYWxpemF0aW9uRGF0YS5jbGllbnRJZGVudGlm
aWVyID0gU2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXI6OmdlbmVyYXRlKCk7CisKICAg
ICBwYWdlLT5zZXR1cEZvclJlbW90ZVdvcmtlcih3b3JrZXJGZXRjaFJlc3VsdC5sYXN0UmVxdWVz
dFVSTCwgb3JpZ2luLnRvcE9yaWdpbiwgd29ya2VyRmV0Y2hSZXN1bHQucmVmZXJyZXJQb2xpY3kp
OwotICAgIGF1dG8gc2hhcmVkV29ya2VyVGhyZWFkUHJveHkgPSBXZWJDb3JlOjpTaGFyZWRXb3Jr
ZXJUaHJlYWRQcm94eTo6Y3JlYXRlKFdURk1vdmUocGFnZSksIHNoYXJlZFdvcmtlcklkZW50aWZp
ZXIsIG9yaWdpbiwgV1RGTW92ZSh3b3JrZXJGZXRjaFJlc3VsdCksIFdURk1vdmUod29ya2VyT3B0
aW9ucyksIG1fdXNlckFnZW50LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5jYWNoZVN0b3JhZ2VQ
cm92aWRlcigpKTsKKyAgICBhdXRvIHNoYXJlZFdvcmtlclRocmVhZFByb3h5ID0gV2ViQ29yZTo6
U2hhcmVkV29ya2VyVGhyZWFkUHJveHk6OmNyZWF0ZShXVEZNb3ZlKHBhZ2UpLCBzaGFyZWRXb3Jr
ZXJJZGVudGlmaWVyLCBvcmlnaW4sIFdURk1vdmUod29ya2VyRmV0Y2hSZXN1bHQpLCBXVEZNb3Zl
KHdvcmtlck9wdGlvbnMpLCBXVEZNb3ZlKGluaXRpYWxpemF0aW9uRGF0YSksIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLmNhY2hlU3RvcmFnZVByb3ZpZGVyKCkpOwogCiAgICAgV2ViQ29yZTo6U2hh
cmVkV29ya2VyQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLnJlZ2lzdGVyU2hhcmVkV29ya2Vy
VGhyZWFkKFdURk1vdmUoc2hhcmVkV29ya2VyVGhyZWFkUHJveHkpKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRleHRN
YW5hZ2VyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2Vi
U2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKaW5kZXggYWIzNWNiZDAxODg1
Y2ViMzc2MTMxMGJkZjRkNWI3Yjg4NzIwYWY2My4uZDBiOGU2ZjE0MWJkYTJhYzJjZDdiYzRiNTlj
YzA4MTAzN2U4N2U5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJD
b25uZWN0aW9uLmgKQEAgLTM4LDYgKzM4LDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVj
dCBDbGllbnRPcmlnaW47CiBzdHJ1Y3QgV29ya2VyRmV0Y2hSZXN1bHQ7CitzdHJ1Y3QgV29ya2Vy
SW5pdGlhbGl6YXRpb25EYXRhOwogc3RydWN0IFdvcmtlck9wdGlvbnM7CiB9CiAKQEAgLTU4LDcg
KzU5LDcgQEAgcHVibGljOgogCiBwcml2YXRlOgogICAgIC8vIElQQyBNZXNzYWdlcy4KLSAgICB2
b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJDb3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6
U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3Jl
OjpXb3JrZXJGZXRjaFJlc3VsdCYmKTsKKyAgICB2b2lkIGxhdW5jaFNoYXJlZFdvcmtlcihXZWJD
b3JlOjpDbGllbnRPcmlnaW4mJiwgV2ViQ29yZTo6U2hhcmVkV29ya2VySWRlbnRpZmllciwgV2Vi
Q29yZTo6V29ya2VyT3B0aW9ucyYmLCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCYmLCBXZWJD
b3JlOjpXb3JrZXJJbml0aWFsaXphdGlvbkRhdGEmJik7CiAgICAgdm9pZCB1cGRhdGVQcmVmZXJl
bmNlc1N0b3JlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKTsKICAgICB2b2lkIHNldFVzZXJB
Z2VudChTdHJpbmcmJiB1c2VyQWdlbnQpIHsgbV91c2VyQWdlbnQgPSBXVEZNb3ZlKHVzZXJBZ2Vu
dCk7IH0KICAgICB2b2lkIGNsb3NlKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVz
c2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9XZWJTaGFyZWRXb3Jr
ZXJDb250ZXh0TWFuYWdlckNvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODJkNWRlZGY4ZmFj
NGIzZmRjNDVkNTY0NWU0NGM3ZWVkZDVmYzMzNi4uOGZkY2FmMjdhNzRlYTUzNjU5YTM1ZmFhNWFk
MWYxZWIwY2YyYWQ1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3Jh
Z2UvV2ViU2hhcmVkV29ya2VyQ29udGV4dE1hbmFnZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlckNvbnRl
eHRNYW5hZ2VyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjEsNyArMjEsNyBAQAogIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogCiBtZXNzYWdlcyAtPiBXZWJTaGFyZWRXb3JrZXJDb250ZXh0TWFuYWdlckNvbm5l
Y3Rpb24gTm90UmVmQ291bnRlZCB7Ci0gICAgTGF1bmNoU2hhcmVkV29ya2VyKHN0cnVjdCBXZWJD
b3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBXZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVy
IHNoYXJlZFdvcmtlcklkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJPcHRpb25zIHdv
cmtlck9wdGlvbnMsIHN0cnVjdCBXZWJDb3JlOjpXb3JrZXJGZXRjaFJlc3VsdCB3b3JrZXJGZXRj
aFJlc3VsdCkKKyAgICBMYXVuY2hTaGFyZWRXb3JrZXIoc3RydWN0IFdlYkNvcmU6OkNsaWVudE9y
aWdpbiBvcmlnaW4sIFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZpZXIgc2hhcmVkV29ya2Vy
SWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6Oldvcmtlck9wdGlvbnMgd29ya2VyT3B0aW9ucywg
c3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IHdvcmtlckZldGNoUmVzdWx0LCBzdHJ1
Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIHdvcmtlckluaXRpYWxpemF0aW9u
RGF0YSkKICAgICBQb3N0Q29ubmVjdEV2ZW50KFdlYkNvcmU6OlNoYXJlZFdvcmtlcklkZW50aWZp
ZXIgc2hhcmVkV29ya2VySWRlbnRpZmllciwgV2ViQ29yZTo6VHJhbnNmZXJyZWRNZXNzYWdlUG9y
dCBwb3J0LCBTdHJpbmcgc291cmNlT3JpZ2luKQogICAgIFRlcm1pbmF0ZVNoYXJlZFdvcmtlcihX
ZWJDb3JlOjpTaGFyZWRXb3JrZXJJZGVudGlmaWVyIHNoYXJlZFdvcmtlcklkZW50aWZpZXIpCiAg
ICAgVXBkYXRlUHJlZmVyZW5jZXNTdG9yZShzdHJ1Y3QgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0
b3JlIHN0b3JlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2Uv
V2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9TdG9yYWdlL1dlYlNoYXJlZFdvcmtlck9iamVjdENvbm5lY3Rpb24ubWVz
c2FnZXMuaW4KaW5kZXggYzI2OWZkMjZhOTFlYmZjYjRjNTRmMGQ2YzllMGViM2U0YjBkZjYzMi4u
YjZjMDRkNjY0YWVjZDZlYzQxN2I4ZGNjY2I5NGZjNWUxYzM3OGRlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1N0b3JhZ2UvV2ViU2hhcmVkV29ya2VyT2JqZWN0Q29ubmVj
dGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvU3RvcmFnZS9X
ZWJTaGFyZWRXb3JrZXJPYmplY3RDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yMSw3ICsyMSw3
IEBACiAjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCiAKIG1lc3NhZ2VzIC0+IFdlYlNoYXJlZFdvcmtlck9iamVjdENv
bm5lY3Rpb24gewotICAgIEZldGNoU2NyaXB0SW5DbGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hh
cmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBz
dHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdl
YkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNoUmVzdWx0KQorICAgIEZldGNoU2NyaXB0SW5D
bGllbnQoVVJMIHVybCwgV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFy
ZWRXb3JrZXJPYmplY3RJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VyT3B0aW9ucyB3
b3JrZXJPcHRpb25zKSAtPiAoc3RydWN0IFdlYkNvcmU6OldvcmtlckZldGNoUmVzdWx0IGZldGNo
UmVzdWx0LCBzdHJ1Y3QgV2ViQ29yZTo6V29ya2VySW5pdGlhbGl6YXRpb25EYXRhIGluaXRpYWxp
emF0aW9uRGF0YSkKICAgICBOb3RpZnlXb3JrZXJPYmplY3RPZkxvYWRDb21wbGV0aW9uKFdlYkNv
cmU6OlNoYXJlZFdvcmtlck9iamVjdElkZW50aWZpZXIgc2hhcmVkV29ya2VyT2JqZWN0SWRlbnRp
ZmllciwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAgICBQb3N0RXhjZXB0aW9uVG9X
b3JrZXJPYmplY3QoV2ViQ29yZTo6U2hhcmVkV29ya2VyT2JqZWN0SWRlbnRpZmllciBzaGFyZWRX
b3JrZXJPYmplY3RJZGVudGlmaWVyLCBTdHJpbmcgZXJyb3JNZXNzYWdlLCBpbnQgbGluZU51bWJl
ciwgaW50IGNvbHVtbk51bWJlciwgU3RyaW5nIHNvdXJjZVVSTCkKIH0KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2NmNjNGRk
MzUzNGY1MWFlY2IzNDNiZmViOTBlZDVjODBkZmI2N2FmLi5lYzhiNzQwNzI5NDc1M2UzNzg2ZjZk
NjM1Y2RmNjQ1NjZjZWQyZmYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjItMDQtMjYgIFlv
dWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIFNoYXJlZCB3b3JrZXJz
IHNob3VsZCBtYXRjaCBzZXJ2aWNlIHdvcmtlciByZWdpc3RyYXRpb25zCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzkxMjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5o
dHRwcy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvcmVz
b3VyY2VzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2VyLmpzOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3dwdC9zZXJ2aWNlLXdvcmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzOgorICAgICAgICAq
IHBsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdv
cmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRmb3JtL2lvcy13azIvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
Y2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OiBSZW1vdmVk
LgorCiAyMDIyLTA0LTI2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTZXJ2aWNlIFdvcmtlciBsb2FkcyBzaG91bGQgbm90IGV4cG9zZSBzb21lIFJlc291cmNl
VGltaW5nIGluZm9ybWF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBiNTE2
NmU3OTIxMDJhMWEwOWExNzZkNTE2YTJjZDE5Y2QzOGZlYTk2Li5jZjYwOWVlZWU3NzhlODZiNzQy
MDEwZGMzNDYzMWIxMDIzMmU3YjdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAyMi0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5j
b20+CisKKyAgICAgICAgU2hhcmVkIHdvcmtlcnMgc2hvdWxkIG1hdGNoIHNlcnZpY2Ugd29ya2Vy
IHJlZ2lzdHJhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTEyMgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9j
bGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvd29ya2VyLWludGVy
Y2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRm
b3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0
aW9uLmh0dHBzLWV4cGVjdGVkLnR4dDoKKwogMjAyMi0wNC0yNiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgU2VydmljZSBXb3JrZXIgbG9hZHMgc2hvdWxkIG5v
dCBleHBvc2Ugc29tZSBSZXNvdXJjZVRpbWluZyBpbmZvcm1hdGlvbgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaHR0cC93cHQvc2VydmljZS13b3JrZXJzL2NvbnRyb2xsZWQtc2hhcmVkd29ya2Vy
Lmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vy
cy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZDVmNzA2YjNlMWVmNjRiMmEwMTNhZmFjMjg2NWJjMjc0MWVjYmRlMAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJl
ZHdvcmtlci5odHRwcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKK1BBU1MgUmVnaXN0
ZXIgc2VydmljZSB3b3JrZXIKK1BBU1MgVmVyaWZ5IHNoYXJlZCB3b3JrZXIgaXMgY29udHJvbGxl
ZAorUEFTUyBWZXJpZnkgc2hhcmVkIHdvcmtlciBjYW4gcG9zdCBtZXNzYWdlIHRvIGl0cyBzZXJ2
aWNlIHdvcmtlcgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbCBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5odHRwcy5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg3NTE0Yjg1NmMyMjhiOGU4ZmM0Nzc5ZGUxYmMzNTQ2ODQ3MmRiZjgKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdvcmtlcnMvY29u
dHJvbGxlZC1zaGFyZWR3b3JrZXIuaHR0cHMuaHRtbApAQCAtMCwwICsxLDQwIEBACis8aHRtbD4K
KzxoZWFkPgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9yZXNvdXJjZXMvdGVzdGhhcm5lc3NyZXBvcnQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2Vz
L3Rlc3QtaGVscGVycy5zdWIuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKQorICAgIHRlc3RSdW5uZXIuc2V0VXNlU2VwYXJhdGVT
ZXJ2aWNlV29ya2VyUHJvY2Vzcyh0cnVlKTsKKworcHJvbWlzZV90ZXN0KGFzeW5jICh0ZXN0KSA9
PiB7CisgICAgY29uc3QgcmVnaXN0cmF0aW9uID0gYXdhaXQgbmF2aWdhdG9yLnNlcnZpY2VXb3Jr
ZXIucmVnaXN0ZXIoInNraXBGZXRjaEV2ZW50LXdvcmtlci5qcyIsIHsgc2NvcGUgOiAncmVzb3Vy
Y2VzJyB9KTsKKyAgICBhY3RpdmVXb3JrZXIgPSByZWdpc3RyYXRpb24uYWN0aXZlOworICAgIGlm
IChhY3RpdmVXb3JrZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGFjdGl2ZVdvcmtlciA9IHJl
Z2lzdHJhdGlvbi5pbnN0YWxsaW5nOworICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
eworICAgICAgICBhY3RpdmVXb3JrZXIuYWRkRXZlbnRMaXN0ZW5lcignc3RhdGVjaGFuZ2UnLCAo
KSA9PiB7CisgICAgICAgICAgICBpZiAoYWN0aXZlV29ya2VyLnN0YXRlID09PSAiYWN0aXZhdGVk
IikKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgIH0pOworICAgIH0pOworfSwg
IlJlZ2lzdGVyIHNlcnZpY2Ugd29ya2VyIik7CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkg
PT4geworICAgIHdvcmtlciA9IG5ldyBTaGFyZWRXb3JrZXIoJ3Jlc291cmNlcy9jb250cm9sbGVk
LXNoYXJlZHdvcmtlci5qcycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQgbmV3IFByb21pc2Uo
cmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsKKyAgICBhc3NlcnRf
dHJ1ZShldmVudC5kYXRhLmlzQ29udHJvbGxlZCk7Cit9LCAiVmVyaWZ5IHNoYXJlZCB3b3JrZXIg
aXMgY29udHJvbGxlZCIpOworCitwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICB3
b3JrZXIucG9ydC5wb3N0TWVzc2FnZSgncGluZycpOworICAgIGNvbnN0IGV2ZW50ID0gYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIucG9ydC5vbm1lc3NhZ2UgPSByZXNvbHZlKTsK
KyAgICBhc3NlcnRfZXF1YWxzKGV2ZW50LmRhdGEsICdwb25nJyk7Cit9LCAiVmVyaWZ5IHNoYXJl
ZCB3b3JrZXIgY2FuIHBvc3QgbWVzc2FnZSB0byBpdHMgc2VydmljZSB3b3JrZXIiKTsKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQv
c2VydmljZS13b3JrZXJzL3Jlc291cmNlcy9jb250cm9sbGVkLXNoYXJlZHdvcmtlci5qcyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC1z
aGFyZWR3b3JrZXIuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODI1NzlhZmY0Y2RmMTRjZDhhYjc5ZmM5Mjg1ZjA5
MDZiNGJhMWUwZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZp
Y2Utd29ya2Vycy9yZXNvdXJjZXMvY29udHJvbGxlZC1zaGFyZWR3b3JrZXIuanMKQEAgLTAsMCAr
MSw4IEBACitvbmNvbm5lY3QgPSBhc3luYyAoZSkgPT4geyAKKyAgICBjb25zdCAgcG9ydCA9IGUu
cG9ydHNbMF07CisgICAgcG9ydC5wb3N0TWVzc2FnZSh7IGlzQ29udHJvbGxlZCA6ICEhbmF2aWdh
dG9yLnNlcnZpY2VXb3JrZXIuY29udHJvbGxlciB9KTsKKyAgICBwb3J0Lm9ubWVzc2FnZSA9IChl
dmVudCkgPT4geworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5jb250cm9sbGVyLnBv
c3RNZXNzYWdlKGV2ZW50LmRhdGEpOworICAgICAgICBuYXZpZ2F0b3Iuc2VydmljZVdvcmtlci5v
bm1lc3NhZ2UgPSAoZXZlbnQpID0+IHBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7CisgICAg
fTsKK30KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9z
a2lwRmV0Y2hFdmVudC13b3JrZXIuanMgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC9zZXJ2aWNlLXdv
cmtlcnMvc2tpcEZldGNoRXZlbnQtd29ya2VyLmpzCmluZGV4IDBjZjk3ZmUyM2Y4Y2NhMDYyMTIy
MzJlZWY5OWVlYTY3NTc3MTU2MjEuLjBjMDczODJlOWIyYTcyZjk4OWU4ZDBiN2ZhZDMwNWI1YTM3
N2U5YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3NlcnZpY2Utd29ya2Vycy9z
a2lwRmV0Y2hFdmVudC13b3JrZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvc2Vydmlj
ZS13b3JrZXJzL3NraXBGZXRjaEV2ZW50LXdvcmtlci5qcwpAQCAtMTIsNiArMTIsMTAgQEAgYXN5
bmMgZnVuY3Rpb24gZG9UZXN0KGV2ZW50KQogICAgICAgICBldmVudC5zb3VyY2UucG9zdE1lc3Nh
Z2Uoc2VsZi5yZWNlaXZlZEZldGNoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBpZiAo
ZXZlbnQuZGF0YSA9PT0gInBpbmciKSB7CisgICAgICAgIGV2ZW50LnNvdXJjZS5wb3N0TWVzc2Fn
ZSgicG9uZyIpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGV2ZW50LnNvdXJjZS5wb3N0
TWVzc2FnZSgiS08iKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2Vy
L2NsaWVudHMtZ2V0LWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKaW5kZXggZGY3MzVm
YWZkMDdiZjYxOTNjZDNkYjAxNTQzZTU3YTE3ODE0N2MyMi4uODkyOTYxOWE1YzkyOTRlNDU3YWJi
ODc5ZDdhOGFjZDk3ZGQ3YTYzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
cy1nZXQtY2xpZW50LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdv
cmtlci9jbGllbnRzLWdldC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDMg
KzEsMyBAQAogCi1GQUlMIFRlc3QgQ2xpZW50cy5nZXQoKSB3aXRoIHdpbmRvdyBhbmQgd29ya2Vy
IGNsaWVudHMgYXNzZXJ0X25vdF9lcXVhbHM6IFNoYXJlZCB3b3JrZXIgY2xpZW50IHNob3VsZCBu
b3QgYmUgdW5kZWZpbmVkIGdvdCBkaXNhbGxvd2VkIHZhbHVlIHVuZGVmaW5lZAorUEFTUyBUZXN0
IENsaWVudHMuZ2V0KCkgd2l0aCB3aW5kb3cgYW5kIHdvcmtlciBjbGllbnRzCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13
b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50LXR5cGVzLmh0dHBz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2NsaWVudHMtbWF0Y2hhbGwtY2xpZW50
LXR5cGVzLmh0dHBzLWV4cGVjdGVkLnR4dAppbmRleCA2YjBmMTE0NjdmNGY0OGI1YWU5MjdjOWY3
ZWI1ZmZmZWFhYzcxMGFlLi4xOTU3ZGVjYzg3OTcyMWM2YjYyMjVjZDAzYzE1ZDk4ZGExYWQyNTlm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10
eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50cy1t
YXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
CiBQQVNTIFZlcmlmeSBtYXRjaEFsbCgpIHdpdGggd2luZG93IGNsaWVudCB0eXBlCi1GQUlMIFZl
cmlmeSBtYXRjaEFsbCgpIHdpdGgge3dpbmRvdywgc2hhcmVkd29ya2VyLCB3b3JrZXJ9IGNsaWVu
dCB0eXBlcyBhc3NlcnRfZXF1YWxzOiByZXN1bHQgY291bnQgZXhwZWN0ZWQgMSBidXQgZ290IDAK
K1BBU1MgVmVyaWZ5IG1hdGNoQWxsKCkgd2l0aCB7d2luZG93LCBzaGFyZWR3b3JrZXIsIHdvcmtl
cn0gY2xpZW50IHR5cGVzCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3dvcmtlci1p
bnRlcmNlcHRpb24tcmVkaXJlY3QuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKaW5kZXgg
YmExNGVkZmUyMmNlMDkyYTdlOTUyMTU3YzU0OGYwOTY1MGRhMGNkNi4uNmEyN2VkYWNkYWExYzRl
YjM4NjlhNDMzODJlOGQyMjdkNGM2ZmY1OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIv
d29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMv
c2VydmljZS13b3JrZXIvd29ya2VyLWludGVyY2VwdGlvbi1yZWRpcmVjdC5odHRwcy1leHBlY3Rl
ZC50eHQKQEAgLTEwLDEyICsxMCwxMiBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNj
b3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKQogUEFTUyBDYXNlICMzOiBzdyBz
Y29wZTEtPnNjb3BlMiAoY2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIpCiBQQVNTIENhc2UgIzM6IHN3
IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyKQotRkFJTCBDYXNlICMzOiBz
dyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6
IFdvcmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKLUZBSUwgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIpIGFzc2VydF91bnJlYWNoZWQ6IFdv
cmtlciBlcnJvciBSZWFjaGVkIHVucmVhY2hhYmxlIGNvZGUKK1BBU1MgQ2FzZSAjMzogc3cgc2Nv
cGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyKQorUEFTUyBDYXNlICMzOiBzdyBzY29w
ZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlcikKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUx
LT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyKQogUEFTUyBDYXNlICM0OiBzdyBz
Y29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlcikKLUZBSUwgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFj
aGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCi1GQUlMIENhc2UgIzQ6
IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2VyKSBhc3NlcnRfdW5yZWFj
aGVkOiBXb3JrZXIgZXJyb3IgUmVhY2hlZCB1bnJlYWNoYWJsZSBjb2RlCitQQVNTIENhc2UgIzQ6
IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlcikKK1BBU1MgQ2FzZSAj
NDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIpCiBQQVNTIGNsZWFu
dXAgZ2xvYmFsIHN0YXRlCiBQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNs
YXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzE6IG5l
dHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBmZXRjaCgpKQpA
QCAtMjMsMTEgKzIzLDExIEBAIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAo
Y2xhc3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCiBQQVNTIENhc2UgIzE6IG5l
dHdvcmsgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIERlZGlj
YXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMTogbmV0d29yayBzY29wZTEtPnNjb3Bl
MiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKLUZBSUwgQ2FzZSAjMTog
bmV0d29yayBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MSBzYXcgaW1wb3J0U2NyaXB0cyBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Nj
b3BlMi9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2
ZWQgZnJvbSBuZXR3b3JrIChzY29wZTIvKSIKLUZBSUwgQ2FzZSAjMTogbmV0d29yayBzY29wZTEt
PnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkICJmZXRjaCgpOiBzdzEgc2F3IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IiBi
dXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGUgKHNjb3BlMi8pXG4iCitQQVNTIENh
c2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBv
cnRTY3JpcHRzKCkpCitQQVNTIENhc2UgIzE6IG5ldHdvcmsgc2NvcGUxLT5zY29wZTIgKGNsYXNz
aWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAj
MTogbmV0d29yayBzY29wZTEtPnNjb3BlMiAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2Ny
aXB0cygpKQotRkFJTCBDYXNlICMxOiBuZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hh
cmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cx
IHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Ut
d29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2goKTogYSBz
aW1wbGUgdGV4dCBmaWxlIChzY29wZTIvKVxuIgorUEFTUyBDYXNlICMxOiBuZXR3b3JrIHNjb3Bl
MS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKQogUEFTUyBDYXNlICMxOiBu
ZXR3b3JrIHNjb3BlMS0+c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVm
KQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGlj
YXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKQEAgLTM1LDEx
ICszNSwxMSBAQCBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNz
aWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogUEFTUyBDYXNlICMyOiBuZXR3b3Jr
IHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRz
KCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRp
Y2F0ZWRXb3JrZXIsIGZldGNoKCkpCiBQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQt
c2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpCi1GQUlMIENhc2Ug
IzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBv
cnRTY3JpcHRzKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzEgc2F3IGltcG9ydFNjcmlw
dHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJpbXBvcnRTY3JpcHRzOiBzZXJ2
ZWQgZnJvbSBuZXR3b3JrIgotRkFJTCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3Bl
IChjbGFzc2ljIFNoYXJlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
ImZldGNoKCk6IHN3MSBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2ltcGxlLnR4dCIgYnV0IGdvdCAiZmV0Y2go
KTogYSBzaW1wbGUgdGV4dCBmaWxlXG4iCitQQVNTIENhc2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5v
dXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitQQVNTIENh
c2UgIzI6IG5ldHdvcmsgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBm
ZXRjaCgpKQogUEFTUyBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2lj
IFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29w
ZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQotRkFJ
TCBDYXNlICMyOiBuZXR3b3JrIHNjb3BlMS0+b3V0LXNjb3BlIChtb2R1bGUgU2hhcmVkV29ya2Vy
LCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiZmV0Y2goKTogc3cxIHNhdyB0aGUg
ZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jl
c291cmNlcy9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBhIHNpbXBsZSB0ZXh0IGZpbGVc
biIKK1BBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIFNoYXJl
ZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjMjogbmV0d29yayBzY29wZTEtPm91dC1zY29w
ZSAobW9kdWxlIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKIEZBSUwgQ2FzZSAjMzogc3cg
c2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkp
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJzdzIgc2F3IGltcG9ydFNjcmlwdHMgZnJvbSB0aGUg
d29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIv
aW1wb3J0LXNjcmlwdHMtZWNoby5weSIgYnV0IGdvdCAic3cyIHNhdyBpbXBvcnRTY3JpcHRzIGZy
b20gdGhlIHdvcmtlcjogL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMv
c2NvcGUyL2ltcG9ydC1zY3JpcHRzLWVjaG8ucHkiCiBGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc3ViZGlyL3NpbXBsZS50eHQi
IGJ1dCBnb3QgImZldGNoKCk6IHN3MiBzYXcgdGhlIGZldGNoIGZyb20gdGhlIHdvcmtlcjogL3Nl
cnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2NvcGUyL3NpbXBsZS50eHQi
CkBAIC00NywxMCArNDcsMjIgQEAgRkFJTCBDYXNlICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xh
c3NpYyBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhyZWYpIGFzc2VydF8KIFBBU1MgQ2FzZSAj
Mzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkKIEZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBEZWRpY2F0ZWRX
b3JrZXIsIGZldGNoKCkpIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJmZXRjaCgpOiBzdzIgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3N1YmRpci9zaW1wbGUudHh0IiBidXQgZ290ICJmZXRjaCgpOiBzdzIgc2F3
IHRoZSBmZXRjaCBmcm9tIHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3Jr
ZXIvcmVzb3VyY2VzL3Njb3BlMi9zaW1wbGUudHh0IgogRkFJTCBDYXNlICMzOiBzdyBzY29wZTEt
PnNjb3BlMiAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgbG9jYXRpb24uaHJlZikgYXNzZXJ0X2Vx
dWFsczogbG9jYXRpb24uaHJlZiBleHBlY3RlZCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2
aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1YmRpci93b3JrZXJfaW50ZXJj
ZXB0aW9uX3JlZGlyZWN0X3dlYndvcmtlci5weT9ncmVldGluZz1zdzIlMjBzYXclMjB0aGUlMjBy
ZXF1ZXN0JTIwZm9yJTIwdGhlJTIwd29ya2VyJTIwc2NyaXB0IiBidXQgZ290ICJodHRwczovL2xv
Y2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNvdXJjZXMvc2Nv
cGUyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5IgorRkFJTCBDYXNl
ICMzOiBzdyBzY29wZTEtPnNjb3BlMiAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGltcG9ydFNjcmlw
dHMoKSkgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgInN3MiBzYXcgaW1wb3J0U2NyaXB0cyBmcm9t
IHRoZSB3b3JrZXI6IC9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvcmVzb3VyY2VzL3N1
YmRpci9pbXBvcnQtc2NyaXB0cy1lY2hvLnB5IiBidXQgZ290ICJzdzIgc2F3IGltcG9ydFNjcmlw
dHMgZnJvbSB0aGUgd29ya2VyOiAvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291
cmNlcy9zY29wZTIvaW1wb3J0LXNjcmlwdHMtZWNoby5weSIKK0ZBSUwgQ2FzZSAjMzogc3cgc2Nv
cGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4
dCIgYnV0IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4
dCIKK0ZBSUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKGNsYXNzaWMgU2hhcmVkV29ya2Vy
LCBsb2NhdGlvbi5ocmVmKSBhc3NlcnRfZXF1YWxzOiBsb2NhdGlvbi5ocmVmIGV4cGVjdGVkICJo
dHRwczovL2xvY2FsaG9zdDo5NDQzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9yZXNv
dXJjZXMvc3ViZGlyL3dvcmtlcl9pbnRlcmNlcHRpb25fcmVkaXJlY3Rfd2Vid29ya2VyLnB5P2dy
ZWV0aW5nPXN3MiUyMHNhdyUyMHRoZSUyMHJlcXVlc3QlMjBmb3IlMjB0aGUlMjB3b3JrZXIlMjBz
Y3JpcHQiIGJ1dCBnb3QgImh0dHBzOi8vbG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3Nl
cnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVj
dF93ZWJ3b3JrZXIucHkiCitQQVNTIENhc2UgIzM6IHN3IHNjb3BlMS0+c2NvcGUyIChtb2R1bGUg
U2hhcmVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCitGQUlMIENhc2UgIzM6IHN3IHNjb3BlMS0+
c2NvcGUyIChtb2R1bGUgU2hhcmVkV29ya2VyLCBmZXRjaCgpKSBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zdWJkaXIvc2ltcGxlLnR4dCIgYnV0
IGdvdCAiZmV0Y2goKTogc3cyIHNhdyB0aGUgZmV0Y2ggZnJvbSB0aGUgd29ya2VyOiAvc2Vydmlj
ZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9zY29wZTIvc2ltcGxlLnR4dCIKK0ZB
SUwgQ2FzZSAjMzogc3cgc2NvcGUxLT5zY29wZTIgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGxvY2F0
aW9uLmhyZWYpIGFzc2VydF9lcXVhbHM6IGxvY2F0aW9uLmhyZWYgZXhwZWN0ZWQgImh0dHBzOi8v
bG9jYWxob3N0Ojk0NDMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL3Jlc291cmNlcy9z
dWJkaXIvd29ya2VyX2ludGVyY2VwdGlvbl9yZWRpcmVjdF93ZWJ3b3JrZXIucHk/Z3JlZXRpbmc9
c3cyJTIwc2F3JTIwdGhlJTIwcmVxdWVzdCUyMGZvciUyMHRoZSUyMHdvcmtlciUyMHNjcmlwdCIg
YnV0IGdvdCAiaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0My9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13
b3JrZXIvcmVzb3VyY2VzL3Njb3BlMi93b3JrZXJfaW50ZXJjZXB0aW9uX3JlZGlyZWN0X3dlYndv
cmtlci5weSIKIFBBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVk
aWNhdGVkV29ya2VyLCBpbXBvcnRTY3JpcHRzKCkpCiBQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+
b3V0LXNjb3BlIChjbGFzc2ljIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAj
NDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKGNsYXNzaWMgRGVkaWNhdGVkV29ya2VyLCBsb2NhdGlv
bi5ocmVmKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29wZSAobW9kdWxlIERlZGlj
YXRlZFdvcmtlciwgaW1wb3J0U2NyaXB0cygpKQogUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91
dC1zY29wZSAobW9kdWxlIERlZGljYXRlZFdvcmtlciwgZmV0Y2goKSkKIFBBU1MgQ2FzZSAjNDog
c3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBEZWRpY2F0ZWRXb3JrZXIsIGxvY2F0aW9uLmhy
ZWYpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdv
cmtlciwgaW1wb3J0U2NyaXB0cygpKQorUEFTUyBDYXNlICM0OiBzdyBzY29wZTEtPm91dC1zY29w
ZSAoY2xhc3NpYyBTaGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3Bl
MS0+b3V0LXNjb3BlIChjbGFzc2ljIFNoYXJlZFdvcmtlciwgbG9jYXRpb24uaHJlZikKK1BBU1Mg
Q2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBTaGFyZWRXb3JrZXIsIGltcG9y
dFNjcmlwdHMoKSkKK1BBU1MgQ2FzZSAjNDogc3cgc2NvcGUxLT5vdXQtc2NvcGUgKG1vZHVsZSBT
aGFyZWRXb3JrZXIsIGZldGNoKCkpCitQQVNTIENhc2UgIzQ6IHN3IHNjb3BlMS0+b3V0LXNjb3Bl
IChtb2R1bGUgU2hhcmVkV29ya2VyLCBsb2NhdGlvbi5ocmVmKQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci93b3JrZXItaW50ZXJjZXB0aW9uLmh0dHBzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGFiYTE5MDA2OTRjNGU0OTk0YWE4NjgzOTUyNTg0MGE1ZDZmNTdkOGEuLjAwYWVhMmM4YTZi
OGEwZDA2OTVlNzQ2OGNmMjcwMDIwZDlkMDE4NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29y
a2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJzL3NlcnZp
Y2Utd29ya2VyL3dvcmtlci1pbnRlcmNlcHRpb24uaHR0cHMtZXhwZWN0ZWQudHh0CkBAIC0xLDE2
ICsxLDE2IEBACiAKIFBBU1MgVmVyaWZ5IGEgZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVz
dCBpc3N1ZWQgZnJvbSBhIHVuY29udHJvbGxlZCBkb2N1bWVudCBpcyBpbnRlcmNlcHRlZCBieSB3
b3JrZXIncyBvd24gc2VydmljZSB3b3JrZXIuCiBQQVNTIFZlcmlmeSBhbiBvdXQtb2Ytc2NvcGUg
ZGVkaWNhdGVkIHdvcmtlciBzY3JpcHQgcmVxdWVzdCBpc3N1ZWQgZnJvbSBhIGNvbnRyb2xsZWQg
ZG9jdW1lbnQgc2hvdWxkIG5vdCBiZSBpbnRlcmNlcHRlZCBieSBkb2N1bWVudCdzIHNlcnZpY2Ug
d29ya2VyLgotRkFJTCBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCByZXF1ZXN0IGlzc3Vl
ZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVkIGJ5IHdvcmtlcidz
IG93biBzZXJ2aWNlIHdvcmtlci4gcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IHVuZGVmaW5lZAorUEFTUyBWZXJpZnkgYSBzaGFyZWQgd29ya2VyIHNjcmlwdCBy
ZXF1ZXN0IGlzc3VlZCBmcm9tIGEgdW5jb250cm9sbGVkIGRvY3VtZW50IGlzIGludGVyY2VwdGVk
IGJ5IHdvcmtlcidzIG93biBzZXJ2aWNlIHdvcmtlci4KIFBBU1MgVmVyaWZ5IGEgc2FtZS1vcmln
aW4gd29ya2VyIHNjcmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBzdWNjZWVkcyBpbiBz
dGFydGluZyBhIGRlZGljYXRlZCB3b3JrZXIuCi1GQUlMIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdv
cmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRp
bmcgYSBzaGFyZWQgd29ya2VyLiBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogdW5kZWZpbmVkCitQQVNTIFZlcmlmeSBhIHNhbWUtb3JpZ2luIHdvcmtlciBzY3Jp
cHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgc3VjY2VlZHMgaW4gc3RhcnRpbmcgYSBzaGFy
ZWQgd29ya2VyLgogUEFTUyBWZXJpZnkgYSBjb3JzIHdvcmtlciBzY3JpcHQgc2VydmVkIGJ5IGEg
c2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdvcmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5
IGEgY29ycyB3b3JrZXIgc2NyaXB0IHNlcnZlZCBieSBhIHNlcnZpY2Ugd29ya2VyIGZhaWxzIHNo
YXJlZCB3b3JrZXIgc3RhcnQuCiBQQVNTIFZlcmlmeSBhIG5vLWNvcnMgY3Jvc3Mtb3JpZ2luIHdv
cmtlciBzY3JpcHQgc2VydmVkIGJ5IGEgc2VydmljZSB3b3JrZXIgZmFpbHMgZGVkaWNhdGVkIHdv
cmtlciBzdGFydC4KIFBBU1MgVmVyaWZ5IGEgbm8tY29ycyBjcm9zcy1vcmlnaW4gd29ya2VyIHNj
cmlwdCBzZXJ2ZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBmYWlscyBzaGFyZWQgd29ya2VyIHN0YXJ0
LgogUEFTUyBSZWdpc3RlciBhIHNlcnZpY2Ugd29ya2VyIGZvciB3b3JrZXIgc3VicmVzb3VyY2Ug
aW50ZXJjZXB0aW9uIHRlc3RzLgogUEFTUyBSZXF1ZXN0cyBvbiBhIGRlZGljYXRlZCB3b3JrZXIg
Y29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLgotRkFJTCBSZXF1ZXN0cyBvbiBhIHNoYXJl
ZCB3b3JrZXIgY29udHJvbGxlZCBieSBhIHNlcnZpY2Ugd29ya2VyLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQuIiBidXQgZ290
ICJ7XCJlcnJvclwiOiB7XCJjb2RlXCI6IDQwNCwgXCJtZXNzYWdlXCI6IFwiNDA0XCJ9fSIKK1BB
U1MgUmVxdWVzdHMgb24gYSBzaGFyZWQgd29ya2VyIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdv
cmtlci4KIEZBSUwgUmVxdWVzdHMgb24gYSBkZWRpY2F0ZWQgd29ya2VyIG5lc3RlZCBpbiBhIGRl
ZGljYXRlZCB3b3JrZXIgYW5kIGNvbnRyb2xsZWQgYnkgYSBzZXJ2aWNlIHdvcmtlciBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAiVGhpcyBsb2FkIHdhcyBzdWNjZXNzZnVsbHkgaW50ZXJjZXB0ZWQu
IiBidXQgZ290ICJVbmV4cGVjdGVkIGVycm9yISBDYW4ndCBmaW5kIHZhcmlhYmxlOiBXb3JrZXIi
CiBGQUlMIFJlcXVlc3RzIG9uIGEgZGVkaWNhdGVkIHdvcmtlciBuZXN0ZWQgaW4gYSBzaGFyZWQg
d29ya2VyIGFuZCBjb250cm9sbGVkIGJ5IGEgc2VydmljZSB3b3JrZXIgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgIlRoaXMgbG9hZCB3YXMgc3VjY2Vzc2Z1bGx5IGludGVyY2VwdGVkLiIgYnV0IGdv
dCAiVW5leHBlY3RlZCBlcnJvciEgQ2FuJ3QgZmluZCB2YXJpYWJsZTogV29ya2VyIgogUEFTUyBV
bnJlZ2lzdGVyIGEgc2VydmljZSB3b3JrZXIgZm9yIHN1YnJlc291cmNlIGludGVyY2VwdGlvbiB0
ZXN0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2dsaWIvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvY2xpZW50
cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29y
a2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZiMGYxMTQ2N2Y0ZjQ4
YjVhZTkyN2M5ZjdlYjVmZmZlYWFjNzEwYWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ2xpYi9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRz
LW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApA
QCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHdpbmRvdyBjbGll
bnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRoIHt3aW5kb3csIHNoYXJlZHdvcmtl
ciwgd29ya2VyfSBjbGllbnQgdHlwZXMgYXNzZXJ0X2VxdWFsczogcmVzdWx0IGNvdW50IGV4cGVj
dGVkIDEgYnV0IGdvdCAwCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy13
azIvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2Vydmlj
ZS13b3JrZXIvY2xpZW50cy1tYXRjaGFsbC1jbGllbnQtdHlwZXMuaHR0cHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNs
aWVudC10eXBlcy5odHRwcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGNkMjNkNmI1YWI0NTA4ZTViNzQwNzQwMDAyN2U2MjA1MmNhMDBlYTQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
aW9zLXdrMi9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3NlcnZpY2Utd29ya2Vycy9z
ZXJ2aWNlLXdvcmtlci9jbGllbnRzLW1hdGNoYWxsLWNsaWVudC10eXBlcy5odHRwcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0ICswLDAgQEAKLQotUEFTUyBWZXJpZnkgbWF0Y2hB
bGwoKSB3aXRoIHdpbmRvdyBjbGllbnQgdHlwZQotRkFJTCBWZXJpZnkgbWF0Y2hBbGwoKSB3aXRo
IHt3aW5kb3csIHNoYXJlZHdvcmtlciwgd29ya2VyfSBjbGllbnQgdHlwZXMgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBudWxs
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3cucG9ydC5vbm1lc3NhZ2UgPSBfID0+IHJl
c29sdmUodyknKSIKLQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>