<?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>206520</bug_id>
          
          <creation_ts>2020-01-21 02:15:36 -0800</creation_ts>
          <short_desc>Fix fetch/api/policies/referrer-origin-worker.html</short_desc>
          <delta_ts>2020-02-07 01:11:17 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Rob Buis">rbuis</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kangil.han</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1608968</commentid>
    <comment_count>0</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-21 02:15:36 -0800</bug_when>
    <thetext>Fix fetch/api/policies/referrer-origin-worker.html by adding
referrer-origin-worker.html.headers, which got lost in the
automated import process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608969</commentid>
    <comment_count>1</comment_count>
      <attachid>388287</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-21 02:17:33 -0800</bug_when>
    <thetext>Created attachment 388287
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608982</commentid>
    <comment_count>2</comment_count>
      <attachid>388287</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-21 04:26:41 -0800</bug_when>
    <thetext>Comment on attachment 388287
Patch

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

&gt; LayoutTests/imported/w3c/ChangeLog:10
&gt; +        automated import process.

Do you know how it got lost?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608991</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-21 05:01:05 -0800</bug_when>
    <thetext>(In reply to youenn fablet from comment #2)
&gt; Comment on attachment 388287 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=388287&amp;action=review
&gt; 
&gt; &gt; LayoutTests/imported/w3c/ChangeLog:10
&gt; &gt; +        automated import process.
&gt; 
&gt; Do you know how it got lost?

I am not sure it got lost. It seems you imported it in 2016:
https://bugs.webkit.org/show_bug.cgi?id=156914

I don&apos;t know if the import process can handle it (or could handle it in 2016) or you removed it locally.

Furthermore I do understand why the lack of headers is no problem for referrer-unsafe-url-worker.html, but I don&apos;t understand why it is not a problem for referrer-no-referrer-worker.html. Anyway, since the latter passes, I do not feel like investigating. I do want to have a quick look though to see if there are more cases like fetch/api/policies/referrer-origin-worker.html.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608996</commentid>
    <comment_count>4</comment_count>
      <attachid>388287</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-21 05:30:48 -0800</bug_when>
    <thetext>Comment on attachment 388287
Patch

Clearing flags on attachment: 388287

Committed r254850: &lt;https://trac.webkit.org/changeset/254850&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608997</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-21 05:30:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1608998</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-21 05:31:11 -0800</bug_when>
    <thetext>&lt;rdar://problem/58757006&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609057</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-21 08:29:32 -0800</bug_when>
    <thetext>(In reply to Rob Buis from comment #3)
&gt; (In reply to youenn fablet from comment #2)
&gt; &gt; Comment on attachment 388287 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=388287&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; LayoutTests/imported/w3c/ChangeLog:10
&gt; &gt; &gt; +        automated import process.
&gt; &gt; 
&gt; &gt; Do you know how it got lost?
&gt; 
&gt; I am not sure it got lost. It seems you imported it in 2016:
&gt; https://bugs.webkit.org/show_bug.cgi?id=156914
&gt; 
&gt; I don&apos;t know if the import process can handle it (or could handle it in
&gt; 2016) or you removed it locally.
&gt; 
&gt;

I don&apos;t see that header (referrer-origin-worker.html.headers) previously imported there, neither on previous git log history to this commit.

I also don&apos;t see it on WPT upstream: https://github.com/web-platform-tests/wpt/tree/master/fetch/api/policies

Can you please double check where you got this header from?


This test is actually failing for both Safari and WebKitGTK on wpt.fyi https://wpt.fyi/results/fetch/api/policies/referrer-origin-worker.html?label=experimental&amp;label=master&amp;product=chrome&amp;product=firefox&amp;product=safari&amp;product=webkitgtk&amp;aligned

Perhaps its needed to upstream this header file to WPT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609072</commentid>
    <comment_count>8</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-21 08:52:10 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #7)
&gt; 
&gt; I don&apos;t see that header (referrer-origin-worker.html.headers) previously
&gt; imported there, neither on previous git log history to this commit.
&gt; 
&gt; I also don&apos;t see it on WPT upstream:
&gt; https://github.com/web-platform-tests/wpt/tree/master/fetch/api/policies
&gt; 
&gt; Can you please double check where you got this header from?
&gt; 
&gt; 
&gt; This test is actually failing for both Safari and WebKitGTK on wpt.fyi
&gt; https://wpt.fyi/results/fetch/api/policies/referrer-origin-worker.
&gt; html?label=experimental&amp;label=master&amp;product=chrome&amp;product=firefox&amp;product=s
&gt; afari&amp;product=webkitgtk&amp;aligned
&gt; 
&gt; Perhaps its needed to upstream this header file to WPT?

Hmm, maybe this is the wrong way to fix this. I guess the expectation is that the Worker will fetch referrer-no-referrer.js.headers to have the Referrer-Policy set, which is not happening and is the real bug. If Youenn or anybody else can confirm that then this can be reverted. If so my apologies for the misleading statements about the importing process!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609513</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2020-01-22 05:24:30 -0800</bug_when>
    <thetext>(In reply to Rob Buis from comment #8)
&gt; (In reply to Carlos Alberto Lopez Perez from comment #7)
&gt; &gt; 
&gt; &gt; I don&apos;t see that header (referrer-origin-worker.html.headers) previously
&gt; &gt; imported there, neither on previous git log history to this commit.
&gt; &gt; 
&gt; &gt; I also don&apos;t see it on WPT upstream:
&gt; &gt; https://github.com/web-platform-tests/wpt/tree/master/fetch/api/policies
&gt; &gt; 
&gt; &gt; Can you please double check where you got this header from?
&gt; &gt; 
&gt; &gt; 
&gt; &gt; This test is actually failing for both Safari and WebKitGTK on wpt.fyi
&gt; &gt; https://wpt.fyi/results/fetch/api/policies/referrer-origin-worker.
&gt; &gt; html?label=experimental&amp;label=master&amp;product=chrome&amp;product=firefox&amp;product=s
&gt; &gt; afari&amp;product=webkitgtk&amp;aligned
&gt; &gt; 
&gt; &gt; Perhaps its needed to upstream this header file to WPT?
&gt; 
&gt; Hmm, maybe this is the wrong way to fix this. I guess the expectation is
&gt; that the Worker will fetch referrer-no-referrer.js.headers to have the
&gt; Referrer-Policy set, which is not happening and is the real bug. If Youenn
&gt; or anybody else can confirm that then this can be reverted. If so my
&gt; apologies for the misleading statements about the importing process!

I don&apos;t know about the specific of this test and if r254850 is the right fix for it or not.

But I know that we shouldn&apos;t do changes on imported WPT tests without exporting those changes to WPT itself.

So if you think r254850 is the right fix, then please open a pull-request in https://github.com/web-platform-tests/wpt to upstream this header to WPT.

And if you think this is not the right fix, then please revert this change.

Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609514</commentid>
    <comment_count>10</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-22 05:40:52 -0800</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609515</commentid>
    <comment_count>11</comment_count>
      <attachid>388417</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-22 05:40:55 -0800</bug_when>
    <thetext>Created attachment 388417
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609516</commentid>
    <comment_count>12</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-22 05:43:22 -0800</bug_when>
    <thetext>(In reply to Carlos Alberto Lopez Perez from comment #9)
&gt; So if you think r254850 is the right fix, then please open a pull-request in
&gt; https://github.com/web-platform-tests/wpt to upstream this header to WPT.

Yep, I think I know how to fix it correctly, but this was the wrong way. I tried a webkit-patch rollout but it seemed to get stuck in an endless loop, so I attached the revert by hand. Are you able to review it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609521</commentid>
    <comment_count>13</comment_count>
      <attachid>388417</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-22 06:48:47 -0800</bug_when>
    <thetext>Comment on attachment 388417
Patch

Clearing flags on attachment: 388417

Committed r254920: &lt;https://trac.webkit.org/changeset/254920&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609522</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-01-22 06:48:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609754</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2020-01-22 14:37:35 -0800</bug_when>
    <thetext>I&apos;m confused by the state of this bug. Looks like the fix was reverted and the test expectations are FAIL again, so why is it in RESOLVED/FIXED state?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609994</commentid>
    <comment_count>16</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-22 23:28:21 -0800</bug_when>
    <thetext>Still needs to be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609995</commentid>
    <comment_count>17</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-22 23:30:08 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #15)
&gt; I&apos;m confused by the state of this bug. Looks like the fix was reverted and
&gt; the test expectations are FAIL again, so why is it in RESOLVED/FIXED state?

Right, the automatic cq+ behavior was to close this bug, I re-opened it since the test is not fixed yet indeed. I believe I have a patch for this which I can upload today.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1609998</commentid>
    <comment_count>18</comment_count>
      <attachid>388522</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-23 00:04:11 -0800</bug_when>
    <thetext>Created attachment 388522
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610126</commentid>
    <comment_count>19</comment_count>
      <attachid>388552</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-23 09:16:52 -0800</bug_when>
    <thetext>Created attachment 388552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610221</commentid>
    <comment_count>20</comment_count>
      <attachid>388567</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-23 11:28:54 -0800</bug_when>
    <thetext>Created attachment 388567
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610633</commentid>
    <comment_count>21</comment_count>
      <attachid>388567</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-24 06:31:20 -0800</bug_when>
    <thetext>Comment on attachment 388567
Patch

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

&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:58
&gt; +    , m_referrerPolicy(referrerPolicy)

Can we directly pass a ReferrerPolicy there instead of a String?
Also, can we move this to WorkerGlobalScope to increase code reuse?
Maybe

&gt; Source/WebCore/workers/Worker.cpp:214
&gt; +    m_contextProxy.startWorkerGlobalScope(m_scriptLoader-&gt;url(), m_name, context-&gt;userAgent(m_scriptLoader-&gt;url()), isOnline, m_scriptLoader-&gt;script(), contentSecurityPolicyResponseHeaders, m_shouldBypassMainWorldContentSecurityPolicy, m_workerCreationTime, m_scriptLoader-&gt;referrerPolicy(), m_runtimeFlags);

Can we make ScriptLoader return a ReferrerPolicy?

&gt; Source/WebCore/workers/WorkerThread.cpp:107
&gt; +    , m_referrerPolicy(referrerPolicy)

All other strings are isolated, so we should probably do the same for referrer policy, but an enum might be event better here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610682</commentid>
    <comment_count>22</comment_count>
      <attachid>388694</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 08:11:01 -0800</bug_when>
    <thetext>Created attachment 388694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610702</commentid>
    <comment_count>23</comment_count>
      <attachid>388700</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 08:53:59 -0800</bug_when>
    <thetext>Created attachment 388700
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610718</commentid>
    <comment_count>24</comment_count>
      <attachid>388701</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 09:26:49 -0800</bug_when>
    <thetext>Created attachment 388701
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610725</commentid>
    <comment_count>25</comment_count>
      <attachid>388567</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 09:42:57 -0800</bug_when>
    <thetext>Comment on attachment 388567
Patch

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

Went with using ReferrerPolicy for the parameters.

&gt;&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:58
&gt;&gt; +    , m_referrerPolicy(referrerPolicy)
&gt; 
&gt; Can we directly pass a ReferrerPolicy there instead of a String?
&gt; Also, can we move this to WorkerGlobalScope to increase code reuse?
&gt; Maybe

Done. I initially did it using Strings because a corner case would be slower, namely the parsing would have been done needlessly if a fetch has the referrerPolicy parameter in its RequestInit. But this should not happen much in reality.

&gt;&gt; Source/WebCore/workers/Worker.cpp:214
&gt;&gt; +    m_contextProxy.startWorkerGlobalScope(m_scriptLoader-&gt;url(), m_name, context-&gt;userAgent(m_scriptLoader-&gt;url()), isOnline, m_scriptLoader-&gt;script(), contentSecurityPolicyResponseHeaders, m_shouldBypassMainWorldContentSecurityPolicy, m_workerCreationTime, m_scriptLoader-&gt;referrerPolicy(), m_runtimeFlags);
&gt; 
&gt; Can we make ScriptLoader return a ReferrerPolicy?

Unfortunately I think that makes jobFinishedLoadingScript and storing into ServiceWorkerFetchResult too complicated/inefficient.

&gt;&gt; Source/WebCore/workers/WorkerThread.cpp:107
&gt;&gt; +    , m_referrerPolicy(referrerPolicy)
&gt; 
&gt; All other strings are isolated, so we should probably do the same for referrer policy, but an enum might be event better here.

You are right, but not needed if we go with ReferrerPolicy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610729</commentid>
    <comment_count>26</comment_count>
      <attachid>388694</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2020-01-24 09:52:47 -0800</bug_when>
    <thetext>Comment on attachment 388694
Patch

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

&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:56
&gt; +    : WorkerGlobalScope(url, WTFMove(origin), identifier, userAgent, isOnline, thread, shouldBypassMainWorldContentSecurityPolicy, WTFMove(topOrigin), timeOrigin, referrerPolicy, connectionProxy, socketProvider)

s/const ReferrerPolicy&amp;/ReferrerPolicy/ here and elsewhere

&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:98
&gt; +    return m_referrerPolicy;

We should be able to implement it in WorkerGlobalScope directly.

&gt; Source/WebCore/workers/WorkerGlobalScope.h:146
&gt; +    mutable ReferrerPolicy m_referrerPolicy;

Why adding mutable?
No need to make it protected, we can implement referrerPolicy getter in WorkerGlobalScope and make m_referrerPolicy private.

&gt; Source/WebCore/workers/WorkerThread.cpp:91
&gt; +    ReferrerPolicy m_referrerPolicy;

Strange that we use m_XX for struct fields. Might be good to fix this style issue as a follow-up.

&gt; Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:163
&gt; +    return m_referrerPolicy;

Can we just compute this value from data and pass it to WorkerGlobalScope constructor?

&gt; Source/WebCore/worklets/WorkletGlobalScope.cpp:171
&gt; +    return ReferrerPolicy::NoReferrer;

We should probably return m_referrerPolicy and make it final.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610757</commentid>
    <comment_count>27</comment_count>
      <attachid>388708</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 10:54:44 -0800</bug_when>
    <thetext>Created attachment 388708
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610780</commentid>
    <comment_count>28</comment_count>
      <attachid>388694</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 11:30:07 -0800</bug_when>
    <thetext>Comment on attachment 388694
Patch

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

&gt;&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:56
&gt;&gt; +    : WorkerGlobalScope(url, WTFMove(origin), identifier, userAgent, isOnline, thread, shouldBypassMainWorldContentSecurityPolicy, WTFMove(topOrigin), timeOrigin, referrerPolicy, connectionProxy, socketProvider)
&gt; 
&gt; s/const ReferrerPolicy&amp;/ReferrerPolicy/ here and elsewhere

I believe I used const ReferrerPolicy&amp; in all parameter lists.

&gt;&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:98
&gt;&gt; +    return m_referrerPolicy;
&gt; 
&gt; We should be able to implement it in WorkerGlobalScope directly.

Ah, that is what I did not get, done.

&gt;&gt; Source/WebCore/workers/WorkerGlobalScope.h:146
&gt;&gt; +    mutable ReferrerPolicy m_referrerPolicy;
&gt; 
&gt; Why adding mutable?
&gt; No need to make it protected, we can implement referrerPolicy getter in WorkerGlobalScope and make m_referrerPolicy private.

Nice, as I said above I did not see this, done.

&gt;&gt; Source/WebCore/workers/WorkerThread.cpp:91
&gt;&gt; +    ReferrerPolicy m_referrerPolicy;
&gt; 
&gt; Strange that we use m_XX for struct fields. Might be good to fix this style issue as a follow-up.

Sure, can do.

&gt;&gt; Source/WebCore/workers/service/ServiceWorkerGlobalScope.cpp:163
&gt;&gt; +    return m_referrerPolicy;
&gt; 
&gt; Can we just compute this value from data and pass it to WorkerGlobalScope constructor?

Done.

&gt;&gt; Source/WebCore/worklets/WorkletGlobalScope.cpp:171
&gt;&gt; +    return ReferrerPolicy::NoReferrer;
&gt; 
&gt; We should probably return m_referrerPolicy and make it final.

I made it final. There is no m_referrerPolicy, WorkletGlobalScope does not derive from WorkerGlobalScope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1610809</commentid>
    <comment_count>29</comment_count>
      <attachid>388694</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-24 12:13:29 -0800</bug_when>
    <thetext>Comment on attachment 388694
Patch

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

&gt;&gt;&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.cpp:56
&gt;&gt;&gt; +    : WorkerGlobalScope(url, WTFMove(origin), identifier, userAgent, isOnline, thread, shouldBypassMainWorldContentSecurityPolicy, WTFMove(topOrigin), timeOrigin, referrerPolicy, connectionProxy, socketProvider)
&gt;&gt; 
&gt;&gt; s/const ReferrerPolicy&amp;/ReferrerPolicy/ here and elsewhere
&gt; 
&gt; I believe I used const ReferrerPolicy&amp; in all parameter lists.

Oops, I misread the suggestion, will fix tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611041</commentid>
    <comment_count>30</comment_count>
      <attachid>388775</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-25 08:18:40 -0800</bug_when>
    <thetext>Created attachment 388775
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611049</commentid>
    <comment_count>31</comment_count>
      <attachid>388708</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-01-25 09:09:15 -0800</bug_when>
    <thetext>Comment on attachment 388708
Patch

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

&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.h:53
&gt; +    static Ref&lt;DedicatedWorkerGlobalScope&gt; create(const URL&amp;, Ref&lt;SecurityOrigin&gt;&amp;&amp;, const String&amp; name, const String&amp; identifier, const String&amp; userAgent, bool isOnline, DedicatedWorkerThread&amp;, const ContentSecurityPolicyResponseHeaders&amp;, bool shouldBypassMainWorldContentSecurityPolicy, Ref&lt;SecurityOrigin&gt;&amp;&amp; topOrigin, MonotonicTime timeOrigin, const ReferrerPolicy&amp;, IDBClient::IDBConnectionProxy*, SocketProvider*);

I think we need to move to a structure. This is simply too many arguments to a function.

&gt; Source/WebCore/workers/DedicatedWorkerThread.h:53
&gt; +    Ref&lt;WorkerGlobalScope&gt; createWorkerGlobalScope(const URL&amp;, Ref&lt;SecurityOrigin&gt;&amp;&amp;, const String&amp; name, const String&amp; identifier, const String&amp; userAgent, bool isOnline, const ContentSecurityPolicyResponseHeaders&amp;, bool shouldBypassMainWorldContentSecurityPolicy, Ref&lt;SecurityOrigin&gt;&amp;&amp; topOrigin, MonotonicTime timeOrigin, const ReferrerPolicy&amp;) override;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611392</commentid>
    <comment_count>32</comment_count>
      <attachid>388856</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-27 07:10:57 -0800</bug_when>
    <thetext>Created attachment 388856
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611414</commentid>
    <comment_count>33</comment_count>
      <attachid>388860</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-27 08:08:12 -0800</bug_when>
    <thetext>Created attachment 388860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611519</commentid>
    <comment_count>34</comment_count>
      <attachid>388882</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-27 12:34:39 -0800</bug_when>
    <thetext>Created attachment 388882
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1611600</commentid>
    <comment_count>35</comment_count>
      <attachid>388708</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-01-27 14:04:01 -0800</bug_when>
    <thetext>Comment on attachment 388708
Patch

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

&gt;&gt; Source/WebCore/workers/DedicatedWorkerGlobalScope.h:53
&gt;&gt; +    static Ref&lt;DedicatedWorkerGlobalScope&gt; create(const URL&amp;, Ref&lt;SecurityOrigin&gt;&amp;&amp;, const String&amp; name, const String&amp; identifier, const String&amp; userAgent, bool isOnline, DedicatedWorkerThread&amp;, const ContentSecurityPolicyResponseHeaders&amp;, bool shouldBypassMainWorldContentSecurityPolicy, Ref&lt;SecurityOrigin&gt;&amp;&amp; topOrigin, MonotonicTime timeOrigin, const ReferrerPolicy&amp;, IDBClient::IDBConnectionProxy*, SocketProvider*);
&gt; 
&gt; I think we need to move to a structure. This is simply too many arguments to a function.

Turned out to be quite some work somehow. Done.

&gt;&gt; Source/WebCore/workers/DedicatedWorkerThread.h:53
&gt;&gt; +    Ref&lt;WorkerGlobalScope&gt; createWorkerGlobalScope(const URL&amp;, Ref&lt;SecurityOrigin&gt;&amp;&amp;, const String&amp; name, const String&amp; identifier, const String&amp; userAgent, bool isOnline, const ContentSecurityPolicyResponseHeaders&amp;, bool shouldBypassMainWorldContentSecurityPolicy, Ref&lt;SecurityOrigin&gt;&amp;&amp; topOrigin, MonotonicTime timeOrigin, const ReferrerPolicy&amp;) override;
&gt; 
&gt; Ditto.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616079</commentid>
    <comment_count>36</comment_count>
      <attachid>388882</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-07 01:11:14 -0800</bug_when>
    <thetext>Comment on attachment 388882
Patch

Clearing flags on attachment: 388882

Committed r256012: &lt;https://trac.webkit.org/changeset/256012&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1616080</commentid>
    <comment_count>37</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2020-02-07 01:11:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388287</attachid>
            <date>2020-01-21 02:17:33 -0800</date>
            <delta_ts>2020-01-23 00:04:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200121111732.patch</filename>
            <type>text/plain</type>
            <size>2520</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0ODQ1CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA1ZTliODIwMjVmZWE2YzE0Nzk2Y2I2NWE5ZjcwNDIzZWQwMjZkMzBlLi5mNTlhNzFhOWNk
OTlhMzlmNWJkYTVhZDAzMmRlYzQ0MTNiZWFlNTk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAyMC0wMS0yMSAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIEZpeCBmZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2lu
LXdvcmtlci5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMDY1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBGaXggZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIuaHRtbCBi
eSBhZGRpbmcKKyAgICAgICAgcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sLmhlYWRlcnMsIHdo
aWNoIGdvdCBsb3N0IGluIHRoZQorICAgICAgICBhdXRvbWF0ZWQgaW1wb3J0IHByb2Nlc3MuCisK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVy
LW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sLmhlYWRlcnM6
IEFkZGVkLgorCiAyMDIwLTAxLTIwICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNv
bnkuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyNTQ4MDcuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVz
L3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYx
YmVjMThjMGNhNzkyZjMwZWFmNTUzZDIxZWUuLjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMz
ZTJkYTY3MjhlNzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0
CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNz
ZXJ0X2VxdWFsczogcmVxdWVzdCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8g
ZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhv
c3Q6ODgwMC9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgot
RkFJTCBDcm9zcy1vcmlnaW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2lu
IGFzc2VydF9lcXVhbHM6IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4
MDAvIGV4cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9j
YWxob3N0Ojg4MDAvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1
YiIKK1BBU1MgUmVxdWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2lu
IHJlZmVycmVyIGlzIG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiAKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9s
aWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sLmhlYWRlcnMgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJl
ci1vcmlnaW4td29ya2VyLmh0bWwuaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YjI5NzM5YmJkZGUzYWU1
YWQ4M2JkYWVkMWY2OWVhOTY2Y2Y4MzUzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJy
ZXItb3JpZ2luLXdvcmtlci5odG1sLmhlYWRlcnMKQEAgLTAsMCArMSBAQAorUmVmZXJyZXItUG9s
aWN5OiBvcmlnaW4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388417</attachid>
            <date>2020-01-22 05:40:55 -0800</date>
            <delta_ts>2020-01-23 00:04:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200122144053.patch</filename>
            <type>text/plain</type>
            <size>2414</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTE2CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCA3YmM5Yzg2ZDM2NDMyNzliYjM4MmIwOGM3YzQyOTkzN2ZkYzc5MjAxLi5hNThmODZkMGUx
NDc1NDI0ZjFmMDAwNzQyNzZmYWQzOGQ4NjM0N2RkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0wMS0yMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIEZpeCBmZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2lu
LXdvcmtlci5odG1sCisgICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjA2NTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmV2ZXJ0LCBpdCB3YXMgdGhlIHdyb25nIHdheSB0byBmaXggdGhpcworCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4t
d29ya2VyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIuaHRtbC5oZWFkZXJzOiBSZW1vdmVk
LgorCiAyMDIwLTAxLTIxICBDb21taXQgUXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4K
IAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjU0ODA3IGFuZCByMjU0ODQ5Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xp
Y2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCA0OWMyZWFiNmEy
NDc5MGRkMTFlNGUxM2ZkMjMzM2UyZGE2NzI4ZTcxLi5jMjI2MjUxNDBmYmE2MWJlYzE4YzBjYTc5
MmYzMGVhZjU1M2QyMWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2Vy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVk
LnR4dApAQCAtMSw0ICsxLDQgQEAKIAotUEFTUyBSZXF1ZXN0J3MgcmVmZXJyZXIgaXMgb3JpZ2lu
IAotUEFTUyBDcm9zcy1vcmlnaW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3Jp
Z2luIAorRkFJTCBSZXF1ZXN0J3MgcmVmZXJyZXIgaXMgb3JpZ2luIGFzc2VydF9lcXVhbHM6IHJl
cXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVkICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvZmV0Y2gv
YXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK0ZBSUwgQ3Jvc3Mtb3Jp
Z2luIHJlZmVycmVyIGlzIG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiBhc3NlcnRfZXF1YWxz
OiByZXF1ZXN0J3MgcmVmZXJyZXIgaXMgaHR0cDovL2xvY2FsaG9zdDo4ODAwLyBleHBlY3RlZCAi
aHR0cDovL2xvY2FsaG9zdDo4ODAwLyIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL2Zl
dGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4uanM/cGlwZT1zdWIiCiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIuaHRtbC5oZWFkZXJzIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVm
ZXJyZXItb3JpZ2luLXdvcmtlci5odG1sLmhlYWRlcnMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDViMjk3MzliYmRkZTNhZTVhZDgzYmRhZWQxZjY5ZWE5NjZjZjgzNTMuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3Jp
Z2luLXdvcmtlci5odG1sLmhlYWRlcnMKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1SZWZl
cnJlci1Qb2xpY3k6IG9yaWdpbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388522</attachid>
            <date>2020-01-23 00:04:11 -0800</date>
            <delta_ts>2020-01-23 09:16:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200123090409.patch</filename>
            <type>text/plain</type>
            <size>38831</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGI1MDdlN2UyNjExYWEx
MDJkM2YzYjI2Y2FiMmViYTM4MzZkMzZkYi4uMDcwNDEyNmFlYmMzODlkOTBjOTAxZGRmMTZjYTQx
Y2FlYmI5ZTU5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIwLTAxLTIyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdJUAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRj
aExvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGZXRjaExvYWRlcjo6c3RhcnQpOgorICAg
ICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlZmVy
cmVyUG9saWN5IGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9u
Q29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFk
OjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29y
a2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3Jr
ZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5
OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBE
YXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKToKKyAg
ICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckds
b2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vy
dmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAgIChXZWJDb3Jl
OjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAg
ICogd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oOgorICAgICAg
ICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiB3b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaDoKKwogMjAyMC0wMS0yMiAgRGF2aWQgS2lsemVyICA8
ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNTQ4OTMpOiBBcHBs
ZSBXaW4gMTAgRGVidWcgYnVpbGQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Zl
dGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBkMjE2NjI0YzJkMzgzNDM3ZDliYjM1MWY0ZDVkN2Rm
NGU3NTNiYjM2Li43N2ZjNmU1ZDJiZjc3ZjliZDUzMzY4Y2U3M2FhNDYwZGFiZjZjN2QzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApAQCAtMTEzLDYg
KzExMyw4IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgICAgIHJlZmVycmVyID0gU3Ry
aW5nKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHJlZmVycmVyID0gKHJlZmVycmVyID09ICJjbGll
bnQiKSA/IGNvbnRleHQudXJsKCkuc3RyaXBwZWRGb3JVc2VBc1JlZmVycmVyKCkgOiBVUkwoY29u
dGV4dC51cmwoKSwgcmVmZXJyZXIpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigpOworICAgIGlm
IChvcHRpb25zLnJlZmVycmVyUG9saWN5ID09IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZykK
KyAgICAgICAgb3B0aW9ucy5yZWZlcnJlclBvbGljeSA9IGNvbnRleHQucmVmZXJyZXJQb2xpY3ko
KTsKIAogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKGNvbnRleHQsICp0
aGlzLCBXVEZNb3ZlKGZldGNoUmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsK
ICAgICBtX2lzU3RhcnRlZCA9IG1fbG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCAzYWNi
NjIyYzlkZjIwYWU0YjYyMmI3ZGY4Y2U1ZmNkOTg5MTUwZjMxLi43YjdlZjFmMjk5N2Y0OTFlYjY3
NWZjYTZlNmZmMjE2ZWI4NDRmNGMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNDIwLDcgKzQy
MCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBzZXRSZWZlcnJlclBvbGljeShSZWZl
cnJlclBvbGljeSk7Ci0gICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7
IHJldHVybiBtX3JlZmVycmVyUG9saWN5LnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6Ok5vUmVmZXJy
ZXJXaGVuRG93bmdyYWRlKTsgfQorICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJlZmVycmVy
UG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7IH0KIAogICAgIFdFQkNPUkVfRVhQT1JU
IERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA3YWEzYTVkYzAyYjc5OTNkOTRmYWIzMzExMmJl
Y2E1ZDhkZTRmYzdkLi4wMDgzMWEyNjBiNTM3YTAwOTNhODgxMmRhNGJhNWZmZDVjMjU1NmE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAgLTY1LDYg
KzY1LDcgQEAgY2xhc3MgUmVqZWN0ZWRQcm9taXNlVHJhY2tlcjsKIGNsYXNzIFJlc291cmNlUmVx
dWVzdDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU29ja2V0UHJvdmlkZXI7CitlbnVt
IGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3MgVGFza1NvdXJjZSA6
IHVpbnQ4X3Q7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCkBAIC05OSw2ICsxMDAsOCBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJMJikgY29u
c3QgPSAwOwogCisgICAgdmlydHVhbCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNv
bnN0ID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBTdHJpbmcmIGVy
cm9yTWVzc2FnZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlV2ViQXNzZW1ibHkoY29u
c3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBhMTRjN2U2N2E4
YTVhODEyZjE0YTBkNGFjOTg5YmVlYzY2M2E0ODNmLi4zNmE1ZTI2MTRlZGFiYzAwZWUyYWYyMzYz
ODEzODJiMzY5MjJiMWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNDQsMTcgKzQ0LDE4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKTsKIAotUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdv
cmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3Zp
ZGVyKQorUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3Jp
Z2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYg
dGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4s
IE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmIHJlZmVycmVy
UG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBT
b2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCiB7Ci0gICAgYXV0byBjb250ZXh0ID0gYWRv
cHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2lu
KSwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwg
dGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikpOworICAgIGF1dG8g
Y29udGV4dCA9IGFkb3B0UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCBX
VEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRo
cmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3Zl
KHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBjb25uZWN0aW9uUHJveHks
IHNvY2tldFByb3ZpZGVyKSk7CiAgICAgaWYgKCFzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3kpCiAgICAgICAgIGNvbnRleHQtPmFwcGx5Q29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyk7
CiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CiAKLURlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94
eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGlj
YXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3ks
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKICAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RG
TW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmln
aW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQogICAgICwg
bV9uYW1lKG5hbWUpCisgICAgLCBtX3JlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5KQogewog
fQogCkBAIC05Myw0ICs5NCw5IEBAIERlZGljYXRlZFdvcmtlclRocmVhZCYgRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PERlZGljYXRl
ZFdvcmtlclRocmVhZCY+KEJhc2U6OnRocmVhZCgpKTsKIH0KIAorUmVmZXJyZXJQb2xpY3kgRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9yZWZlcnJlclBvbGljeTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5o
CmluZGV4IDFiYzk2YTkxNTNkZmNjYjBjZWM2ZGQwZTQ5MGU3OWE3ZjRmMjRmYTkuLjFmNzk1NzM5
M2YzNGZmNGE3MGIyMjM2YWVjNWI4ZTAwNzcyOGIyNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTUwLDExICs1MCwx
MyBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiBjbGFzcyBEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAgV1RGX01B
S0VfSVNPX0FMTE9DQVRFRChEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk7CiBwdWJsaWM6Ci0g
ICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFVS
TCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7Cisg
ICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNvbnN0IFVS
TCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiwgU29ja2V0UHJvdmlkZXIqKTsKICAgICB2aXJ0dWFsIH5EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZSgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1l
OyB9CiAKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IG92ZXJyaWRl
OworCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2JhbE9iamVj
dCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBQb3N0TWVzc2FnZU9wdGlvbnMmJik7CiAKICAgICBE
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCgpOwpAQCAtNjIsMTMgKzY0LDE0IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgdXNpbmcgQmFzZSA9IFdvcmtlckdsb2JhbFNjb3BlOwogCi0gICAg
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJy
ZXJQb2xpY3kmLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVy
Kik7CiAKICAgICBib29sIGlzRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gaW1wb3J0U2NyaXB0cyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykgZmluYWw7CiAgICAgRXZlbnRUYXJnZXRJbnRlcmZh
Y2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKIAogICAgIFN0cmluZyBtX25h
bWU7CisgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmNwcAppbmRleCA3ZDVlMjA3YWE0ODVkZjU0MDRiNGIyM2QzYTdkYTU0ZDg0YjY4
NTFkLi4zZmU3ZjExMWUxZmEyZWI4ZjU4NmE1MDA3NDEyMjU3NTViMzViYWVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCkBAIC0zOCwx
NyArMzgsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZWRpY2F0ZWRXb3JrZXJUaHJl
YWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5
JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29ya2VyRGVidWdnZXJQ
cm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJlYWRT
dGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3Zp
ZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCi0gICAgOiBXb3JrZXJUaHJlYWQo
dXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCB3
b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2JqZWN0UHJveHks
IHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGltZU9yaWdp
biwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKQorRGVkaWNh
dGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiB1cmwsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3Jr
ZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIHdv
cmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJPYmplY3RQcm94eSwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBT
ZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0
IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBK
U0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBXb3JrZXJUaHJlYWQodXJsLCBu
YW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCB3b3JrZXJM
b2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2JqZWN0UHJveHksIHN0YXJ0
TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGltZU9yaWdpbiwgcmVm
ZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFn
cykKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkod29ya2VyT2JqZWN0UHJveHkpCiB7CiB9CiAK
IERlZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVhZCgpID0gZGVmYXVs
dDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYg
b3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQor
UmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2lu
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBS
ZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3kpCiB7Ci0gICAgcmV0dXJuIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50
aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9uUHJveHkoKSwg
c29ja2V0UHJvdmlkZXIoKSk7CisgICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
OjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2Vu
dCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BP
cmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgaWRiQ29ubmVjdGlvblByb3h5KCks
IHNvY2tldFByb3ZpZGVyKCkpOwogfQogCiB2b2lkIERlZGljYXRlZFdvcmtlclRocmVhZDo6cnVu
RXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRo
cmVhZC5oCmluZGV4IGNjNDlmOWU5OTU1MDlkMThlMzFmZGFmZWYxMzNhMmYyZDBhN2U0ZjIuLmZj
Y2UzOTdhYTA5Y2MyZDBmNDZlZjExNjc1M2VhYjBkNjczMTFiYzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaApAQCAtNTAsMTEgKzUwLDExIEBA
IHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0KCkgeyBXb3JrZXJUaHJlYWQ6OnN0YXJ0KG51bGxwdHIp
OyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
KSBvdmVycmlkZTsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2Jh
bFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25z
dCBSZWZlcnJlclBvbGljeSYpIG92ZXJyaWRlOwogICAgIHZvaWQgcnVuRXZlbnRMb29wKCkgb3Zl
cnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYs
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94
eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlcios
IEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3QgVVJM
JiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlck9iamVjdFBy
b3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CiAKICAgICBXb3Jr
ZXJPYmplY3RQcm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dv
cmtlci5jcHAKaW5kZXggYzNkZTQ0NjBmNzQ0ODQ3N2JhOWMxYTIyOTdmMmQyNzFkMjkzNGMxYi4u
YzNjYmQ5MzQ2NjBlOGYzOWE2MTFjZThiMzYyOGY0OWQ0NjY3ZjMxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyLmNwcApAQCAtMjExLDcgKzIxMSwxMCBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5Rmlu
aXNoZWQoKQogCiAgICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2Fk
ZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzID0g
bV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPyBtX2NvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4dC0+Y29udGVudFNlY3VyaXR5
UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwotICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVz
ZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGlt
ZSwgbV9ydW50aW1lRmxhZ3MpOworICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0g
UmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOworICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNl
UmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVy
UG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9s
aWN5OworICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRM
b2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+
dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fcnVu
dGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVk
KCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+
c2NyaXB0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ckdsb2JhbFNjb3BlUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGVQcm94eS5oCmluZGV4IDc0YzY0OGI5Y2M4MDY0MGViNjU3MDkyMGVlMTg2YjgwZjhmY2Zm
NzguLjE0YTRmMWQwMzM3ODJlNmJiMTNmNmEwZGRiMzBhNGUxM2U3ODAwOWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC0zOSwxMyAr
MzksMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnM7CiBjbGFzcyBXb3JrZXI7CitlbnVtIGNsYXNzIFJlZmVycmVyUG9s
aWN5IDogdWludDhfdDsKIAogLy8gQSBwcm94eSB0byB0YWxrIHRvIHRoZSB3b3JrZXIgY29udGV4
dC4KIGNsYXNzIFdvcmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBX
b3JrZXJHbG9iYWxTY29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZv
aWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZp
cnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5Jiwg
SlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2Vy
R2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJH
bG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggNDYwMzdmYTE4MDU4MTU0OGIy
NWNiZWU2NzRmNjA5ZjAzZGFkNjZlNi4uNTNhMTA0NWM3MmQ4M2QyNDRlYWI2NjlkOTJiMjgwMjUz
OWZkZjgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJN
ZXNzYWdpbmdQcm94eSgpCiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCkgJiYgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCptX3Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6OmN1cnJl
bnQoKSkpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVG
bGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBS
ZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVG
bGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdl
IHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk7CkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6
OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0CiAK
ICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVudC5zb2NrZXRQcm92
aWRlcigpOwogCi0gICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZShzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJj
ZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCBwcm94eSwgc29ja2V0UHJv
dmlkZXIsIHJ1bnRpbWVGbGFncyk7CisgICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNP
bmxpbmUsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCByZWZl
cnJlclBvbGljeSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAg
d29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwogICAgIHRocmVhZC0+c3RhcnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCBm
ZDU1NGUxNDEyZmU4NjViMDkxMjYwNmVhMzcwOGFiZmQ1NzQxN2ViLi5iODMzNGRkZjFjZDhkY2Jl
NzY0MzI5YTUyZTRlNjg5M2M0NzRhNTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAg
Ly8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQu
KQotICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgZmlu
YWw7CisgICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5
JiwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xv
YmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29w
ZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAgICBib29sIGhhc1BlbmRpbmdB
Y3Rpdml0eSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQu
Y3BwCmluZGV4IGY4ZTM2ZGUyODQwYTljY2M2ZWU5ZDllZjcwOGVjY2M5MTk2OGE2NjguLjZmZjA4
YTA3OTI0NjM3OTJhOGVhNDMyY2Y0MjhiMjc2ZTVlMWI3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgdW5zaWduZWQgV29ya2VyVGhy
ZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiBzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEg
ewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1cERh
dGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2lu
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pOworICAgIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRh
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpOwogCiAgICAg
VVJMIG1fc2NyaXB0VVJMOwogICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gbV9vcmlnaW47CkBAIC04
OCw5ICs4OCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIFJlZjxTZWN1
cml0eU9yaWdpbj4gbV90b3BPcmlnaW47CiAgICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47
CisgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsKIH07CiAKLVdvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUs
IFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQorV29y
a2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSkKICAgICA6IG1fc2NyaXB0
VVJMKHNjcmlwdFVSTC5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fb3JpZ2luKFNlY3VyaXR5T3Jp
Z2luOjpjcmVhdGUobV9zY3JpcHRVUkwpLT5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fbmFtZShu
YW1lLmlzb2xhdGVkQ29weSgpKQpAQCAtMTAzLDE2ICsxMDQsMTcgQEAgV29ya2VyVGhyZWFkU3Rh
cnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHIKICAgICAsIG1faXNPbmxpbmUoaXNPbmxpbmUpCiAgICAgLCBtX3RvcE9yaWdpbih0
b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3RpbWVPcmlnaW4odGltZU9yaWdpbikK
KyAgICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3kpCiB7CiB9CiAKLVdvcmtlclRo
cmVhZDo6V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkm
IHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclBy
b3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRo
cmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlP
cmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0
UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK1dvcmtlclRocmVhZDo6
V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtl
ckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBX
b3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0
YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4m
IHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGlj
eSYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0
aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxh
Z3MgcnVudGltZUZsYWdzKQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIuaXNvbGF0ZWRD
b3B5KCkpCiAgICAgLCBtX3dvcmtlckxvYWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAg
ICwgbV93b3JrZXJEZWJ1Z2dlclByb3h5KHdvcmtlckRlYnVnZ2VyUHJveHkpCiAgICAgLCBtX3dv
cmtlclJlcG9ydGluZ1Byb3h5KHdvcmtlclJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9ydW50aW1l
RmxhZ3MocnVudGltZUZsYWdzKQotICAgICwgbV9zdGFydHVwRGF0YShtYWtlVW5pcXVlPFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhPihzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2Vu
dCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIHRvcE9yaWdpbiwgdGltZU9yaWdpbikpCisgICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlx
dWU8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwg
dXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSkpCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLCBtX2lkYkNvbm5lY3Rpb25Qcm94eShjb25u
ZWN0aW9uUHJveHkpCiAjZW5kaWYKQEAgLTE2OCw3ICsxNzAsNyBAQCB2b2lkIFdvcmtlclRocmVh
ZDo6d29ya2VyVGhyZWFkKCkKICAgICAgICAgLy8gd2hpbGUgV29ya2VyVGhyZWFkOjpzdG9wKCkg
aXMgYWNjZXNzaW5nIGl0LiBOb3RlIHRoYXQgV29ya2VyVGhyZWFkOjpzdG9wKCkgY2FuCiAgICAg
ICAgIC8vIGJlIGNhbGxlZCBiZWZvcmUgd2UndmUgZmluaXNoZWQgY3JlYXRpbmcgdGhlIFdvcmtl
ckdsb2JhbFNjb3BlLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90aHJlYWRDcmVhdGlvbkFu
ZFdvcmtlckdsb2JhbFNjb3BlTXV0ZXgpOwotICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlID0g
Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwsIFdURk1v
dmUobV9zdGFydHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX25hbWUsIG1fc3Rh
cnR1cERhdGEtPm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+bV91c2VyQWdlbnQsIG1fc3Rh
cnR1cERhdGEtPm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3Nob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX3RvcE9yaWdp
biksIG1fc3RhcnR1cERhdGEtPm1fdGltZU9yaWdpbik7CisgICAgICAgIG1fd29ya2VyR2xvYmFs
U2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVS
TCwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fbmFt
ZSwgbV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2Vu
dCwgbV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1f
dG9wT3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luLCBtX3N0YXJ0dXBEYXRhLT5t
X3JlZmVycmVyUG9saWN5KTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVyID0gbV93b3JrZXJH
bG9iYWxTY29wZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5o
CmluZGV4IDE0ZWViZjE0NTE4ZWNhNmJmMjcxZjQ1M2EwNTM1MmE2NTFkNjcyNzMuLjZlNjkwNWYy
YTc3YTAzZTU2NzM5OWQ5NDk1ZjYyOWJiYTczMGNkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuaApAQCAtOTAsMTAgKzkwLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWRl
bnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiBwcm90ZWN0ZWQ6Ci0g
ICAgV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVn
Z2VyUHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBX
b3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25z
dCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQ
cm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYs
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1
bnRpbWVGbGFncyk7CiAKICAgICAvLyBGYWN0b3J5IG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBuZXcg
d29ya2VyIGNvbnRleHQgZm9yIHRoZSB0aHJlYWQuCi0gICAgdmlydHVhbCBSZWY8V29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luKSA9IDA7CisgICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFs
U2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpID0gMDsKIAogICAgIC8v
IEV4ZWN1dGVzIHRoZSBldmVudCBsb29wIGZvciB0aGUgd29ya2VyIHRocmVhZC4gRGVyaXZlZCBj
bGFzc2VzIGNhbiBvdmVycmlkZSB0byBwZXJmb3JtIGFjdGlvbnMgYmVmb3JlL2FmdGVyIGVudGVy
aW5nIHRoZSBldmVudCBsb29wLgogICAgIHZpcnR1YWwgdm9pZCBydW5FdmVudExvb3AoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xv
YmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZDE4ZDEzNjA3ODJmNTEwMWY0ZjkzYjJkZjdmMGYxMmIw
NWEwNDBlOC4uMGVkZmQ4MDJkN2EzNGU0NjQwOTlkNzY5NGIzYWIzMzRmYWUxMzA0YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1NCw2ICsxNTQsMTMgQEAgdm9pZCBTZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGU6OnNldFNjcmlwdFJlc291cmNlKGNvbnN0IFVSTCYgdXJsLCBTZXJ2aWNlV29y
a2VyQ28KICAgICBtX2NvbnRleHREYXRhLnNjcmlwdFJlc291cmNlTWFwLnNldCh1cmwsIFdURk1v
dmUoc2NyaXB0KSk7CiB9CiAKK1JlZmVycmVyUG9saWN5IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZTo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAoreworICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNl
UmVmZXJyZXJQb2xpY3kobV9jb250ZXh0RGF0YS5yZWZlcnJlclBvbGljeSwgUmVmZXJyZXJQb2xp
Y3lTb3VyY2U6OkhUVFBIZWFkZXIpKQorICAgICAgICByZXR1cm4gKnBvbGljeTsKKyAgICByZXR1
cm4gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmggYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgK
aW5kZXggOTU2MDdhNWZkNDNkNmYyNDkwOGZkMWVjMTFmMTE5NWFmNWRmODFlMy4uMmJkMjFjYjNj
NjdhNDQ4NTViMjFlM2U4OTE4OGQ3NWY5YTg2ZTVjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaApAQCAt
NjgsNiArNjgsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRh
OjpJbXBvcnRlZFNjcmlwdCogc2NyaXB0UmVzb3VyY2UoY29uc3QgVVJMJikgY29uc3Q7CiAgICAg
dm9pZCBzZXRTY3JpcHRSZXNvdXJjZShjb25zdCBVUkwmLCBTZXJ2aWNlV29ya2VyQ29udGV4dERh
dGE6OkltcG9ydGVkU2NyaXB0JiYpOwogCisKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBv
bGljeSgpIGNvbnN0IG92ZXJyaWRlOworCiBwcml2YXRlOgogICAgIFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmLCBjb25zdCBVUkwmLCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZC5jcHAKaW5kZXggM2JmNzEzOWZmMTY3MDhhNGFkMjY0M2FlMGIyZTE4YjJkZWQzNzY4Ni4u
OTFhYmE1NjVkNTRlZTVhMDJlNzBlMjgzMzc4NDE4NTdmZDQ5ZGMxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlclRocmVhZC5jcHAKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToKIC8vIEZJWE1FOiBVc2Ug
dmFsaWQgcnVudGltZSBmbGFncwogCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2Vy
VGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgU3RyaW5nJiYgdXNl
ckFnZW50LCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJv
eHkmIGRlYnVnZ2VyUHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBpZGJDb25u
ZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtl
clRocmVhZChkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiAr
IEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1v
dmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlz
T25MaW5lKCksIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlT
ZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6
Ok5vcm1hbCwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBkYXRhLnJlZ2lzdHJh
dGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgTW9ub3RvbmljVGlt
ZTo6bm93KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGlt
ZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCisgICAgOiBXb3JrZXJUaHJlYWQoZGF0YS5zY3Jp
cHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50
aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBs
YXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLnNj
cmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVh
ZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEuY29u
dGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdp
bigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIE1vbm90b25pY1RpbWU6Om5vdygpLCB7IH0sIGlk
YkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVh
dGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAs
IG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJl
ZCgpKQogICAgICwgbV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRv
bigpLmNvbm5lY3Rpb24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1l
b3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRpbWVvdXQpCkBAIC04NCw3ICs4NCw3IEBAIFNlcnZpY2VX
b3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiBkYXRhLCBTCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6On5TZXJ2aWNlV29ya2VyVGhy
ZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJU
aHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQorUmVm
PFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmKQogewog
ICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKICAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNj
b3BlOjpjcmVhdGUobV9kYXRhLCB1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRp
bWVPcmlnaW4sIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZp
Y2VXb3JrZXJUaHJlYWQuaAppbmRleCBjMTQ3OTllY2QyYjMyMDA1NDRjNWFmZTNlMTU2M2MxNjgz
MTk5MjY2Li4zMzg2ZjIxZTM3NzE0MDc0ODYyMTUwNjFkNjFmMTY3ZTIwM2ZiZTAyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vy
dmljZVdvcmtlclRocmVhZC5oCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0
b3BGZXRjaEV2ZW50TW9uaXRvcmluZygpIHsgbV9pc0hhbmRsaW5nRmV0Y2hFdmVudCA9IGZhbHNl
OyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
KSBmaW5hbDsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNj
b3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBS
ZWZlcnJlclBvbGljeSYpIGZpbmFsOwogICAgIHZvaWQgcnVuRXZlbnRMb29wKCkgb3ZlcnJpZGU7
CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0
R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNj
b3BlLmNwcAppbmRleCBjMTIxZGI2MzVlZDE0ZGFlMTc4YTNmYmIyZDUyZGU4NmFkOWM1YjQyLi42
ZTRhOTU1ZTBhNTBhNWFlNTRkOThjYTdhMDc5NGFjMWU5ZDc5YTQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTE2Niw1ICsxNjYsMTAg
QEAgdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY28KICAgICBtX2RvY3VtZW50LT5hZGRNZXNzYWdlKHNv
dXJjZSwgbGV2ZWwsIG1lc3NhZ2VUZXh0LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51
bWJlciwgV1RGTW92ZShjYWxsU3RhY2spLCBudWxscHRyLCByZXF1ZXN0SWRlbnRpZmllcik7CiB9
CiAKK1JlZmVycmVyUG9saWN5IFdvcmtsZXRHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xpY3koKSBj
b25zdAoreworICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcjsKK30KKwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dv
cmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGJjNDQxMWVmMzcyN2YyNDFmNTZjZjk3NWUyYmJkNjQ2
YjNmNzkyZmEuLjQyYzNhNWJlNjkxYWM5Y2JmYWUzNmEyYzA2OTY1MzFkODA5NmRhYzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCkBAIC02Myw2ICs2
Myw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9jb2RlLnVybCgpOyB9CiAKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgp
IGNvbnN0IG92ZXJyaWRlOworCiAgICAgdm9pZCBldmFsdWF0ZSgpOwogCiAgICAgdXNpbmcgUmVm
Q291bnRlZDo6cmVmOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388552</attachid>
            <date>2020-01-23 09:16:52 -0800</date>
            <delta_ts>2020-01-23 11:28:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200123181649.patch</filename>
            <type>text/plain</type>
            <size>40445</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY2NjY1NTYxNWZkN2Nm
NDljYzliNjZlNjkxNzU2Nzc3ODBmYzEwZC4uMjkzMWFlNjlkNmJjZWU5MGJkNmY3NTI5MjFlNzhk
ZGJjZjA0YWU5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUwIEBACisyMDIwLTAxLTIzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdJUAorCisgICAgICAgIFRlc3Q6IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3Jr
ZXIuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpGZXRjaExvYWRlcjo6c3RhcnQpOgorICAgICAgICAqIGRvbS9Eb2N1bWVu
dC5oOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OnJlZmVycmVyUG9saWN5IGNvbnN0KTog
RGVsZXRlZC4KKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAg
ICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGUpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVy
cmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJl
YWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
b3JrZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2Jh
bFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2Vy
VGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdl
YkNvcmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlclRocmVhZDo6d29ya2VyVGhyZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVh
ZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJl
clBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6
U2VydmljZVdvcmtlclRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhy
ZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNl
L2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmts
ZXRHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6
OnJlZmVycmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFs
U2NvcGUuaDoKKwogMjAyMC0wMS0yMyAgVGFrYXNoaSBLb21vcmkgIDxUYWthc2hpLktvbW9yaUBz
b255LmNvbT4KIAogICAgICAgICBLZXllZERlY29kZXJHZW5lcmljIGNyYXNoZXMgd2hlbiBpdCBh
Y2Nlc3NlcyBhIGRhdGEgd2l0aCBlbXB0eSBzdHJpbmcga2V5LgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBkMjE2NjI0YzJkMzgzNDM3ZDliYjM1
MWY0ZDVkN2RmNGU3NTNiYjM2Li43N2ZjNmU1ZDJiZjc3ZjliZDUzMzY4Y2U3M2FhNDYwZGFiZjZj
N2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApA
QCAtMTEzLDYgKzExMyw4IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgICAgIHJlZmVy
cmVyID0gU3RyaW5nKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHJlZmVycmVyID0gKHJlZmVycmVy
ID09ICJjbGllbnQiKSA/IGNvbnRleHQudXJsKCkuc3RyaXBwZWRGb3JVc2VBc1JlZmVycmVyKCkg
OiBVUkwoY29udGV4dC51cmwoKSwgcmVmZXJyZXIpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigp
OworICAgIGlmIChvcHRpb25zLnJlZmVycmVyUG9saWN5ID09IFJlZmVycmVyUG9saWN5OjpFbXB0
eVN0cmluZykKKyAgICAgICAgb3B0aW9ucy5yZWZlcnJlclBvbGljeSA9IGNvbnRleHQucmVmZXJy
ZXJQb2xpY3koKTsKIAogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKGNv
bnRleHQsICp0aGlzLCBXVEZNb3ZlKGZldGNoUmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVm
ZXJyZXIpKTsKICAgICBtX2lzU3RhcnRlZCA9IG1fbG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCAzYWNiNjIyYzlkZjIwYWU0YjYyMmI3ZGY4Y2U1ZmNkOTg5MTUwZjMxLi5iZjAxNTE4MWVl
NDU2Y2JjYzhjMjBmYjYyNWQ4ZjhkYTg4YjJkODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
NDIwLDcgKzQyMCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBzZXRSZWZlcnJlclBv
bGljeShSZWZlcnJlclBvbGljeSk7Ci0gICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ko
KSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5LnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6
Ok5vUmVmZXJyZXJXaGVuRG93bmdyYWRlKTsgfQorICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJl
ZmVycmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7IH0KIAogICAgIFdFQkNPUkVf
RVhQT1JUIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA3YWEzYTVkYzAyYjc5OTNkOTRmYWIz
MzExMmJlY2E1ZDhkZTRmYzdkLi4wMDgzMWEyNjBiNTM3YTAwOTNhODgxMmRhNGJhNWZmZDVjMjU1
NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAg
LTY1LDYgKzY1LDcgQEAgY2xhc3MgUmVqZWN0ZWRQcm9taXNlVHJhY2tlcjsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU29ja2V0UHJvdmlkZXI7
CitlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3MgVGFza1Nv
dXJjZSA6IHVpbnQ4X3Q7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCkBAIC05OSw2ICsx
MDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJM
JikgY29uc3QgPSAwOwogCisgICAgdmlydHVhbCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSgpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlV2ViQXNzZW1i
bHkoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBhMTRj
N2U2N2E4YTVhODEyZjE0YTBkNGFjOTg5YmVlYzY2M2E0ODNmLi4wMzk2ZWYzYjc2N2Q1YTYwYjc5
ZDk1ZDNiMzFiYmU4OWI4MzY4ZDZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNDQsMTcgKzQ0LDE4IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlKTsKIAotUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGlj
YXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyKQorUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRo
cmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlclBv
bGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQogewotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0
UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdpbiks
IG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRp
bWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpKTsKKyAgICBhdXRvIGNv
bnRleHQgPSBhZG9wdFJlZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RG
TW92ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJl
YWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0
b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29ubmVjdGlvblByb3h5LCBz
b2NrZXRQcm92aWRlcikpOwogICAgIGlmICghc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5KQogICAgICAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMpOwog
ICAgIHJldHVybiBjb250ZXh0OwogfQogCi1EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2Vy
VGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHks
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKK0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyKQogICAgIDogV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdp
biksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVP
cmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCiAgICAgLCBtX25hbWUobmFt
ZSkKKyAgICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3kpCiB7CiB9CiAKQEAgLTkz
LDQgKzk0LDExIEBAIERlZGljYXRlZFdvcmtlclRocmVhZCYgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGU6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PERlZGljYXRlZFdvcmtlclRo
cmVhZCY+KEJhc2U6OnRocmVhZCgpKTsKIH0KIAorUmVmZXJyZXJQb2xpY3kgRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICBpZiAoYXV0byBw
b2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fcmVmZXJyZXJQb2xpY3ksIFJlZmVycmVyUG9s
aWN5U291cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAgICAgcmV0dXJuICpwb2xpY3k7CisgICAgcmV0
dXJuIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZS5oCmluZGV4IDFiYzk2YTkxNTNkZmNjYjBjZWM2ZGQwZTQ5MGU3OWE3ZjRmMjRmYTku
LmNjYWJmYzhlYzE4MjU0MGRmZjUwODlhZjA0YmEyOWUzNzllNjg1Y2IgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTUw
LDExICs1MCwxMyBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiBjbGFzcyBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
KGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3Zp
ZGVyKik7CisgICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
KGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAgICAgdmlydHVhbCB+RGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUoKTsKIAogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbmFtZTsgfQogCisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ko
KSBjb25zdCBmaW5hbDsKKwogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6
SlNHbG9iYWxPYmplY3QmLCBKU0M6OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRpb25z
JiYpOwogCiAgICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQoKTsKQEAgLTYyLDEzICs2
NCwxNCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBXb3JrZXJHbG9iYWxT
Y29wZTsKIAotICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CisgICAgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRo
cmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblBy
b3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAogICAgIGJvb2wgaXNEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KICAgICBFeGNlcHRpb25Pcjx2
b2lkPiBpbXBvcnRTY3JpcHRzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiB1cmxzKSBmaW5hbDsKICAg
ICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFs
OwogCiAgICAgU3RyaW5nIG1fbmFtZTsKKyAgICBTdHJpbmcgbV9yZWZlcnJlclBvbGljeTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAppbmRleCA3ZDVlMjA3YWE0ODVkZjU0MDRiNGIyM2Qz
YTdkYTU0ZDg0YjY4NTFkLi4wYTFhY2ZlZjZjYWJiMzY2MTBiMzU3ZTlkOGUyMjlkZDUwM2JjZjAw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
Y3BwCkBAIC0zOCwxNyArMzgsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtl
ckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29y
a2VyRGVidWdnZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBX
b3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCi0gICAgOiBX
b3JrZXJUaHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBz
b3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2Vy
T2JqZWN0UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdp
biwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZs
YWdzKQorRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVn
Z2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJP
YmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVj
dGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRl
ciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQorICAgIDogV29ya2VyVGhyZWFkKHVy
bCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgd29y
a2VyTG9hZGVyUHJveHksIHdvcmtlckRlYnVnZ2VyUHJveHksIHdvcmtlck9iamVjdFByb3h5LCBz
dGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0b3BPcmlnaW4sIHRpbWVPcmlnaW4s
IHJlZmVycmVyUG9saWN5LCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1l
RmxhZ3MpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KHdvcmtlck9iamVjdFByb3h5KQogewog
fQogCiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJlYWQoKSA9IGRl
ZmF1bHQ7CiAKLVJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
bikKK1JlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9y
aWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29u
c3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSkKIHsKLSAgICByZXR1cm4gRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU6OmNyZWF0ZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRlbnRpZmll
ciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBX
VEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2Nr
ZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNy
ZWF0ZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBp
c09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdp
biksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29j
a2V0UHJvdmlkZXIoKSk7CiB9CiAKIHZvaWQgRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpydW5FdmVu
dExvb3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFk
LmgKaW5kZXggY2M0OWY5ZTk5NTUwOWQxOGUzMWZkYWZlZjEzM2EyZjJkMGE3ZTRmMi4uNmY1YjI0
NGFkZjMwYzJmYTVmMWZiYWJmMzM2OWYzNThmOWNjZmYxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCkBAIC01MCwxMSArNTAsMTEgQEAgcHVi
bGljOgogICAgIHZvaWQgc3RhcnQoKSB7IFdvcmtlclRocmVhZDo6c3RhcnQobnVsbHB0cik7IH0K
IAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xv
YmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pIG92
ZXJyaWRlOworICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0
cmluZyYgcmVmZXJyZXJQb2xpY3kpIG92ZXJyaWRlOwogICAgIHZvaWQgcnVuRXZlbnRMb29wKCkg
b3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVS
TCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3JrZXJPYmplY3RQ
cm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRl
ciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlck9iamVj
dFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOwog
CiAgICAgV29ya2VyT2JqZWN0UHJveHkmIG1fd29ya2VyT2JqZWN0UHJveHk7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGMzZGU0NDYwZjc0NDg0NzdiYTljMWEyMjk3ZjJkMjcx
ZDI5MzRjMWIuLjNiNzNkM2U2ZTNlZTljMjU5OTExYmZmMTVkMmMyZmMwMTBkODJjNmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lkIFdvcmtlcjo6
bm90aWZ5RmluaXNoZWQoKQogCiAgICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3JtU3RyYXRlZ2ll
cygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzID0gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPyBtX2NvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4dC0+Y29udGVu
dFNlY3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwotICAgIG1fY29udGV4dFByb3h5
LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNv
bnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3Jp
cHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNy
ZWF0aW9uVGltZSwgbV9ydW50aW1lRmxhZ3MpOworICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVz
ZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXIt
PnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGlt
ZSwgbV9zY3JpcHRMb2FkZXItPnJlZmVycmVyUG9saWN5KCksIG1fcnVudGltZUZsYWdzKTsKICAg
ICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3Nj
cmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJv
eHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmlu
ZGV4IDc0YzY0OGI5Y2M4MDY0MGViNjU3MDkyMGVlMTg2YjgwZjhmY2ZmNzguLjFiNmI4ZmJkYTNi
YTlhZmRmZTc2NDAyMmQxMGU0NDY5ZDI2MDQzZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC00NSw3ICs0NSw3IEBAIGNsYXNzIFdv
cmtlckdsb2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxT
Y29wZVByb3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29s
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIEpTQzo6
UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2Jh
bFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFs
U2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBo
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDQ2MDM3ZmExODA1ODE1NDhiMjVjYmVl
Njc0ZjYwOWYwM2RhZDY2ZTYuLjgwMzNmMjg0Y2I4OTA5YmFkZjRjNzExMTM3M2E3N2JhZDEyMWNi
ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJv
eHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCkBAIC03Miw3ICs3Miw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+V29ya2VyTWVzc2Fn
aW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRF
eGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9PSAmVGhyZWFkOjpjdXJyZW50KCkp
KTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpSdW50aW1lRmxhZ3Mg
cnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5n
JiByZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAg
IC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0
ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsK
QEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAg
ICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwg
bmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgKnRoaXMs
ICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgZG9jdW1l
bnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGlt
ZUZsYWdzKTsKKyAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRl
KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNl
Q29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBw
cm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRD
cmVhdGVkKHRocmVhZC5nZXQoKSk7CiAgICAgdGhyZWFkLT5zdGFydCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGZkNTU0ZTE0MTJmZTg2
NWIwOTEyNjA2ZWEzNzA4YWJmZDU3NDE3ZWIuLjc4YzIxYjU3Mjk5ZTAyMDNmNjdmY2M0MDk0ZGMy
YTdhMzEwYzIwZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBJbXBs
ZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyAoT25seSB1c2Ug
dGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgdm9pZCBz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lk
IHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiwgSlNDOjpSdW50aW1lRmxhZ3Mp
IGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmKSBmaW5hbDsKICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY4ZTM2ZGUyODQw
YTljY2M2ZWU5ZDllZjcwOGVjY2M5MTk2OGE2NjguLmM4MDkyM2U5OTk4ZmM5NzQ4NzhhNDNmY2Fk
ZjkwYmFmMTE3YWUzODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
QEAgLTc0LDcgKzc0LDcgQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3Vu
dCgpCiBzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgewogICAgIFdURl9NQUtFX05PTkNP
UFlBQkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7
CiBwdWJsaWM6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4pOworICAgIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJM
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBjb25zdCBTdHJpbmcmKTsKIAogICAgIFVSTCBtX3NjcmlwdFVSTDsKICAgICBSZWY8U2Vj
dXJpdHlPcmlnaW4+IG1fb3JpZ2luOwpAQCAtODgsOSArODgsMTAgQEAgcHVibGljOgogICAgIGJv
b2wgbV9pc09ubGluZTsKICAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fdG9wT3JpZ2luOwogICAg
IE1vbm90b25pY1RpbWUgbV90aW1lT3JpZ2luOworICAgIFN0cmluZyBtX3JlZmVycmVyUG9saWN5
OwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRh
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4pCitXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3Rh
cnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRN
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSkKICAg
ICA6IG1fc2NyaXB0VVJMKHNjcmlwdFVSTC5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fb3JpZ2lu
KFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9zY3JpcHRVUkwpLT5pc29sYXRlZENvcHkoKSkKICAg
ICAsIG1fbmFtZShuYW1lLmlzb2xhdGVkQ29weSgpKQpAQCAtMTAzLDE2ICsxMDQsMTcgQEAgV29y
a2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdHIKICAgICAsIG1faXNPbmxpbmUoaXNPbmxpbmUpCiAgICAgLCBt
X3RvcE9yaWdpbih0b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3RpbWVPcmlnaW4o
dGltZU9yaWdpbikKKyAgICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3kpCiB7CiB9
CiAKLVdvcmtlclRocmVhZDo6V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2Vy
TG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3Jr
ZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJv
eHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29u
c3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92
aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK1dv
cmtlclRocmVhZDo6V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVy
UHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1
Z2dlclByb3h5LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdv
cmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBT
dHJpbmcmIHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29u
bmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGlt
ZUZsYWdzIHJ1bnRpbWVGbGFncykKICAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyLmlzb2xh
dGVkQ29weSgpKQogICAgICwgbV93b3JrZXJMb2FkZXJQcm94eSh3b3JrZXJMb2FkZXJQcm94eSkK
ICAgICAsIG1fd29ya2VyRGVidWdnZXJQcm94eSh3b3JrZXJEZWJ1Z2dlclByb3h5KQogICAgICwg
bV93b3JrZXJSZXBvcnRpbmdQcm94eSh3b3JrZXJSZXBvcnRpbmdQcm94eSkKICAgICAsIG1fcnVu
dGltZUZsYWdzKHJ1bnRpbWVGbGFncykKLSAgICAsIG1fc3RhcnR1cERhdGEobWFrZVVuaXF1ZTxX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2Vy
QWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCB0b3BPcmlnaW4sIHRpbWVPcmlnaW4pKQorICAgICwgbV9zdGFydHVwRGF0YShtYWtl
VW5pcXVlPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPihzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3kpKQog
I2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgICwgbV9pZGJDb25uZWN0aW9uUHJveHko
Y29ubmVjdGlvblByb3h5KQogI2VuZGlmCkBAIC0xNjgsNyArMTcwLDcgQEAgdm9pZCBXb3JrZXJU
aHJlYWQ6OndvcmtlclRocmVhZCgpCiAgICAgICAgIC8vIHdoaWxlIFdvcmtlclRocmVhZDo6c3Rv
cCgpIGlzIGFjY2Vzc2luZyBpdC4gTm90ZSB0aGF0IFdvcmtlclRocmVhZDo6c3RvcCgpIGNhbgog
ICAgICAgICAvLyBiZSBjYWxsZWQgYmVmb3JlIHdlJ3ZlIGZpbmlzaGVkIGNyZWF0aW5nIHRoZSBX
b3JrZXJHbG9iYWxTY29wZS4KICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGhyZWFkQ3JlYXRp
b25BbmRXb3JrZXJHbG9iYWxTY29wZU11dGV4KTsKLSAgICAgICAgbV93b3JrZXJHbG9iYWxTY29w
ZSA9IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBX
VEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fb3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV9uYW1lLCBt
X3N0YXJ0dXBEYXRhLT5tX2lkZW50aWZpZXIsIG1fc3RhcnR1cERhdGEtPm1fdXNlckFnZW50LCBt
X3N0YXJ0dXBEYXRhLT5tX2lzT25saW5lLCBtX3N0YXJ0dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zdGFydHVwRGF0YS0+bV9zaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUobV9zdGFydHVwRGF0YS0+bV90b3BP
cmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX3RpbWVPcmlnaW4pOworICAgICAgICBtX3dvcmtlckds
b2JhbFNjb3BlID0gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3Jp
cHRVUkwsIFdURk1vdmUobV9zdGFydHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5t
X25hbWUsIG1fc3RhcnR1cERhdGEtPm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+bV91c2Vy
QWdlbnQsIG1fc3RhcnR1cERhdGEtPm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1fY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3Nob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0dXBEYXRh
LT5tX3RvcE9yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fdGltZU9yaWdpbiwgbV9zdGFydHVwRGF0
YS0+bV9yZWZlcnJlclBvbGljeSk7CiAKICAgICAgICAgc2NyaXB0Q29udHJvbGxlciA9IG1fd29y
a2VyR2xvYmFsU2NvcGUtPnNjcmlwdCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaAppbmRleCAxNGVlYmYxNDUxOGVjYTZiZjI3MWY0NTNhMDUzNTJhNjUxZDY3MjczLi40YWY1
OWE4YTY4OWU1MTEyZDcyODg5YjgzYzU5ZThjYzJiNzI4ODZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmgKQEAgLTkwLDEwICs5MCwxMCBAQCBwdWJsaWM6CiAgICAgU3RyaW5n
IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogcHJvdGVjdGVk
OgotICAgIFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJE
ZWJ1Z2dlclByb3h5JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1v
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9y
aWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURC
Q29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7Cisg
ICAgV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVn
Z2VyUHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2lu
JiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZl
cnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRl
ciosIEpTQzo6UnVudGltZUZsYWdzKTsKIAogICAgIC8vIEZhY3RvcnkgbWV0aG9kIGZvciBjcmVh
dGluZyBhIG5ldyB3b3JrZXIgY29udGV4dCBmb3IgdGhlIHRocmVhZC4KLSAgICB2aXJ0dWFsIFJl
ZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxX
b3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3Jp
Z2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xp
Y3kpID0gMDsKIAogICAgIC8vIEV4ZWN1dGVzIHRoZSBldmVudCBsb29wIGZvciB0aGUgd29ya2Vy
IHRocmVhZC4gRGVyaXZlZCBjbGFzc2VzIGNhbiBvdmVycmlkZSB0byBwZXJmb3JtIGFjdGlvbnMg
YmVmb3JlL2FmdGVyIGVudGVyaW5nIHRoZSBldmVudCBsb29wLgogICAgIHZpcnR1YWwgdm9pZCBy
dW5FdmVudExvb3AoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggZDE4ZDEzNjA3ODJmNTEw
MWY0ZjkzYjJkZjdmMGYxMmIwNWEwNDBlOC4uMGVkZmQ4MDJkN2EzNGU0NjQwOTlkNzY5NGIzYWIz
MzRmYWUxMzA0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTE1NCw2ICsxNTQsMTMgQEAg
dm9pZCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnNldFNjcmlwdFJlc291cmNlKGNvbnN0IFVS
TCYgdXJsLCBTZXJ2aWNlV29ya2VyQ28KICAgICBtX2NvbnRleHREYXRhLnNjcmlwdFJlc291cmNl
TWFwLnNldCh1cmwsIFdURk1vdmUoc2NyaXB0KSk7CiB9CiAKK1JlZmVycmVyUG9saWN5IFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAoreworICAgIGlmIChh
dXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9jb250ZXh0RGF0YS5yZWZlcnJlclBv
bGljeSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQorICAgICAgICByZXR1cm4g
KnBvbGljeTsKKyAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOworfQorCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoU0VSVklDRV9XT1JLRVIp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdv
cmtlckdsb2JhbFNjb3BlLmgKaW5kZXggOTU2MDdhNWZkNDNkNmYyNDkwOGZkMWVjMTFmMTE5NWFm
NWRmODFlMy4uZWVlYzJmODc2N2UzMzAzZjZlNjAwZDQxMjE3NTdiNDA1OTBjOTVhNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuaApAQCAtNjgsNiArNjgsOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdCogc2NyaXB0UmVzb3VyY2UoY29uc3Qg
VVJMJikgY29uc3Q7CiAgICAgdm9pZCBzZXRTY3JpcHRSZXNvdXJjZShjb25zdCBVUkwmLCBTZXJ2
aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0JiYpOwogCisKKyAgICBSZWZlcnJl
clBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOworCiBwcml2YXRlOgogICAgIFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmLCBj
b25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJU
aHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQv
U2VydmljZVdvcmtlclRocmVhZC5jcHAKaW5kZXggM2JmNzEzOWZmMTY3MDhhNGFkMjY0M2FlMGIy
ZTE4YjJkZWQzNzY4Ni4uMjdhNTE2ZjA5YjEwZjlmOWRjZTdkYTcyNGE3MzY3NjZiZjNlNjA5OSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAKQEAgLTczLDcgKzczLDcgQEAgcHJpdmF0ZToK
IC8vIEZJWE1FOiBVc2UgdmFsaWQgcnVudGltZSBmbGFncwogCiBTZXJ2aWNlV29ya2VyVGhyZWFk
OjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSwgU3RyaW5nJiYgdXNlckFnZW50LCBXb3JrZXJMb2FkZXJQcm94eSYgbG9hZGVyUHJveHksIFdv
cmtlckRlYnVnZ2VyUHJveHkmIGRlYnVnZ2VyUHJveHksIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiBpZGJDb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRl
cikKLSAgICA6IFdvcmtlclRocmVhZChkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNl
cnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVu
dGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRl
clN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdn
ZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJU
aHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNl
LCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQo
KSwgTW9ub3RvbmljVGltZTo6bm93KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlk
ZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCisgICAgOiBXb3JrZXJU
aHJlYWQoZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJ
bnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3Zl
KHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09u
TGluZSgpLCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2Vy
dmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpO
b3JtYWwsIGRhdGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgZGF0YS5yZWdpc3RyYXRp
b24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIE1vbm90b25pY1RpbWU6
Om5vdygpLCB7IH0sIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVu
dGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRl
ZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhy
ZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1h
bmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkg
PyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRpbWVvdXQpCkBAIC04NCw3ICs4
NCw3IEBAIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6On5T
ZXJ2aWNlV29ya2VyVGhyZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+
IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYg
dXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5n
JikKIHsKICAgICBVTlVTRURfUEFSQU0obmFtZSk7CiAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZTo6Y3JlYXRlKG1fZGF0YSwgdXJsLCBXVEZNb3ZlKG9yaWdpbiksIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmln
aW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2
aWNlV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKaW5kZXggYzE0Nzk5ZWNkMmIzMjAwNTQ0YzVhZmUzZTE1
NjNjMTY4MzE5OTI2Ni4uOTYzNzhlMmI1NWY4YjIzYmQ2NzIzZTI4NjExOTQ4ODg2ODZmZTBiNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2Vydmlj
ZVdvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAg
dm9pZCBzdG9wRmV0Y2hFdmVudE1vbml0b3JpbmcoKSB7IG1faXNIYW5kbGluZ0ZldGNoRXZlbnQg
PSBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbikgZmluYWw7CisgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
Y29uc3QgU3RyaW5nJikgZmluYWw7CiAgICAgdm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRH
bG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2Nv
cGUuY3BwCmluZGV4IGMxMjFkYjYzNWVkMTRkYWUxNzhhM2ZiYjJkNTJkZTg2YWQ5YzViNDIuLjZl
NGE5NTVlMGE1MGE1YWU1NGQ5OGNhN2EwNzk0YWMxZTlkNzlhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMTY2LDUgKzE2NiwxMCBA
QCB2b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJj
ZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjbwogICAgIG1fZG9jdW1lbnQtPmFkZE1lc3NhZ2Uoc291
cmNlLCBsZXZlbCwgbWVzc2FnZVRleHQsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVt
YmVyLCBXVEZNb3ZlKGNhbGxTdGFjayksIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0K
IAorUmVmZXJyZXJQb2xpY3kgV29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29y
a2xldEdsb2JhbFNjb3BlLmgKaW5kZXggYmM0NDExZWYzNzI3ZjI0MWY1NmNmOTc1ZTJiYmQ2NDZi
M2Y3OTJmYS4uOGI1NDkwMzIzMGE3MjUyNmI1OTJmY2UxZTczY2IyNjk4YTJiOWRkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTYzLDYgKzYz
LDggQEAgcHVibGljOgogCiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2NvZGUudXJsKCk7IH0KIAorICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkg
Y29uc3QgZmluYWw7CisKICAgICB2b2lkIGV2YWx1YXRlKCk7CiAKICAgICB1c2luZyBSZWZDb3Vu
dGVkOjpyZWY7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlM2ZlYzJmMWVlMDc1
MDZhNjIwYjJiNzg3ZDhmYjY5MWRiMWEyMTYyLi43NDIzZTRiYzE0YjdiNmI1N2E5Y2E5MThiZWU2
MWYwZWZjNzY2MDU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NCBAQAorMjAyMC0wMS0yMyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAg
IEZpeCBmZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY1MjAKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGltcHJv
dmVkIHRlc3QgcmVzdWx0LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0w
MS0yMiAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEZpeCBmZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9y
aWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYxYmVjMThjMGNhNzky
ZjMwZWFmNTUzZDIxZWUuLjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMzZTJkYTY3MjhlNzEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNzZXJ0X2VxdWFsczog
cmVxdWVzdCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRj
aC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgotRkFJTCBDcm9zcy1v
cmlnaW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIGFzc2VydF9lcXVh
bHM6IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVk
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK1BBU1MgUmVx
dWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlz
IG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388567</attachid>
            <date>2020-01-23 11:28:54 -0800</date>
            <delta_ts>2020-01-24 08:10:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200123202852.patch</filename>
            <type>text/plain</type>
            <size>40911</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0OTc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzY2NjY1NTYxNWZkN2Nm
NDljYzliNjZlNjkxNzU2Nzc3ODBmYzEwZC4uMDIyMjcyZWMzMzIwMGRlN2Q0MWJjOGYyNDExMDFi
YjU3NDM4YjFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU2IEBACisyMDIwLTAxLTIzICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNh
dGVkV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZVByb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRX
b3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94
eS5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OldvcmtlclRocmVhZCk6CisgICAgICAgIChX
ZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCk6CisgICAgICAgICogd29ya2Vycy9X
b3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckds
b2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZTo6cmVmZXJyZXJQb2xpY3kgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3Jr
ZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQpOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEds
b2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2xldHMvV29y
a2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjAtMDEtMjMgIFRha2FzaGkgS29tb3JpICA8VGFrYXNo
aS5Lb21vcmlAc29ueS5jb20+CiAKICAgICAgICAgS2V5ZWREZWNvZGVyR2VuZXJpYyBjcmFzaGVz
IHdoZW4gaXQgYWNjZXNzZXMgYSBkYXRhIHdpdGggZW1wdHkgc3RyaW5nIGtleS4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDIxNjYyNGMyZDM4
MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNi4uNzdmYzZlNWQyYmY3N2Y5YmQ1MzM2OGNlNzNh
YTQ2MGRhYmY2YzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9G
ZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExv
YWRlci5jcHAKQEAgLTExMyw2ICsxMTMsOCBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQogICAg
ICAgICByZWZlcnJlciA9IFN0cmluZygpOwogICAgIH0gZWxzZQogICAgICAgICByZWZlcnJlciA9
IChyZWZlcnJlciA9PSAiY2xpZW50IikgPyBjb250ZXh0LnVybCgpLnN0cmlwcGVkRm9yVXNlQXNS
ZWZlcnJlcigpIDogVVJMKGNvbnRleHQudXJsKCksIHJlZmVycmVyKS5zdHJpcHBlZEZvclVzZUFz
UmVmZXJyZXIoKTsKKyAgICBpZiAob3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBv
bGljeTo6RW1wdHlTdHJpbmcpCisgICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250
ZXh0LnJlZmVycmVyUG9saWN5KCk7CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6
OmNyZWF0ZShjb250ZXh0LCAqdGhpcywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBX
VEZNb3ZlKHJlZmVycmVyKSk7CiAgICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmgKaW5kZXggM2FjYjYyMmM5ZGYyMGFlNGI2MjJiN2RmOGNlNWZjZDk4OTE1MGYzMS4u
YmYwMTUxODFlZTQ1NmNiY2M4YzIwZmI2MjVkOGY4ZGE4OGIyZDgzYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKQEAgLTQyMCw3ICs0MjAsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0
UmVmZXJyZXJQb2xpY3koUmVmZXJyZXJQb2xpY3kpOwotICAgIFJlZmVycmVyUG9saWN5IHJlZmVy
cmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJlZmVy
cmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7IH0KKyAgICBSZWZlcnJlclBvbGlj
eSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xpY3ku
dmFsdWVPcihSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUpOyB9CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggN2FhM2E1ZGMwMmI3
OTkzZDk0ZmFiMzMxMTJiZWNhNWQ4ZGU0ZmM3ZC4uMDA4MzFhMjYwYjUzN2EwMDkzYTg4MTJkYTRi
YTVmZmQ1YzI1NTZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oCkBAIC02NSw2ICs2NSw3IEBAIGNsYXNzIFJlamVjdGVkUHJvbWlzZVRyYWNrZXI7CiBj
bGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNvY2tl
dFByb3ZpZGVyOworZW51bSBjbGFzcyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNs
YXNzIFRhc2tTb3VyY2UgOiB1aW50OF90OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpA
QCAtOTksNiArMTAwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgdXNlckFnZW50
KGNvbnN0IFVSTCYpIGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3koKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwo
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJs
ZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAK
aW5kZXggYTE0YzdlNjdhOGE1YTgxMmYxNGEwZDRhYzk4OWJlZWM2NjNhNDgzZi4uMDM5NmVmM2I3
NjdkNWE2MGI3OWQ5NWQzYjMxYmJlODliODM2OGQ2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQ0LDE3ICs0
NCwxOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk7CiAKLVJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBVUkwmIHVy
bCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3Zp
ZGVyKiBzb2NrZXRQcm92aWRlcikKK1JlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0cmluZyYg
cmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9u
UHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKIHsKLSAgICBhdXRvIGNvbnRl
eHQgPSBhZG9wdFJlZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92
ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BP
cmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKSk7Cisg
ICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09u
bGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rp
b25Qcm94eSwgc29ja2V0UHJvdmlkZXIpKTsKICAgICBpZiAoIXNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSkKICAgICAgICAgY29udGV4dC0+YXBwbHlDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMoY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzKTsKICAgICByZXR1cm4gY29udGV4dDsKIH0KIAotRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGlj
YXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVj
dGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCitEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmws
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2lu
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ks
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKICAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RG
TW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmln
aW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQogICAgICwg
bV9uYW1lKG5hbWUpCisgICAgLCBtX3JlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5KQogewog
fQogCkBAIC05Myw0ICs5NCwxMSBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQmPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKK1JlZmVycmVyUG9saWN5IERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAg
aWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3JlZmVycmVyUG9saWN5LCBS
ZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCisgICAgICAgIHJldHVybiAqcG9saWN5
OworICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCAxYmM5NmE5MTUzZGZjY2IwY2VjNmRkMGU0OTBlNzlh
N2Y0ZjI0ZmE5Li5jY2FiZmM4ZWMxODI1NDBkZmY1MDg5YWYwNGJhMjllMzc5ZTY4NWNiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29w
ZS5oCkBAIC01MCwxMSArNTAsMTMgQEAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogY2xh
c3MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2VyR2xvYmFs
U2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU+IGNyZWF0ZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBT
b2NrZXRQcm92aWRlciopOworICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU+IGNyZWF0ZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogICAgIHZpcnR1
YWwgfkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KIAorICAgIFJlZmVycmVyUG9saWN5IHJlZmVy
cmVyUG9saWN5KCkgY29uc3QgZmluYWw7CisKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBwb3N0TWVz
c2FnZShKU0M6OkpTR2xvYmFsT2JqZWN0JiwgSlNDOjpKU1ZhbHVlIG1lc3NhZ2UsIFBvc3RNZXNz
YWdlT3B0aW9ucyYmKTsKIAogICAgIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkKCk7CkBA
IC02MiwxMyArNjQsMTQgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICB1c2luZyBCYXNlID0gV29y
a2VyR2xvYmFsU2NvcGU7CiAKLSAgICBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
RGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQ
cm92aWRlciopOworICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAKICAgICBib29sIGlzRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgRXhj
ZXB0aW9uT3I8dm9pZD4gaW1wb3J0U2NyaXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykg
ZmluYWw7CiAgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBj
b25zdCBmaW5hbDsKIAogICAgIFN0cmluZyBtX25hbWU7CisgICAgU3RyaW5nIG1fcmVmZXJyZXJQ
b2xpY3k7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggN2Q1ZTIwN2FhNDg1ZGY1
NDA0YjRiMjNkM2E3ZGE1NGQ4NGI2ODUxZC4uMGExYWNmZWY2Y2FiYjM2NjEwYjM1N2U5ZDhlMjI5
ZGQ1MDNiY2YwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmNwcApAQCAtMzgsMTcgKzM4LDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAotRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3QgVVJM
JiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2Vy
UHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJPYmpl
Y3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tl
dFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdz
KQotICAgIDogV29ya2VyVGhyZWFkKHVybCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBp
c09ubGluZSwgc291cmNlQ29kZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlckRlYnVnZ2VyUHJv
eHksIHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCB0b3BPcmlnaW4sIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIs
IHJ1bnRpbWVGbGFncykKK0RlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhy
ZWFkKGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBX
b3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94
eSYgd29ya2VyT2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNv
bnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29j
a2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKKyAgICA6IFdvcmtl
clRocmVhZCh1cmwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJj
ZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJEZWJ1Z2dlclByb3h5LCB3b3JrZXJPYmpl
Y3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0
aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRl
ciwgcnVudGltZUZsYWdzKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eSh3b3JrZXJPYmplY3RQ
cm94eSkKIHsKIH0KIAogRGVkaWNhdGVkV29ya2VyVGhyZWFkOjp+RGVkaWNhdGVkV29ya2VyVGhy
ZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3kpCiB7Ci0gICAgcmV0dXJuIERlZGlj
YXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUs
IGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9uUHJv
eHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisgICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2Jh
bFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZpZXIsIHVz
ZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92
ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgaWRiQ29ubmVjdGlvblBy
b3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwogfQogCiB2b2lkIERlZGljYXRlZFdvcmtlclRocmVh
ZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVk
aWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlclRocmVhZC5oCmluZGV4IGNjNDlmOWU5OTU1MDlkMThlMzFmZGFmZWYxMzNhMmYyZDBhN2U0
ZjIuLjZmNWIyNDRhZGYzMGMyZmE1ZjFmYmFiZjMzNjlmMzU4ZjljY2ZmMTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaApAQCAtNTAsMTEgKzUw
LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0KCkgeyBXb3JrZXJUaHJlYWQ6OnN0YXJ0KG51
bGxwdHIpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luKSBvdmVycmlkZTsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5KSBvdmVycmlkZTsKICAgICB2b2lkIHJ1bkV2
ZW50TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIERlZGljYXRlZFdvcmtlclRocmVh
ZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29y
a2VyT2JqZWN0UHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29j
a2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CisgICAgRGVkaWNhdGVkV29ya2VyVGhy
ZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBX
b3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGlt
ZUZsYWdzKTsKIAogICAgIFdvcmtlck9iamVjdFByb3h5JiBtX3dvcmtlck9iamVjdFByb3h5Owog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBjM2RlNDQ2MGY3NDQ4NDc3YmE5YzFh
MjI5N2YyZDI3MWQyOTM0YzFiLi4zYjczZDNlNmUzZWU5YzI1OTkxMWJmZjE1ZDJjMmZjMDEwZDgy
YzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgdm9p
ZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKIAogICAgIGJvb2wgaXNPbmxpbmUgPSBwbGF0Zm9y
bVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKTsKICAgICBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyA9IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
ID8gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMudmFsdWUoKSA6IGNvbnRl
eHQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5yZXNwb25zZUhlYWRlcnMoKTsKLSAgICBtX2Nv
bnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwg
bV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxp
bmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
bV93b3JrZXJDcmVhdGlvblRpbWUsIG1fcnVudGltZUZsYWdzKTsKKyAgICBtX2NvbnRleHRQcm94
eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBj
b250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2Ny
aXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJD
cmVhdGlvblRpbWUsIG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJlclBvbGljeSgpLCBtX3J1bnRpbWVG
bGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29u
dGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlw
dCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZVByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
UHJveHkuaAppbmRleCA3NGM2NDhiOWNjODA2NDBlYjY1NzA5MjBlZTE4NmI4MGY4ZmNmZjc4Li4x
YjZiOGZiZGEzYmE5YWZkZmU3NjQwMjJkMTBlNDQ2OWQyNjA0M2QxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaApAQCAtNDUsNyArNDUsNyBA
QCBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgV29y
a2VyR2xvYmFsU2NvcGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0gICAgdmlydHVhbCB2b2lk
IHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKKyAgICB2aXJ0
dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJlZmVycmVyUG9s
aWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVX
b3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dv
cmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA0NjAzN2ZhMTgwNTgx
NTQ4YjI1Y2JlZTY3NGY2MDlmMDNkYWQ2NmU2Li44MDMzZjI4NGNiODkwOWJhZGY0YzcxMTEzNzNh
NzdiYWQxMjFjYjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmNwcApAQCAtNzIsNyArNzIsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldv
cmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigq
bV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4o
Km1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6
Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVu
dGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNv
bnN0IFN0cmluZyYgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFn
cykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1
cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCk7CkBAIC04OCw3ICs4OCw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0CiAKICAg
ICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVudC5zb2NrZXRQcm92aWRl
cigpOwogCi0gICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShz
Y3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNv
ZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCBwcm94eSwgc29ja2V0UHJvdmlk
ZXIsIHJ1bnRpbWVGbGFncyk7CisgICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQ6OmNyZWF0ZShzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxp
bmUsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCByZWZlcnJl
clBvbGljeSwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29y
a2VyVGhyZWFkQ3JlYXRlZCh0aHJlYWQuZ2V0KCkpOwogICAgIHRocmVhZC0+c3RhcnQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCBmZDU1
NGUxNDEyZmU4NjViMDkxMjYwNmVhMzcwOGFiZmQ1NzQxN2ViLi43OGMyMWI1NzI5OWUwMjAzZjY3
ZmNjNDA5NGRjMmE3YTMxMGMyMGQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJNZXNzYWdpbmdQcm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAg
ICAgLy8gSW1wbGVtZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8g
KE9ubHkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQot
ICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7
CisgICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0cmluZyYsIEpTQzo6UnVu
dGltZUZsYWdzKSBmaW5hbDsKICAgICB2b2lkIHRlcm1pbmF0ZVdvcmtlckdsb2JhbFNjb3BlKCkg
ZmluYWw7CiAgICAgdm9pZCBwb3N0TWVzc2FnZVRvV29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdp
dGhNZXNzYWdlUG9ydHMmJikgZmluYWw7CiAgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBj
b25zdCBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAppbmRleCBm
OGUzNmRlMjg0MGE5Y2NjNmVlOWQ5ZWY3MDhlY2NjOTE5NjhhNjY4Li5jODA5MjNlOTk5OGZjOTc0
ODc4YTQzZmNhZGY5MGJhZjExN2FlMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlclRocmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCkBAIC03NCw3ICs3NCw3IEBAIHVuc2lnbmVkIFdvcmtlclRocmVhZDo6d29ya2Vy
VGhyZWFkQ291bnQoKQogc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhIHsKICAgICBXVEZf
TUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7IFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgotICAgIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luKTsKKyAgICBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbiwgY29uc3QgU3RyaW5nJik7CiAKICAgICBVUkwgbV9zY3JpcHRVUkw7CiAg
ICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX29yaWdpbjsKQEAgLTg4LDkgKzg4LDEwIEBAIHB1Ymxp
YzoKICAgICBib29sIG1faXNPbmxpbmU7CiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9y
aWdpbjsKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdpbjsKKyAgICBTdHJpbmcgbV9yZWZl
cnJlclBvbGljeTsKIH07CiAKLVdvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFy
dE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQorV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6Oldvcmtl
clRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRN
b2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0cmluZyYgcmVmZXJyZXJQ
b2xpY3kpCiAgICAgOiBtX3NjcmlwdFVSTChzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCkpCiAgICAg
LCBtX29yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG1fc2NyaXB0VVJMKS0+aXNvbGF0ZWRD
b3B5KCkpCiAgICAgLCBtX25hbWUobmFtZS5pc29sYXRlZENvcHkoKSkKQEAgLTEwMywxNiArMTA0
LDE3IEBAIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShj
b25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyCiAgICAgLCBtX2lzT25saW5lKGlzT25saW5l
KQogICAgICwgbV90b3BPcmlnaW4odG9wT3JpZ2luLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV90
aW1lT3JpZ2luKHRpbWVPcmlnaW4pCisgICAgLCBtX3JlZmVycmVyUG9saWN5KHJlZmVycmVyUG9s
aWN5KQogewogfQogCi1Xb3JrZXJUaHJlYWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQ
cm94eSYgd29ya2VyRGVidWdnZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJl
cG9ydGluZ1Byb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwg
U29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
RmxhZ3MpCitXb3JrZXJUaHJlYWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdv
cmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYg
d29ya2VyRGVidWdnZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGlu
Z1Byb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgY29uc3QgU3RyaW5nJiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBK
U0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRp
Zmllci5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyTG9hZGVyUHJveHkod29ya2VyTG9h
ZGVyUHJveHkpCiAgICAgLCBtX3dvcmtlckRlYnVnZ2VyUHJveHkod29ya2VyRGVidWdnZXJQcm94
eSkKICAgICAsIG1fd29ya2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCiAg
ICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCi0gICAgLCBtX3N0YXJ0dXBEYXRhKG1h
a2VVbmlxdWU8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRp
ZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luKSkKKyAgICAsIG1fc3RhcnR1
cERhdGEobWFrZVVuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2NyaXB0VVJMLCBuYW1l
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCBzdGFydE1vZGUs
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0b3BPcmlnaW4sIHRpbWVPcmlnaW4sIHJlZmVycmVy
UG9saWN5KSkKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICAsIG1faWRiQ29ubmVj
dGlvblByb3h5KGNvbm5lY3Rpb25Qcm94eSkKICNlbmRpZgpAQCAtMTY4LDcgKzE3MCw3IEBAIHZv
aWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgICAgICAvLyB3aGlsZSBXb3JrZXJU
aHJlYWQ6OnN0b3AoKSBpcyBhY2Nlc3NpbmcgaXQuIE5vdGUgdGhhdCBXb3JrZXJUaHJlYWQ6OnN0
b3AoKSBjYW4KICAgICAgICAgLy8gYmUgY2FsbGVkIGJlZm9yZSB3ZSd2ZSBmaW5pc2hlZCBjcmVh
dGluZyB0aGUgV29ya2VyR2xvYmFsU2NvcGUuCiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3Ro
cmVhZENyZWF0aW9uQW5kV29ya2VyR2xvYmFsU2NvcGVNdXRleCk7Ci0gICAgICAgIG1fd29ya2Vy
R2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3Nj
cmlwdFVSTCwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEt
Pm1fbmFtZSwgbV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3Vz
ZXJBZ2VudCwgbV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERh
dGEtPm1fdG9wT3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luKTsKKyAgICAgICAg
bV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERh
dGEtPm1fc2NyaXB0VVJMLCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fb3JpZ2luKSwgbV9zdGFy
dHVwRGF0YS0+bV9uYW1lLCBtX3N0YXJ0dXBEYXRhLT5tX2lkZW50aWZpZXIsIG1fc3RhcnR1cERh
dGEtPm1fdXNlckFnZW50LCBtX3N0YXJ0dXBEYXRhLT5tX2lzT25saW5lLCBtX3N0YXJ0dXBEYXRh
LT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zdGFydHVwRGF0YS0+
bV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUobV9z
dGFydHVwRGF0YS0+bV90b3BPcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX3RpbWVPcmlnaW4sIG1f
c3RhcnR1cERhdGEtPm1fcmVmZXJyZXJQb2xpY3kpOwogCiAgICAgICAgIHNjcmlwdENvbnRyb2xs
ZXIgPSBtX3dvcmtlckdsb2JhbFNjb3BlLT5zY3JpcHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmgKaW5kZXggMTRlZWJmMTQ1MThlY2E2YmYyNzFmNDUzYTA1MzUyYTY1MWQ2
NzI3My4uNGFmNTlhOGE2ODllNTExMmQ3Mjg4OWI4M2M1OWU4Y2MyYjcyODg2ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC05MCwxMCArOTAsMTAgQEAgcHVibGljOgog
ICAgIFN0cmluZyBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAK
IHByb3RlY3RlZDoKLSAgICBXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5
JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhy
ZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3Qg
U2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1l
RmxhZ3MpOworICAgIFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBX
b3JrZXJEZWJ1Z2dlclByb3h5JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRT
dGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1
cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFN0
cmluZyYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29j
a2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CiAKICAgICAvLyBGYWN0b3J5IG1ldGhv
ZCBmb3IgY3JlYXRpbmcgYSBuZXcgd29ya2VyIGNvbnRleHQgZm9yIHRoZSB0aHJlYWQuCi0gICAg
dmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKSA9IDA7CisgICAgdmly
dHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBTdHJpbmcmIHJl
ZmVycmVyUG9saWN5KSA9IDA7CiAKICAgICAvLyBFeGVjdXRlcyB0aGUgZXZlbnQgbG9vcCBmb3Ig
dGhlIHdvcmtlciB0aHJlYWQuIERlcml2ZWQgY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdG8gcGVyZm9y
bSBhY3Rpb25zIGJlZm9yZS9hZnRlciBlbnRlcmluZyB0aGUgZXZlbnQgbG9vcC4KICAgICB2aXJ0
dWFsIHZvaWQgcnVuRXZlbnRMb29wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGQxOGQx
MzYwNzgyZjUxMDFmNGY5M2IyZGY3ZjBmMTJiMDVhMDQwZTguLjBlZGZkODAyZDdhMzRlNDY0MDk5
ZDc2OTRiM2FiMzM0ZmFlMTMwNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0xNTQsNiAr
MTU0LDEzIEBAIHZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpzZXRTY3JpcHRSZXNvdXJj
ZShjb25zdCBVUkwmIHVybCwgU2VydmljZVdvcmtlckNvCiAgICAgbV9jb250ZXh0RGF0YS5zY3Jp
cHRSZXNvdXJjZU1hcC5zZXQodXJsLCBXVEZNb3ZlKHNjcmlwdCkpOwogfQogCitSZWZlcnJlclBv
bGljeSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sK
KyAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fY29udGV4dERhdGEu
cmVmZXJyZXJQb2xpY3ksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAg
ICAgcmV0dXJuICpwb2xpY3k7CisgICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmlu
ZzsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJ
Q0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1Nl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDk1NjA3YTVmZDQzZDZmMjQ5MDhmZDFl
YzExZjExOTVhZjVkZjgxZTMuLmVlZWMyZjg3NjdlMzMwM2Y2ZTYwMGQ0MTIxNzU3YjQwNTkwYzk1
YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vy
dmljZVdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTY4LDYgKzY4LDkgQEAgcHVibGljOgogICAgIGNv
bnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRTY3JpcHQqIHNjcmlwdFJlc291
cmNlKGNvbnN0IFVSTCYpIGNvbnN0OwogICAgIHZvaWQgc2V0U2NyaXB0UmVzb3VyY2UoY29uc3Qg
VVJMJiwgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlwdCYmKTsKIAorCisg
ICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5hbDsKKwogcHJpdmF0
ZToKICAgICBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiwgY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2
aWNlV29ya2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRl
ciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4
dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDNiZjcxMzlmZjE2NzA4YTRh
ZDI2NDNhZTBiMmUxOGIyZGVkMzc2ODYuLjI3YTUxNmYwOWIxMGY5ZjlkY2U3ZGE3MjRhNzM2NzY2
YmYzZTYwOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC03Myw3ICs3Myw3IEBA
IHByaXZhdGU6CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxhZ3MKIAogU2VydmljZVdv
cmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVyUHJveHkmIGxvYWRl
clByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29j
a2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoZGF0YS5zY3JpcHRVUkwsIGVtcHR5U3Ry
aW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZpZXJzRmFjdG9yeTo6
Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRmb3JtU3RyYXRlZ2ll
cygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLnNjcmlwdCwgbG9hZGVyUHJv
eHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQo
KSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEuY29udGVudFNlY3VyaXR5UG9s
aWN5LCBmYWxzZSwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3Jp
Z2luKCkuZ2V0KCksIE1vbm90b25pY1RpbWU6Om5vdygpLCBpZGJDb25uZWN0aW9uUHJveHksIHNv
Y2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQorICAg
IDogV29ya2VyVGhyZWFkKGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdv
cmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIo
KSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRl
Z3koKS0+aXNPbkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5
LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0
YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIGRhdGEu
cmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBNb25v
dG9uaWNUaW1lOjpub3coKSwgeyB9LCBpZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVy
LCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAgICwgbV9kYXRhKGRh
dGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KER1bW15U2Vydmlj
ZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRCZWF0VGltZW91dChT
V0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNob3VsZFVzZVNob3J0
VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJlYXRUaW1lb3V0KQpA
QCAtODQsNyArODQsNyBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFk
KGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgUwogCiBTZXJ2aWNlV29ya2Vy
VGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsKIAotUmVmPFdvcmtlckds
b2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShj
b25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtl
clRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNv
bnN0IFN0cmluZyYpCiB7CiAgICAgVU5VU0VEX1BBUkFNKG5hbWUpOwogICAgIHJldHVybiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShtX2RhdGEsIHVybCwgV1RGTW92ZShvcmlnaW4p
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCAqdGhpcywgY29udGVudFNlY3VyaXR5
UG9saWN5LCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1v
dmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFBy
b3ZpZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oCmluZGV4IGMxNDc5OWVjZDJiMzIwMDU0
NGM1YWZlM2UxNTYzYzE2ODMxOTkyNjYuLjk2Mzc4ZTJiNTVmOGIyM2JkNjcyM2UyODYxMTk0ODg4
Njg2ZmUwYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250
ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVi
bGljOgogICAgIHZvaWQgc3RvcEZldGNoRXZlbnRNb25pdG9yaW5nKCkgeyBtX2lzSGFuZGxpbmdG
ZXRjaEV2ZW50ID0gZmFsc2U7IH0KIAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3JrZXJHbG9iYWxT
Y29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4pIGZpbmFsOworICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIGNvbnN0IFN0cmluZyYpIGZpbmFsOwogICAgIHZvaWQgcnVuRXZlbnRMb29wKCkg
b3ZlcnJpZGU7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0
cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xl
dEdsb2JhbFNjb3BlLmNwcAppbmRleCBjMTIxZGI2MzVlZDE0ZGFlMTc4YTNmYmIyZDUyZGU4NmFk
OWM1YjQyLi42ZTRhOTU1ZTBhNTBhNWFlNTRkOThjYTdhMDc5NGFjMWU5ZDc5YTQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKQEAgLTE2Niw1
ICsxNjYsMTAgQEAgdm9pZCBXb3JrbGV0R2xvYmFsU2NvcGU6OmFkZE1lc3NhZ2UoTWVzc2FnZVNv
dXJjZSBzb3VyY2UsIE1lc3NhZ2VMZXZlbCBsZXZlbCwgY28KICAgICBtX2RvY3VtZW50LT5hZGRN
ZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2VUZXh0LCBzb3VyY2VVUkwsIGxpbmVOdW1iZXIs
IGNvbHVtbk51bWJlciwgV1RGTW92ZShjYWxsU3RhY2spLCBudWxscHRyLCByZXF1ZXN0SWRlbnRp
Zmllcik7CiB9CiAKK1JlZmVycmVyUG9saWN5IFdvcmtsZXRHbG9iYWxTY29wZTo6cmVmZXJyZXJQ
b2xpY3koKSBjb25zdAoreworICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcjsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCmluZGV4IGJjNDQxMWVmMzcyN2YyNDFmNTZjZjk3
NWUyYmJkNjQ2YjNmNzkyZmEuLjhiNTQ5MDMyMzBhNzI1MjZiNTkyZmNlMWU3M2NiMjY5OGEyYjlk
ZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oCkBA
IC02Myw2ICs2Myw4IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IFVSTCYgdXJsKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gbV9jb2RlLnVybCgpOyB9CiAKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJl
clBvbGljeSgpIGNvbnN0IGZpbmFsOworCiAgICAgdm9pZCBldmFsdWF0ZSgpOwogCiAgICAgdXNp
bmcgUmVmQ291bnRlZDo6cmVmOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZTNm
ZWMyZjFlZTA3NTA2YTYyMGIyYjc4N2Q4ZmI2OTFkYjFhMjE2Mi4uNzQyM2U0YmMxNGI3YjZiNTdh
OWNhOTE4YmVlNjFmMGVmYzc2NjA1OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjAtMDEtMjMgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4K
KworICAgICAgICBGaXggZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIu
aHRtbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2
NTIwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlZCBpbXByb3ZlZCB0ZXN0IHJlc3VsdC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQ6
CisKIDIwMjAtMDEtMjIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAgICBG
aXggZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIuaHRtbApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9y
ZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBjMjI2MjUxNDBmYmE2MWJl
YzE4YzBjYTc5MmYzMGVhZjU1M2QyMWVlLi40OWMyZWFiNmEyNDc5MGRkMTFlNGUxM2ZkMjMzM2Uy
ZGE2NzI4ZTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKIAotRkFJTCBSZXF1ZXN0J3MgcmVmZXJyZXIgaXMgb3JpZ2luIGFzc2Vy
dF9lcXVhbHM6IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4
cGVjdGVkICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0
Ojg4MDAvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKLUZB
SUwgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlzIG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiBh
c3NlcnRfZXF1YWxzOiByZXF1ZXN0J3MgcmVmZXJyZXIgaXMgaHR0cDovL2xvY2FsaG9zdDo4ODAw
LyBleHBlY3RlZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwLyIgYnV0IGdvdCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4uanM/cGlwZT1zdWIi
CitQQVNTIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gCitQQVNTIENyb3NzLW9yaWdpbiBy
ZWZlcnJlciBpcyBvdmVycmlkZGVuIGJ5IGNsaWVudCBvcmlnaW4gCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388694</attachid>
            <date>2020-01-24 08:11:01 -0800</date>
            <delta_ts>2020-01-24 10:54:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200124171059.patch</filename>
            <type>text/plain</type>
            <size>45280</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE0NGQwOTBiMGMwZGQ5
YWU5NzYyNzc2YTc4OWJjYTU0OTI3YmQ2NS4uODFlMjRmMDQ0NjMzMmM2ZmE4NDc2OWJlNjIwMWRm
YWViNTBlNWEyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIwLTAxLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNh
dGVkV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6
V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6Oldv
cmtlclRocmVhZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6
V29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhy
ZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2Vydmlj
ZVdvcmtlclRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVy
cmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
aDoKKwogMjAyMC0wMS0yNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtMRkNdW0ludGVncmF0aW9uXSBMaW5lTGF5b3V0OjpwYWludCBzaG91bGQgdGFrZSBhZHZh
bnRhZ2Ugb2YgdGhlIGdseXBoIGRpc3BsYXkgbGlzdCBjYWNoZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBkMjE2NjI0YzJkMzgzNDM3ZDliYjM1
MWY0ZDVkN2RmNGU3NTNiYjM2Li43N2ZjNmU1ZDJiZjc3ZjliZDUzMzY4Y2U3M2FhNDYwZGFiZjZj
N2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVy
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcApA
QCAtMTEzLDYgKzExMyw4IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0YXJ0KFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYgcmVxCiAgICAgICAgIHJlZmVy
cmVyID0gU3RyaW5nKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHJlZmVycmVyID0gKHJlZmVycmVy
ID09ICJjbGllbnQiKSA/IGNvbnRleHQudXJsKCkuc3RyaXBwZWRGb3JVc2VBc1JlZmVycmVyKCkg
OiBVUkwoY29udGV4dC51cmwoKSwgcmVmZXJyZXIpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigp
OworICAgIGlmIChvcHRpb25zLnJlZmVycmVyUG9saWN5ID09IFJlZmVycmVyUG9saWN5OjpFbXB0
eVN0cmluZykKKyAgICAgICAgb3B0aW9ucy5yZWZlcnJlclBvbGljeSA9IGNvbnRleHQucmVmZXJy
ZXJQb2xpY3koKTsKIAogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKGNv
bnRleHQsICp0aGlzLCBXVEZNb3ZlKGZldGNoUmVxdWVzdCksIG9wdGlvbnMsIFdURk1vdmUocmVm
ZXJyZXIpKTsKICAgICBtX2lzU3RhcnRlZCA9IG1fbG9hZGVyOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCAzYWNiNjIyYzlkZjIwYWU0YjYyMmI3ZGY4Y2U1ZmNkOTg5MTUwZjMxLi5iZjAxNTE4MWVl
NDU2Y2JjYzhjMjBmYjYyNWQ4ZjhkYTg4YjJkODNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
NDIwLDcgKzQyMCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAgdm9pZCBzZXRSZWZlcnJlclBv
bGljeShSZWZlcnJlclBvbGljeSk7Ci0gICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ko
KSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5LnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6
Ok5vUmVmZXJyZXJXaGVuRG93bmdyYWRlKTsgfQorICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJl
ZmVycmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7IH0KIAogICAgIFdFQkNPUkVf
RVhQT1JUIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA3YWEzYTVkYzAyYjc5OTNkOTRmYWIz
MzExMmJlY2E1ZDhkZTRmYzdkLi4wMDgzMWEyNjBiNTM3YTAwOTNhODgxMmRhNGJhNWZmZDVjMjU1
NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKQEAg
LTY1LDYgKzY1LDcgQEAgY2xhc3MgUmVqZWN0ZWRQcm9taXNlVHJhY2tlcjsKIGNsYXNzIFJlc291
cmNlUmVxdWVzdDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU29ja2V0UHJvdmlkZXI7
CitlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIGVudW0gY2xhc3MgVGFza1Nv
dXJjZSA6IHVpbnQ4X3Q7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9XT1JLRVIpCkBAIC05OSw2ICsx
MDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1c2VyQWdlbnQoY29uc3QgVVJM
JikgY29uc3QgPSAwOwogCisgICAgdmlydHVhbCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGlj
eSgpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZhbChjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlV2ViQXNzZW1i
bHkoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBhMTRj
N2U2N2E4YTVhODEyZjE0YTBkNGFjOTg5YmVlYzY2M2E0ODNmLi40OGE4YjYwMWUwYmFiNDdiMjc1
ZTIzNGVjM2U5ZTljMjNmNDg1OGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNDQsMTYgKzQ0LDE2IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlKTsKIAotUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGlj
YXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyKQorUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRo
cmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmIHJl
ZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblBy
b3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCiB7Ci0gICAgYXV0byBjb250ZXh0
ID0gYWRvcHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUo
b3JpZ2luKSwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3Jp
Z2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikpOworICAg
IGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUo
dXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxp
bmUsIHRocmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBX
VEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBjb25uZWN0aW9u
UHJveHksIHNvY2tldFByb3ZpZGVyKSk7CiAgICAgaWYgKCFzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3kpCiAgICAgICAgIGNvbnRleHQtPmFwcGx5Q29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyk7CiAgICAgcmV0dXJuIGNvbnRleHQ7CiB9CiAKLURlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0
ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rp
b25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyR2xv
YmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNP
bmxpbmUsIHRocmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0
UHJvdmlkZXIpCitEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0
IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQor
ICAgIDogV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIGlkZW50aWZpZXIs
IHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIHJlZmVycmVy
UG9saWN5LCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQogICAgICwgbV9uYW1lKG5h
bWUpCiB7CiB9CkBAIC05Myw0ICs5Myw5IEBAIERlZGljYXRlZFdvcmtlclRocmVhZCYgRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGU6OnRocmVhZCgpCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PERl
ZGljYXRlZFdvcmtlclRocmVhZCY+KEJhc2U6OnRocmVhZCgpKTsKIH0KIAorUmVmZXJyZXJQb2xp
Y3kgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9yZWZlcnJlclBvbGljeTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5oCmluZGV4IDFiYzk2YTkxNTNkZmNjYjBjZWM2ZGQwZTQ5MGU3OWE3ZjRmMjRmYTkuLjkx
OTJlODIwZTUyMmRhODE0ZjE1MTliMWE3ZWUxNDg0ZDM2YjAxMmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTUwLDEx
ICs1MCwxMyBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7CiBjbGFzcyBEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk7CiBwdWJs
aWM6Ci0gICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNv
bnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVy
Kik7CisgICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlKGNv
bnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKICAgICB2aXJ0dWFsIH5EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZSgpOwogCiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4g
bV9uYW1lOyB9CiAKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IG92
ZXJyaWRlOworCiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcG9zdE1lc3NhZ2UoSlNDOjpKU0dsb2Jh
bE9iamVjdCYsIEpTQzo6SlNWYWx1ZSBtZXNzYWdlLCBQb3N0TWVzc2FnZU9wdGlvbnMmJik7CiAK
ICAgICBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCgpOwpAQCAtNjIsNyArNjQsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBXb3JrZXJHbG9iYWxTY29wZTsKIAot
ICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAgRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJl
ZmVycmVyUG9saWN5JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92
aWRlciopOwogCiAgICAgYm9vbCBpc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGltcG9ydFNjcmlw
dHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDdkNWUyMDdhYTQ4NWRm
NTQwNGI0YjIzZDNhN2RhNTRkODRiNjg1MWQuLjNmZTdmMTExZTFmYTJlYjhmNTg2YTUwMDc0MTIy
NTc1NWIzNWJhZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdv
cmtlclRocmVhZC5jcHAKQEAgLTM4LDE3ICszOCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLURlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVS
TCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dl
clByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2VyT2Jq
ZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2Nr
ZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFn
cykKLSAgICA6IFdvcmtlclRocmVhZCh1cmwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwg
aXNPbmxpbmUsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJEZWJ1Z2dlclBy
b3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVy
LCBydW50aW1lRmxhZ3MpCitEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRo
cmVhZChjb25zdCBVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwg
V29ya2VyRGVidWdnZXJQcm94eSYgd29ya2VyRGVidWdnZXJQcm94eSwgV29ya2VyT2JqZWN0UHJv
eHkmIHdvcmtlck9iamVjdFByb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25p
Y1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmIHJlZmVycmVyUG9saWN5LCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92
aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKKyAg
ICA6IFdvcmtlclRocmVhZCh1cmwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxp
bmUsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJEZWJ1Z2dlclByb3h5LCB3
b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdG9w
T3JpZ2luLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29ubmVjdGlvblByb3h5LCBzb2Nr
ZXRQcm92aWRlciwgcnVudGltZUZsYWdzKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eSh3b3Jr
ZXJPYmplY3RQcm94eSkKIHsKIH0KIAogRGVkaWNhdGVkV29ya2VyVGhyZWFkOjp+RGVkaWNhdGVk
V29ya2VyVGhyZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGlj
YXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmws
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdv
cmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSkKIHsK
LSAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSh1cmwsIFdURk1v
dmUob3JpZ2luKSwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRoaXMs
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4s
IGlkYkNvbm5lY3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gRGVk
aWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFt
ZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5
LCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CiB9CiAKIHZvaWQgRGVk
aWNhdGVkV29ya2VyVGhyZWFkOjpydW5FdmVudExvb3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKaW5kZXggY2M0OWY5ZTk5NTUwOWQxOGUzMWZk
YWZlZjEzM2EyZjJkMGE3ZTRmMi4uZmNjZTM5N2FhMDljYzJkMGY0NmVmMTE2NzUzZWFiMGQ2NzMx
MWJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJU
aHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVh
ZC5oCkBAIC01MCwxMSArNTAsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnQoKSB7IFdvcmtl
clRocmVhZDo6c3RhcnQobnVsbHB0cik7IH0KIAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3JrZXJH
bG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pIG92ZXJyaWRlOworICAgIFJlZjxXb3JrZXJHbG9iYWxT
Y29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5Jikgb3ZlcnJpZGU7CiAgICAg
dm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBEZWRpY2F0ZWRX
b3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25z
dCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQ
cm94eSYsIFdvcmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOworICAgIERlZGljYXRl
ZFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dl
clByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5Jiwg
SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVu
dGltZUZsYWdzKTsKIAogICAgIFdvcmtlck9iamVjdFByb3h5JiBtX3dvcmtlck9iamVjdFByb3h5
OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBjM2RlNDQ2MGY3NDQ4NDc3YmE5
YzFhMjI5N2YyZDI3MWQyOTM0YzFiLi5jM2NiZDkzNDY2MGU4ZjM5YTYxMWNlOGIzNjI4ZjQ5ZDQ2
NjdmMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yMTEsNyArMjExLDEwIEBA
IHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAKICAgICBib29sIGlzT25saW5lID0gcGxh
dGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyA/IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBj
b250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7Ci0gICAg
bV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJs
KCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlz
T25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCBtX3J1bnRpbWVGbGFncyk7CisgICAgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7CisgICAg
aWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+cmVm
ZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQorICAgICAg
ICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNl
ckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+
c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1l
LCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVudGlm
aWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMDFkZTM5OGQ0YzliZDIzMjcxYjg2
YTliN2Y5YWIzNTZiMTZhNTk5MS4uYjU0MDg1ZDAyNGQ1N2QzM2FkODY3MzhkZmFmMzdlNWVmMGY3
YzI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAK
QEAgLTYyLDggKzYyLDkgQEAgdXNpbmcgbmFtZXNwYWNlIEluc3BlY3RvcjsKIAogV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlckdsb2JhbFNjb3BlKTsKIAotV29ya2VyR2xvYmFsU2Nv
cGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0
b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0
aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVy
KQotICAgIDogbV91cmwodXJsKQorV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJp
bmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBX
b3JrZXJUaHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmIHJlZmVycmVyUG9saWN5LCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBtX3JlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5
KQorICAgICwgbV91cmwodXJsKQogICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCiAgICAg
LCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCiAgICAgLCBtX3RocmVhZCh0aHJlYWQpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggNzFiNTJiZjQ3YWZkOTI2
OTBjNDFjNDc1NWFlYWFjNTMyMjhkYWU4My4uMjM3NWQyMTFhNzAyMWY2ZWU2YjQ1OGJjMGEwNmIy
MTcyNzFlODUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aApAQCAtMTM5LDEwICsxMzksMTIgQEAgcHVibGljOgogICAgIENTU1ZhbHVlUG9vbCYgY3NzVmFs
dWVQb29sKCk7CiAKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRocmVhZCYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURC
Q29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRocmVh
ZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNv
bnN0IFJlZmVycmVyUG9saWN5JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2Nr
ZXRQcm92aWRlciopOwogCiAgICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmKTsK
IAorICAgIG11dGFibGUgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsKKwogcHJpdmF0
ZToKICAgICB2b2lkIHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBmaW5hbCB7IHJlZigpOyB9
CiAgICAgdm9pZCBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBmaW5hbCB7IGRlcmVmKCk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQ
cm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgK
aW5kZXggNzRjNjQ4YjljYzgwNjQwZWI2NTcwOTIwZWUxODZiODBmOGZjZmY3OC4uMTRhNGYxZDAz
Mzc4MmU2YmIxM2Y2YTBkZGIzMGE0ZTEzZTc4MDA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAgLTM5LDEzICszOSwxNCBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVyczsKIGNsYXNzIFdvcmtlcjsKK2VudW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90
OwogCiAvLyBBIHByb3h5IHRvIHRhbGsgdG8gdGhlIHdvcmtlciBjb250ZXh0LgogY2xhc3MgV29y
a2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNj
b3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmLCBKU0M6OlJ1bnRpbWVG
bGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1l
c3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGlu
Z0FjdGl2aXR5KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA0NjAzN2ZhMTgwNTgxNTQ4YjI1Y2JlZTY3NGY2MDlm
MDNkYWQ2NmU2Li41M2ExMDQ1YzcyZDgzZDI0NGVhYjY2OWQ5MmIyODAyNTM5ZmRmODE0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAt
NzIsNyArNzIsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5
KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25D
b250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9u
Q29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAK
LXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVG
bGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5
JiByZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAg
IC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0
ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsK
QEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAg
ICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwg
bmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgKnRoaXMs
ICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgZG9jdW1l
bnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGlt
ZUZsYWdzKTsKKyAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRl
KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNl
Q29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBw
cm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRD
cmVhdGVkKHRocmVhZC5nZXQoKSk7CiAgICAgdGhyZWFkLT5zdGFydCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCmluZGV4IGZkNTU0ZTE0MTJmZTg2
NWIwOTEyNjA2ZWEzNzA4YWJmZDU3NDE3ZWIuLmI4MzM0ZGRmMWNkOGRjYmU3NjQzMjlhNTJlNGU2
ODkzYzQ3NGE1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBJbXBs
ZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94eS4KICAgICAvLyAoT25seSB1c2Ug
dGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgdm9pZCBz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lk
IHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmLCBKU0M6OlJ1bnRp
bWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZp
bmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRo
TWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29u
c3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggZjhl
MzZkZTI4NDBhOWNjYzZlZTlkOWVmNzA4ZWNjYzkxOTY4YTY2OC4uNmZmMDhhMDc5MjQ2Mzc5MmE4
ZWE0MzJjZjQyOGIyNzZlNWUxYjczMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcApAQCAtNzQsNyArNzQsNyBAQCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRo
cmVhZENvdW50KCkKIHN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSB7CiAgICAgV1RGX01B
S0VfTk9OQ09QWUFCTEUoV29ya2VyVGhyZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FM
TE9DQVRFRDsKIHB1YmxpYzoKLSAgICBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbik7CisgICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5Jik7CiAKICAgICBVUkwgbV9zY3JpcHRV
Ukw7CiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX29yaWdpbjsKQEAgLTg4LDkgKzg4LDEwIEBA
IHB1YmxpYzoKICAgICBib29sIG1faXNPbmxpbmU7CiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBt
X3RvcE9yaWdpbjsKICAgICBNb25vdG9uaWNUaW1lIG1fdGltZU9yaWdpbjsKKyAgICBSZWZlcnJl
clBvbGljeSBtX3JlZmVycmVyUG9saWN5OwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6
OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdp
biYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pCitXb3JrZXJUaHJlYWRTdGFy
dHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3Jr
ZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVm
ZXJyZXJQb2xpY3kmIHJlZmVycmVyUG9saWN5KQogICAgIDogbV9zY3JpcHRVUkwoc2NyaXB0VVJM
Lmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9vcmlnaW4oU2VjdXJpdHlPcmlnaW46OmNyZWF0ZSht
X3NjcmlwdFVSTCktPmlzb2xhdGVkQ29weSgpKQogICAgICwgbV9uYW1lKG5hbWUuaXNvbGF0ZWRD
b3B5KCkpCkBAIC0xMDMsMTYgKzEwNCwxNyBAQCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29y
a2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cgogICAg
ICwgbV9pc09ubGluZShpc09ubGluZSkKICAgICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbi5pc29s
YXRlZENvcHkoKSkKICAgICAsIG1fdGltZU9yaWdpbih0aW1lT3JpZ2luKQorICAgICwgbV9yZWZl
cnJlclBvbGljeShyZWZlcnJlclBvbGljeSkKIHsKIH0KIAotV29ya2VyVGhyZWFkOjpXb3JrZXJU
aHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVy
UHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlclJl
cG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
IHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3Jp
Z2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblBy
b3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlND
OjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQorV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHks
IFdvcmtlckRlYnVnZ2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlclJlcG9ydGlu
Z1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0
TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBv
bGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxh
Z3MpCiAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKICAgICAs
IG1fd29ya2VyTG9hZGVyUHJveHkod29ya2VyTG9hZGVyUHJveHkpCiAgICAgLCBtX3dvcmtlckRl
YnVnZ2VyUHJveHkod29ya2VyRGVidWdnZXJQcm94eSkKICAgICAsIG1fd29ya2VyUmVwb3J0aW5n
UHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1l
RmxhZ3MpCi0gICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8V29ya2VyVGhyZWFkU3RhcnR1
cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwg
c291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2lu
LCB0aW1lT3JpZ2luKSkKKyAgICAsIG1fc3RhcnR1cERhdGEobWFrZVVuaXF1ZTxXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YT4oc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlz
T25saW5lLCBzb3VyY2VDb2RlLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0
b3BPcmlnaW4sIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5KSkKICNpZiBFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICAsIG1faWRiQ29ubmVjdGlvblByb3h5KGNvbm5lY3Rpb25Qcm94eSkK
ICNlbmRpZgpAQCAtMTY4LDcgKzE3MCw3IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJl
YWQoKQogICAgICAgICAvLyB3aGlsZSBXb3JrZXJUaHJlYWQ6OnN0b3AoKSBpcyBhY2Nlc3Npbmcg
aXQuIE5vdGUgdGhhdCBXb3JrZXJUaHJlYWQ6OnN0b3AoKSBjYW4KICAgICAgICAgLy8gYmUgY2Fs
bGVkIGJlZm9yZSB3ZSd2ZSBmaW5pc2hlZCBjcmVhdGluZyB0aGUgV29ya2VyR2xvYmFsU2NvcGUu
CiAgICAgICAgIExvY2tIb2xkZXIgbG9jayhtX3RocmVhZENyZWF0aW9uQW5kV29ya2VyR2xvYmFs
U2NvcGVNdXRleCk7Ci0gICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJH
bG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwgV1RGTW92ZShtX3N0YXJ0dXBE
YXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fbmFtZSwgbV9zdGFydHVwRGF0YS0+bV9p
ZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwgbV9zdGFydHVwRGF0YS0+bV9p
c09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fdG9wT3JpZ2luKSwgbV9zdGFydHVw
RGF0YS0+bV90aW1lT3JpZ2luKTsKKyAgICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBXVEZNb3ZlKG1f
c3RhcnR1cERhdGEtPm1fb3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV9uYW1lLCBtX3N0YXJ0dXBE
YXRhLT5tX2lkZW50aWZpZXIsIG1fc3RhcnR1cERhdGEtPm1fdXNlckFnZW50LCBtX3N0YXJ0dXBE
YXRhLT5tX2lzT25saW5lLCBtX3N0YXJ0dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgbV9zdGFydHVwRGF0YS0+bV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUobV9zdGFydHVwRGF0YS0+bV90b3BPcmlnaW4pLCBt
X3N0YXJ0dXBEYXRhLT5tX3RpbWVPcmlnaW4sIG1fc3RhcnR1cERhdGEtPm1fcmVmZXJyZXJQb2xp
Y3kpOwogCiAgICAgICAgIHNjcmlwdENvbnRyb2xsZXIgPSBtX3dvcmtlckdsb2JhbFNjb3BlLT5z
Y3JpcHQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggMTRlZWJm
MTQ1MThlY2E2YmYyNzFmNDUzYTA1MzUyYTY1MWQ2NzI3My4uNmU2OTA1ZjJhNzdhMDNlNTY3Mzk5
ZDk0OTVmNjI5YmJhNzMwY2Q4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5o
CkBAIC05MCwxMCArOTAsMTAgQEAgcHVibGljOgogICAgIFN0cmluZyBpZGVudGlmaWVyKCkgY29u
c3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CiAKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdv
cmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSos
IFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOworICAgIFdvcmtlclRocmVhZChj
b25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29ya2Vy
UmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsK
IAogICAgIC8vIEZhY3RvcnkgbWV0aG9kIGZvciBjcmVhdGluZyBhIG5ldyB3b3JrZXIgY29udGV4
dCBmb3IgdGhlIHRocmVhZC4KLSAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4pID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JikgPSAwOwogCiAgICAgLy8gRXhlY3V0ZXMgdGhl
IGV2ZW50IGxvb3AgZm9yIHRoZSB3b3JrZXIgdGhyZWFkLiBEZXJpdmVkIGNsYXNzZXMgY2FuIG92
ZXJyaWRlIHRvIHBlcmZvcm0gYWN0aW9ucyBiZWZvcmUvYWZ0ZXIgZW50ZXJpbmcgdGhlIGV2ZW50
IGxvb3AuCiAgICAgdmlydHVhbCB2b2lkIHJ1bkV2ZW50TG9vcCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmNwcAppbmRleCBkMThkMTM2MDc4MmY1MTAxZjRmOTNiMmRmN2YwZjEyYjA1YTA0MGU4Li42OWYw
NTAxODBhYmMyNDc5MDZlZTlmYjJiOGU5ZjkxNDhiM2E0OThmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
LmNwcApAQCAtNTEsNyArNTEsNyBAQCBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBTZXJ2aWNlV29yawogfQogCiBTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2
aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVu
dDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBz
b2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmln
aW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1l
T3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQorICAgIDogV29ya2VyR2xv
YmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNP
bmxpbmUsIHRocmVhZCwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5OjpFbXB0eVN0
cmluZywgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKICAgICAsIG1fY29udGV4dERh
dGEoY3Jvc3NUaHJlYWRDb3B5KGRhdGEpKQogICAgICwgbV9yZWdpc3RyYXRpb24oU2VydmljZVdv
cmtlclJlZ2lzdHJhdGlvbjo6Z2V0T3JDcmVhdGUoKnRoaXMsIG5hdmlnYXRvcigpLnNlcnZpY2VX
b3JrZXIoKSwgV1RGTW92ZShtX2NvbnRleHREYXRhLnJlZ2lzdHJhdGlvbikpKQogICAgICwgbV9j
bGllbnRzKFNlcnZpY2VXb3JrZXJDbGllbnRzOjpjcmVhdGUoKSkKQEAgLTE1NCw2ICsxNTQsMTUg
QEAgdm9pZCBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnNldFNjcmlwdFJlc291cmNlKGNvbnN0
IFVSTCYgdXJsLCBTZXJ2aWNlV29ya2VyQ28KICAgICBtX2NvbnRleHREYXRhLnNjcmlwdFJlc291
cmNlTWFwLnNldCh1cmwsIFdURk1vdmUoc2NyaXB0KSk7CiB9CiAKK1JlZmVycmVyUG9saWN5IFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xpY3koKSBjb25zdAoreworICAgIGlm
IChtX3JlZmVycmVyUG9saWN5ID09IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZykgeworICAg
ICAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fY29udGV4dERhdGEu
cmVmZXJyZXJQb2xpY3ksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAg
ICAgICAgIG1fcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OworICAgIH0KKyAgICByZXR1cm4gbV9y
ZWZlcnJlclBvbGljeTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDk1NjA3YTVmZDQz
ZDZmMjQ5MDhmZDFlYzExZjExOTVhZjVkZjgxZTMuLmVlZWMyZjg3NjdlMzMwM2Y2ZTYwMGQ0MTIx
NzU3YjQwNTkwYzk1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTY4LDYgKzY4LDkgQEAgcHVi
bGljOgogICAgIGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRTY3JpcHQq
IHNjcmlwdFJlc291cmNlKGNvbnN0IFVSTCYpIGNvbnN0OwogICAgIHZvaWQgc2V0U2NyaXB0UmVz
b3VyY2UoY29uc3QgVVJMJiwgU2VydmljZVdvcmtlckNvbnRleHREYXRhOjpJbXBvcnRlZFNjcmlw
dCYmKTsKIAorCisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5h
bDsKKwogcHJpdmF0ZToKICAgICBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2Vydmlj
ZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBj
b25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBT
b2NrZXRQcm92aWRlciopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDNiZjcx
MzlmZjE2NzA4YTRhZDI2NDNhZTBiMmUxOGIyZGVkMzc2ODYuLjkxYWJhNTY1ZDU0ZWU1YTAyZTcw
ZTI4MzM3ODQxODU3ZmQ0OWRjMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
c2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCkBAIC03
Myw3ICs3Myw3IEBAIHByaXZhdGU6CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRpbWUgZmxhZ3MK
IAogU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29ya2VyTG9hZGVy
UHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dlclByb3h5LCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5LCBTb2NrZXRQ
cm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoZGF0YS5zY3JpcHRV
UkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6OklkZW50aWZp
ZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2VudCksIHBsYXRm
b3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBkYXRhLnNjcmlw
dCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtlclRocmVhZFBy
b3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRhdGEuY29udGVu
dFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9yaWdpbigp
LnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIE1vbm90b25pY1RpbWU6Om5vdygpLCBpZGJDb25uZWN0
aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5h
YmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygp
LCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0
ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+
bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBk
ZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdv
cmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwg
ZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigp
LmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBpZGJDb25uZWN0aW9uUHJveHksIHNv
Y2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxlZCgpKQogICAg
ICwgbV9kYXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5
KER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAsIG1faGVhcnRC
ZWF0VGltZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0aW9uKCktPnNo
b3VsZFVzZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3QgOiBoZWFydEJl
YXRUaW1lb3V0KQpAQCAtODQsNyArODQsNyBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNl
V29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgUwogCiBT
ZXJ2aWNlV29ya2VyVGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsKIAot
UmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9iYWxTY29wZT4g
U2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1
cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50
U2VjdXJpdHlQb2xpY3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JikKIHsKICAgICBVTlVTRURfUEFSQU0obmFt
ZSk7CiAgICAgcmV0dXJuIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKG1fZGF0YSwg
dXJsLCBXVEZNb3ZlKG9yaWdpbiksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0
aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3ksIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0
aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmggYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKaW5k
ZXggYzE0Nzk5ZWNkMmIzMjAwNTQ0YzVhZmUzZTE1NjNjMTY4MzE5OTI2Ni4uMzM4NmYyMWUzNzcx
NDA3NDg2MjE1MDYxZDYxZjE2N2UyMDNmYmUwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaApA
QCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9wRmV0Y2hFdmVudE1vbml0b3Jp
bmcoKSB7IG1faXNIYW5kbGluZ0ZldGNoRXZlbnQgPSBmYWxzZTsgfQogCiBwcm90ZWN0ZWQ6Ci0g
ICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBV
UkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikgZmluYWw7CisgICAgUmVmPFdv
cmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8
U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmKSBmaW5h
bDsKICAgICB2b2lkIHJ1bkV2ZW50TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggYzEyMWRi
NjM1ZWQxNGRhZTE3OGEzZmJiMmQ1MmRlODZhZDljNWI0Mi4uNmU0YTk1NWUwYTUwYTVhZTU0ZDk4
Y2E3YTA3OTRhYzFlOWQ3OWE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3Jr
bGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0xNjYsNSArMTY2LDEwIEBAIHZvaWQgV29ya2xldEdsb2Jh
bFNjb3BlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2
ZWwsIGNvCiAgICAgbV9kb2N1bWVudC0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdl
VGV4dCwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIFdURk1vdmUoY2FsbFN0
YWNrKSwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCitSZWZlcnJlclBvbGljeSBX
b3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
UmVmZXJyZXJQb2xpY3k6Ok5vUmVmZXJyZXI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApp
bmRleCBiYzQ0MTFlZjM3MjdmMjQxZjU2Y2Y5NzVlMmJiZDY0NmIzZjc5MmZhLi40MmMzYTViZTY5
MWFjOWNiZmFlMzZhMmMwNjk2NTMxZDgwOTZkYWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
bGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtNjMsNiArNjMsOCBAQCBwdWJsaWM6CiAKICAg
ICBjb25zdCBVUkwmIHVybCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fY29kZS51cmwoKTsgfQog
CisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBvdmVycmlkZTsKKwog
ICAgIHZvaWQgZXZhbHVhdGUoKTsKIAogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGUyNGRjYjFlMDMwMmZjMzljYTEyMjM4NzFkNDc1
ZDdhOTNlOTJiNzcuLjlhZDU5Nzk4OGU0ZGFhYTY3YjFiY2M2NzY0MWYyMjUwMTYwMDU5YTEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIwLTAxLTI0
ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9w
b2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZWQgaW1wcm92ZWQgdGVzdCByZXN1bHQu
CisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVy
cmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAxLTI0ICBSb3NzYW5hIE1v
bnRlcmlzbyAgPHJtb250ZXJpc29AaWdhbGlhLmNvbT4KIAogICAgICAgICBJbXBvcnQgMiBzZXRz
IG9mIGdyaWQtYWxpZ24tdGVzdHMgZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVy
LW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtl
ci1leHBlY3RlZC50eHQKaW5kZXggYzIyNjI1MTQwZmJhNjFiZWMxOGMwY2E3OTJmMzBlYWY1NTNk
MjFlZS4uNDljMmVhYjZhMjQ3OTBkZDExZTRlMTNmZDIzMzNlMmRhNjcyOGU3MSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
cG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMv
cmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZB
SUwgUmVxdWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiBhc3NlcnRfZXF1YWxzOiByZXF1ZXN0J3Mg
cmVmZXJyZXIgaXMgaHR0cDovL2xvY2FsaG9zdDo4ODAwLyBleHBlY3RlZCAiaHR0cDovL2xvY2Fs
aG9zdDo4ODAwLyIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL2ZldGNoL2FwaS9wb2xp
Y2llcy9yZWZlcnJlci1vcmlnaW4uanM/cGlwZT1zdWIiCi1GQUlMIENyb3NzLW9yaWdpbiByZWZl
cnJlciBpcyBvdmVycmlkZGVuIGJ5IGNsaWVudCBvcmlnaW4gYXNzZXJ0X2VxdWFsczogcmVxdWVz
dCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRjaC9hcGkv
cG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgorUEFTUyBSZXF1ZXN0J3MgcmVm
ZXJyZXIgaXMgb3JpZ2luIAorUEFTUyBDcm9zcy1vcmlnaW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRl
biBieSBjbGllbnQgb3JpZ2luIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388700</attachid>
            <date>2020-01-24 08:53:59 -0800</date>
            <delta_ts>2020-01-24 09:18:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200124175357.patch</filename>
            <type>text/plain</type>
            <size>46772</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDY4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDE0NGQwOTBiMGMwZGQ5
YWU5NzYyNzc2YTc4OWJjYTU0OTI3YmQ2NS4uZDkzYzgyMzM4ZDNkMjRlNTI1ZTZmMTJmMTViOGMz
OTI0NjM5ZmUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIwLTAxLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNh
dGVkV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6
V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJT
Y3JpcHRMb2FkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyU2NyaXB0TG9hZGVyOjpy
ZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2Fk
ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdExvYWRlcjo6cmVmZXJyZXJQb2xp
Y3kgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyVGhyZWFkLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRT
dGFydHVwRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OldvcmtlclRocmVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCk6CisgICAg
ICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xpY3kgY29uc3QpOgor
ICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAg
ICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2Vy
R2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VX
b3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSBj
b25zdCk6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjAt
MDEtMjQgIFphbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJ
bnRlZ3JhdGlvbl0gTGluZUxheW91dDo6cGFpbnQgc2hvdWxkIHRha2UgYWR2YW50YWdlIG9mIHRo
ZSBnbHlwaCBkaXNwbGF5IGxpc3QgY2FjaGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDIxNjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRl
NzUzYmIzNi4uNzdmYzZlNWQyYmY3N2Y5YmQ1MzM2OGNlNzNhYTQ2MGRhYmY2YzdkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTExMyw2ICsx
MTMsOCBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQogICAgICAgICByZWZlcnJlciA9IFN0cmlu
ZygpOwogICAgIH0gZWxzZQogICAgICAgICByZWZlcnJlciA9IChyZWZlcnJlciA9PSAiY2xpZW50
IikgPyBjb250ZXh0LnVybCgpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigpIDogVVJMKGNvbnRl
eHQudXJsKCksIHJlZmVycmVyKS5zdHJpcHBlZEZvclVzZUFzUmVmZXJyZXIoKTsKKyAgICBpZiAo
b3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpCisg
ICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250ZXh0LnJlZmVycmVyUG9saWN5KCk7
CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhp
cywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAg
ICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FjYjYy
MmM5ZGYyMGFlNGI2MjJiN2RmOGNlNWZjZDk4OTE1MGYzMS4uYmYwMTUxODFlZTQ1NmNiY2M4YzIw
ZmI2MjVkOGY4ZGE4OGIyZDgzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTQyMCw3ICs0MjAs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xpY3koUmVmZXJy
ZXJQb2xpY3kpOwotICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVy
V2hlbkRvd25ncmFkZSk7IH0KKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xpY3kudmFsdWVPcihSZWZlcnJlclBvbGlj
eTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1
bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKaW5kZXggN2FhM2E1ZGMwMmI3OTkzZDk0ZmFiMzMxMTJiZWNhNWQ4
ZGU0ZmM3ZC4uMDA4MzFhMjYwYjUzN2EwMDkzYTg4MTJkYTRiYTVmZmQ1YzI1NTZhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC02NSw2ICs2NSw3
IEBAIGNsYXNzIFJlamVjdGVkUHJvbWlzZVRyYWNrZXI7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7
CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOworZW51bSBjbGFz
cyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50
OF90OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpAQCAtOTksNiArMTAwLDggQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgdXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0ID0g
MDsKIAorICAgIHZpcnR1YWwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCA9
IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggYTE0YzdlNjdhOGE1YTgx
MmYxNGEwZDRhYzk4OWJlZWM2NjNhNDgzZi4uNDhhOGI2MDFlMGJhYjQ3YjI3NWUyMzRlYzNlOWU5
YzIzZjQ4NThkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQ0LDE2ICs0NCwxNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSk7CiAKLVJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikK
K1JlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVh
ZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGlj
eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQogewotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVm
KCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5h
bWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVP
cmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpKTsKKyAgICBhdXRvIGNvbnRl
eHQgPSBhZG9wdFJlZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92
ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BP
cmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29ubmVjdGlvblByb3h5LCBzb2Nr
ZXRQcm92aWRlcikpOwogICAgIGlmICghc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5KQogICAgICAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMpOwogICAg
IHJldHVybiBjb250ZXh0OwogfQogCi1EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhy
ZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVy
bCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJl
YWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0
b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQor
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBv
bGljeSYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25u
ZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtl
ckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQs
IGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKICAgICAsIG1fbmFtZShuYW1lKQogewogfQpA
QCAtOTMsNCArOTMsOSBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQmPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKK1JlZmVycmVyUG9saWN5IERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fcmVmZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRl
eCAxYmM5NmE5MTUzZGZjY2IwY2VjNmRkMGU0OTBlNzlhN2Y0ZjI0ZmE5Li45MTkyZTgyMGU1MjJk
YTgxNGYxNTE5YjFhN2VlMTQ4NGQzNmIwMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC01MCwxMSArNTAsMTMgQEAg
Y2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIHN0
YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
Y29uc3QgUmVmZXJyZXJQb2xpY3kmLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNv
Y2tldFByb3ZpZGVyKik7CiAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUo
KTsKIAogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQog
CisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBvdmVycmlkZTsKKwog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBK
U0M6OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYpOwogCiAgICAgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiB0aHJlYWQoKTsKQEAgLTYyLDcgKzY0LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICB1c2luZyBCYXNlID0gV29ya2VyR2xvYmFsU2NvcGU7CiAKLSAgICBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGlj
eSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAog
ICAgIGJvb2wgaXNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KICAgICBFeGNlcHRpb25Pcjx2b2lkPiBpbXBvcnRTY3JpcHRzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiB1cmxzKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAppbmRleCA3ZDVlMjA3YWE0ODVkZjU0MDRiNGIyM2Qz
YTdkYTU0ZDg0YjY4NTFkLi4zZmU3ZjExMWUxZmEyZWI4ZjU4NmE1MDA3NDEyMjU3NTViMzViYWVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
Y3BwCkBAIC0zOCwxNyArMzgsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtl
ckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29y
a2VyRGVidWdnZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBX
b3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCi0gICAgOiBX
b3JrZXJUaHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBz
b3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2Vy
T2JqZWN0UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdp
biwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZs
YWdzKQorRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVn
Z2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJP
YmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBXb3JrZXJU
aHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VD
b2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2JqZWN0
UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGlt
ZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIs
IHJ1bnRpbWVGbGFncykKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkod29ya2VyT2JqZWN0UHJv
eHkpCiB7CiB9CiAKIERlZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVh
ZCgpID0gZGVmYXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6
OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3kpCiB7Ci0gICAgcmV0dXJu
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiks
IG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0
aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisgICAgcmV0dXJuIERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
V1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgaWRiQ29ubmVj
dGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwogfQogCiB2b2lkIERlZGljYXRlZFdvcmtl
clRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlclRocmVhZC5oCmluZGV4IGNjNDlmOWU5OTU1MDlkMThlMzFmZGFmZWYxMzNhMmYy
ZDBhN2U0ZjIuLmZjY2UzOTdhYTA5Y2MyZDBmNDZlZjExNjc1M2VhYjBkNjczMTFiYzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaApAQCAtNTAs
MTEgKzUwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0KCkgeyBXb3JrZXJUaHJlYWQ6OnN0
YXJ0KG51bGxwdHIpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+
IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luKSBvdmVycmlkZTsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpIG92ZXJyaWRlOwogICAgIHZvaWQgcnVuRXZl
bnRMb29wKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRGVkaWNhdGVkV29ya2VyVGhyZWFk
KGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3Jr
ZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2Nr
ZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdv
cmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7
CiAKICAgICBXb3JrZXJPYmplY3RQcm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggYzNkZTQ0NjBmNzQ0ODQ3N2JhOWMxYTIyOTdmMmQy
NzFkMjkzNGMxYi4uM2I3M2QzZTZlM2VlOWMyNTk5MTFiZmYxNWQyYzJmYzAxMGQ4MmM2YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjExLDcgKzIxMSw3IEBAIHZvaWQgV29ya2Vy
Ojpub3RpZnlGaW5pc2hlZCgpCiAKICAgICBib29sIGlzT25saW5lID0gcGxhdGZvcm1TdHJhdGVn
aWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyA/IG1fY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkgOiBjb250ZXh0LT5jb250
ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7Ci0gICAgbV9jb250ZXh0UHJv
eHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwg
Y29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2Vy
Q3JlYXRpb25UaW1lLCBtX3J1bnRpbWVGbGFncyk7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRX
b3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+
dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRl
ci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25U
aW1lLCBtX3NjcmlwdExvYWRlci0+cmVmZXJyZXJQb2xpY3koKSwgbV9ydW50aW1lRmxhZ3MpOwog
ICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1f
c2NyaXB0TG9hZGVyLT5pZGVudGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXgg
MDFkZTM5OGQ0YzliZDIzMjcxYjg2YTliN2Y5YWIzNTZiMTZhNTk5MS4uYjU0MDg1ZDAyNGQ1N2Qz
M2FkODY3MzhkZmFmMzdlNWVmMGY3YzI4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTYyLDggKzYyLDkgQEAgdXNpbmcgbmFtZXNwYWNlIElu
c3BlY3RvcjsKIAogV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdvcmtlckdsb2JhbFNjb3Bl
KTsKIAotV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJs
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmIHRo
cmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJv
dmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogbV91cmwodXJsKQorV29ya2VyR2xvYmFsU2Nv
cGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0
b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3km
IHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlv
blByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBtX3JlZmVycmVy
UG9saWN5KHJlZmVycmVyUG9saWN5KQorICAgICwgbV91cmwodXJsKQogICAgICwgbV9pZGVudGlm
aWVyKGlkZW50aWZpZXIpCiAgICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQpCiAgICAgLCBtX3Ro
cmVhZCh0aHJlYWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckds
b2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgK
aW5kZXggNzFiNTJiZjQ3YWZkOTI2OTBjNDFjNDc1NWFlYWFjNTMyMjhkYWU4My4uMjM3NWQyMTFh
NzAyMWY2ZWU2YjQ1OGJjMGEwNmIyMTcyNzFlODUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMTM5LDEwICsxMzksMTIgQEAgcHVibGljOgogICAg
IENTU1ZhbHVlUG9vbCYgY3NzVmFsdWVQb29sKCk7CiAKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdv
cmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsK
KyAgICBXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIFdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogCiAgICAgdm9pZCBhcHBseUNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmKTsKIAorICAgIG11dGFibGUgUmVmZXJyZXJQb2xpY3kgbV9yZWZl
cnJlclBvbGljeTsKKwogcHJpdmF0ZToKICAgICB2b2lkIHJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBmaW5hbCB7IHJlZigpOyB9CiAgICAgdm9pZCBkZXJlZlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNzRjNjQ4YjljYzgwNjQwZWI2NTcwOTIwZWUxODZi
ODBmOGZjZmY3OC4uMTRhNGYxZDAzMzc4MmU2YmIxM2Y2YTBkZGIzMGE0ZTEzZTc4MDA5ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKQEAg
LTM5LDEzICszOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczsKIGNsYXNzIFdvcmtlcjsKK2VudW0gY2xhc3MgUmVm
ZXJyZXJQb2xpY3kgOiB1aW50OF90OwogCiAvLyBBIHByb3h5IHRvIHRhbGsgdG8gdGhlIHdvcmtl
ciBjb250ZXh0LgogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAotICAgIHZp
cnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3Jp
cHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQ
b2xpY3kmLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5h
dGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VU
b1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpID0gMDsKICAgICB2
aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRleCA0NjAzN2ZhMTgw
NTgxNTQ4YjI1Y2JlZTY3NGY2MDlmMDNkYWQ2NmU2Li41M2ExMDQ1YzcyZDgzZDI0NGVhYjY2OWQ5
MmIyODAyNTM5ZmRmODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1l
c3NhZ2luZ1Byb3h5LmNwcApAQCAtNzIsNyArNzIsNyBAQCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtlckdsb2JhbFNjb3Bl
PigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3JrZXJHbG9iYWxTY29w
ZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFkKCkgPT0gJlRocmVh
ZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6
UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3Mg
cnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVk
IHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBXb3JrZXJNZXNzYWdp
bmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29u
c3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNv
Y2tldFByb3ZpZGVyKCk7CiAKLSAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlKHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGlu
ZSwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHByb3h5LCBz
b2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKKyAgICBhdXRvIHRocmVhZCA9IERlZGljYXRl
ZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFn
ZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2Rl
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmln
aW4sIHJlZmVycmVyUG9saWN5LCBwcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7
CiAKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZC5nZXQoKSk7CiAgICAgdGhyZWFkLT5z
dGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdp
bmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5o
CmluZGV4IGZkNTU0ZTE0MTJmZTg2NWIwOTEyNjA2ZWEzNzA4YWJmZDU3NDE3ZWIuLmI4MzM0ZGRm
MWNkOGRjYmU3NjQzMjlhNTJlNGU2ODkzYzQ3NGE1NjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xvYmFsU2NvcGVQcm94
eS4KICAgICAvLyAoT25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3b3JrZXIgb2JqZWN0
IHRocmVhZC4pCi0gICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZs
YWdzKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJy
ZXJQb2xpY3kmLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVX
b3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckds
b2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwogICAgIGJvb2wgaGFz
UGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlclNjcmlwdExvYWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclNjcmlwdExvYWRlci5jcHAKaW5kZXggMzFkZDhhOThlOGYxNDdiYTIyM2ZjMzE4NjRi
NjZiYTI5Yzk2NDFkZi4uNjhhYmFkOGNiOGIzMGUwNjU4Mjk1MTUzN2I5YzFlMGY2Y2RmZTNkNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmNwcApAQCAt
MjYyLDQgKzI2MiwxMiBAQCB2b2lkIFdvcmtlclNjcmlwdExvYWRlcjo6Y2FuY2VsKCkKICAgICBt
X3RocmVhZGFibGVMb2FkZXIgPSBudWxscHRyOwogfQogCitSZWZlcnJlclBvbGljeSBXb3JrZXJT
Y3JpcHRMb2FkZXI6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICBSZWZlcnJlclBvbGlj
eSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKKyAgICBpZiAo
YXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5yZWZlcnJl
clBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCisgICAgICAgIHJl
ZmVycmVyUG9saWN5ID0gKnBvbGljeTsKKyAgICByZXR1cm4gcmVmZXJyZXJQb2xpY3k7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyU2NyaXB0TG9hZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclNj
cmlwdExvYWRlci5oCmluZGV4IGU1MTQ2YTU3YjVjN2Y5NzQ5MjZhYTgzZDEwZDdmNTk4YmZmODdm
NDEuLjY5ZDYwMmFiZWYwOTEwMWM4ZTM2YmJjYzQzMzZkN2M1NDQ5NTFjOTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyU2NyaXB0TG9hZGVyLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJTY3JpcHRMb2FkZXIuaApAQCAtNjIsNyArNjIsNyBAQCBw
dWJsaWM6CiAKICAgICBTdHJpbmcgc2NyaXB0KCk7CiAgICAgY29uc3QgQ29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3koKSBjb25zdCB7IHJl
dHVybiBtX2NvbnRlbnRTZWN1cml0eVBvbGljeTsgfQotICAgIGNvbnN0IFN0cmluZyYgcmVmZXJy
ZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5OyB9CisgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdDsKICAgICBjb25zdCBVUkwmIHVybCgpIGNv
bnN0IHsgcmV0dXJuIG1fdXJsOyB9CiAgICAgY29uc3QgVVJMJiByZXNwb25zZVVSTCgpIGNvbnN0
OwogICAgIGNvbnN0IFN0cmluZyYgcmVzcG9uc2VNSU1FVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
cmVzcG9uc2VNSU1FVHlwZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
CmluZGV4IGY4ZTM2ZGUyODQwYTljY2M2ZWU5ZDllZjcwOGVjY2M5MTk2OGE2NjguLjZmZjA4YTA3
OTI0NjM3OTJhOGVhNDMyY2Y0MjhiMjc2ZTVlMWI3MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlclRocmVhZC5jcHAKQEAgLTc0LDcgKzc0LDcgQEAgdW5zaWduZWQgV29ya2VyVGhyZWFk
Ojp3b3JrZXJUaHJlYWRDb3VudCgpCiBzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pOworICAgIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNv
bnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0
cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpOwogCiAgICAgVVJM
IG1fc2NyaXB0VVJMOwogICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gbV9vcmlnaW47CkBAIC04OCw5
ICs4OCwxMCBAQCBwdWJsaWM6CiAgICAgYm9vbCBtX2lzT25saW5lOwogICAgIFJlZjxTZWN1cml0
eU9yaWdpbj4gbV90b3BPcmlnaW47CiAgICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47Cisg
ICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsKIH07CiAKLVdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdv
cmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBi
b29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2Vj
dXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQorV29ya2Vy
VGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2Ny
aXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNl
Q29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBj
b25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSkKICAgICA6IG1fc2NyaXB0VVJM
KHNjcmlwdFVSTC5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fb3JpZ2luKFNlY3VyaXR5T3JpZ2lu
OjpjcmVhdGUobV9zY3JpcHRVUkwpLT5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fbmFtZShuYW1l
Lmlzb2xhdGVkQ29weSgpKQpAQCAtMTAzLDE2ICsxMDQsMTcgQEAgV29ya2VyVGhyZWFkU3RhcnR1
cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25z
dCBTdHIKICAgICAsIG1faXNPbmxpbmUoaXNPbmxpbmUpCiAgICAgLCBtX3RvcE9yaWdpbih0b3BP
cmlnaW4uaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3RpbWVPcmlnaW4odGltZU9yaWdpbikKKyAg
ICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3kpCiB7CiB9CiAKLVdvcmtlclRocmVh
ZDo6V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdv
cmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5
LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVh
ZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmln
aW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJv
dmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK1dvcmtlclRocmVhZDo6V29y
a2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxv
YWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3Jr
ZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0
TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYg
cmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9u
UHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3Mg
cnVudGltZUZsYWdzKQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5
KCkpCiAgICAgLCBtX3dvcmtlckxvYWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAgICwg
bV93b3JrZXJEZWJ1Z2dlclByb3h5KHdvcmtlckRlYnVnZ2VyUHJveHkpCiAgICAgLCBtX3dvcmtl
clJlcG9ydGluZ1Byb3h5KHdvcmtlclJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9ydW50aW1lRmxh
Z3MocnVudGltZUZsYWdzKQotICAgICwgbV9zdGFydHVwRGF0YShtYWtlVW5pcXVlPFdvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhPihzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwg
aXNPbmxpbmUsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IHRvcE9yaWdpbiwgdGltZU9yaWdpbikpCisgICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8
V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSkpCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLCBtX2lkYkNvbm5lY3Rpb25Qcm94eShjb25uZWN0
aW9uUHJveHkpCiAjZW5kaWYKQEAgLTE2OCw3ICsxNzAsNyBAQCB2b2lkIFdvcmtlclRocmVhZDo6
d29ya2VyVGhyZWFkKCkKICAgICAgICAgLy8gd2hpbGUgV29ya2VyVGhyZWFkOjpzdG9wKCkgaXMg
YWNjZXNzaW5nIGl0LiBOb3RlIHRoYXQgV29ya2VyVGhyZWFkOjpzdG9wKCkgY2FuCiAgICAgICAg
IC8vIGJlIGNhbGxlZCBiZWZvcmUgd2UndmUgZmluaXNoZWQgY3JlYXRpbmcgdGhlIFdvcmtlckds
b2JhbFNjb3BlLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90aHJlYWRDcmVhdGlvbkFuZFdv
cmtlckdsb2JhbFNjb3BlTXV0ZXgpOwotICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlID0gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwsIFdURk1vdmUo
bV9zdGFydHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX25hbWUsIG1fc3RhcnR1
cERhdGEtPm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+bV91c2VyQWdlbnQsIG1fc3RhcnR1
cERhdGEtPm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX3RvcE9yaWdpbiks
IG1fc3RhcnR1cERhdGEtPm1fdGltZU9yaWdpbik7CisgICAgICAgIG1fd29ya2VyR2xvYmFsU2Nv
cGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwg
V1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fbmFtZSwg
bV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwg
bV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fdG9w
T3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luLCBtX3N0YXJ0dXBEYXRhLT5tX3Jl
ZmVycmVyUG9saWN5KTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVyID0gbV93b3JrZXJHbG9i
YWxTY29wZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmlu
ZGV4IDE0ZWViZjE0NTE4ZWNhNmJmMjcxZjQ1M2EwNTM1MmE2NTFkNjcyNzMuLjZlNjkwNWYyYTc3
YTAzZTU2NzM5OWQ5NDk1ZjYyOWJiYTczMGNkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuaApAQCAtOTAsMTAgKzkwLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWRlbnRp
ZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAg
V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2Vy
UHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0
b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0
aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBXb3Jr
ZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94
eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElE
QkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRp
bWVGbGFncyk7CiAKICAgICAvLyBGYWN0b3J5IG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBuZXcgd29y
a2VyIGNvbnRleHQgZm9yIHRoZSB0aHJlYWQuCi0gICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFs
U2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luKSA9IDA7CisgICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2Nv
cGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpID0gMDsKIAogICAgIC8vIEV4
ZWN1dGVzIHRoZSBldmVudCBsb29wIGZvciB0aGUgd29ya2VyIHRocmVhZC4gRGVyaXZlZCBjbGFz
c2VzIGNhbiBvdmVycmlkZSB0byBwZXJmb3JtIGFjdGlvbnMgYmVmb3JlL2FmdGVyIGVudGVyaW5n
IHRoZSBldmVudCBsb29wLgogICAgIHZpcnR1YWwgdm9pZCBydW5FdmVudExvb3AoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZS5jcHAKaW5kZXggZDE4ZDEzNjA3ODJmNTEwMWY0ZjkzYjJkZjdmMGYxMmIwNWEw
NDBlOC4uNjlmMDUwMTgwYWJjMjQ3OTA2ZWU5ZmIyYjhlOWY5MTQ4YjNhNDk4ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgU2VydmljZVdvcmsK
IH0KIAogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwmIHVybCwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYg
dGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQ
cm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdU
Rk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3Jp
Z2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKKyAgICA6
IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2Vy
QWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGlj
eTo6RW1wdHlTdHJpbmcsIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCiAgICAgLCBt
X2NvbnRleHREYXRhKGNyb3NzVGhyZWFkQ29weShkYXRhKSkKICAgICAsIG1fcmVnaXN0cmF0aW9u
KFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKCp0aGlzLCBuYXZpZ2F0b3Io
KS5zZXJ2aWNlV29ya2VyKCksIFdURk1vdmUobV9jb250ZXh0RGF0YS5yZWdpc3RyYXRpb24pKSkK
ICAgICAsIG1fY2xpZW50cyhTZXJ2aWNlV29ya2VyQ2xpZW50czo6Y3JlYXRlKCkpCkBAIC0xNTQs
NiArMTU0LDE1IEBAIHZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpzZXRTY3JpcHRSZXNv
dXJjZShjb25zdCBVUkwmIHVybCwgU2VydmljZVdvcmtlckNvCiAgICAgbV9jb250ZXh0RGF0YS5z
Y3JpcHRSZXNvdXJjZU1hcC5zZXQodXJsLCBXVEZNb3ZlKHNjcmlwdCkpOwogfQogCitSZWZlcnJl
clBvbGljeSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QK
K3sKKyAgICBpZiAobV9yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJp
bmcpIHsKKyAgICAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX2Nv
bnRleHREYXRhLnJlZmVycmVyUG9saWN5LCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRl
cikpCisgICAgICAgICAgICBtX3JlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKKyAgICB9CisgICAg
cmV0dXJuIG1fcmVmZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA5
NTYwN2E1ZmQ0M2Q2ZjI0OTA4ZmQxZWMxMWYxMTk1YWY1ZGY4MWUzLi5lZWVjMmY4NzY3ZTMzMDNm
NmU2MDBkNDEyMTc1N2I0MDU5MGM5NWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC02OCw2ICs2
OCw5IEBAIHB1YmxpYzoKICAgICBjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9y
dGVkU2NyaXB0KiBzY3JpcHRSZXNvdXJjZShjb25zdCBVUkwmKSBjb25zdDsKICAgICB2b2lkIHNl
dFNjcmlwdFJlc291cmNlKGNvbnN0IFVSTCYsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1w
b3J0ZWRTY3JpcHQmJik7CiAKKworICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkg
Y29uc3QgZmluYWw7CisKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApp
bmRleCAzYmY3MTM5ZmYxNjcwOGE0YWQyNjQzYWUwYjJlMThiMmRlZDM3Njg2Li45MWFiYTU2NWQ1
NGVlNWEwMmU3MGUyODMzNzg0MTg1N2ZkNDlkYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmNwcApAQCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50
aW1lIGZsYWdzCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29u
c3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdv
cmtlckxvYWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdn
ZXJQcm94eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94
eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRh
dGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9y
OjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdl
bnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwg
ZGF0YS5zY3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3Jr
ZXJUaHJlYWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBk
YXRhLmNvbnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50
b3BPcmlnaW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwg
aWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNy
ZWF0ZUFsbEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZChkYXRhLnNjcmlwdFVSTCwgZW1w
dHlTdHJpbmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0
b3J5OjpjcmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJh
dGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuc2NyaXB0LCBsb2Fk
ZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNo
YXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5jb250ZW50U2VjdXJp
dHlQb2xpY3ksIGZhbHNlLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJp
dHlPcmlnaW4oKS5nZXQoKSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgaWRiQ29ubmVjdGlv
blByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJs
ZWQoKSkKICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJP
YmplY3RQcm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkpCiAgICAg
LCBtX2hlYXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVj
dGlvbigpLT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRGb3JUZXN0
IDogaGVhcnRCZWF0VGltZW91dCkKQEAgLTg0LDcgKzg0LDcgQEAgU2VydmljZVdvcmtlclRocmVh
ZDo6U2VydmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRh
dGEsIFMKIAogU2VydmljZVdvcmtlclRocmVhZDo6flNlcnZpY2VXb3JrZXJUaHJlYWQoKSA9IGRl
ZmF1bHQ7CiAKLVJlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xv
YmFsU2NvcGU+IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpCiB7CiAgICAgVU5VU0VE
X1BBUkFNKG5hbWUpOwogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0
ZShtX2RhdGEsIHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlz
T25saW5lLCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5LCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwg
aWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRo
cmVhZC5oCmluZGV4IGMxNDc5OWVjZDJiMzIwMDU0NGM1YWZlM2UxNTYzYzE2ODMxOTkyNjYuLjMz
ODZmMjFlMzc3MTQwNzQ4NjIxNTA2MWQ2MWYxNjdlMjAzZmJlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RvcEZldGNoRXZl
bnRNb25pdG9yaW5nKCkgeyBtX2lzSGFuZGxpbmdGZXRjaEV2ZW50ID0gZmFsc2U7IH0KIAogcHJv
dGVjdGVkOgotICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pIGZpbmFsOwor
ICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9s
aWN5JikgZmluYWw7CiAgICAgdm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IGMxMjFkYjYzNWVkMTRkYWUxNzhhM2ZiYjJkNTJkZTg2YWQ5YzViNDIuLjZlNGE5NTVlMGE1
MGE1YWU1NGQ5OGNhN2EwNzk0YWMxZTlkNzlhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMTY2LDUgKzE2NiwxMCBAQCB2b2lkIFdv
cmtsZXRHbG9iYWxTY29wZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2Fn
ZUxldmVsIGxldmVsLCBjbwogICAgIG1fZG9jdW1lbnQtPmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZl
bCwgbWVzc2FnZVRleHQsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBXVEZN
b3ZlKGNhbGxTdGFjayksIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAorUmVmZXJy
ZXJQb2xpY3kgV29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyOworfQorCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dv
cmtsZXRHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmgKaW5kZXggYmM0NDExZWYzNzI3ZjI0MWY1NmNmOTc1ZTJiYmQ2NDZiM2Y3OTJmYS4u
NDJjM2E1YmU2OTFhYzljYmZhZTM2YTJjMDY5NjUzMWQ4MDk2ZGFjNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTYzLDYgKzYzLDggQEAgcHVi
bGljOgogCiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NvZGUu
dXJsKCk7IH0KIAorICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3Qgb3Zl
cnJpZGU7CisKICAgICB2b2lkIGV2YWx1YXRlKCk7CiAKICAgICB1c2luZyBSZWZDb3VudGVkOjpy
ZWY7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlMjRkY2IxZTAzMDJmYzM5Y2Ex
MjIzODcxZDQ3NWQ3YTkzZTkyYjc3Li45YWQ1OTc5ODhlNGRhYWE2N2IxYmNjNjc2NDFmMjI1MDE2
MDA1OWExIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAor
MjAyMC0wMS0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEZpeCBm
ZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY1MjAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGltcHJvdmVkIHRl
c3QgcmVzdWx0LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xp
Y2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wMS0yNCAg
Um9zc2FuYSBNb250ZXJpc28gIDxybW9udGVyaXNvQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1w
b3J0IDIgc2V0cyBvZiBncmlkLWFsaWduLXRlc3RzIGZyb20gV1BUCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9y
aWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYxYmVjMThjMGNhNzky
ZjMwZWFmNTUzZDIxZWUuLjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMzZTJkYTY3MjhlNzEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNzZXJ0X2VxdWFsczog
cmVxdWVzdCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRj
aC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgotRkFJTCBDcm9zcy1v
cmlnaW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIGFzc2VydF9lcXVh
bHM6IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVk
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK1BBU1MgUmVx
dWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlz
IG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388701</attachid>
            <date>2020-01-24 09:26:49 -0800</date>
            <delta_ts>2020-01-24 09:40:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200124182648.patch</filename>
            <type>text/plain</type>
            <size>45284</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTUwMzVkZTdmOWM0
ODQ5NDMyYmU1NjI4Yzg3NTc2NDcyMGVlMS4uZGRjODk1ZGQ5YzFhOWQ4OTg2ZTIyY2ZmZGJjYzYy
YjkxZjMxOWFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIwLTAxLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhy
ZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNh
dGVkV29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2VyOjpub3RpZnlGaW5pc2hlZCk6CisgICAgICAgICogd29ya2Vycy9Xb3Jr
ZXJHbG9iYWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6
V29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAg
KiB3b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldv
cmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6Oldv
cmtlclRocmVhZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6
V29ya2VyVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhy
ZWFkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOgor
ICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5oOgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJU
aHJlYWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6U2Vydmlj
ZVdvcmtlclRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVy
cmVyUG9saWN5IGNvbnN0KToKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUu
aDoKKwogMjAyMC0wMS0yNCAgWmFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtMRkNdW1BhaW50aW5nXSBBZGQgRGlzcGxheTo6UnVuIGNsZWFudXAgdG8gVGV4dFBhaW50
ZXI6OmNsZWFyR2x5cGhEaXNwbGF5TGlzdHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDIxNjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRl
NzUzYmIzNi4uNzdmYzZlNWQyYmY3N2Y5YmQ1MzM2OGNlNzNhYTQ2MGRhYmY2YzdkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTExMyw2ICsx
MTMsOCBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQogICAgICAgICByZWZlcnJlciA9IFN0cmlu
ZygpOwogICAgIH0gZWxzZQogICAgICAgICByZWZlcnJlciA9IChyZWZlcnJlciA9PSAiY2xpZW50
IikgPyBjb250ZXh0LnVybCgpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigpIDogVVJMKGNvbnRl
eHQudXJsKCksIHJlZmVycmVyKS5zdHJpcHBlZEZvclVzZUFzUmVmZXJyZXIoKTsKKyAgICBpZiAo
b3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpCisg
ICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250ZXh0LnJlZmVycmVyUG9saWN5KCk7
CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhp
cywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAg
ICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FjYjYy
MmM5ZGYyMGFlNGI2MjJiN2RmOGNlNWZjZDk4OTE1MGYzMS4uYmYwMTUxODFlZTQ1NmNiY2M4YzIw
ZmI2MjVkOGY4ZGE4OGIyZDgzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTQyMCw3ICs0MjAs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xpY3koUmVmZXJy
ZXJQb2xpY3kpOwotICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVy
V2hlbkRvd25ncmFkZSk7IH0KKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xpY3kudmFsdWVPcihSZWZlcnJlclBvbGlj
eTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1
bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKaW5kZXggN2FhM2E1ZGMwMmI3OTkzZDk0ZmFiMzMxMTJiZWNhNWQ4
ZGU0ZmM3ZC4uMDA4MzFhMjYwYjUzN2EwMDkzYTg4MTJkYTRiYTVmZmQ1YzI1NTZhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC02NSw2ICs2NSw3
IEBAIGNsYXNzIFJlamVjdGVkUHJvbWlzZVRyYWNrZXI7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7
CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOworZW51bSBjbGFz
cyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50
OF90OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpAQCAtOTksNiArMTAwLDggQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgdXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0ID0g
MDsKIAorICAgIHZpcnR1YWwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCA9
IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggYTE0YzdlNjdhOGE1YTgx
MmYxNGEwZDRhYzk4OWJlZWM2NjNhNDgzZi4uNDhhOGI2MDFlMGJhYjQ3YjI3NWUyMzRlYzNlOWU5
YzIzZjQ4NThkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQ0LDE2ICs0NCwxNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSk7CiAKLVJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikK
K1JlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVh
ZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGlj
eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQogewotICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVm
KCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5h
bWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVP
cmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpKTsKKyAgICBhdXRvIGNvbnRl
eHQgPSBhZG9wdFJlZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92
ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQs
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BP
cmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29ubmVjdGlvblByb3h5LCBzb2Nr
ZXRQcm92aWRlcikpOwogICAgIGlmICghc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5KQogICAgICAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMpOwogICAg
IHJldHVybiBjb250ZXh0OwogfQogCi1EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhy
ZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVy
bCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJl
YWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0
b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQor
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBv
bGljeSYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25u
ZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtl
ckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQs
IGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgY29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKICAgICAsIG1fbmFtZShuYW1lKQogewogfQpA
QCAtOTMsNCArOTMsOSBAQCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlOjp0aHJlYWQoKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQmPihCYXNlOjp0aHJlYWQoKSk7CiB9CiAKK1JlZmVycmVyUG9saWN5IERlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fcmVmZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRl
eCAxYmM5NmE5MTUzZGZjY2IwY2VjNmRkMGU0OTBlNzlhN2Y0ZjI0ZmE5Li45MTkyZTgyMGU1MjJk
YTgxNGYxNTE5YjFhN2VlMTQ4NGQzNmIwMTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC01MCwxMSArNTAsMTMgQEAg
Y2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVlOwogY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIHN0
YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
Y29uc3QgUmVmZXJyZXJQb2xpY3kmLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNv
Y2tldFByb3ZpZGVyKik7CiAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUo
KTsKIAogICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQog
CisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBvdmVycmlkZTsKKwog
ICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBvc3RNZXNzYWdlKEpTQzo6SlNHbG9iYWxPYmplY3QmLCBK
U0M6OkpTVmFsdWUgbWVzc2FnZSwgUG9zdE1lc3NhZ2VPcHRpb25zJiYpOwogCiAgICAgRGVkaWNh
dGVkV29ya2VyVGhyZWFkJiB0aHJlYWQoKTsKQEAgLTYyLDcgKzY0LDcgQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICB1c2luZyBCYXNlID0gV29ya2VyR2xvYmFsU2NvcGU7CiAKLSAgICBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgYm9vbCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGlj
eSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAog
ICAgIGJvb2wgaXNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIHRydWU7IH0KICAgICBFeGNlcHRpb25Pcjx2b2lkPiBpbXBvcnRTY3JpcHRzKGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiB1cmxzKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAppbmRleCA3ZDVlMjA3YWE0ODVkZjU0MDRiNGIyM2Qz
YTdkYTU0ZDg0YjY4NTFkLi4zZmU3ZjExMWUxZmEyZWI4ZjU4NmE1MDA3NDEyMjU3NTViMzViYWVk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVh
ZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
Y3BwCkBAIC0zOCwxNyArMzgsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmIHVybCwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtl
ckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29y
a2VyRGVidWdnZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5LCBX
b3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNl
Y3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xp
ZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCi0gICAgOiBX
b3JrZXJUaHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBz
b3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2Vy
T2JqZWN0UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdp
biwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZs
YWdzKQorRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVn
Z2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJP
YmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBXb3JrZXJU
aHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VD
b2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2JqZWN0
UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGlt
ZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIs
IHJ1bnRpbWVGbGFncykKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkod29ya2VyT2JqZWN0UHJv
eHkpCiB7CiB9CiAKIERlZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVh
ZCgpID0gZGVmYXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6
OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3kpCiB7Ci0gICAgcmV0dXJu
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiks
IG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25uZWN0
aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisgICAgcmV0dXJuIERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZp
ZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
V1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgaWRiQ29ubmVj
dGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwogfQogCiB2b2lkIERlZGljYXRlZFdvcmtl
clRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGlj
YXRlZFdvcmtlclRocmVhZC5oCmluZGV4IGNjNDlmOWU5OTU1MDlkMThlMzFmZGFmZWYxMzNhMmYy
ZDBhN2U0ZjIuLmZjY2UzOTdhYTA5Y2MyZDBmNDZlZjExNjc1M2VhYjBkNjczMTFiYzkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaApAQCAtNTAs
MTEgKzUwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0KCkgeyBXb3JrZXJUaHJlYWQ6OnN0
YXJ0KG51bGxwdHIpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+
IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luKSBvdmVycmlkZTsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpIG92ZXJyaWRlOwogICAgIHZvaWQgcnVuRXZl
bnRMb29wKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRGVkaWNhdGVkV29ya2VyVGhyZWFk
KGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3Jr
ZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2Nr
ZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdv
cmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7
CiAKICAgICBXb3JrZXJPYmplY3RQcm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsKIH07CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggYzNkZTQ0NjBmNzQ0ODQ3N2JhOWMxYTIyOTdmMmQy
NzFkMjkzNGMxYi4uYzNjYmQ5MzQ2NjBlOGYzOWE2MTFjZThiMzYyOGY0OWQ0NjY3ZjMxMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjExLDcgKzIxMSwxMCBAQCB2b2lkIFdvcmtl
cjo6bm90aWZ5RmluaXNoZWQoKQogCiAgICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3JtU3RyYXRl
Z2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzID0gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPyBtX2Nv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4dC0+Y29u
dGVudFNlY3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwotICAgIG1fY29udGV4dFBy
b3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUs
IGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9z
Y3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtl
ckNyZWF0aW9uVGltZSwgbV9ydW50aW1lRmxhZ3MpOworICAgIFJlZmVycmVyUG9saWN5IHJlZmVy
cmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOworICAgIGlmIChhdXRvIHBv
bGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJlZmVycmVyUG9saWN5
KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAgICAgcmVmZXJyZXJQ
b2xpY3kgPSAqcG9saWN5OworICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3Nj
cmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQ
b2xpY3ksIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNj
cmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3Nj
cmlwdExvYWRlci0+c2NyaXB0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDAxZGUzOThkNGM5YmQyMzI3MWI4NmE5YjdmOWFiMzU2
YjE2YTU5OTEuLmI1NDA4NWQwMjRkNTdkMzNhZDg2NzM4ZGZhZjM3ZTVlZjBmN2MyOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02Miw4ICs2
Miw5IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAKLVdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBp
c09ubGluZSwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBj
b25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IG1f
dXJsKHVybCkKK1dvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
IHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29ya2VyVGhyZWFk
JiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFBy
b3ZpZGVyKQorICAgIDogbV9yZWZlcnJlclBvbGljeShyZWZlcnJlclBvbGljeSkKKyAgICAsIG1f
dXJsKHVybCkKICAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQogICAgICwgbV91c2VyQWdl
bnQodXNlckFnZW50KQogICAgICwgbV90aHJlYWQodGhyZWFkKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDcxYjUyYmY0N2FmZDkyNjkwYzQxYzQ3NTVh
ZWFhYzUzMjI4ZGFlODMuLjIzNzVkMjExYTcwMjFmNmVlNmI0NThiYzBhMDZiMjE3MjcxZTg1MTUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTEzOSwx
MCArMTM5LDEyIEBAIHB1YmxpYzoKICAgICBDU1NWYWx1ZVBvb2wmIGNzc1ZhbHVlUG9vbCgpOwog
CiBwcm90ZWN0ZWQ6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJl
clBvbGljeSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIq
KTsKIAogICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMo
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7CiAKKyAgICBtdXRh
YmxlIFJlZmVycmVyUG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CisKIHByaXZhdGU6CiAgICAgdm9p
ZCByZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgZmluYWwgeyByZWYoKTsgfQogICAgIHZvaWQg
ZGVyZWZTY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgZmluYWwgeyBkZXJlZigpOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4IDc0YzY0
OGI5Y2M4MDY0MGViNjU3MDkyMGVlMTg2YjgwZjhmY2ZmNzguLjE0YTRmMWQwMzM3ODJlNmJiMTNm
NmEwZGRiMzBhNGUxM2U3ODAwOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC0zOSwxMyArMzksMTQgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CiBjbGFz
cyBXb3JrZXI7CitlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIAogLy8gQSBw
cm94eSB0byB0YWxrIHRvIHRoZSB3b3JrZXIgY29udGV4dC4KIGNsYXNzIFdvcmtlckdsb2JhbFNj
b3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVByb3h5JiBj
cmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29w
ZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsK
ICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1l
c3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgp
IGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5jcHAKaW5kZXggNDYwMzdmYTE4MDU4MTU0OGIyNWNiZWU2NzRmNjA5ZjAzZGFkNjZlNi4u
NTNhMTA0NWM3MmQ4M2QyNDRlYWI2NjlkOTJiMjgwMjUzOWZkZjgxNCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTcyLDcgKzcyLDcg
QEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5Xb3JrZXJNZXNzYWdpbmdQcm94eSgpCiAgICAgICAg
IHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgJiYg
ZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRo
cmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6OmN1cnJlbnQoKSkpOwogfQogCi12b2lkIFdvcmtl
ck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0
VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lk
IFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQ
b2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKIHsKICAgICAvLyBGSVhNRTog
VGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdlIHN1cHBvcnQgbmVzdGVkIHdvcmtlciBv
bmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CkBAIC04OCw3ICs4
OCw3IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0CiAKICAgICBTb2NrZXRQcm92aWRlciogc29j
a2V0UHJvdmlkZXIgPSBkb2N1bWVudC5zb2NrZXRQcm92aWRlcigpOwogCi0gICAgYXV0byB0aHJl
YWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkwsIG5hbWUsIGlkZW50
aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsICp0aGlzLCAqdGhpcywgKnRo
aXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGRvY3VtZW50LnRvcE9yaWdp
bigpLCB0aW1lT3JpZ2luLCBwcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1bnRpbWVGbGFncyk7Cisg
ICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShzY3JpcHRVUkws
IG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsICp0aGlz
LCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGRvY3Vt
ZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgcHJveHksIHNvY2tl
dFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3JlYXRlZCh0aHJl
YWQuZ2V0KCkpOwogICAgIHRocmVhZC0+c3RhcnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCBmZDU1NGUxNDEyZmU4NjViMDkxMjYwNmVh
MzcwOGFiZmQ1NzQxN2ViLi5iODMzNGRkZjFjZDhkY2JlNzY0MzI5YTUyZTRlNjg5M2M0NzRhNTYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCkBA
IC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVtZW50YXRpb25z
IG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRoZXNlIGZ1bmN0
aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3RhcnRXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CisgICAgdm9pZCBzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiwgSlNDOjpSdW50aW1lRmxhZ3MpIGZp
bmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2
b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0
cyYmKSBmaW5hbDsKICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY4ZTM2ZGUyODQwYTlj
Y2M2ZWU5ZDllZjcwOGVjY2M5MTk2OGE2NjguLjQzYWZmOTljY2Q2OTY3M2E2M2IyYzQ5NWNmY2Zi
ZWVjNDI3MDNkMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhy
ZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAg
LTc0LDcgKzc0LDcgQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgp
CiBzdHJ1Y3QgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlB
QkxFKFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBw
dWJsaWM6Ci0gICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkws
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4pOworICAgIFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBjb25zdCBSZWZlcnJlclBvbGljeSYpOwogCiAgICAgVVJMIG1fc2NyaXB0VVJMOwogICAgIFJl
ZjxTZWN1cml0eU9yaWdpbj4gbV9vcmlnaW47CkBAIC04OCw5ICs4OCwxMCBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBtX2lzT25saW5lOwogICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gbV90b3BPcmlnaW47
CiAgICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmlnaW47CisgICAgUmVmZXJyZXJQb2xpY3kgbV9y
ZWZlcnJlclBvbGljeTsKIH07CiAKLVdvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBz
dGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdp
biwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKQorV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6Oldv
cmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3Rh
cnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYg
dG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5
JiByZWZlcnJlclBvbGljeSkKICAgICA6IG1fc2NyaXB0VVJMKHNjcmlwdFVSTC5pc29sYXRlZENv
cHkoKSkKICAgICAsIG1fb3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9zY3JpcHRVUkwp
LT5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fbmFtZShuYW1lLmlzb2xhdGVkQ29weSgpKQpAQCAt
MTAzLDE2ICsxMDQsMTcgQEAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0
YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHIKICAgICAsIG1faXNPbmxp
bmUoaXNPbmxpbmUpCiAgICAgLCBtX3RvcE9yaWdpbih0b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCkp
CiAgICAgLCBtX3RpbWVPcmlnaW4odGltZU9yaWdpbikKKyAgICAsIG1fcmVmZXJyZXJQb2xpY3ko
cmVmZXJyZXJQb2xpY3kuaXNvbGF0ZWRDb3B5KCkpCiB7CiB9CiAKLVdvcmtlclRocmVhZDo6V29y
a2VyVGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxv
YWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3Jr
ZXJSZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0
TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRv
cE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rp
b25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIs
IEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK1dvcmtlclRocmVhZDo6V29ya2VyVGhy
ZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmlu
ZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclBy
b3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJSZXBv
cnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBz
dGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdp
biwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYgcmVmZXJy
ZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHks
IFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGlt
ZUZsYWdzKQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCkpCiAg
ICAgLCBtX3dvcmtlckxvYWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAgICwgbV93b3Jr
ZXJEZWJ1Z2dlclByb3h5KHdvcmtlckRlYnVnZ2VyUHJveHkpCiAgICAgLCBtX3dvcmtlclJlcG9y
dGluZ1Byb3h5KHdvcmtlclJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVu
dGltZUZsYWdzKQotICAgICwgbV9zdGFydHVwRGF0YShtYWtlVW5pcXVlPFdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhPihzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxp
bmUsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9y
aWdpbiwgdGltZU9yaWdpbikpCisgICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8V29ya2Vy
VGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50
LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSkpCiAjaWYgRU5BQkxFKElO
REVYRURfREFUQUJBU0UpCiAgICAgLCBtX2lkYkNvbm5lY3Rpb25Qcm94eShjb25uZWN0aW9uUHJv
eHkpCiAjZW5kaWYKQEAgLTE2OCw3ICsxNzAsNyBAQCB2b2lkIFdvcmtlclRocmVhZDo6d29ya2Vy
VGhyZWFkKCkKICAgICAgICAgLy8gd2hpbGUgV29ya2VyVGhyZWFkOjpzdG9wKCkgaXMgYWNjZXNz
aW5nIGl0LiBOb3RlIHRoYXQgV29ya2VyVGhyZWFkOjpzdG9wKCkgY2FuCiAgICAgICAgIC8vIGJl
IGNhbGxlZCBiZWZvcmUgd2UndmUgZmluaXNoZWQgY3JlYXRpbmcgdGhlIFdvcmtlckdsb2JhbFNj
b3BlLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90aHJlYWRDcmVhdGlvbkFuZFdvcmtlckds
b2JhbFNjb3BlTXV0ZXgpOwotICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlID0gY3JlYXRlV29y
a2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwsIFdURk1vdmUobV9zdGFy
dHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX25hbWUsIG1fc3RhcnR1cERhdGEt
Pm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+bV91c2VyQWdlbnQsIG1fc3RhcnR1cERhdGEt
Pm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX3RvcE9yaWdpbiksIG1fc3Rh
cnR1cERhdGEtPm1fdGltZU9yaWdpbik7CisgICAgICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBj
cmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwgV1RGTW92
ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fbmFtZSwgbV9zdGFy
dHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwgbV9zdGFy
dHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fdG9wT3JpZ2lu
KSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luLCBtX3N0YXJ0dXBEYXRhLT5tX3JlZmVycmVy
UG9saWN5KTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVyID0gbV93b3JrZXJHbG9iYWxTY29w
ZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmluZGV4IDE0
ZWViZjE0NTE4ZWNhNmJmMjcxZjQ1M2EwNTM1MmE2NTFkNjcyNzMuLjZlNjkwNWYyYTc3YTAzZTU2
NzM5OWQ5NDk1ZjYyOWJiYTczMGNkODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJl
YWQuaApAQCAtOTAsMTAgKzkwLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWRlbnRpZmllcigp
IGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgV29ya2Vy
VGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkm
LCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmln
aW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdv
cmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVu
dDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFn
cyk7CiAKICAgICAvLyBGYWN0b3J5IG1ldGhvZCBmb3IgY3JlYXRpbmcgYSBuZXcgd29ya2VyIGNv
bnRleHQgZm9yIHRoZSB0aHJlYWQuCi0gICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+
IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luKSA9IDA7CisgICAgdmlydHVhbCBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNy
ZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpID0gMDsKIAogICAgIC8vIEV4ZWN1dGVz
IHRoZSBldmVudCBsb29wIGZvciB0aGUgd29ya2VyIHRocmVhZC4gRGVyaXZlZCBjbGFzc2VzIGNh
biBvdmVycmlkZSB0byBwZXJmb3JtIGFjdGlvbnMgYmVmb3JlL2FmdGVyIGVudGVyaW5nIHRoZSBl
dmVudCBsb29wLgogICAgIHZpcnR1YWwgdm9pZCBydW5FdmVudExvb3AoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKaW5kZXggZDE4ZDEzNjA3ODJmNTEwMWY0ZjkzYjJkZjdmMGYxMmIwNWEwNDBlOC4u
NjlmMDUwMTgwYWJjMjQ3OTA2ZWU5ZmIyYjhlOWY5MTQ4YjNhNDk4ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKQEAgLTUxLDcgKzUxLDcgQEAgUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4g
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgU2VydmljZVdvcmsKIH0KIAog
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
U2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwmIHVybCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYgdGhyZWFk
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUo
b3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwg
dGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtl
ckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQs
IGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeTo6RW1w
dHlTdHJpbmcsIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCiAgICAgLCBtX2NvbnRl
eHREYXRhKGNyb3NzVGhyZWFkQ29weShkYXRhKSkKICAgICAsIG1fcmVnaXN0cmF0aW9uKFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb246OmdldE9yQ3JlYXRlKCp0aGlzLCBuYXZpZ2F0b3IoKS5zZXJ2
aWNlV29ya2VyKCksIFdURk1vdmUobV9jb250ZXh0RGF0YS5yZWdpc3RyYXRpb24pKSkKICAgICAs
IG1fY2xpZW50cyhTZXJ2aWNlV29ya2VyQ2xpZW50czo6Y3JlYXRlKCkpCkBAIC0xNTQsNiArMTU0
LDE1IEBAIHZvaWQgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpzZXRTY3JpcHRSZXNvdXJjZShj
b25zdCBVUkwmIHVybCwgU2VydmljZVdvcmtlckNvCiAgICAgbV9jb250ZXh0RGF0YS5zY3JpcHRS
ZXNvdXJjZU1hcC5zZXQodXJsLCBXVEZNb3ZlKHNjcmlwdCkpOwogfQogCitSZWZlcnJlclBvbGlj
eSBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAg
ICBpZiAobV9yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpIHsK
KyAgICAgICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX2NvbnRleHRE
YXRhLnJlZmVycmVyUG9saWN5LCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCisg
ICAgICAgICAgICBtX3JlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKKyAgICB9CisgICAgcmV0dXJu
IG1fcmVmZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlm
IC8vIEVOQUJMRShTRVJWSUNFX1dPUktFUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA5NTYwN2E1
ZmQ0M2Q2ZjI0OTA4ZmQxZWMxMWYxMTk1YWY1ZGY4MWUzLi5lZWVjMmY4NzY3ZTMzMDNmNmU2MDBk
NDEyMTc1N2I0MDU5MGM5NWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC02OCw2ICs2OCw5IEBA
IHB1YmxpYzoKICAgICBjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2Ny
aXB0KiBzY3JpcHRSZXNvdXJjZShjb25zdCBVUkwmKSBjb25zdDsKICAgICB2b2lkIHNldFNjcmlw
dFJlc291cmNlKGNvbnN0IFVSTCYsIFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YTo6SW1wb3J0ZWRT
Y3JpcHQmJik7CiAKKworICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3Qg
ZmluYWw7CisKIHByaXZhdGU6CiAgICAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFNl
cnZpY2VXb3JrZXJDb250ZXh0RGF0YSYsIGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9v
bCBpc09ubGluZSwgU2VydmljZVdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2lu
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiwgU29ja2V0UHJvdmlkZXIqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAz
YmY3MTM5ZmYxNjcwOGE0YWQyNjQzYWUwYjJlMThiMmRlZDM3Njg2Li45MWFiYTU2NWQ1NGVlNWEw
MmU3MGUyODMzNzg0MTg1N2ZkNDlkYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApA
QCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZs
YWdzCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxv
YWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94
eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2Ny
aXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBw
bGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5z
Y3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNv
bnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmln
aW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgaWRiQ29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFs
bEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZChkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJp
bmcoKSwgInNlcnZpY2V3b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5Ojpj
cmVhdGVJZGVudGlmaWVyKCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVz
KCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94
eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgp
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xp
Y3ksIGZhbHNlLCBkYXRhLnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmln
aW4oKS5nZXQoKSwgTW9ub3RvbmljVGltZTo6bm93KCksIHsgfSwgaWRiQ29ubmVjdGlvblByb3h5
LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkK
ICAgICAsIG1fZGF0YShkYXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJPYmplY3RQ
cm94eShEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkpCiAgICAgLCBtX2hl
YXJ0QmVhdFRpbWVvdXQoU1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVjdGlvbigp
LT5zaG91bGRVc2VTaG9ydFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRGb3JUZXN0IDogaGVh
cnRCZWF0VGltZW91dCkKQEAgLTg0LDcgKzg0LDcgQEAgU2VydmljZVdvcmtlclRocmVhZDo6U2Vy
dmljZVdvcmtlclRocmVhZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFMK
IAogU2VydmljZVdvcmtlclRocmVhZDo6flNlcnZpY2VXb3JrZXJUaHJlYWQoKSA9IGRlZmF1bHQ7
CiAKLVJlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmln
aW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGJvb2wgc2hvdWxkQnlw
YXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYg
dG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2Nv
cGU+IFNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wg
aXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29u
dGVudFNlY3VyaXR5UG9saWN5LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpCiB7CiAgICAgVU5VU0VEX1BBUkFN
KG5hbWUpOwogICAgIHJldHVybiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShtX2Rh
dGEsIHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5l
LCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5LCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgaWRiQ29u
bmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5o
CmluZGV4IGMxNDc5OWVjZDJiMzIwMDU0NGM1YWZlM2UxNTYzYzE2ODMxOTkyNjYuLjMzODZmMjFl
Mzc3MTQwNzQ4NjIxNTA2MWQ2MWYxNjdlMjAzZmJlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmgKQEAgLTc0LDcgKzc0LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RvcEZldGNoRXZlbnRNb25p
dG9yaW5nKCkgeyBtX2lzSGFuZGxpbmdGZXRjaEV2ZW50ID0gZmFsc2U7IH0KIAogcHJvdGVjdGVk
OgotICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pIGZpbmFsOworICAgIFJl
ZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5Jikg
ZmluYWw7CiAgICAgdm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IGMx
MjFkYjYzNWVkMTRkYWUxNzhhM2ZiYjJkNTJkZTg2YWQ5YzViNDIuLjZlNGE5NTVlMGE1MGE1YWU1
NGQ5OGNhN2EwNzk0YWMxZTlkNzlhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmts
ZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldEdsb2JhbFNjb3BlLmNwcApAQCAtMTY2LDUgKzE2NiwxMCBAQCB2b2lkIFdvcmtsZXRH
bG9iYWxTY29wZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVs
IGxldmVsLCBjbwogICAgIG1fZG9jdW1lbnQtPmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVz
c2FnZVRleHQsIHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBXVEZNb3ZlKGNh
bGxTdGFjayksIG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAorUmVmZXJyZXJQb2xp
Y3kgV29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRH
bG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3Bl
LmgKaW5kZXggYmM0NDExZWYzNzI3ZjI0MWY1NmNmOTc1ZTJiYmQ2NDZiM2Y3OTJmYS4uNDJjM2E1
YmU2OTFhYzljYmZhZTM2YTJjMDY5NjUzMWQ4MDk2ZGFjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTYzLDYgKzYzLDggQEAgcHVibGljOgog
CiAgICAgY29uc3QgVVJMJiB1cmwoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2NvZGUudXJsKCk7
IH0KIAorICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3Qgb3ZlcnJpZGU7
CisKICAgICB2b2lkIGV2YWx1YXRlKCk7CiAKICAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlMjRkY2IxZTAzMDJmYzM5Y2ExMjIzODcx
ZDQ3NWQ3YTkzZTkyYjc3Li45YWQ1OTc5ODhlNGRhYWE2N2IxYmNjNjc2NDFmMjI1MDE2MDA1OWEx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0w
MS0yNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEZpeCBmZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY1MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGltcHJvdmVkIHRlc3QgcmVz
dWx0LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9y
ZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wMS0yNCAgUm9zc2Fu
YSBNb250ZXJpc28gIDxybW9udGVyaXNvQGlnYWxpYS5jb20+CiAKICAgICAgICAgSW1wb3J0IDIg
c2V0cyBvZiBncmlkLWFsaWduLXRlc3RzIGZyb20gV1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZl
cnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13
b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYxYmVjMThjMGNhNzkyZjMwZWFm
NTUzZDIxZWUuLjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMzZTJkYTY3MjhlNzEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGlj
aWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAog
Ci1GQUlMIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNzZXJ0X2VxdWFsczogcmVxdWVz
dCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0dHA6Ly9s
b2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRjaC9hcGkv
cG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgotRkFJTCBDcm9zcy1vcmlnaW4g
cmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIGFzc2VydF9lcXVhbHM6IHJl
cXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVkICJodHRw
Oi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvZmV0Y2gv
YXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK1BBU1MgUmVxdWVzdCdz
IHJlZmVycmVyIGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlzIG92ZXJy
aWRkZW4gYnkgY2xpZW50IG9yaWdpbiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388708</attachid>
            <date>2020-01-24 10:54:44 -0800</date>
            <delta_ts>2020-01-25 08:18:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200124195442.patch</filename>
            <type>text/plain</type>
            <size>43983</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MDc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWNiNTUwMzVkZTdmOWM0
ODQ5NDMyYmU1NjI4Yzg3NTc2NDcyMGVlMS4uMmY5ODgzNjdjZTk4MmEwNjVhNmEzODdiNTY3MTMx
MDAyM2M1ZTczZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTAxLTI0ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xp
Y3kgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0
ZVJlZmVycmVyUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoKKyAgICAg
ICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjAtMDEtMjQgIFphbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtQYWludGluZ10gQWRkIERpc3BsYXk6
OlJ1biBjbGVhbnVwIHRvIFRleHRQYWludGVyOjpjbGVhckdseXBoRGlzcGxheUxpc3RzCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwCmluZGV4IGQyMTY2MjRj
MmQzODM0MzdkOWJiMzUxZjRkNWQ3ZGY0ZTc1M2JiMzYuLjc3ZmM2ZTVkMmJmNzdmOWJkNTMzNjhj
ZTczYWE0NjBkYWJmNmM3ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0
Y2gvRmV0Y2hMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0
Y2hMb2FkZXIuY3BwCkBAIC0xMTMsNiArMTEzLDggQEAgdm9pZCBGZXRjaExvYWRlcjo6c3RhcnQo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmV0Y2hSZXF1ZXN0JiByZXEK
ICAgICAgICAgcmVmZXJyZXIgPSBTdHJpbmcoKTsKICAgICB9IGVsc2UKICAgICAgICAgcmVmZXJy
ZXIgPSAocmVmZXJyZXIgPT0gImNsaWVudCIpID8gY29udGV4dC51cmwoKS5zdHJpcHBlZEZvclVz
ZUFzUmVmZXJyZXIoKSA6IFVSTChjb250ZXh0LnVybCgpLCByZWZlcnJlcikuc3RyaXBwZWRGb3JV
c2VBc1JlZmVycmVyKCk7CisgICAgaWYgKG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPT0gUmVmZXJy
ZXJQb2xpY3k6OkVtcHR5U3RyaW5nKQorICAgICAgICBvcHRpb25zLnJlZmVycmVyUG9saWN5ID0g
Y29udGV4dC5yZWZlcnJlclBvbGljeSgpOwogCiAgICAgbV9sb2FkZXIgPSBUaHJlYWRhYmxlTG9h
ZGVyOjpjcmVhdGUoY29udGV4dCwgKnRoaXMsIFdURk1vdmUoZmV0Y2hSZXF1ZXN0KSwgb3B0aW9u
cywgV1RGTW92ZShyZWZlcnJlcikpOwogICAgIG1faXNTdGFydGVkID0gbV9sb2FkZXI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCmluZGV4IDNhY2I2MjJjOWRmMjBhZTRiNjIyYjdkZjhjZTVmY2Q5ODkxNTBm
MzEuLmJmMDE1MTgxZWU0NTZjYmNjOGMyMGZiNjI1ZDhmOGRhODhiMmQ4M2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oCkBAIC00MjAsNyArNDIwLDcgQEAgcHVibGljOgogI2VuZGlmCiAKICAgICB2b2lk
IHNldFJlZmVycmVyUG9saWN5KFJlZmVycmVyUG9saWN5KTsKLSAgICBSZWZlcnJlclBvbGljeSBy
ZWZlcnJlclBvbGljeSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xpY3kudmFsdWVPcihS
ZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUpOyB9CisgICAgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3JlZmVycmVyUG9s
aWN5LnZhbHVlT3IoUmVmZXJyZXJQb2xpY3k6Ok5vUmVmZXJyZXJXaGVuRG93bmdyYWRlKTsgfQog
CiAgICAgV0VCQ09SRV9FWFBPUlQgRG9jdW1lbnRUeXBlKiBkb2N0eXBlKCkgY29uc3Q7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDdhYTNhNWRj
MDJiNzk5M2Q5NGZhYjMzMTEyYmVjYTVkOGRlNGZjN2QuLjAwODMxYTI2MGI1MzdhMDA5M2E4ODEy
ZGE0YmE1ZmZkNWMyNTU2YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaApAQCAtNjUsNiArNjUsNyBAQCBjbGFzcyBSZWplY3RlZFByb21pc2VUcmFja2Vy
OwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBT
b2NrZXRQcm92aWRlcjsKK2VudW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90OwogZW51
bSBjbGFzcyBUYXNrU291cmNlIDogdWludDhfdDsKIAogI2lmIEVOQUJMRShTRVJWSUNFX1dPUktF
UikKQEAgLTk5LDYgKzEwMCw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgU3RyaW5nIHVzZXJB
Z2VudChjb25zdCBVUkwmKSBjb25zdCA9IDA7CiAKKyAgICB2aXJ0dWFsIFJlZmVycmVyUG9saWN5
IHJlZmVycmVyUG9saWN5KCkgY29uc3QgPSAwOworCiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVF
dmFsKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRp
c2FibGVXZWJBc3NlbWJseShjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgPSAwOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwCmluZGV4IGExNGM3ZTY3YThhNWE4MTJmMTRhMGQ0YWM5ODliZWVjNjYzYTQ4M2YuLmIzMTdl
M2ZjZGZhZGVhMDkzN2I1OTBiZmMxM2Y1ZTllZDY2ODY2YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00NCwx
NiArNDQsMTYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUpOwogCi1SZWY8RGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgVVJM
JiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBp
c09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQ
cm92aWRlciogc29ja2V0UHJvdmlkZXIpCitSZWY8RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU+
IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgVVJMJiB1cmwsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVk
aWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29s
IHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZl
cnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKIHsKLSAg
ICBhdXRvIGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3Bl
KHVybCwgV1RGTW92ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25s
aW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
V1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFBy
b3ZpZGVyKSk7CisgICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xp
Y3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpKTsKICAgICBpZiAoIXNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSkKICAgICAgICAgY29udGV4dC0+YXBw
bHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMoY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzKTsKICAgICByZXR1cm4gY29udGV4dDsKIH0KIAotRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYg
dXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0g
ICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwg
dXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlv
blByb3h5LCBzb2NrZXRQcm92aWRlcikKK0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmIHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmIHJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6
OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29j
a2V0UHJvdmlkZXIpCisgICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2lu
KSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9y
aWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCiAg
ICAgLCBtX25hbWUobmFtZSkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCAxYmM5NmE5MTUzZGZjY2IwY2VjNmRk
MGU0OTBlNzlhN2Y0ZjI0ZmE5Li42YzQwNmIzZTNjZmJmMDJkN2UyMjQxNWY4N2ZkZDQ1ZjI5OWM2
MDBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZTsKIGNsYXNzIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIGZpbmFsIDogcHVibGljIFdvcmtl
ckdsb2JhbFNjb3BlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKERlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3Jp
Z2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblBy
b3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBzdGF0aWMgUmVmPERlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3Jp
Z2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogICAgIHZpcnR1
YWwgfkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCk7CiAKICAgICBjb25zdCBTdHJpbmcmIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7IH0KQEAgLTYyLDcgKzYyLDcgQEAgcHVibGljOgog
cHJpdmF0ZToKICAgICB1c2luZyBCYXNlID0gV29ya2VyR2xvYmFsU2NvcGU7CiAKLSAgICBEZWRp
Y2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYs
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBv
bGljeSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsK
IAogICAgIGJvb2wgaXNEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIHRydWU7IH0KICAgICBFeGNlcHRpb25Pcjx2b2lkPiBpbXBvcnRTY3JpcHRzKGNvbnN0
IFZlY3RvcjxTdHJpbmc+JiB1cmxzKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAppbmRleCA3ZDVlMjA3YWE0ODVkZjU0MDRiNGIy
M2QzYTdkYTU0ZDg0YjY4NTFkLi4zZmU3ZjExMWUxZmEyZWI4ZjU4NmE1MDA3NDEyMjU3NTViMzVi
YWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRo
cmVhZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJl
YWQuY3BwCkBAIC0zOCwxNyArMzgsMTcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1EZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmIHVybCwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdv
cmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYg
d29ya2VyRGVidWdnZXJQcm94eSwgV29ya2VyT2JqZWN0UHJveHkmIHdvcmtlck9iamVjdFByb3h5
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0
IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlk
ZXIqIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCi0gICAg
OiBXb3JrZXJUaHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5l
LCBzb3VyY2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29y
a2VyT2JqZWN0UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9y
aWdpbiwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGlt
ZUZsYWdzKQorRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29u
c3QgVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBz
b3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRl
YnVnZ2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3Jr
ZXJPYmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBXb3Jr
ZXJUaHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3Vy
Y2VDb2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2Jq
ZWN0UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwg
dGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlk
ZXIsIHJ1bnRpbWVGbGFncykKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkod29ya2VyT2JqZWN0
UHJveHkpCiB7CiB9CiAKIERlZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRo
cmVhZCgpID0gZGVmYXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYgcmVmZXJyZXJQb2xpY3kpCiB7Ci0gICAgcmV0
dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdp
biksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBpZGJDb25u
ZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisgICAgcmV0dXJuIERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlOjpjcmVhdGUodXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50
aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSwgaWRiQ29u
bmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwogfQogCiB2b2lkIERlZGljYXRlZFdv
cmtlclRocmVhZDo6cnVuRXZlbnRMb29wKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlclRocmVhZC5oCmluZGV4IGNjNDlmOWU5OTU1MDlkMThlMzFmZGFmZWYxMzNh
MmYyZDBhN2U0ZjIuLmZjY2UzOTdhYTA5Y2MyZDBmNDZlZjExNjc1M2VhYjBkNjczMTFiYzkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaApAQCAt
NTAsMTEgKzUwLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0KCkgeyBXb3JrZXJUaHJlYWQ6
OnN0YXJ0KG51bGxwdHIpOyB9CiAKIHByb3RlY3RlZDoKLSAgICBSZWY8V29ya2VyR2xvYmFsU2Nv
cGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rvbmlj
VGltZSB0aW1lT3JpZ2luKSBvdmVycmlkZTsKKyAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNy
ZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYpIG92ZXJyaWRlOwogICAgIHZvaWQgcnVu
RXZlbnRMb29wKCkgb3ZlcnJpZGU7CiAKIHByaXZhdGU6Ci0gICAgRGVkaWNhdGVkV29ya2VyVGhy
ZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBX
b3JrZXJPYmplY3RQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBT
b2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYs
IFdvcmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwg
TW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJlclBvbGljeSYsIElEQkNsaWVu
dDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFn
cyk7CiAKICAgICBXb3JrZXJPYmplY3RQcm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsKIH07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlci5jcHAKaW5kZXggYzNkZTQ0NjBmNzQ0ODQ3N2JhOWMxYTIyOTdm
MmQyNzFkMjkzNGMxYi4uYzNjYmQ5MzQ2NjBlOGYzOWE2MTFjZThiMzYyOGY0OWQ0NjY3ZjMxMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcApAQCAtMjExLDcgKzIxMSwxMCBAQCB2b2lkIFdv
cmtlcjo6bm90aWZ5RmluaXNoZWQoKQogCiAgICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3JtU3Ry
YXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzID0gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPyBt
X2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4dC0+
Y29udGVudFNlY3VyaXR5UG9saWN5KCktPnJlc3BvbnNlSGVhZGVycygpOwotICAgIG1fY29udGV4
dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25h
bWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwg
bV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dv
cmtlckNyZWF0aW9uVGltZSwgbV9ydW50aW1lRmxhZ3MpOworICAgIFJlZmVycmVyUG9saWN5IHJl
ZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQb2xpY3k6OkVtcHR5U3RyaW5nOworICAgIGlmIChhdXRv
IHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQb2xpY3kobV9zY3JpcHRMb2FkZXItPnJlZmVycmVyUG9s
aWN5KCksIFJlZmVycmVyUG9saWN5U291cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAgICAgcmVmZXJy
ZXJQb2xpY3kgPSAqcG9saWN5OworICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudCht
X3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgp
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJy
ZXJQb2xpY3ksIG1fcnVudGltZUZsYWdzKTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBt
X3NjcmlwdExvYWRlci0+c2NyaXB0KCkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IDAxZGUzOThkNGM5YmQyMzI3MWI4NmE5YjdmOWFi
MzU2YjE2YTU5OTEuLjU0MGI3MzZmYTJkMjg4ZDI0NmY2MTlkODYwMzlkMWMxNmNlNTk0MDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02Miw3
ICs2Miw3IEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAKLVdvcmtlckdsb2JhbFNjb3BlOjpXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdp
biwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9v
bCBpc09ubGluZSwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2lu
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKK1dvcmtl
ckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVy
cmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkq
IGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQogICAgIDog
bV91cmwodXJsKQogICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCiAgICAgLCBtX3VzZXJB
Z2VudCh1c2VyQWdlbnQpCkBAIC03Nyw2ICs3Nyw3IEBAIFdvcmtlckdsb2JhbFNjb3BlOjpXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdp
CiAjZW5kaWYKICAgICAsIG1fc29ja2V0UHJvdmlkZXIoc29ja2V0UHJvdmlkZXIpCiAgICAgLCBt
X3BlcmZvcm1hbmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywgdGltZU9yaWdpbikpCisgICAg
LCBtX3JlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5KQogewogI2lmICFFTkFCTEUoSU5ERVhF
RF9EQVRBQkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAgLTUzNSw0
ICs1MzYsOSBAQCBDU1NWYWx1ZVBvb2wmIFdvcmtlckdsb2JhbFNjb3BlOjpjc3NWYWx1ZVBvb2wo
KQogICAgIHJldHVybiAqbV9jc3NWYWx1ZVBvb2w7CiB9CiAKK1JlZmVycmVyUG9saWN5IFdvcmtl
ckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVm
ZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA3MWI1MmJmNDdhZmQ5MjY5MGM0MWM0
NzU1YWVhYWM1MzIyOGRhZTgzLi5kMzJkZDBjYTk4MmQ2Y2ExNzgyZjRmZDUxYWNhOWRkZDg1ZGZk
NDkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0x
MzgsOCArMTM4LDEwIEBAIHB1YmxpYzoKIAogICAgIENTU1ZhbHVlUG9vbCYgY3NzVmFsdWVQb29s
KCk7CiAKKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOwor
CiBwcm90ZWN0ZWQ6Ci0gICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBXb3JrZXJUaHJlYWQmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBjb25zdCBSZWZlcnJl
clBvbGljeSYsIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIq
KTsKIAogICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMo
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7CiAKQEAgLTIxNiw2
ICsyMTgsNyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24+
IG1fc3dDbGllbnRDb25uZWN0aW9uOwogI2VuZGlmCiAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1Zh
bHVlUG9vbD4gbV9jc3NWYWx1ZVBvb2w7CisgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBv
bGljeTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNzRjNjQ4YjljYzgwNjQwZWI2
NTcwOTIwZWUxODZiODBmOGZjZmY3OC4uMTRhNGYxZDAzMzc4MmU2YmIxM2Y2YTBkZGIzMGE0ZTEz
ZTc4MDA5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZVByb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZVByb3h5LmgKQEAgLTM5LDEzICszOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczsKIGNsYXNzIFdvcmtlcjsKK2Vu
dW0gY2xhc3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90OwogCiAvLyBBIHByb3h5IHRvIHRhbGsg
dG8gdGhlIHdvcmtlciBjb250ZXh0LgogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBw
dWJsaWM6CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXIm
KTsKIAotICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYg
c2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGlt
ZUZsYWdzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29u
c3QgUmVmZXJyZXJQb2xpY3kmLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
cG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYp
ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgPSAwOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAppbmRl
eCA0NjAzN2ZhMTgwNTgxNTQ4YjI1Y2JlZTY3NGY2MDlmMDNkYWQ2NmU2Li41M2ExMDQ1YzcyZDgz
ZDI0NGVhYjY2OWQ5MmIyODAyNTM5ZmRmODE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzIsNyArNzIsNyBAQCBXb3JrZXJNZXNz
YWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAgfHwgKGlzPFdvcmtl
ckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBkb3duY2FzdDxXb3Jr
ZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhyZWFkKCkudGhyZWFk
KCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2VyTWVzc2FnaW5nUHJv
eHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQgV29ya2VyTWVzc2Fn
aW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSlNDOjpS
dW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8g
YmUgcmV2aXNpdGVkIHdoZW4gd2Ugc3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBB
U1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKQEAgLTg4LDcgKzg4LDcgQEAgdm9pZCBX
b3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNj
cmlwdFVSTCwgY29uc3QgU3QKIAogICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9
IGRvY3VtZW50LnNvY2tldFByb3ZpZGVyKCk7CiAKLSAgICBhdXRvIHRocmVhZCA9IERlZGljYXRl
ZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFn
ZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2Rl
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmln
aW4sIHByb3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKKyAgICBhdXRvIHRocmVh
ZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRp
ZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgKnRoaXMsICp0aGlzLCAqdGhp
cywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgZG9jdW1lbnQudG9wT3JpZ2lu
KCksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBwcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1
bnRpbWVGbGFncyk7CiAKICAgICB3b3JrZXJUaHJlYWRDcmVhdGVkKHRocmVhZC5nZXQoKSk7CiAg
ICAgdGhyZWFkLT5zdGFydCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9X
b3JrZXJNZXNzYWdpbmdQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCmluZGV4IGZkNTU0ZTE0MTJmZTg2NWIwOTEyNjA2ZWEzNzA4YWJmZDU3NDE3
ZWIuLmI4MzM0ZGRmMWNkOGRjYmU3NjQzMjlhNTJlNGU2ODkzYzQ3NGE1NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKQEAgLTUwLDcgKzUwLDcg
QEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBJbXBsZW1lbnRhdGlvbnMgb2YgV29ya2VyR2xv
YmFsU2NvcGVQcm94eS4KICAgICAvLyAoT25seSB1c2UgdGhlc2UgZnVuY3Rpb25zIGluIHRoZSB3
b3JrZXIgb2JqZWN0IHRocmVhZC4pCi0gICAgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNv
bnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpT
Qzo6UnVudGltZUZsYWdzKSBmaW5hbDsKKyAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
Y29uc3QgUmVmZXJyZXJQb2xpY3kmLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CiAgICAgdm9p
ZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAgIHZvaWQgcG9zdE1lc3Nh
Z2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBvcnRzJiYpIGZpbmFsOwog
ICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggZjhlMzZkZTI4NDBhOWNjYzZlZTlkOWVmNzA4
ZWNjYzkxOTY4YTY2OC4uNmZmMDhhMDc5MjQ2Mzc5MmE4ZWE0MzJjZjQyOGIyNzZlNWUxYjczMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApAQCAtNzQsNyArNzQsNyBA
QCB1bnNpZ25lZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZENvdW50KCkKIHN0cnVjdCBXb3Jr
ZXJUaHJlYWRTdGFydHVwRGF0YSB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoV29ya2VyVGhy
ZWFkU3RhcnR1cERhdGEpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBX
b3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0
YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbik7CisgICAgV29y
a2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFy
dE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0
eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVy
cmVyUG9saWN5Jik7CiAKICAgICBVUkwgbV9zY3JpcHRVUkw7CiAgICAgUmVmPFNlY3VyaXR5T3Jp
Z2luPiBtX29yaWdpbjsKQEAgLTg4LDkgKzg4LDEwIEBAIHB1YmxpYzoKICAgICBib29sIG1faXNP
bmxpbmU7CiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9yaWdpbjsKICAgICBNb25vdG9u
aWNUaW1lIG1fdGltZU9yaWdpbjsKKyAgICBSZWZlcnJlclBvbGljeSBtX3JlZmVycmVyUG9saWN5
OwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRh
KGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4pCitXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3Rh
cnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGlu
ZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRN
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1v
bm90b25pY1RpbWUgdGltZU9yaWdpbiwgY29uc3QgUmVmZXJyZXJQb2xpY3kmIHJlZmVycmVyUG9s
aWN5KQogICAgIDogbV9zY3JpcHRVUkwoc2NyaXB0VVJMLmlzb2xhdGVkQ29weSgpKQogICAgICwg
bV9vcmlnaW4oU2VjdXJpdHlPcmlnaW46OmNyZWF0ZShtX3NjcmlwdFVSTCktPmlzb2xhdGVkQ29w
eSgpKQogICAgICwgbV9uYW1lKG5hbWUuaXNvbGF0ZWRDb3B5KCkpCkBAIC0xMDMsMTYgKzEwNCwx
NyBAQCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29u
c3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cgogICAgICwgbV9pc09ubGluZShpc09ubGluZSkK
ICAgICAsIG1fdG9wT3JpZ2luKHRvcE9yaWdpbi5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fdGlt
ZU9yaWdpbih0aW1lT3JpZ2luKQorICAgICwgbV9yZWZlcnJlclBvbGljeShyZWZlcnJlclBvbGlj
eSkKIHsKIH0KIAotV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJv
eHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlclJlcG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBv
cnRpbmdQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZs
YWdzKQorV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3Jr
ZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIHdv
cmtlckRlYnVnZ2VyUHJveHksIFdvcmtlclJlcG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQ
cm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBj
b25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IGNvbnN0IFJlZmVycmVyUG9saWN5JiByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJREJDb25u
ZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3Zp
ZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiAgICAgOiBtX2lkZW50aWZpZXIo
aWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyTG9hZGVyUHJveHkod29y
a2VyTG9hZGVyUHJveHkpCiAgICAgLCBtX3dvcmtlckRlYnVnZ2VyUHJveHkod29ya2VyRGVidWdn
ZXJQcm94eSkKICAgICAsIG1fd29ya2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJv
eHkpCiAgICAgLCBtX3J1bnRpbWVGbGFncyhydW50aW1lRmxhZ3MpCi0gICAgLCBtX3N0YXJ0dXBE
YXRhKG1ha2VVbmlxdWU8V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwg
aWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBj
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luKSkKKyAgICAsIG1f
c3RhcnR1cERhdGEobWFrZVVuaXF1ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4oc2NyaXB0VVJM
LCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCBzdGFy
dE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0b3BPcmlnaW4sIHRpbWVPcmlnaW4sIHJl
ZmVycmVyUG9saWN5KSkKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkKICAgICAsIG1faWRi
Q29ubmVjdGlvblByb3h5KGNvbm5lY3Rpb25Qcm94eSkKICNlbmRpZgpAQCAtMTY4LDcgKzE3MCw3
IEBAIHZvaWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgICAgICAvLyB3aGlsZSBX
b3JrZXJUaHJlYWQ6OnN0b3AoKSBpcyBhY2Nlc3NpbmcgaXQuIE5vdGUgdGhhdCBXb3JrZXJUaHJl
YWQ6OnN0b3AoKSBjYW4KICAgICAgICAgLy8gYmUgY2FsbGVkIGJlZm9yZSB3ZSd2ZSBmaW5pc2hl
ZCBjcmVhdGluZyB0aGUgV29ya2VyR2xvYmFsU2NvcGUuCiAgICAgICAgIExvY2tIb2xkZXIgbG9j
ayhtX3RocmVhZENyZWF0aW9uQW5kV29ya2VyR2xvYmFsU2NvcGVNdXRleCk7Ci0gICAgICAgIG1f
d29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRh
LT5tX3NjcmlwdFVSTCwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1
cERhdGEtPm1fbmFtZSwgbV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRh
LT5tX3VzZXJBZ2VudCwgbV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+
bV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1f
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3Rh
cnR1cERhdGEtPm1fdG9wT3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luKTsKKyAg
ICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3Rh
cnR1cERhdGEtPm1fc2NyaXB0VVJMLCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fb3JpZ2luKSwg
bV9zdGFydHVwRGF0YS0+bV9uYW1lLCBtX3N0YXJ0dXBEYXRhLT5tX2lkZW50aWZpZXIsIG1fc3Rh
cnR1cERhdGEtPm1fdXNlckFnZW50LCBtX3N0YXJ0dXBEYXRhLT5tX2lzT25saW5lLCBtX3N0YXJ0
dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zdGFydHVw
RGF0YS0+bV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1v
dmUobV9zdGFydHVwRGF0YS0+bV90b3BPcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX3RpbWVPcmln
aW4sIG1fc3RhcnR1cERhdGEtPm1fcmVmZXJyZXJQb2xpY3kpOwogCiAgICAgICAgIHNjcmlwdENv
bnRyb2xsZXIgPSBtX3dvcmtlckdsb2JhbFNjb3BlLT5zY3JpcHQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggMTRlZWJmMTQ1MThlY2E2YmYyNzFmNDUzYTA1MzUy
YTY1MWQ2NzI3My4uNmU2OTA1ZjJhNzdhMDNlNTY3Mzk5ZDk0OTVmNjI5YmJhNzMwY2Q4OCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC05MCwxMCArOTAsMTAgQEAgcHVi
bGljOgogICAgIFN0cmluZyBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVy
OyB9CiAKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFn
ZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRl
clByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29y
a2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpS
dW50aW1lRmxhZ3MpOworICAgIFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJv
eHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29ya2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJU
aHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25z
dCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNv
bnN0IFJlZmVycmVyUG9saWN5JiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2Nr
ZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKIAogICAgIC8vIEZhY3RvcnkgbWV0aG9k
IGZvciBjcmVhdGluZyBhIG5ldyB3b3JrZXIgY29udGV4dCBmb3IgdGhlIHRocmVhZC4KLSAgICB2
aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pID0gMDsKKyAgICB2aXJ0
dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3Qg
VVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9s
aWN5JikgPSAwOwogCiAgICAgLy8gRXhlY3V0ZXMgdGhlIGV2ZW50IGxvb3AgZm9yIHRoZSB3b3Jr
ZXIgdGhyZWFkLiBEZXJpdmVkIGNsYXNzZXMgY2FuIG92ZXJyaWRlIHRvIHBlcmZvcm0gYWN0aW9u
cyBiZWZvcmUvYWZ0ZXIgZW50ZXJpbmcgdGhlIGV2ZW50IGxvb3AuCiAgICAgdmlydHVhbCB2b2lk
IHJ1bkV2ZW50TG9vcCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2
aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCBkMThkMTM2MDc4MmY1
MTAxZjRmOTNiMmRmN2YwZjEyYjA1YTA0MGU4Li4zZGY2NzVjOTRiZTAyNTBmNjZiNzczNzQ1NzAx
MjhlYjA3ODk2ZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
U2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtNTAsOCArNTAsMTUgQEAg
UmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpj
cmVhdGUoY29uc3QgU2VydmljZVdvcmsKICAgICByZXR1cm4gc2NvcGU7CiB9CiAKK3N0YXRpYyBS
ZWZlcnJlclBvbGljeSBjb21wdXRlUmVmZXJyZXJQb2xpY3koY29uc3QgU3RyaW5nJiByZWZlcnJl
clBvbGljeSkKK3sKKyAgICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KHJl
ZmVycmVyUG9saWN5LCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCisgICAgICAg
IHJldHVybiAqcG9saWN5OworICAgIHJldHVybiBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7
Cit9CisKIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
KGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgY29uc3QgVVJMJiB1cmwsIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQm
IHRocmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0
UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyR2xvYmFsU2NvcGUodXJsLCBX
VEZNb3ZlKG9yaWdpbiksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9y
aWdpbiksIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCisgICAg
OiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29tcHV0ZVJlZmVy
cmVyUG9saWN5KGRhdGEucmVmZXJyZXJQb2xpY3kpLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFBy
b3ZpZGVyKQogICAgICwgbV9jb250ZXh0RGF0YShjcm9zc1RocmVhZENvcHkoZGF0YSkpCiAgICAg
LCBtX3JlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgq
dGhpcywgbmF2aWdhdG9yKCkuc2VydmljZVdvcmtlcigpLCBXVEZNb3ZlKG1fY29udGV4dERhdGEu
cmVnaXN0cmF0aW9uKSkpCiAgICAgLCBtX2NsaWVudHMoU2VydmljZVdvcmtlckNsaWVudHM6OmNy
ZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRl
eHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAzYmY3MTM5ZmYxNjcwOGE0
YWQyNjQzYWUwYjJlMThiMmRlZDM3Njg2Li45MWFiYTU2NWQ1NGVlNWEwMmU3MGUyODMzNzg0MTg1
N2ZkNDlkYzExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29u
dGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsNyArNzMsNyBA
QCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAKIFNlcnZpY2VX
b3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxvYWRlclByb3h5JiBsb2Fk
ZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0
cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6
OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRlclBy
b3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVk
KCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0eVBv
bGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0eU9y
aWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgaWRiQ29ubmVjdGlvblByb3h5LCBz
b2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKKyAg
ICA6IFdvcmtlclRocmVhZChkYXRhLnNjcmlwdFVSTCwgZW1wdHlTdHJpbmcoKSwgInNlcnZpY2V3
b3JrZXI6IiArIEluc3BlY3Rvcjo6SWRlbnRpZmllcnNGYWN0b3J5OjpjcmVhdGVJZGVudGlmaWVy
KCksIFdURk1vdmUodXNlckFnZW50KSwgcGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0
ZWd5KCktPmlzT25MaW5lKCksIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwgZGVidWdnZXJQcm94
eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRT
dGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNlLCBkYXRh
LnJlZ2lzdHJhdGlvbi5rZXkudG9wT3JpZ2luKCkuc2VjdXJpdHlPcmlnaW4oKS5nZXQoKSwgTW9u
b3RvbmljVGltZTo6bm93KCksIHsgfSwgaWRiQ29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRl
ciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkKICAgICAsIG1fZGF0YShk
YXRhLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eShEdW1teVNlcnZp
Y2VXb3JrZXJUaHJlYWRQcm94eTo6c2hhcmVkKCkpCiAgICAgLCBtX2hlYXJ0QmVhdFRpbWVvdXQo
U1dDb250ZXh0TWFuYWdlcjo6c2luZ2xldG9uKCkuY29ubmVjdGlvbigpLT5zaG91bGRVc2VTaG9y
dFRpbWVvdXQoKSA/IGhlYXJ0QmVhdFRpbWVvdXRGb3JUZXN0IDogaGVhcnRCZWF0VGltZW91dCkK
QEAgLTg0LDcgKzg0LDcgQEAgU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVh
ZChjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFMKIAogU2VydmljZVdvcmtl
clRocmVhZDo6flNlcnZpY2VXb3JrZXJUaHJlYWQoKSA9IGRlZmF1bHQ7CiAKLVJlZjxXb3JrZXJH
bG9iYWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUo
Y29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IFNlcnZpY2VXb3Jr
ZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9s
aWN5LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBj
b25zdCBSZWZlcnJlclBvbGljeSYpCiB7CiAgICAgVU5VU0VEX1BBUkFNKG5hbWUpOwogICAgIHJl
dHVybiBTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShtX2RhdGEsIHVybCwgV1RGTW92
ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCAqdGhpcywgY29udGVu
dFNlY3VyaXR5UG9saWN5LCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCks
IHNvY2tldFByb3ZpZGVyKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9z
ZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5oCmluZGV4IGMxNDc5OWVj
ZDJiMzIwMDU0NGM1YWZlM2UxNTYzYzE2ODMxOTkyNjYuLjMzODZmMjFlMzc3MTQwNzQ4NjIxNTA2
MWQ2MWYxNjdlMjAzZmJlMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2Vy
dmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKQEAgLTc0LDcgKzc0
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RvcEZldGNoRXZlbnRNb25pdG9yaW5nKCkgeyBtX2lz
SGFuZGxpbmdGZXRjaEV2ZW50ID0gZmFsc2U7IH0KIAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3Jr
ZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2lu
LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pIGZpbmFsOworICAgIFJlZjxXb3JrZXJHbG9iYWxT
Y29wZT4gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIGNvbnN0IFJlZmVycmVyUG9saWN5JikgZmluYWw7CiAgICAgdm9p
ZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IGMxMjFkYjYzNWVkMTRkYWUx
NzhhM2ZiYjJkNTJkZTg2YWQ5YzViNDIuLjZlNGE5NTVlMGE1MGE1YWU1NGQ5OGNhN2EwNzk0YWMx
ZTlkNzlhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNj
b3BlLmNwcApAQCAtMTY2LDUgKzE2NiwxMCBAQCB2b2lkIFdvcmtsZXRHbG9iYWxTY29wZTo6YWRk
TWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBjbwogICAg
IG1fZG9jdW1lbnQtPmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZVRleHQsIHNvdXJj
ZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBXVEZNb3ZlKGNhbGxTdGFjayksIG51bGxw
dHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAorUmVmZXJyZXJQb2xpY3kgV29ya2xldEdsb2Jh
bFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJlZmVycmVyUG9s
aWN5OjpOb1JlZmVycmVyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXggYmM0NDEx
ZWYzNzI3ZjI0MWY1NmNmOTc1ZTJiYmQ2NDZiM2Y3OTJmYS4uYzQ3YWNiNTliYjgzOGIzN2M3MTBl
YTc4NGJlNTM1ZDQ4MDhmN2MyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xl
dEdsb2JhbFNjb3BlLmgKQEAgLTY1LDYgKzY1LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBldmFs
dWF0ZSgpOwogCisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5h
bDsKKwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKICAgICB1c2luZyBSZWZDb3VudGVkOjpk
ZXJlZjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZTI0ZGNiMWUwMzAyZmMz
OWNhMTIyMzg3MWQ0NzVkN2E5M2U5MmI3Ny4uOWFkNTk3OTg4ZTRkYWFhNjdiMWJjYzY3NjQxZjIy
NTAxNjAwNTlhMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMjAtMDEtMjQgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAgICAgICBG
aXggZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIuaHRtbAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NTIwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBpbXByb3Zl
ZCB0ZXN0IHJlc3VsdC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
cG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDEt
MjQgIFJvc3NhbmEgTW9udGVyaXNvICA8cm1vbnRlcmlzb0BpZ2FsaWEuY29tPgogCiAgICAgICAg
IEltcG9ydCAyIHNldHMgb2YgZ3JpZC1hbGlnbi10ZXN0cyBmcm9tIFdQVApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9s
aWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJl
ci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dAppbmRleCBjMjI2MjUxNDBmYmE2MWJlYzE4YzBj
YTc5MmYzMGVhZjU1M2QyMWVlLi40OWMyZWFiNmEyNDc5MGRkMTFlNGUxM2ZkMjMzM2UyZGE2NzI4
ZTcxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNo
L2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIAotRkFJTCBSZXF1ZXN0J3MgcmVmZXJyZXIgaXMgb3JpZ2luIGFzc2VydF9lcXVh
bHM6IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVk
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKLUZBSUwgQ3Jv
c3Mtb3JpZ2luIHJlZmVycmVyIGlzIG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiBhc3NlcnRf
ZXF1YWxzOiByZXF1ZXN0J3MgcmVmZXJyZXIgaXMgaHR0cDovL2xvY2FsaG9zdDo4ODAwLyBleHBl
Y3RlZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwLyIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4
ODAwL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4uanM/cGlwZT1zdWIiCitQQVNT
IFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gCitQQVNTIENyb3NzLW9yaWdpbiByZWZlcnJl
ciBpcyBvdmVycmlkZGVuIGJ5IGNsaWVudCBvcmlnaW4gCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388775</attachid>
            <date>2020-01-25 08:18:40 -0800</date>
            <delta_ts>2020-01-27 07:10:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200125171839.patch</filename>
            <type>text/plain</type>
            <size>43808</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTNjNGFjMDNlNWVjZjhm
ZTgyYjI2NTQxODM5NDI2ODUwMjNhZWY0Yi4uMWEwOWJhYzRmOTZkNWI5ZjYwMzFlZmZhMDM2NzQ0
NDI3MDkyZGI4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDIwLTAxLTI2ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xp
Y3kgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y29tcHV0
ZVJlZmVycmVyUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJHbG9iYWxT
Y29wZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNl
cnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQpOgorICAgICAgICAoV2ViQ29y
ZTo6U2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAg
ICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaDoKKyAgICAg
ICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAgICAgICogd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjAtMDEtMjUgIEFudHRpIEtvaXZpc3Rv
ICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFtMRkNdW0ludGVncmF0aW9uXSBSZS1lbmFi
bGUgbGluZSBsYXlvdXQgaW50ZWdyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDIxNjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRl
NzUzYmIzNi4uNzdmYzZlNWQyYmY3N2Y5YmQ1MzM2OGNlNzNhYTQ2MGRhYmY2YzdkMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKQEAgLTExMyw2ICsx
MTMsOCBAQCB2b2lkIEZldGNoTG9hZGVyOjpzdGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBj
b250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3QmIHJlcQogICAgICAgICByZWZlcnJlciA9IFN0cmlu
ZygpOwogICAgIH0gZWxzZQogICAgICAgICByZWZlcnJlciA9IChyZWZlcnJlciA9PSAiY2xpZW50
IikgPyBjb250ZXh0LnVybCgpLnN0cmlwcGVkRm9yVXNlQXNSZWZlcnJlcigpIDogVVJMKGNvbnRl
eHQudXJsKCksIHJlZmVycmVyKS5zdHJpcHBlZEZvclVzZUFzUmVmZXJyZXIoKTsKKyAgICBpZiAo
b3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpCisg
ICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xpY3kgPSBjb250ZXh0LnJlZmVycmVyUG9saWN5KCk7
CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFibGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhp
cywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBvcHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAg
ICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FjYjYy
MmM5ZGYyMGFlNGI2MjJiN2RmOGNlNWZjZDk4OTE1MGYzMS4uYmYwMTUxODFlZTQ1NmNiY2M4YzIw
ZmI2MjVkOGY4ZGE4OGIyZDgzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3Vt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTQyMCw3ICs0MjAs
NyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAgIHZvaWQgc2V0UmVmZXJyZXJQb2xpY3koUmVmZXJy
ZXJQb2xpY3kpOwotICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyBy
ZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVy
V2hlbkRvd25ncmFkZSk7IH0KKyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVmZXJyZXJQb2xpY3kudmFsdWVPcihSZWZlcnJlclBvbGlj
eTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUpOyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1
bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKaW5kZXggN2FhM2E1ZGMwMmI3OTkzZDk0ZmFiMzMxMTJiZWNhNWQ4
ZGU0ZmM3ZC4uMDA4MzFhMjYwYjUzN2EwMDkzYTg4MTJkYTRiYTVmZmQ1YzI1NTZhOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCkBAIC02NSw2ICs2NSw3
IEBAIGNsYXNzIFJlamVjdGVkUHJvbWlzZVRyYWNrZXI7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7
CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNsYXNzIFNvY2tldFByb3ZpZGVyOworZW51bSBjbGFz
cyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50
OF90OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfV09SS0VSKQpAQCAtOTksNiArMTAwLDggQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgdXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0ID0g
MDsKIAorICAgIHZpcnR1YWwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCA9
IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1l
c3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0
cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggYTE0YzdlNjdhOGE1YTgx
MmYxNGEwZDRhYzk4OWJlZWM2NjNhNDgzZi4uZmMyNmI4NjczM2Y5MTM0YWUxZTA3NWE2MjBiNjFj
MzdmZTFkNzcyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTQ0LDE2ICs0NCwxNiBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZSk7CiAKLVJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikK
K1JlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2Nv
cGU6OmNyZWF0ZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwg
Y29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVh
ZCwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIpCiB7Ci0gICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRl
bnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwg
Y29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikpOworICAgIGF1dG8gY29udGV4dCA9IGFk
b3B0UmVmKCpuZXcgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZNb3ZlKG9yaWdp
biksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiks
IHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyKSk7CiAgICAgaWYgKCFzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3kpCiAgICAgICAgIGNvbnRleHQtPmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyk7CiAgICAgcmV0dXJu
IGNvbnRleHQ7CiB9CiAKLURlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpEZWRpY2F0ZWRXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdp
biwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0
cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRo
cmVhZCwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
SURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJv
dmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyR2xvYmFsU2NvcGUodXJsLCBXVEZN
b3ZlKG9yaWdpbiksIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHRocmVhZCwgc2hv
dWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdp
biksIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCitEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwg
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBp
c09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVy
UG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBT
b2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1
cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhy
ZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUo
dG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwg
c29ja2V0UHJvdmlkZXIpCiAgICAgLCBtX25hbWUobmFtZSkKIHsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCAxYmM5
NmE5MTUzZGZjY2IwY2VjNmRkMGU0OTBlNzlhN2Y0ZjI0ZmE5Li4wZDdiMjJjOTMwNDAxZTQxNjNh
Njk3NzJhZWQ3NmU2MTAzNjRlYmU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC01MCw3ICs1MCw3IEBAIGNsYXNzIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIGNsYXNzIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlIGZp
bmFsIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKICAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtl
clRocmVhZCYsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVu
dDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBzdGF0aWMgUmVm
PERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgVVJMJiwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtl
clRocmVhZCYsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVy
UG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CiAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKTsKIAogICAgIGNvbnN0
IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQpAQCAtNjIsNyArNjIsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBXb3JrZXJHbG9iYWxTY29wZTsK
IAotICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAg
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2Vj
dXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVy
cmVyUG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVy
Kik7CiAKICAgICBib29sIGlzRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gaW1wb3J0U2NyaXB0cyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggN2Q1ZTIwN2FhNDg1ZGY1NDA0
YjRiMjNkM2E3ZGE1NGQ4NGI2ODUxZC4uNDRjOThhMDkwZTg3MDNkMWM3M2FiODFiMjFjMmY4ZTNi
YzZmOGY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3Jr
ZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
VGhyZWFkLmNwcApAQCAtMzgsMTcgKzM4LDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3QgVVJMJiB1
cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVnZ2VyUHJv
eHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJPYmplY3RQ
cm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBj
b25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQot
ICAgIDogV29ya2VyVGhyZWFkKHVybCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09u
bGluZSwgc291cmNlQ29kZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlckRlYnVnZ2VyUHJveHks
IHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCB0
b3BPcmlnaW4sIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIsIHJ1
bnRpbWVGbGFncykKK0RlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFk
KGNvbnN0IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRp
ZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3Jr
ZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYg
d29ya2VyT2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0
IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGlt
ZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBXb3JrZXJU
aHJlYWQodXJsLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VD
b2RlLCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2JqZWN0
UHJveHksIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGlt
ZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIs
IHJ1bnRpbWVGbGFncykKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkod29ya2VyT2JqZWN0UHJv
eHkpCiB7CiB9CiAKIERlZGljYXRlZFdvcmtlclRocmVhZDo6fkRlZGljYXRlZFdvcmtlclRocmVh
ZCgpID0gZGVmYXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luKQorUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6
OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSkKIHsKLSAgICByZXR1cm4gRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwg
aWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5lY3Rpb25Qcm94
eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGU6OmNyZWF0ZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3Zl
KHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5LCBpZGJDb25uZWN0aW9uUHJv
eHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CiB9CiAKIHZvaWQgRGVkaWNhdGVkV29ya2VyVGhyZWFk
OjpydW5FdmVudExvb3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRp
Y2F0ZWRXb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29y
a2VyVGhyZWFkLmgKaW5kZXggY2M0OWY5ZTk5NTUwOWQxOGUzMWZkYWZlZjEzM2EyZjJkMGE3ZTRm
Mi4uOTgxMjYxY2ZiYTc1OWI4ZTE1YmRiYjE1ZTdjYTJiM2M1OTUwMTRlMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCkBAIC01MCwxMSArNTAs
MTEgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnQoKSB7IFdvcmtlclRocmVhZDo6c3RhcnQobnVs
bHB0cik7IH0KIAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRl
V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4pIG92ZXJyaWRlOworICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IFJlZmVycmVyUG9saWN5KSBvdmVycmlkZTsKICAgICB2b2lkIHJ1bkV2ZW50TG9vcCgpIG92ZXJy
aWRlOwogCiBwcml2YXRlOgotICAgIERlZGljYXRlZFdvcmtlclRocmVhZChjb25zdCBVUkwmLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29y
a2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29ya2VyT2JqZWN0UHJveHkm
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqLCBK
U0M6OlJ1bnRpbWVGbGFncyk7CisgICAgRGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0IFVSTCYs
IGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94
eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5Kiwg
U29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CiAKICAgICBXb3JrZXJPYmplY3RQ
cm94eSYgbV93b3JrZXJPYmplY3RQcm94eTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAK
aW5kZXggYzNkZTQ0NjBmNzQ0ODQ3N2JhOWMxYTIyOTdmMmQyNzFkMjkzNGMxYi4uYzNjYmQ5MzQ2
NjBlOGYzOWE2MTFjZThiMzYyOGY0OWQ0NjY3ZjMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
LmNwcApAQCAtMjExLDcgKzIxMSwxMCBAQCB2b2lkIFdvcmtlcjo6bm90aWZ5RmluaXNoZWQoKQog
CiAgICAgYm9vbCBpc09ubGluZSA9IHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVn
eSgpLT5pc09uTGluZSgpOwogICAgIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzID0gbV9jb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPyBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycy52YWx1ZSgpIDogY29udGV4dC0+Y29udGVudFNlY3VyaXR5UG9saWN5KCkt
PnJlc3BvbnNlSGVhZGVycygpOwotICAgIG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFs
U2NvcGUobV9zY3JpcHRMb2FkZXItPnVybCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudCht
X3NjcmlwdExvYWRlci0+dXJsKCkpLCBpc09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgp
LCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgbV9ydW50
aW1lRmxhZ3MpOworICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5ID0gUmVmZXJyZXJQ
b2xpY3k6OkVtcHR5U3RyaW5nOworICAgIGlmIChhdXRvIHBvbGljeSA9IHBhcnNlUmVmZXJyZXJQ
b2xpY3kobV9zY3JpcHRMb2FkZXItPnJlZmVycmVyUG9saWN5KCksIFJlZmVycmVyUG9saWN5U291
cmNlOjpIVFRQSGVhZGVyKSkKKyAgICAgICAgcmVmZXJyZXJQb2xpY3kgPSAqcG9saWN5OworICAg
IG1fY29udGV4dFByb3h5LnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUobV9zY3JpcHRMb2FkZXItPnVy
bCgpLCBtX25hbWUsIGNvbnRleHQtPnVzZXJBZ2VudChtX3NjcmlwdExvYWRlci0+dXJsKCkpLCBp
c09ubGluZSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBtX3dvcmtlckNyZWF0aW9uVGltZSwgcmVmZXJyZXJQb2xpY3ksIG1fcnVudGltZUZsYWdz
KTsKICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OnNjcmlwdEltcG9ydGVkKCpjb250ZXh0
LCBtX3NjcmlwdExvYWRlci0+aWRlbnRpZmllcigpLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCkp
OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCmlu
ZGV4IDAxZGUzOThkNGM5YmQyMzI3MWI4NmE5YjdmOWFiMzU2YjE2YTU5OTEuLmE5MTg4YWNlZTM3
NWVmMmZlZDdlNTdjOTUzMDRjOThjYTBjMDY5NDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC02Miw3ICs2Miw3IEBAIHVzaW5nIG5hbWVzcGFj
ZSBJbnNwZWN0b3I7CiAKIFdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJHbG9iYWxT
Y29wZSk7CiAKLVdvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
IHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29ya2VyVGhyZWFk
JiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tl
dFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKK1dvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29u
c3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09u
bGluZSwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIpCiAgICAgOiBtX3VybCh1cmwpCiAgICAgLCBtX2lkZW50aWZpZXIo
aWRlbnRpZmllcikKICAgICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudCkKQEAgLTc3LDYgKzc3LDcg
QEAgV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2kKICNlbmRpZgogICAgICwgbV9zb2NrZXRQcm92aWRl
cihzb2NrZXRQcm92aWRlcikKICAgICAsIG1fcGVyZm9ybWFuY2UoUGVyZm9ybWFuY2U6OmNyZWF0
ZSh0aGlzLCB0aW1lT3JpZ2luKSkKKyAgICAsIG1fcmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xp
Y3kpCiB7CiAjaWYgIUVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShj
b25uZWN0aW9uUHJveHkpOwpAQCAtNTM1LDQgKzUzNiw5IEBAIENTU1ZhbHVlUG9vbCYgV29ya2Vy
R2xvYmFsU2NvcGU6OmNzc1ZhbHVlUG9vbCgpCiAgICAgcmV0dXJuICptX2Nzc1ZhbHVlUG9vbDsK
IH0KIAorUmVmZXJyZXJQb2xpY3kgV29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWZlcnJlclBvbGljeTsKK30KKwogfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9i
YWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmlu
ZGV4IDcxYjUyYmY0N2FmZDkyNjkwYzQxYzQ3NTVhZWFhYzUzMjI4ZGFlODMuLjEzZGUyOWNlNGUw
MzVhZDU2NzJkYjc4MDYyNGE3NjA3NDRmYTE5YTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTEzOCw4ICsxMzgsMTAgQEAgcHVibGljOgogCiAgICAg
Q1NTVmFsdWVQb29sJiBjc3NWYWx1ZVBvb2woKTsKIAorICAgIFJlZmVycmVyUG9saWN5IHJlZmVy
cmVyUG9saWN5KCkgY29uc3QgZmluYWw7CisKIHByb3RlY3RlZDoKLSAgICBXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRo
cmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIFdvcmtlclRocmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94
eSosIFNvY2tldFByb3ZpZGVyKik7CiAKICAgICB2b2lkIGFwcGx5Q29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzKGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyYpOwogCkBAIC0yMTYsNiArMjE4LDcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8V29ya2Vy
U1dDbGllbnRDb25uZWN0aW9uPiBtX3N3Q2xpZW50Q29ubmVjdGlvbjsKICNlbmRpZgogICAgIHN0
ZDo6dW5pcXVlX3B0cjxDU1NWYWx1ZVBvb2w+IG1fY3NzVmFsdWVQb29sOworICAgIFJlZmVycmVy
UG9saWN5IG1fcmVmZXJyZXJQb2xpY3k7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHku
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCmluZGV4
IDc0YzY0OGI5Y2M4MDY0MGViNjU3MDkyMGVlMTg2YjgwZjhmY2ZmNzguLjU2ZGExMjA3Yjc3Nzlm
MmVhN2JhZTZhYjczNmY5ZDJjOTU0ZjcyNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oCkBAIC0zOSwxMyArMzksMTQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7
CiBjbGFzcyBXb3JrZXI7CitlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsKIAog
Ly8gQSBwcm94eSB0byB0YWxrIHRvIHRoZSB3b3JrZXIgY29udGV4dC4KIGNsYXNzIFdvcmtlckds
b2JhbFNjb3BlUHJveHkgewogcHVibGljOgogICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZVBy
b3h5JiBjcmVhdGUoV29ya2VyJik7CiAKLSAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzdGFydFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9uaWNU
aW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpID0gMDsKICAgICB2
aXJ0dWFsIHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVz
c2FnZVBvcnRzJiYpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkg
Y29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1By
b3h5LmNwcAppbmRleCA0NjAzN2ZhMTgwNTgxNTQ4YjI1Y2JlZTY3NGY2MDlmMDNkYWQ2NmU2Li41
Zjg0ODNiYWEwYzMyNTg2NjUzNTRmNjc3NTQ0ZjIyYzJiODE4MjIwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcApAQCAtNzIsNyArNzIsNyBA
QCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6fldvcmtlck1lc3NhZ2luZ1Byb3h5KCkKICAgICAgICAg
fHwgKGlzPFdvcmtlckdsb2JhbFNjb3BlPigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KSAmJiBk
b3duY2FzdDxXb3JrZXJHbG9iYWxTY29wZT4oKm1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkudGhy
ZWFkKCkudGhyZWFkKCkgPT0gJlRocmVhZDo6Y3VycmVudCgpKSk7CiB9CiAKLXZvaWQgV29ya2Vy
TWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMs
IGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKK3ZvaWQg
V29ya2VyTWVzc2FnaW5nUHJveHk6OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBz
Y3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhl
YWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5LCBK
U0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCiB7CiAgICAgLy8gRklYTUU6IFRoaXMgbmVl
ZCB0byBiZSByZXZpc2l0ZWQgd2hlbiB3ZSBzdXBwb3J0IG5lc3RlZCB3b3JrZXIgb25lIGRheQog
ICAgIEFTU0VSVChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpOwpAQCAtODgsNyArODgsNyBAQCB2
b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdAogCiAgICAgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3Zp
ZGVyID0gZG9jdW1lbnQuc29ja2V0UHJvdmlkZXIoKTsKIAotICAgIGF1dG8gdGhyZWFkID0gRGVk
aWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1
c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRoaXMsICp0aGlzLCBzdGFy
dE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBkb2N1bWVudC50b3BPcmlnaW4oKSwgdGlt
ZU9yaWdpbiwgcHJveHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOworICAgIGF1dG8g
dGhyZWFkID0gRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGUoc2NyaXB0VVJMLCBuYW1lLCBp
ZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBzb3VyY2VDb2RlLCAqdGhpcywgKnRoaXMs
ICp0aGlzLCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBkb2N1bWVudC50b3BP
cmlnaW4oKSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3ksIHByb3h5LCBzb2NrZXRQcm92aWRl
ciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENyZWF0ZWQodGhyZWFkLmdldCgp
KTsKICAgICB0aHJlYWQtPnN0YXJ0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtl
ck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggZmQ1NTRlMTQxMmZlODY1YjA5MTI2MDZlYTM3MDhhYmZk
NTc0MTdlYi4uZTc4MTIyN2ZlZGJhYjdlZTI1ZGVjYmNhYjFmN2I5MmNiYTkxMWUxNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaApAQCAtNTAsNyAr
NTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEltcGxlbWVudGF0aW9ucyBvZiBXb3Jr
ZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0aGVzZSBmdW5jdGlvbnMgaW4g
dGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2Nv
cGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
biwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJp
bmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOwogICAgIHZvaWQg
dGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAgICB2b2lkIHBvc3RNZXNzYWdl
VG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSBmaW5hbDsKICAg
ICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY4ZTM2ZGUyODQwYTljY2M2ZWU5ZDllZjcwOGVj
Y2M5MTk2OGE2NjguLmYxNTU3NGNjODI0NWI3NDM3NDZjNTNmOTJhMmFkYzM4Yjc4M2NhNWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKQEAgLTc0LDcgKzc0LDcgQEAg
dW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiBzdHJ1Y3QgV29ya2Vy
VGhyZWFkU3RhcnR1cERhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAgV29y
a2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFy
dE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0
eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pOworICAgIFdvcmtl
clRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRN
b2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlP
cmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGlj
eSk7CiAKICAgICBVUkwgbV9zY3JpcHRVUkw7CiAgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX29y
aWdpbjsKQEAgLTg4LDkgKzg4LDEwIEBAIHB1YmxpYzoKICAgICBib29sIG1faXNPbmxpbmU7CiAg
ICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9yaWdpbjsKICAgICBNb25vdG9uaWNUaW1lIG1f
dGltZU9yaWdpbjsKKyAgICBSZWZlcnJlclBvbGljeSBtX3JlZmVycmVyUG9saWN5OwogfTsKIAot
V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVS
TCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4pCitXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEo
Y29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
U3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25z
dCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1Rp
bWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kpCiAgICAgOiBtX3Nj
cmlwdFVSTChzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX29yaWdpbihTZWN1cml0
eU9yaWdpbjo6Y3JlYXRlKG1fc2NyaXB0VVJMKS0+aXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX25h
bWUobmFtZS5pc29sYXRlZENvcHkoKSkKQEAgLTEwMywxNiArMTA0LDE3IEBAIFdvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBVUkwmIHNjcmlwdFVS
TCwgY29uc3QgU3RyCiAgICAgLCBtX2lzT25saW5lKGlzT25saW5lKQogICAgICwgbV90b3BPcmln
aW4odG9wT3JpZ2luLmlzb2xhdGVkQ29weSgpKQogICAgICwgbV90aW1lT3JpZ2luKHRpbWVPcmln
aW4pCisgICAgLCBtX3JlZmVycmVyUG9saWN5KHJlZmVycmVyUG9saWN5KQogewogfQogCi1Xb3Jr
ZXJUaHJlYWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclBy
b3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29ya2VyRGVidWdn
ZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1Byb3h5LCBXb3Jr
ZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9v
bCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNv
Y2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCitXb3JrZXJUaHJl
YWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1l
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiB3
b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29ya2VyRGVidWdnZXJQcm94
eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1Byb3h5LCBXb3JrZXJUaHJl
YWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25z
ZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3Jp
Z2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQb2xpY3kg
cmVmZXJyZXJQb2xpY3ksIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9u
UHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3Mg
cnVudGltZUZsYWdzKQogICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5
KCkpCiAgICAgLCBtX3dvcmtlckxvYWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAgICwg
bV93b3JrZXJEZWJ1Z2dlclByb3h5KHdvcmtlckRlYnVnZ2VyUHJveHkpCiAgICAgLCBtX3dvcmtl
clJlcG9ydGluZ1Byb3h5KHdvcmtlclJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9ydW50aW1lRmxh
Z3MocnVudGltZUZsYWdzKQotICAgICwgbV9zdGFydHVwRGF0YShtYWtlVW5pcXVlPFdvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhPihzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwg
aXNPbmxpbmUsIHNvdXJjZUNvZGUsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IHRvcE9yaWdpbiwgdGltZU9yaWdpbikpCisgICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8
V29ya2VyVGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNl
ckFnZW50LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQ
b2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0
eVBvbGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCByZWZlcnJlclBvbGljeSkpCiAjaWYgRU5B
QkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLCBtX2lkYkNvbm5lY3Rpb25Qcm94eShjb25uZWN0
aW9uUHJveHkpCiAjZW5kaWYKQEAgLTE2OCw3ICsxNzAsNyBAQCB2b2lkIFdvcmtlclRocmVhZDo6
d29ya2VyVGhyZWFkKCkKICAgICAgICAgLy8gd2hpbGUgV29ya2VyVGhyZWFkOjpzdG9wKCkgaXMg
YWNjZXNzaW5nIGl0LiBOb3RlIHRoYXQgV29ya2VyVGhyZWFkOjpzdG9wKCkgY2FuCiAgICAgICAg
IC8vIGJlIGNhbGxlZCBiZWZvcmUgd2UndmUgZmluaXNoZWQgY3JlYXRpbmcgdGhlIFdvcmtlckds
b2JhbFNjb3BlLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2sobV90aHJlYWRDcmVhdGlvbkFuZFdv
cmtlckdsb2JhbFNjb3BlTXV0ZXgpOwotICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3BlID0gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRVUkwsIFdURk1vdmUo
bV9zdGFydHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBEYXRhLT5tX25hbWUsIG1fc3RhcnR1
cERhdGEtPm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+bV91c2VyQWdlbnQsIG1fc3RhcnR1
cERhdGEtPm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1fY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX3RvcE9yaWdpbiks
IG1fc3RhcnR1cERhdGEtPm1fdGltZU9yaWdpbik7CisgICAgICAgIG1fd29ya2VyR2xvYmFsU2Nv
cGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCwg
V1RGTW92ZShtX3N0YXJ0dXBEYXRhLT5tX29yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fbmFtZSwg
bV9zdGFydHVwRGF0YS0+bV9pZGVudGlmaWVyLCBtX3N0YXJ0dXBEYXRhLT5tX3VzZXJBZ2VudCwg
bV9zdGFydHVwRGF0YS0+bV9pc09ubGluZSwgbV9zdGFydHVwRGF0YS0+bV9jb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIG1fc3RhcnR1cERhdGEtPm1fc2hvdWxkQnlwYXNzTWFp
bldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKG1fc3RhcnR1cERhdGEtPm1fdG9w
T3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV90aW1lT3JpZ2luLCBtX3N0YXJ0dXBEYXRhLT5tX3Jl
ZmVycmVyUG9saWN5KTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVyID0gbV93b3JrZXJHbG9i
YWxTY29wZS0+c2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMv
V29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCmlu
ZGV4IDE0ZWViZjE0NTE4ZWNhNmJmMjcxZjQ1M2EwNTM1MmE2NTFkNjcyNzMuLjUyMmRhMjMyNWY5
MDNmNTRmNDViMDE1Mzg3NTY2MGEyOTE2NWMwZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3Jr
ZXJUaHJlYWQuaApAQCAtOTAsMTAgKzkwLDEwIEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaWRlbnRp
ZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAg
V29ya2VyVGhyZWFkKGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29u
c3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2Vy
UHJveHkmLCBXb3JrZXJSZXBvcnRpbmdQcm94eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29u
c3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBh
c3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0
b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0
aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdzKTsKKyAgICBXb3Jr
ZXJUaHJlYWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94
eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6UnVudGltZUZsYWdz
KTsKIAogICAgIC8vIEZhY3RvcnkgbWV0aG9kIGZvciBjcmVhdGluZyBhIG5ldyB3b3JrZXIgY29u
dGV4dCBmb3IgdGhlIHRocmVhZC4KLSAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4g
Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4pID0gMDsKKyAgICB2aXJ0dWFsIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3Jl
YXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5n
JiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5
UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRp
bWVPcmlnaW4sIFJlZmVycmVyUG9saWN5KSA9IDA7CiAKICAgICAvLyBFeGVjdXRlcyB0aGUgZXZl
bnQgbG9vcCBmb3IgdGhlIHdvcmtlciB0aHJlYWQuIERlcml2ZWQgY2xhc3NlcyBjYW4gb3ZlcnJp
ZGUgdG8gcGVyZm9ybSBhY3Rpb25zIGJlZm9yZS9hZnRlciBlbnRlcmluZyB0aGUgZXZlbnQgbG9v
cC4KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CmluZGV4IGQxOGQxMzYwNzgyZjUxMDFmNGY5M2IyZGY3ZjBmMTJiMDVhMDQwZTguLjNkZjY3NWM5
NGJlMDI1MGY2NmI3NzM3NDU3MDEyOGViMDc4OTZlN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CkBAIC01MCw4ICs1MCwxNSBAQCBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBTZXJ2aWNlV29yawogICAgIHJldHVybiBz
Y29wZTsKIH0KIAorc3RhdGljIFJlZmVycmVyUG9saWN5IGNvbXB1dGVSZWZlcnJlclBvbGljeShj
b25zdCBTdHJpbmcmIHJlZmVycmVyUG9saWN5KQoreworICAgIGlmIChhdXRvIHBvbGljeSA9IHBh
cnNlUmVmZXJyZXJQb2xpY3kocmVmZXJyZXJQb2xpY3ksIFJlZmVycmVyUG9saWN5U291cmNlOjpI
VFRQSGVhZGVyKSkKKyAgICAgICAgcmV0dXJuICpwb2xpY3k7CisgICAgcmV0dXJuIFJlZmVycmVy
UG9saWN5OjpFbXB0eVN0cmluZzsKK30KKwogU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRh
LCBjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
U2VydmljZVdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29u
bmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3Jr
ZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50
LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBz
b2NrZXRQcm92aWRlcikKKyAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmln
aW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFz
c01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1l
T3JpZ2luLCBjb21wdXRlUmVmZXJyZXJQb2xpY3koZGF0YS5yZWZlcnJlclBvbGljeSksIGNvbm5l
Y3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpCiAgICAgLCBtX2NvbnRleHREYXRhKGNyb3NzVGhy
ZWFkQ29weShkYXRhKSkKICAgICAsIG1fcmVnaXN0cmF0aW9uKFNlcnZpY2VXb3JrZXJSZWdpc3Ry
YXRpb246OmdldE9yQ3JlYXRlKCp0aGlzLCBuYXZpZ2F0b3IoKS5zZXJ2aWNlV29ya2VyKCksIFdU
Rk1vdmUobV9jb250ZXh0RGF0YS5yZWdpc3RyYXRpb24pKSkKICAgICAsIG1fY2xpZW50cyhTZXJ2
aWNlV29ya2VyQ2xpZW50czo6Y3JlYXRlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCmlu
ZGV4IDNiZjcxMzlmZjE2NzA4YTRhZDI2NDNhZTBiMmUxOGIyZGVkMzc2ODYuLjQwYmM1ZTlmYmMz
NzU5ZWVlNzNlN2ViNTc0YjlkYjM0ZjhkOTZjZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
Y3BwCkBAIC03Myw3ICs3Myw3IEBAIHByaXZhdGU6CiAvLyBGSVhNRTogVXNlIHZhbGlkIHJ1bnRp
bWUgZmxhZ3MKIAogU2VydmljZVdvcmtlclRocmVhZDo6U2VydmljZVdvcmtlclRocmVhZChjb25z
dCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGEmIGRhdGEsIFN0cmluZyYmIHVzZXJBZ2VudCwgV29y
a2VyTG9hZGVyUHJveHkmIGxvYWRlclByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiBkZWJ1Z2dl
clByb3h5LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogaWRiQ29ubmVjdGlvblByb3h5
LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJUaHJlYWQoZGF0
YS5zY3JpcHRVUkwsIGVtcHR5U3RyaW5nKCksICJzZXJ2aWNld29ya2VyOiIgKyBJbnNwZWN0b3I6
OklkZW50aWZpZXJzRmFjdG9yeTo6Y3JlYXRlSWRlbnRpZmllcigpLCBXVEZNb3ZlKHVzZXJBZ2Vu
dCksIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5sb2FkZXJTdHJhdGVneSgpLT5pc09uTGluZSgpLCBk
YXRhLnNjcmlwdCwgbG9hZGVyUHJveHksIGRlYnVnZ2VyUHJveHksIER1bW15U2VydmljZVdvcmtl
clRocmVhZFByb3h5OjpzaGFyZWQoKSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpOb3JtYWwsIGRh
dGEuY29udGVudFNlY3VyaXR5UG9saWN5LCBmYWxzZSwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRv
cE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIE1vbm90b25pY1RpbWU6Om5vdygpLCBp
ZGJDb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3Jl
YXRlQWxsRW5hYmxlZCgpKQorICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2NyaXB0VVJMLCBlbXB0
eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRl
clByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hh
cmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0
eVBvbGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0
eU9yaWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9LCBpZGJDb25uZWN0aW9u
UHJveHksIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFnczo6Y3JlYXRlQWxsRW5hYmxl
ZCgpKQogICAgICwgbV9kYXRhKGRhdGEuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlck9i
amVjdFByb3h5KER1bW15U2VydmljZVdvcmtlclRocmVhZFByb3h5OjpzaGFyZWQoKSkKICAgICAs
IG1faGVhcnRCZWF0VGltZW91dChTV0NvbnRleHRNYW5hZ2VyOjpzaW5nbGV0b24oKS5jb25uZWN0
aW9uKCktPnNob3VsZFVzZVNob3J0VGltZW91dCgpID8gaGVhcnRCZWF0VGltZW91dEZvclRlc3Qg
OiBoZWFydEJlYXRUaW1lb3V0KQpAQCAtODQsNyArODQsNyBAQCBTZXJ2aWNlV29ya2VyVGhyZWFk
OjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSwgUwogCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVm
YXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9i
YWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiBjb250ZW50U2VjdXJpdHlQb2xpY3ksIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9u
aWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5KQogewogICAgIFVOVVNFRF9QQVJBTShu
YW1lKTsKICAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRh
LCB1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwg
KnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5l
Y3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQuaApp
bmRleCBjMTQ3OTllY2QyYjMyMDA1NDRjNWFmZTNlMTU2M2MxNjgzMTk5MjY2Li4wOGU0MmQzMzAx
MjdiOTI3NTgxNjA3NTJmNGJlODZmMjE3NTJiNTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5o
CkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0b3BGZXRjaEV2ZW50TW9uaXRv
cmluZygpIHsgbV9pc0hhbmRsaW5nRmV0Y2hFdmVudCA9IGZhbHNlOyB9CiAKIHByb3RlY3RlZDoK
LSAgICBSZWY8V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0
IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBT
dHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5l
LCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKSBmaW5hbDsKKyAgICBSZWY8
V29ya2VyR2xvYmFsU2NvcGU+IGNyZWF0ZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJl
ZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSkgZmluYWw7CiAg
ICAgdm9pZCBydW5FdmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCmluZGV4IGMxMjFkYjYzNWVk
MTRkYWUxNzhhM2ZiYjJkNTJkZTg2YWQ5YzViNDIuLjZlNGE5NTVlMGE1MGE1YWU1NGQ5OGNhN2Ew
Nzk0YWMxZTlkNzlhNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmts
ZXRHbG9iYWxTY29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEds
b2JhbFNjb3BlLmNwcApAQCAtMTY2LDUgKzE2NiwxMCBAQCB2b2lkIFdvcmtsZXRHbG9iYWxTY29w
ZTo6YWRkTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmVsIGxldmVsLCBj
bwogICAgIG1fZG9jdW1lbnQtPmFkZE1lc3NhZ2Uoc291cmNlLCBsZXZlbCwgbWVzc2FnZVRleHQs
IHNvdXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBXVEZNb3ZlKGNhbGxTdGFjayks
IG51bGxwdHIsIHJlcXVlc3RJZGVudGlmaWVyKTsKIH0KIAorUmVmZXJyZXJQb2xpY3kgV29ya2xl
dEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFJlZmVy
cmVyUG9saWN5OjpOb1JlZmVycmVyOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29w
ZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKaW5kZXgg
YmM0NDExZWYzNzI3ZjI0MWY1NmNmOTc1ZTJiYmQ2NDZiM2Y3OTJmYS4uYzQ3YWNiNTliYjgzOGIz
N2M3MTBlYTc4NGJlNTM1ZDQ4MDhmN2MyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2xldHMv
V29ya2xldEdsb2JhbFNjb3BlLmgKQEAgLTY1LDYgKzY1LDggQEAgcHVibGljOgogCiAgICAgdm9p
ZCBldmFsdWF0ZSgpOwogCisgICAgUmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25z
dCBmaW5hbDsKKwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OnJlZjsKICAgICB1c2luZyBSZWZDb3Vu
dGVkOjpkZXJlZjsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZTI2MzA0MmY3
ZmE1YzkyZTlhNGQ0ZmFlZTVhOGUwN2NmNzZhNWVjNC4uNjI2ZjFmN2NkYWI5ZDgyNGJhOGM0NzA1
YmU3Mjk1NDU0MWJmYmI3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTQgQEAKKzIwMjAtMDEtMjYgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KKworICAg
ICAgICBGaXggZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXIuaHRtbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA2NTIwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlZCBp
bXByb3ZlZCB0ZXN0IHJlc3VsdC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQ6CisKIDIw
MjAtMDEtMjQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFk
ZCBzdXBwb3J0IGZvciBNZWRpYVJlY29yZGVyLnJlcXVlc3REYXRhCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9y
aWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYxYmVjMThjMGNhNzky
ZjMwZWFmNTUzZDIxZWUuLjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMzZTJkYTY3MjhlNzEg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogCi1GQUlMIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNzZXJ0X2VxdWFsczog
cmVxdWVzdCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0
dHA6Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRj
aC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgotRkFJTCBDcm9zcy1v
cmlnaW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIGFzc2VydF9lcXVh
bHM6IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVk
ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAv
ZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK1BBU1MgUmVx
dWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlz
IG92ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388856</attachid>
            <date>2020-01-27 07:10:57 -0800</date>
            <delta_ts>2020-01-27 08:08:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200127161055.patch</filename>
            <type>text/plain</type>
            <size>46928</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NTQ3MzhkNTg1NWM2
YTE4MmQxYjFjNDE4NmZkNDE5MDk4Njg1NS4uMTlmN2ZhMzcxNDBiNzBjMzkxZTU5ZDIzMDk0NGU1
YmQyYTI4MjNkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYwIEBACisyMDIwLTAxLTI3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xp
Y3kgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGE6OldvcmtlclRocmVh
ZFN0YXJ0dXBEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6V29ya2VyVGhy
ZWFkKToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKToKKyAg
ICAgICAgKiB3b3JrZXJzL1dvcmtlclRocmVhZC5oOgorICAgICAgICAqIHdvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VydmljZVdv
cmtlckdsb2JhbFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOgorICAgICAgICAqIHdv
cmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAgICAgKiB3b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQpOgorICAgICAg
ICAoV2ViQ29yZTo6U2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUp
OgorICAgICAgICAqIHdvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V29ya2xldEdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSBjb25zdCk6CisgICAg
ICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmg6CisKIDIwMjAtMDEtMjYgIERhcmlu
IEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgRE9NQ2FjaGVFbmdpbmU6
OmVycm9yVG9FeGNlcHRpb24gYmFjayBvdXQgb2YgaGVhZGVyIGFuZCBpbnRvIC5jcHAgZmlsZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNoL0ZldGNoTG9hZGVyLmNwcAppbmRleCBkMjE2
NjI0YzJkMzgzNDM3ZDliYjM1MWY0ZDVkN2RmNGU3NTNiYjM2Li43N2ZjNmU1ZDJiZjc3ZjliZDUz
MzY4Y2U3M2FhNDYwZGFiZjZjN2QzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2ZldGNoL0ZldGNoTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2ZldGNo
L0ZldGNoTG9hZGVyLmNwcApAQCAtMTEzLDYgKzExMyw4IEBAIHZvaWQgRmV0Y2hMb2FkZXI6OnN0
YXJ0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IEZldGNoUmVxdWVzdCYg
cmVxCiAgICAgICAgIHJlZmVycmVyID0gU3RyaW5nKCk7CiAgICAgfSBlbHNlCiAgICAgICAgIHJl
ZmVycmVyID0gKHJlZmVycmVyID09ICJjbGllbnQiKSA/IGNvbnRleHQudXJsKCkuc3RyaXBwZWRG
b3JVc2VBc1JlZmVycmVyKCkgOiBVUkwoY29udGV4dC51cmwoKSwgcmVmZXJyZXIpLnN0cmlwcGVk
Rm9yVXNlQXNSZWZlcnJlcigpOworICAgIGlmIChvcHRpb25zLnJlZmVycmVyUG9saWN5ID09IFJl
ZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZykKKyAgICAgICAgb3B0aW9ucy5yZWZlcnJlclBvbGlj
eSA9IGNvbnRleHQucmVmZXJyZXJQb2xpY3koKTsKIAogICAgIG1fbG9hZGVyID0gVGhyZWFkYWJs
ZUxvYWRlcjo6Y3JlYXRlKGNvbnRleHQsICp0aGlzLCBXVEZNb3ZlKGZldGNoUmVxdWVzdCksIG9w
dGlvbnMsIFdURk1vdmUocmVmZXJyZXIpKTsKICAgICBtX2lzU3RhcnRlZCA9IG1fbG9hZGVyOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAppbmRleCAzYWNiNjIyYzlkZjIwYWU0YjYyMmI3ZGY4Y2U1ZmNkOTg5
MTUwZjMxLi5iZjAxNTE4MWVlNDU2Y2JjYzhjMjBmYjYyNWQ4ZjhkYTg4YjJkODNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaApAQCAtNDIwLDcgKzQyMCw3IEBAIHB1YmxpYzoKICNlbmRpZgogCiAgICAg
dm9pZCBzZXRSZWZlcnJlclBvbGljeShSZWZlcnJlclBvbGljeSk7Ci0gICAgUmVmZXJyZXJQb2xp
Y3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCB7IHJldHVybiBtX3JlZmVycmVyUG9saWN5LnZhbHVl
T3IoUmVmZXJyZXJQb2xpY3k6Ok5vUmVmZXJyZXJXaGVuRG93bmdyYWRlKTsgfQorICAgIFJlZmVy
cmVyUG9saWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9yZWZlcnJl
clBvbGljeS52YWx1ZU9yKFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7
IH0KIAogICAgIFdFQkNPUkVfRVhQT1JUIERvY3VtZW50VHlwZSogZG9jdHlwZSgpIGNvbnN0Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAppbmRleCA3YWEz
YTVkYzAyYjc5OTNkOTRmYWIzMzExMmJlY2E1ZDhkZTRmYzdkLi4wMDgzMWEyNjBiNTM3YTAwOTNh
ODgxMmRhNGJhNWZmZDVjMjU1NmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVj
dXRpb25Db250ZXh0LmgKQEAgLTY1LDYgKzY1LDcgQEAgY2xhc3MgUmVqZWN0ZWRQcm9taXNlVHJh
Y2tlcjsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIGNsYXNzIFNlY3VyaXR5T3JpZ2luOwogY2xh
c3MgU29ja2V0UHJvdmlkZXI7CitlbnVtIGNsYXNzIFJlZmVycmVyUG9saWN5IDogdWludDhfdDsK
IGVudW0gY2xhc3MgVGFza1NvdXJjZSA6IHVpbnQ4X3Q7CiAKICNpZiBFTkFCTEUoU0VSVklDRV9X
T1JLRVIpCkBAIC05OSw2ICsxMDAsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIFN0cmluZyB1
c2VyQWdlbnQoY29uc3QgVVJMJikgY29uc3QgPSAwOwogCisgICAgdmlydHVhbCBSZWZlcnJlclBv
bGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0ID0gMDsKKwogICAgIHZpcnR1YWwgdm9pZCBkaXNh
YmxlRXZhbChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkaXNhYmxlV2ViQXNzZW1ibHkoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmNwcAppbmRleCBhMTRjN2U2N2E4YTVhODEyZjE0YTBkNGFjOTg5YmVlYzY2M2E0ODNmLi4z
ZTNiMTJiNjZlOWYxZDNjYTI1MzQwYzY2NzYyYWRmNWVkOGZkMmI3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAt
NDQsMTcgKzQ0LDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKTsKIAotUmVmPERlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0
IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJv
b2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorUmVmPERlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlPiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKGNvbnN0IFdvcmtlclBhcmFt
ZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgRGVkaWNhdGVkV29y
a2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNs
aWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVy
KiBzb2NrZXRQcm92aWRlcikKIHsKLSAgICBhdXRvIGNvbnRleHQgPSBhZG9wdFJlZigqbmV3IERl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBuYW1lLCBpZGVu
dGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBj
b25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKSk7Ci0gICAgaWYgKCFzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kpCi0gICAgICAgIGNvbnRleHQtPmFwcGx5Q29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycyk7CisgICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBEZWRpY2F0
ZWRXb3JrZXJHbG9iYWxTY29wZShwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgdGhyZWFkLCBXVEZN
b3ZlKHRvcE9yaWdpbiksIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlkZXIpKTsKKyAgICBp
ZiAoIXBhcmFtcy5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kpCisg
ICAgICAgIGNvbnRleHQtPmFwcGx5Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
KHBhcmFtcy5jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMpOwogICAgIHJldHVy
biBjb250ZXh0OwogfQogCi1EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmln
aW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0
aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFBy
b3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKLSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RG
TW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNo
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmln
aW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQotICAgICwg
bV9uYW1lKG5hbWUpCitEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6RGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1zLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgb3JpZ2luLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNv
bm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorICAgIDogV29y
a2VyR2xvYmFsU2NvcGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksIHRocmVhZCwgV1RGTW92ZSh0
b3BPcmlnaW4pLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQorICAgICwgbV9uYW1l
KHBhcmFtcy5uYW1lKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0Rl
ZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmgKaW5kZXggMWJjOTZhOTE1M2RmY2NiMGNlYzZkZDBl
NDkwZTc5YTdmNGYyNGZhOS4uZDI0NWZjYmU1MDE0MjlkODJkNWUxOTc3Njg4YTFmMDlkMTJhMjIx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaApAQCAtNTAsNyArNTAsNyBAQCBjbGFzcyBTZXJpYWxpemVkU2NyaXB0VmFsdWU7
CiBjbGFzcyBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJH
bG9iYWxTY29wZSB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChEZWRpY2F0ZWRXb3JrZXJH
bG9iYWxTY29wZSk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZT4gY3JlYXRlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3Qg
U3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdp
biwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94
eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAgc3RhdGljIFJlZjxEZWRpY2F0ZWRXb3JrZXJHbG9i
YWxTY29wZT4gY3JlYXRlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYsIERlZGljYXRlZFdvcmtlclRocmVhZCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsK
ICAgICB2aXJ0dWFsIH5EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSgpOwogCiAgICAgY29uc3Qg
U3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9uYW1lOyB9CkBAIC02Miw3ICs2Miw3IEBA
IHB1YmxpYzoKIHByaXZhdGU6CiAgICAgdXNpbmcgQmFzZSA9IFdvcmtlckdsb2JhbFNjb3BlOwog
Ci0gICAgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRo
cmVhZCYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4s
IElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKKyAgICBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNl
Y3VyaXR5T3JpZ2luPiYmLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFBy
b3ZpZGVyKik7CiAKICAgICBib29sIGlzRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25z
dCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gaW1wb3J0U2Ny
aXB0cyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgdXJscykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5jcHAKaW5kZXggN2Q1ZTIwN2FhNDg1
ZGY1NDA0YjRiMjNkM2E3ZGE1NGQ4NGI2ODUxZC4uYzM1ZWU2NDgzYzI3ZjRmZGNlZTYyMGZhZTY0
Y2UwM2JjYzJmNTZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyVGhyZWFkLmNwcApAQCAtMzgsMTcgKzM4LDE3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAotRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJlYWQoY29uc3Qg
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVn
Z2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJP
YmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZs
YWdzKQotICAgIDogV29ya2VyVGhyZWFkKHVybCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50
LCBpc09ubGluZSwgc291cmNlQ29kZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlckRlYnVnZ2Vy
UHJveHksIHdvcmtlck9iamVjdFByb3h5LCBzdGFydE1vZGUsIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCB0b3BPcmlnaW4sIHRpbWVPcmlnaW4sIGNvbm5lY3Rpb25Qcm94eSwgc29ja2V0UHJvdmlk
ZXIsIHJ1bnRpbWVGbGFncykKK0RlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2Vy
VGhyZWFkKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVyUHJveHksIFdvcmtlckRlYnVn
Z2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlck9iamVjdFByb3h5JiB3b3JrZXJP
YmplY3RQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgU2VjdXJp
dHlPcmlnaW4mIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5l
Y3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVG
bGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBXb3JrZXJUaHJlYWQocGFyYW1zLCBzb3VyY2VDb2Rl
LCB3b3JrZXJMb2FkZXJQcm94eSwgd29ya2VyRGVidWdnZXJQcm94eSwgd29ya2VyT2JqZWN0UHJv
eHksIHN0YXJ0TW9kZSwgdG9wT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVy
LCBydW50aW1lRmxhZ3MpCiAgICAgLCBtX3dvcmtlck9iamVjdFByb3h5KHdvcmtlck9iamVjdFBy
b3h5KQogewogfQogCiBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6On5EZWRpY2F0ZWRXb3JrZXJUaHJl
YWQoKSA9IGRlZmF1bHQ7CiAKLVJlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2Vy
VGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJp
dHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUg
dGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyVGhyZWFk
OjpjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMs
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4pCiB7Ci0gICAgcmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUo
dXJsLCBXVEZNb3ZlKG9yaWdpbiksIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxp
bmUsICp0aGlzLCBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5
cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0
aW1lT3JpZ2luLCBpZGJDb25uZWN0aW9uUHJveHkoKSwgc29ja2V0UHJvdmlkZXIoKSk7CisgICAg
cmV0dXJuIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUocGFyYW1zLCBXVEZNb3Zl
KG9yaWdpbiksICp0aGlzLCBXVEZNb3ZlKHRvcE9yaWdpbiksIGlkYkNvbm5lY3Rpb25Qcm94eSgp
LCBzb2NrZXRQcm92aWRlcigpKTsKIH0KIAogdm9pZCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OnJ1
bkV2ZW50TG9vcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJU
aHJlYWQuaAppbmRleCBjYzQ5ZjllOTk1NTA5ZDE4ZTMxZmRhZmVmMTMzYTJmMmQwYTdlNGYyLi4w
NTlkODE3MTg2MTZjMTA5Y2I0YWMyM2Q2NjM3NzM5MmZlZmU3NDdmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyVGhyZWFkLmgKQEAgLTUwLDExICs1MCwxMSBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydCgpIHsgV29ya2VyVGhyZWFkOjpzdGFydChudWxscHRy
KTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0
cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJB
Z2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ks
IFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdp
bikgb3ZlcnJpZGU7CisgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKSBvdmVycmlkZTsKICAgICB2b2lkIHJ1bkV2
ZW50TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIERlZGljYXRlZFdvcmtlclRocmVh
ZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29y
a2VyT2JqZWN0UHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1
cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29u
dGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29j
a2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CisgICAgRGVkaWNhdGVkV29ya2VyVGhy
ZWFkKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdv
cmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlck9iamVjdFByb3h5
JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpS
dW50aW1lRmxhZ3MpOwogCiAgICAgV29ya2VyT2JqZWN0UHJveHkmIG1fd29ya2VyT2JqZWN0UHJv
eHk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCmluZGV4IGMzZGU0NDYwZjc0NDg0Nzdi
YTljMWEyMjk3ZjJkMjcxZDI5MzRjMWIuLmMzY2JkOTM0NjYwZThmMzlhNjExY2U4YjM2MjhmNDlk
NDY2N2YzMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAKQEAgLTIxMSw3ICsyMTEsMTAg
QEAgdm9pZCBXb3JrZXI6Om5vdGlmeUZpbmlzaGVkKCkKIAogICAgIGJvb2wgaXNPbmxpbmUgPSBw
bGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKTsKICAgICBj
b25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyA9IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzID8gbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMudmFsdWUoKSA6
IGNvbnRleHQtPmNvbnRlbnRTZWN1cml0eVBvbGljeSgpLT5yZXNwb25zZUhlYWRlcnMoKTsKLSAg
ICBtX2NvbnRleHRQcm94eS5zdGFydFdvcmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51
cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwg
aXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5
UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgbV93b3JrZXJDcmVhdGlvblRpbWUsIG1fcnVudGltZUZsYWdzKTsKKyAgICBSZWZlcnJl
clBvbGljeSByZWZlcnJlclBvbGljeSA9IFJlZmVycmVyUG9saWN5OjpFbXB0eVN0cmluZzsKKyAg
ICBpZiAoYXV0byBwb2xpY3kgPSBwYXJzZVJlZmVycmVyUG9saWN5KG1fc2NyaXB0TG9hZGVyLT5y
ZWZlcnJlclBvbGljeSgpLCBSZWZlcnJlclBvbGljeVNvdXJjZTo6SFRUUEhlYWRlcikpCisgICAg
ICAgIHJlZmVycmVyUG9saWN5ID0gKnBvbGljeTsKKyAgICBtX2NvbnRleHRQcm94eS5zdGFydFdv
cmtlckdsb2JhbFNjb3BlKG1fc2NyaXB0TG9hZGVyLT51cmwoKSwgbV9uYW1lLCBjb250ZXh0LT51
c2VyQWdlbnQobV9zY3JpcHRMb2FkZXItPnVybCgpKSwgaXNPbmxpbmUsIG1fc2NyaXB0TG9hZGVy
LT5zY3JpcHQoKSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3Nob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgbV93b3JrZXJDcmVhdGlvblRp
bWUsIHJlZmVycmVyUG9saWN5LCBtX3J1bnRpbWVGbGFncyk7CiAgICAgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uOjpzY3JpcHRJbXBvcnRlZCgqY29udGV4dCwgbV9zY3JpcHRMb2FkZXItPmlkZW50
aWZpZXIoKSwgbV9zY3JpcHRMb2FkZXItPnNjcmlwdCgpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNwcAppbmRleCAwMWRlMzk4ZDRjOWJkMjMyNzFi
ODZhOWI3ZjlhYjM1NmIxNmE1OTkxLi4xMzFjNjc0MDFkYjAyNzUzOWY2MWMzMTMyMTk2ZjZhODY4
NjI1NGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNj
b3BlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmNw
cApAQCAtNjIsMjEgKzYyLDIyIEBAIHVzaW5nIG5hbWVzcGFjZSBJbnNwZWN0b3I7CiAKIFdURl9N
QUtFX0lTT19BTExPQ0FURURfSU1QTChXb3JrZXJHbG9iYWxTY29wZSk7CiAKLVdvcmtlckdsb2Jh
bFNjb3BlOjpXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29u
bmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92
aWRlcikKLSAgICA6IG1fdXJsKHVybCkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQot
ICAgICwgbV91c2VyQWdlbnQodXNlckFnZW50KQorV29ya2VyR2xvYmFsU2NvcGU6Oldvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIG9yaWdpbiwgV29ya2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1cml0eU9yaWdpbj4m
JiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJv
eHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IG1fdXJsKHBhcmFtcy5z
Y3JpcHRVUkwpCisgICAgLCBtX2lkZW50aWZpZXIocGFyYW1zLmlkZW50aWZpZXIpCisgICAgLCBt
X3VzZXJBZ2VudChwYXJhbXMudXNlckFnZW50KQogICAgICwgbV90aHJlYWQodGhyZWFkKQogICAg
ICwgbV9zY3JpcHQobWFrZVVuaXF1ZTxXb3JrZXJTY3JpcHRDb250cm9sbGVyPih0aGlzKSkKICAg
ICAsIG1faW5zcGVjdG9yQ29udHJvbGxlcihtYWtlVW5pcXVlPFdvcmtlckluc3BlY3RvckNvbnRy
b2xsZXI+KCp0aGlzKSkKLSAgICAsIG1faXNPbmxpbmUoaXNPbmxpbmUpCi0gICAgLCBtX3Nob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeShzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3kpCisgICAgLCBtX2lzT25saW5lKHBhcmFtcy5pc09ubGlu
ZSkKKyAgICAsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KHBh
cmFtcy5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kpCiAgICAgLCBt
X3RvcE9yaWdpbihXVEZNb3ZlKHRvcE9yaWdpbikpCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJB
U0UpCiAgICAgLCBtX2Nvbm5lY3Rpb25Qcm94eShjb25uZWN0aW9uUHJveHkpCiAjZW5kaWYKICAg
ICAsIG1fc29ja2V0UHJvdmlkZXIoc29ja2V0UHJvdmlkZXIpCi0gICAgLCBtX3BlcmZvcm1hbmNl
KFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywgdGltZU9yaWdpbikpCisgICAgLCBtX3BlcmZvcm1h
bmNlKFBlcmZvcm1hbmNlOjpjcmVhdGUodGhpcywgcGFyYW1zLnRpbWVPcmlnaW4pKQorICAgICwg
bV9yZWZlcnJlclBvbGljeShwYXJhbXMucmVmZXJyZXJQb2xpY3kpCiB7CiAjaWYgIUVOQUJMRShJ
TkRFWEVEX0RBVEFCQVNFKQogICAgIFVOVVNFRF9QQVJBTShjb25uZWN0aW9uUHJveHkpOwpAQCAt
NTM1LDQgKzUzNiw5IEBAIENTU1ZhbHVlUG9vbCYgV29ya2VyR2xvYmFsU2NvcGU6OmNzc1ZhbHVl
UG9vbCgpCiAgICAgcmV0dXJuICptX2Nzc1ZhbHVlUG9vbDsKIH0KIAorUmVmZXJyZXJQb2xpY3kg
V29ya2VyR2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9yZWZlcnJlclBvbGljeTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDcxYjUyYmY0N2FmZDkyNjkw
YzQxYzQ3NTVhZWFhYzUzMjI4ZGFlODMuLmFlYmYyMTQxMmRjMmIwZDkyODc2NDBmN2M4ODgxZGVh
NThmYzEyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFs
U2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmgK
QEAgLTUzLDYgKzUzLDcgQEAgY2xhc3MgV29ya2VyTG9jYXRpb247CiBjbGFzcyBXb3JrZXJOYXZp
Z2F0b3I7CiBjbGFzcyBXb3JrZXJTV0NsaWVudENvbm5lY3Rpb247CiBjbGFzcyBXb3JrZXJUaHJl
YWQ7CitzdHJ1Y3QgV29ya2VyUGFyYW1ldGVyczsKIAogbmFtZXNwYWNlIElEQkNsaWVudCB7CiBj
bGFzcyBJREJDb25uZWN0aW9uUHJveHk7CkBAIC0xMzgsOCArMTM5LDEwIEBAIHB1YmxpYzoKIAog
ICAgIENTU1ZhbHVlUG9vbCYgY3NzVmFsdWVQb29sKCk7CiAKKyAgICBSZWZlcnJlclBvbGljeSBy
ZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOworCiBwcm90ZWN0ZWQ6Ci0gICAgV29ya2VyR2xv
YmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBTdHJpbmcm
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBXb3Jr
ZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3Jp
Z2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7Cisg
ICAgV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiwgV29ya2VyVGhyZWFkJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdp
biwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwogCiAg
ICAgdm9pZCBhcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmKTsKIApAQCAtMjE2LDYgKzIxOSw3
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdvcmtlclNXQ2xpZW50Q29ubmVjdGlvbj4gbV9zd0Ns
aWVudENvbm5lY3Rpb247CiAjZW5kaWYKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q1NTVmFsdWVQb29s
PiBtX2Nzc1ZhbHVlUG9vbDsKKyAgICBSZWZlcnJlclBvbGljeSBtX3JlZmVycmVyUG9saWN5Owog
fTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaAppbmRleCA3NGM2NDhiOWNjODA2NDBlYjY1NzA5MjBl
ZTE4NmI4MGY4ZmNmZjc4Li41NmRhMTIwN2I3Nzc5ZjJlYTdiYWU2YWI3MzZmOWQyYzk1NGY3MjQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHku
aApAQCAtMzksMTMgKzM5LDE0IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwogY2xhc3MgV29ya2VyOworZW51bSBjbGFz
cyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7CiAKIC8vIEEgcHJveHkgdG8gdGFsayB0byB0aGUg
d29ya2VyIGNvbnRleHQuCiBjbGFzcyBXb3JrZXJHbG9iYWxTY29wZVByb3h5IHsKIHB1YmxpYzoK
ICAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVQcm94eSYgY3JlYXRlKFdvcmtlciYpOwogCi0g
ICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRV
UkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNP
bmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2Vj
dXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpSdW50aW1lRmxhZ3Mp
ID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgc3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwm
IHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwg
Ym9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBv
bGljeSwgSlNDOjpSdW50aW1lRmxhZ3MpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgdGVybWluYXRl
V29ya2VyR2xvYmFsU2NvcGUoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHBvc3RNZXNzYWdlVG9X
b3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQb3J0cyYmKSA9IDA7CiAgICAgdmly
dHVhbCBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0ID0gMDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXggNDYwMzdmYTE4MDU4
MTU0OGIyNWNiZWU2NzRmNjA5ZjAzZGFkNjZlNi4uMmQzODA4MjY1NTY1MTlmN2EzMzY3OWJhMTA2
NTZmYzZiN2E4NzhhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJN
ZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5jcHAKQEAgLTcyLDcgKzcyLDcgQEAgV29ya2VyTWVzc2FnaW5nUHJveHk6On5X
b3JrZXJNZXNzYWdpbmdQcm94eSgpCiAgICAgICAgIHx8IChpczxXb3JrZXJHbG9iYWxTY29wZT4o
Km1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCkgJiYgZG93bmNhc3Q8V29ya2VyR2xvYmFsU2NvcGU+
KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpLnRocmVhZCgpLnRocmVhZCgpID09ICZUaHJlYWQ6
OmN1cnJlbnQoKSkpOwogfQogCi12b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFydFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1
bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCit2b2lkIFdvcmtlck1lc3NhZ2luZ1Byb3h5OjpzdGFy
dFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5h
bWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBS
ZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3MgcnVudGltZUZs
YWdzKQogewogICAgIC8vIEZJWE1FOiBUaGlzIG5lZWQgdG8gYmUgcmV2aXNpdGVkIHdoZW4gd2Ug
c3VwcG9ydCBuZXN0ZWQgd29ya2VyIG9uZSBkYXkKICAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRp
b25Db250ZXh0KTsKQEAgLTg4LDcgKzg4LDggQEAgdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3QKIAog
ICAgIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciA9IGRvY3VtZW50LnNvY2tldFByb3Zp
ZGVyKCk7CiAKLSAgICBhdXRvIHRocmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRl
KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgc291cmNl
Q29kZSwgKnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHRpbWVPcmlnaW4sIHByb3h5LCBzb2NrZXRQcm92
aWRlciwgcnVudGltZUZsYWdzKTsKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIHBhcmFtcyA9IHsgc2Ny
aXB0VVJMLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCBjb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRT
ZWN1cml0eVBvbGljeSwgdGltZU9yaWdpbiwgcmVmZXJyZXJQb2xpY3kgfTsKKyAgICBhdXRvIHRo
cmVhZCA9IERlZGljYXRlZFdvcmtlclRocmVhZDo6Y3JlYXRlKHBhcmFtcywgc291cmNlQ29kZSwg
KnRoaXMsICp0aGlzLCAqdGhpcywgc3RhcnRNb2RlLCBkb2N1bWVudC50b3BPcmlnaW4oKSwgcHJv
eHksIHNvY2tldFByb3ZpZGVyLCBydW50aW1lRmxhZ3MpOwogCiAgICAgd29ya2VyVGhyZWFkQ3Jl
YXRlZCh0aHJlYWQuZ2V0KCkpOwogICAgIHRocmVhZC0+c3RhcnQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuaAppbmRleCBmZDU1NGUxNDEyZmU4NjVi
MDkxMjYwNmVhMzcwOGFiZmQ1NzQxN2ViLi5lNzgxMjI3ZmVkYmFiN2VlMjVkZWNiY2FiMWY3Yjky
Y2JhOTExZTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3Nh
Z2luZ1Byb3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQ
cm94eS5oCkBAIC01MCw3ICs1MCw3IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgLy8gSW1wbGVt
ZW50YXRpb25zIG9mIFdvcmtlckdsb2JhbFNjb3BlUHJveHkuCiAgICAgLy8gKE9ubHkgdXNlIHRo
ZXNlIGZ1bmN0aW9ucyBpbiB0aGUgd29ya2VyIG9iamVjdCB0aHJlYWQuKQotICAgIHZvaWQgc3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
LCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBKU0M6OlJ1bnRpbWVGbGFncykgZmluYWw7CisgICAgdm9pZCBz
dGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcm
IG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJp
bmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBNb25v
dG9uaWNUaW1lIHRpbWVPcmlnaW4sIFJlZmVycmVyUG9saWN5LCBKU0M6OlJ1bnRpbWVGbGFncykg
ZmluYWw7CiAgICAgdm9pZCB0ZXJtaW5hdGVXb3JrZXJHbG9iYWxTY29wZSgpIGZpbmFsOwogICAg
IHZvaWQgcG9zdE1lc3NhZ2VUb1dvcmtlckdsb2JhbFNjb3BlKE1lc3NhZ2VXaXRoTWVzc2FnZVBv
cnRzJiYpIGZpbmFsOwogICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAKaW5kZXggZjhlMzZkZTI4NDBh
OWNjYzZlZTlkOWVmNzA4ZWNjYzkxOTY4YTY2OC4uYWZmODlmYmIxNjQ3NDQ3OTA1MDU1MjY2OTkx
ZDA1NzU1ZjE3NGVkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJU
aHJlYWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmNwcApA
QCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtlclRo
cmVhZC5oIgogCi0jaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
LmgiCiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCiAjaW5jbHVkZSAiU2NyaXB0U291
cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCkBAIC03NCw0NSArNzMsMzkg
QEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiBzdHJ1Y3QgV29y
a2VyVGhyZWFkU3RhcnR1cERhdGEgewogICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFdvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6Ci0gICAg
V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2Vu
dCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRT
dGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJv
b2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1
cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pOwotCi0gICAg
VVJMIG1fc2NyaXB0VVJMOwotICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gbV9vcmlnaW47Ci0gICAg
U3RyaW5nIG1fbmFtZTsKLSAgICBTdHJpbmcgbV9pZGVudGlmaWVyOwotICAgIFN0cmluZyBtX3Vz
ZXJBZ2VudDsKLSAgICBTdHJpbmcgbV9zb3VyY2VDb2RlOwotICAgIFdvcmtlclRocmVhZFN0YXJ0
TW9kZSBtX3N0YXJ0TW9kZTsKLSAgICBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMgbV9jb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7Ci0gICAgYm9vbCBtX3No
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeTsKLSAgICBib29sIG1faXNP
bmxpbmU7Ci0gICAgUmVmPFNlY3VyaXR5T3JpZ2luPiBtX3RvcE9yaWdpbjsKLSAgICBNb25vdG9u
aWNUaW1lIG1fdGltZU9yaWdpbjsKKyAgICBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBX
b3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2Vy
VGhyZWFkU3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luKTsKKworICAg
IFdvcmtlclBhcmFtZXRlcnMgcGFyYW1zOworICAgIFJlZjxTZWN1cml0eU9yaWdpbj4gb3JpZ2lu
OworICAgIFN0cmluZyBzb3VyY2VDb2RlOworICAgIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFy
dE1vZGU7CisgICAgUmVmPFNlY3VyaXR5T3JpZ2luPiB0b3BPcmlnaW47CiB9OwogCi1Xb3JrZXJU
aHJlYWRTdGFydHVwRGF0YTo6V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgVVJMJiBzY3Jp
cHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3VyY2VD
b2RlLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIGNv
bnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikK
LSAgICA6IG1fc2NyaXB0VVJMKHNjcmlwdFVSTC5pc29sYXRlZENvcHkoKSkKLSAgICAsIG1fb3Jp
Z2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUobV9zY3JpcHRVUkwpLT5pc29sYXRlZENvcHkoKSkK
LSAgICAsIG1fbmFtZShuYW1lLmlzb2xhdGVkQ29weSgpKQotICAgICwgbV9pZGVudGlmaWVyKGlk
ZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX3VzZXJBZ2VudCh1c2VyQWdlbnQuaXNv
bGF0ZWRDb3B5KCkpCi0gICAgLCBtX3NvdXJjZUNvZGUoc291cmNlQ29kZS5pc29sYXRlZENvcHko
KSkKLSAgICAsIG1fc3RhcnRNb2RlKHN0YXJ0TW9kZSkKLSAgICAsIG1fY29udGVudFNlY3VyaXR5
UG9saWN5UmVzcG9uc2VIZWFkZXJzKGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cy5pc29sYXRlZENvcHkoKSkKLSAgICAsIG1fc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5KHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSkK
LSAgICAsIG1faXNPbmxpbmUoaXNPbmxpbmUpCi0gICAgLCBtX3RvcE9yaWdpbih0b3BPcmlnaW4u
aXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX3RpbWVPcmlnaW4odGltZU9yaWdpbikKK1dvcmtlclRo
cmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJlYWRTdGFydHVwRGF0YShjb25zdCBXb3JrZXJQYXJh
bWV0ZXJzJiBvdGhlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJUaHJlYWRTdGFy
dE1vZGUgc3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luKQorICAgIDog
b3JpZ2luKFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUob3RoZXIuc2NyaXB0VVJMKS0+aXNvbGF0ZWRD
b3B5KCkpCisgICAgLCBzb3VyY2VDb2RlKHNvdXJjZUNvZGUuaXNvbGF0ZWRDb3B5KCkpCisgICAg
LCBzdGFydE1vZGUoc3RhcnRNb2RlKQorICAgICwgdG9wT3JpZ2luKHRvcE9yaWdpbi5pc29sYXRl
ZENvcHkoKSkKIHsKKyAgICBwYXJhbXMuc2NyaXB0VVJMID0gb3RoZXIuc2NyaXB0VVJMLmlzb2xh
dGVkQ29weSgpOworICAgIHBhcmFtcy5uYW1lID0gb3RoZXIubmFtZS5pc29sYXRlZENvcHkoKTsK
KyAgICBwYXJhbXMuaWRlbnRpZmllciA9IG90aGVyLmlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCk7
CisgICAgcGFyYW1zLnVzZXJBZ2VudCA9IG90aGVyLnVzZXJBZ2VudC5pc29sYXRlZENvcHkoKTsK
KyAgICBwYXJhbXMuY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzID0gb3RoZXIu
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLmlzb2xhdGVkQ29weSgpOworICAg
IHBhcmFtcy5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kgPSBvdGhl
ci5zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CisgICAgcGFyYW1z
LmlzT25saW5lID0gb3RoZXIuaXNPbmxpbmU7CisgICAgcGFyYW1zLnRpbWVPcmlnaW4gPSBvdGhl
ci50aW1lT3JpZ2luOworICAgIHBhcmFtcy5yZWZlcnJlclBvbGljeSA9IG90aGVyLnJlZmVycmVy
UG9saWN5OwogfQogCi1Xb3JrZXJUaHJlYWQ6OldvcmtlclRocmVhZChjb25zdCBVUkwmIHNjcmlw
dFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUsIFdvcmtlckxvYWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQ
cm94eSYgd29ya2VyRGVidWdnZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJl
cG9ydGluZ1Byb3h5LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBDb250
ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGNvbnN0IFNlY3VyaXR5T3JpZ2luJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwg
U29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1l
RmxhZ3MpCi0gICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllci5pc29sYXRlZENvcHkoKSkKK1dv
cmtlclRocmVhZDo6V29ya2VyVGhyZWFkKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBXb3JrZXJMb2FkZXJQcm94eSYgd29ya2VyTG9hZGVy
UHJveHksIFdvcmtlckRlYnVnZ2VyUHJveHkmIHdvcmtlckRlYnVnZ2VyUHJveHksIFdvcmtlclJl
cG9ydGluZ1Byb3h5JiB3b3JrZXJSZXBvcnRpbmdQcm94eSwgV29ya2VyVGhyZWFkU3RhcnRNb2Rl
IHN0YXJ0TW9kZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJ
REJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tl
dFByb3ZpZGVyLCBKU0M6OlJ1bnRpbWVGbGFncyBydW50aW1lRmxhZ3MpCisgICAgOiBtX2lkZW50
aWZpZXIocGFyYW1zLmlkZW50aWZpZXIuaXNvbGF0ZWRDb3B5KCkpCiAgICAgLCBtX3dvcmtlckxv
YWRlclByb3h5KHdvcmtlckxvYWRlclByb3h5KQogICAgICwgbV93b3JrZXJEZWJ1Z2dlclByb3h5
KHdvcmtlckRlYnVnZ2VyUHJveHkpCiAgICAgLCBtX3dvcmtlclJlcG9ydGluZ1Byb3h5KHdvcmtl
clJlcG9ydGluZ1Byb3h5KQogICAgICwgbV9ydW50aW1lRmxhZ3MocnVudGltZUZsYWdzKQotICAg
ICwgbV9zdGFydHVwRGF0YShtYWtlVW5pcXVlPFdvcmtlclRocmVhZFN0YXJ0dXBEYXRhPihzY3Jp
cHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUs
IHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIHRvcE9yaWdpbiwgdGltZU9yaWdp
bikpCisgICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8V29ya2VyVGhyZWFkU3RhcnR1cERh
dGE+KHBhcmFtcywgc291cmNlQ29kZSwgc3RhcnRNb2RlLCB0b3BPcmlnaW4pKQogI2lmIEVOQUJM
RShJTkRFWEVEX0RBVEFCQVNFKQogICAgICwgbV9pZGJDb25uZWN0aW9uUHJveHkoY29ubmVjdGlv
blByb3h5KQogI2VuZGlmCkBAIC0xNjgsNyArMTYxLDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6Ondv
cmtlclRocmVhZCgpCiAgICAgICAgIC8vIHdoaWxlIFdvcmtlclRocmVhZDo6c3RvcCgpIGlzIGFj
Y2Vzc2luZyBpdC4gTm90ZSB0aGF0IFdvcmtlclRocmVhZDo6c3RvcCgpIGNhbgogICAgICAgICAv
LyBiZSBjYWxsZWQgYmVmb3JlIHdlJ3ZlIGZpbmlzaGVkIGNyZWF0aW5nIHRoZSBXb3JrZXJHbG9i
YWxTY29wZS4KICAgICAgICAgTG9ja0hvbGRlciBsb2NrKG1fdGhyZWFkQ3JlYXRpb25BbmRXb3Jr
ZXJHbG9iYWxTY29wZU11dGV4KTsKLSAgICAgICAgbV93b3JrZXJHbG9iYWxTY29wZSA9IGNyZWF0
ZVdvcmtlckdsb2JhbFNjb3BlKG1fc3RhcnR1cERhdGEtPm1fc2NyaXB0VVJMLCBXVEZNb3ZlKG1f
c3RhcnR1cERhdGEtPm1fb3JpZ2luKSwgbV9zdGFydHVwRGF0YS0+bV9uYW1lLCBtX3N0YXJ0dXBE
YXRhLT5tX2lkZW50aWZpZXIsIG1fc3RhcnR1cERhdGEtPm1fdXNlckFnZW50LCBtX3N0YXJ0dXBE
YXRhLT5tX2lzT25saW5lLCBtX3N0YXJ0dXBEYXRhLT5tX2NvbnRlbnRTZWN1cml0eVBvbGljeVJl
c3BvbnNlSGVhZGVycywgbV9zdGFydHVwRGF0YS0+bV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUobV9zdGFydHVwRGF0YS0+bV90b3BPcmlnaW4pLCBt
X3N0YXJ0dXBEYXRhLT5tX3RpbWVPcmlnaW4pOworICAgICAgICBtX3dvcmtlckdsb2JhbFNjb3Bl
ID0gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+cGFyYW1zLCBXVEZNb3Zl
KG1fc3RhcnR1cERhdGEtPm9yaWdpbiksIFdURk1vdmUobV9zdGFydHVwRGF0YS0+dG9wT3JpZ2lu
KSk7CiAKICAgICAgICAgc2NyaXB0Q29udHJvbGxlciA9IG1fd29ya2VyR2xvYmFsU2NvcGUtPnNj
cmlwdCgpOwogCkBAIC0xODAsNyArMTczLDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRo
cmVhZCgpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICBpZiAobV9zdGFydHVwRGF0YS0+bV9zdGFy
dE1vZGUgPT0gV29ya2VyVGhyZWFkU3RhcnRNb2RlOjpXYWl0Rm9ySW5zcGVjdG9yKSB7CisgICAg
aWYgKG1fc3RhcnR1cERhdGEtPnN0YXJ0TW9kZSA9PSBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Oldh
aXRGb3JJbnNwZWN0b3IpIHsKICAgICAgICAgc3RhcnRSdW5uaW5nRGVidWdnZXJUYXNrcygpOwog
CiAgICAgICAgIC8vIElmIHRoZSB3b3JrZXIgd2FzIHNvbWVob3cgdGVybWluYXRlZCB3aGlsZSBw
cm9jZXNzaW5nIGRlYnVnZ2VyIGNvbW1hbmRzLgpAQCAtMTg5LDcgKzE4Miw3IEBAIHZvaWQgV29y
a2VyVGhyZWFkOjp3b3JrZXJUaHJlYWQoKQogICAgIH0KIAogICAgIFN0cmluZyBleGNlcHRpb25N
ZXNzYWdlOwotICAgIHNjcmlwdENvbnRyb2xsZXItPmV2YWx1YXRlKFNjcmlwdFNvdXJjZUNvZGUo
bV9zdGFydHVwRGF0YS0+bV9zb3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+bV9zY3JpcHRV
UkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOworICAgIHNjcmlwdENvbnRyb2xsZXItPmV2YWx1YXRl
KFNjcmlwdFNvdXJjZUNvZGUobV9zdGFydHVwRGF0YS0+c291cmNlQ29kZSwgVVJMKG1fc3RhcnR1
cERhdGEtPnBhcmFtcy5zY3JpcHRVUkwpKSwgJmV4Y2VwdGlvbk1lc3NhZ2UpOwogCiAgICAgZmlu
aXNoZWRFdmFsdWF0aW5nU2NyaXB0KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvV29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVh
ZC5oCmluZGV4IDE0ZWViZjE0NTE4ZWNhNmJmMjcxZjQ1M2EwNTM1MmE2NTFkNjcyNzMuLjE3ZWIx
MTE4ZTAyM2EwMWMzM2ExMTE5ZDUwNDY3YjI5ZmNiZGJlMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJUaHJlYWQuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2lu
Y2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycy5oIgogI2luY2x1ZGUg
IldvcmtlclJ1bkxvb3AuaCIKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9SdW50aW1lRmxhZ3Mu
aD4KICNpbmNsdWRlIDxtZW1vcnk+CkBAIC01NSw2ICs1NiwxOSBAQCBjbGFzcyBJREJDb25uZWN0
aW9uUHJveHk7CiAKIHN0cnVjdCBXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTsKIAorc3RydWN0IFdv
cmtlclBhcmFtZXRlcnMgeworcHVibGljOgorICAgIFVSTCBzY3JpcHRVUkw7CisgICAgU3RyaW5n
IG5hbWU7CisgICAgU3RyaW5nIGlkZW50aWZpZXI7CisgICAgU3RyaW5nIHVzZXJBZ2VudDsKKyAg
ICBib29sIGlzT25saW5lOworICAgIENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnM7CisgICAgYm9vbCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3k7CisgICAgTW9ub3RvbmljVGltZSB0
aW1lT3JpZ2luOworICAgIFJlZmVycmVyUG9saWN5IHJlZmVycmVyUG9saWN5OworfTsKKwogY2xh
c3MgV29ya2VyVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPFdvcmtlclRocmVh
ZD4gewogcHVibGljOgogICAgIHZpcnR1YWwgfldvcmtlclRocmVhZCgpOwpAQCAtOTAsMTAgKzEw
NCwxMCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X2lkZW50aWZpZXI7IH0KIAogcHJvdGVjdGVkOgotICAgIFdvcmtlclRocmVhZChjb25zdCBVUkwm
LCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwg
V29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29ya2VyUmVwb3J0aW5n
UHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlk
ZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CisgICAgV29ya2VyVGhyZWFkKGNvbnN0IFdvcmtlclBh
cmFtZXRlcnMmLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5Jiwg
V29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5JiwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6OklE
QkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOwog
CiAgICAgLy8gRmFjdG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgbmV3IHdvcmtlciBjb250ZXh0
IGZvciB0aGUgdGhyZWFkLgotICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNv
bnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbikgPSAwOworICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKSA9IDA7CiAKICAgICAvLyBF
eGVjdXRlcyB0aGUgZXZlbnQgbG9vcCBmb3IgdGhlIHdvcmtlciB0aHJlYWQuIERlcml2ZWQgY2xh
c3NlcyBjYW4gb3ZlcnJpZGUgdG8gcGVyZm9ybSBhY3Rpb25zIGJlZm9yZS9hZnRlciBlbnRlcmlu
ZyB0aGUgZXZlbnQgbG9vcC4KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRMb29wKCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCmluZGV4IGQxOGQxMzYwNzgyZjUxMDFmNGY5M2IyZGY3ZjBmMTJiMDVh
MDQwZTguLjU0OTQ5YzE3MjViMTQ2MjM4NWRmOWViMjNjY2FlOTdiYmU4NGMzNjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2Nv
cGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
R2xvYmFsU2NvcGUuY3BwCkBAIC00MywxNSArNDMsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKTsK
IAotUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
OjpjcmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBVUkwm
IHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBpZGVudGlm
aWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgU2VydmljZVdvcmtl
clRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5l
Y3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorUmVmPFNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3Qg
U2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBw
YXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFNlcnZpY2VXb3JrZXJUaHJlYWQm
IHRocmVhZCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJD
b25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFBy
b3ZpZGVyKQogewotICAgIGF1dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJH
bG9iYWxTY29wZSB7IGRhdGEsIHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVyLCB1c2Vy
QWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1
cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJv
eHksIHNvY2tldFByb3ZpZGVyIH0pOwotICAgIHNjb3BlLT5hcHBseUNvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3kpOworICAgIGF1dG8gc2Nv
cGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7IGRhdGEsIHBhcmFt
cywgV1RGTW92ZShvcmlnaW4pLCB0aHJlYWQsIFdURk1vdmUodG9wT3JpZ2luKSwgY29ubmVjdGlv
blByb3h5LCBzb2NrZXRQcm92aWRlciB9KTsKKyAgICBzY29wZS0+YXBwbHlDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMocGFyYW1zLmNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3Bv
bnNlSGVhZGVycyk7CiAgICAgcmV0dXJuIHNjb3BlOwogfQogCi1TZXJ2aWNlV29ya2VyR2xvYmFs
U2NvcGU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4
dERhdGEmIGRhdGEsIGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2lu
LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29s
IGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wgc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlv
blByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikK
LSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVudGlmaWVy
LCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBjb25uZWN0
aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQorU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpTZXJ2
aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRh
LCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBv
cmlnaW4sIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94
eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorICAgIDogV29ya2VyR2xvYmFsU2Nv
cGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksIHRocmVhZCwgV1RGTW92ZSh0b3BPcmlnaW4pLCBj
b25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQogICAgICwgbV9jb250ZXh0RGF0YShjcm9z
c1RocmVhZENvcHkoZGF0YSkpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbihTZXJ2aWNlV29ya2VyUmVn
aXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqdGhpcywgbmF2aWdhdG9yKCkuc2VydmljZVdvcmtlcigp
LCBXVEZNb3ZlKG1fY29udGV4dERhdGEucmVnaXN0cmF0aW9uKSkpCiAgICAgLCBtX2NsaWVudHMo
U2VydmljZVdvcmtlckNsaWVudHM6OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDk1
NjA3YTVmZDQzZDZmMjQ5MDhmZDFlYzExZjExOTVhZjVkZjgxZTMuLjBlNGJlOTc1ZTUzNzk0OWRm
NTI3MzdkZmQ5YzI4OWE3MzhhZWNjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTQ0LDcgKzQ0
LDcgQEAgY2xhc3MgU2VydmljZVdvcmtlclRocmVhZDsKIGNsYXNzIFNlcnZpY2VXb3JrZXJHbG9i
YWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAgICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0
YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3QgU2VydmljZVdv
cmtlckNvbnRleHREYXRhJiwgY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25s
aW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGlt
ZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciop
OworICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29uc3Qg
U2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiwgU2VydmljZVdvcmtlclRocmVhZCYsIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJv
dmlkZXIqKTsKIAogICAgIH5TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoKTsKIApAQCAtNjksNyAr
NjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JpcHRSZXNvdXJjZShjb25zdCBVUkwmLCBT
ZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0JiYpOwogCiBwcml2YXRlOgot
ICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29ya2VyQ29udGV4dERh
dGEmLCBjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFNlcnZpY2VX
b3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CisgICAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0
RGF0YSYsIGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIFNl
cnZpY2VXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CiAKICAgICBib29s
IGhhc1BlbmRpbmdFdmVudHMoKSBjb25zdCB7IHJldHVybiAhbV9leHRlbmRlZEV2ZW50cy5pc0Vt
cHR5KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2Nv
bnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3Nl
cnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAzYmY3MTM5ZmYxNjcw
OGE0YWQyNjQzYWUwYjJlMThiMmRlZDM3Njg2Li5jNWViMTQ1YzRkNTk5MGVkOThmODIyMDFkZWE4
MzIzY2VmZjE5YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2Uv
Y29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApAQCAtNzMsNyArNzMs
NyBAQCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZsYWdzCiAKIFNlcnZp
Y2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2VydmljZVdvcmtlckNv
bnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxvYWRlclByb3h5JiBs
b2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94eSwgSURCQ2xpZW50
OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIq
IHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2NyaXB0VVJMLCBlbXB0
eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rv
cnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0
ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5zY3JpcHQsIGxvYWRl
clByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJlYWRQcm94eTo6c2hh
cmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNvbnRlbnRTZWN1cml0
eVBvbGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmlnaW4oKS5zZWN1cml0
eU9yaWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgaWRiQ29ubmVjdGlvblByb3h5
LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFsbEVuYWJsZWQoKSkK
KyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2Vy
dmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50
aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVy
U3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQb2xpY3ksIGZhbHNl
LCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9IH0sIGRhdGEuc2NyaXB0LCBsb2FkZXJQcm94eSwg
ZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpLCBX
b3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRpb24ua2V5LnRvcE9y
aWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Qcm94eSwgc29ja2V0
UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVkKCkpCiAgICAgLCBt
X2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2JqZWN0UHJveHkoRHVt
bXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwgbV9oZWFydEJlYXRU
aW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rpb24oKS0+c2hvdWxk
VXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6IGhlYXJ0QmVhdFRp
bWVvdXQpCkBAIC04NCwxMCArODQsOSBAQCBTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29y
a2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0YSwgUwogCiBTZXJ2
aWNlV29ya2VyVGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVmYXVsdDsKIAotUmVm
PFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29u
c3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYg
dXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9iYWxTY29wZT4gU2Vy
dmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFy
YW1ldGVycyYgcGFyYW1zLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYgdG9wT3JpZ2luKQogewotICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKLSAgICBy
ZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRhLCB1cmwsIFdURk1v
dmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgKnRoaXMsIGNvbnRl
bnRTZWN1cml0eVBvbGljeSwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5lY3Rpb25Qcm94eSgp
LCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3Bl
OjpjcmVhdGUobV9kYXRhLCBwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRoaXMsIFdURk1vdmUo
dG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOwogfQog
CiB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
LmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2Vy
VGhyZWFkLmgKaW5kZXggYzE0Nzk5ZWNkMmIzMjAwNTQ0YzVhZmUzZTE1NjNjMTY4MzE5OTI2Ni4u
ZDg4ODY3MThhYzYwN2U1OTI0YzRlODkxYTAyODBhNzE4MjdhZDNhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0L1NlcnZpY2VXb3Jr
ZXJUaHJlYWQuaApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdG9wRmV0Y2hF
dmVudE1vbml0b3JpbmcoKSB7IG1faXNIYW5kbGluZ0ZldGNoRXZlbnQgPSBmYWxzZTsgfQogCiBw
cm90ZWN0ZWQ6Ci0gICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxT
Y29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFt
ZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9v
bCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwg
Ym9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikgZmluYWw7
CisgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25z
dCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgdG9wT3JpZ2luKSBmaW5hbDsKICAgICB2b2lkIHJ1bkV2ZW50TG9vcCgpIG92ZXJy
aWRlOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29y
a2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRzL1dvcmtsZXRHbG9i
YWxTY29wZS5jcHAKaW5kZXggYzEyMWRiNjM1ZWQxNGRhZTE3OGEzZmJiMmQ1MmRlODZhZDljNWI0
Mi4uNmU0YTk1NWUwYTUwYTVhZTU0ZDk4Y2E3YTA3OTRhYzFlOWQ3OWE0NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBAIC0xNjYsNSArMTY2
LDEwIEBAIHZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjphZGRNZXNzYWdlKE1lc3NhZ2VTb3VyY2Ug
c291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvCiAgICAgbV9kb2N1bWVudC0+YWRkTWVzc2Fn
ZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlVGV4dCwgc291cmNlVVJMLCBsaW5lTnVtYmVyLCBjb2x1
bW5OdW1iZXIsIFdURk1vdmUoY2FsbFN0YWNrKSwgbnVsbHB0ciwgcmVxdWVzdElkZW50aWZpZXIp
OwogfQogCitSZWZlcnJlclBvbGljeSBXb3JrbGV0R2xvYmFsU2NvcGU6OnJlZmVycmVyUG9saWN5
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6Ok5vUmVmZXJyZXI7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0
cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBiYzQ0MTFlZjM3MjdmMjQxZjU2Y2Y5NzVlMmJi
ZDY0NmIzZjc5MmZhLi5jNDdhY2I1OWJiODM4YjM3YzcxMGVhNzg0YmU1MzVkNDgwOGY3YzI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaApAQCAtNjUs
NiArNjUsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGV2YWx1YXRlKCk7CiAKKyAgICBSZWZlcnJl
clBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOworCiAgICAgdXNpbmcgUmVmQ291
bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL0NoYW5nZUxvZwppbmRleCBmODA5NzVjNmJhNTk0ZDliZjY5ODBiZmFhMjRhMjNkYjNkNmZk
YTg2Li42MmJkZTFlYWQ3Y2Y4YTNhMWJiOTdkNDlkZGNiZmJkZjRjMjA5MGE1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMS0yNyAgUm9iIEJ1
aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEZpeCBmZXRjaC9hcGkvcG9saWNpZXMv
cmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGltcHJvdmVkIHRlc3QgcmVzdWx0LgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmln
aW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wMS0yNyAgUm9iIEJ1aXMgIDxyYnVpc0Bp
Z2FsaWEuY29tPgogCiAgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9wb2xpY2llcyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmln
aW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhw
ZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYxYmVjMThjMGNhNzkyZjMwZWFmNTUzZDIxZWUu
LjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMzZTJkYTY3MjhlNzEgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGlj
aWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVy
cmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogCi1GQUlMIFJl
cXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNzZXJ0X2VxdWFsczogcmVxdWVzdCdzIHJlZmVy
cmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRjaC9hcGkvcG9saWNpZXMv
cmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgotRkFJTCBDcm9zcy1vcmlnaW4gcmVmZXJyZXIg
aXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIGFzc2VydF9lcXVhbHM6IHJlcXVlc3QncyBy
ZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVkICJodHRwOi8vbG9jYWxo
b3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvZmV0Y2gvYXBpL3BvbGlj
aWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK1BBU1MgUmVxdWVzdCdzIHJlZmVycmVy
IGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlzIG92ZXJyaWRkZW4gYnkg
Y2xpZW50IG9yaWdpbiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388860</attachid>
            <date>2020-01-27 08:08:12 -0800</date>
            <delta_ts>2020-01-27 12:34:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200127170810.patch</filename>
            <type>text/plain</type>
            <size>47282</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NTQ3MzhkNTg1NWM2
YTE4MmQxYjFjNDE4NmZkNDE5MDk4Njg1NS4uYzQxOTNjYjAxZTRjZDFkODYyZGM1YzlmMzJmNTc3
YThlMmZlYmYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTAxLTI3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xp
Y3kgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OldvcmtlclRo
cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3Bl
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
Lmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xpY3kgY29uc3QpOgorICAg
ICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oOgorCiAyMDIwLTAxLTI2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIERPTUNhY2hlRW5naW5l
OjplcnJvclRvRXhjZXB0aW9uIGJhY2sgb3V0IG9mIGhlYWRlciBhbmQgaW50byAuY3BwIGZpbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDIx
NjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNi4uNzdmYzZlNWQyYmY3N2Y5YmQ1
MzM2OGNlNzNhYTQ2MGRhYmY2YzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHAKQEAgLTExMyw2ICsxMTMsOCBAQCB2b2lkIEZldGNoTG9hZGVyOjpz
dGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Qm
IHJlcQogICAgICAgICByZWZlcnJlciA9IFN0cmluZygpOwogICAgIH0gZWxzZQogICAgICAgICBy
ZWZlcnJlciA9IChyZWZlcnJlciA9PSAiY2xpZW50IikgPyBjb250ZXh0LnVybCgpLnN0cmlwcGVk
Rm9yVXNlQXNSZWZlcnJlcigpIDogVVJMKGNvbnRleHQudXJsKCksIHJlZmVycmVyKS5zdHJpcHBl
ZEZvclVzZUFzUmVmZXJyZXIoKTsKKyAgICBpZiAob3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpCisgICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xp
Y3kgPSBjb250ZXh0LnJlZmVycmVyUG9saWN5KCk7CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFi
bGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhpcywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBv
cHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAgICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FjYjYyMmM5ZGYyMGFlNGI2MjJiN2RmOGNlNWZjZDk4
OTE1MGYzMS4uYmYwMTUxODFlZTQ1NmNiY2M4YzIwZmI2MjVkOGY4ZGE4OGIyZDgzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTQyMCw3ICs0MjAsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IHZvaWQgc2V0UmVmZXJyZXJQb2xpY3koUmVmZXJyZXJQb2xpY3kpOwotICAgIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1
ZU9yKFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7IH0KKyAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVmZXJy
ZXJQb2xpY3kudmFsdWVPcihSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUp
OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggN2Fh
M2E1ZGMwMmI3OTkzZDk0ZmFiMzMxMTJiZWNhNWQ4ZGU0ZmM3ZC4uMDA4MzFhMjYwYjUzN2EwMDkz
YTg4MTJkYTRiYTVmZmQ1YzI1NTZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCkBAIC02NSw2ICs2NSw3IEBAIGNsYXNzIFJlamVjdGVkUHJvbWlzZVRy
YWNrZXI7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFNvY2tldFByb3ZpZGVyOworZW51bSBjbGFzcyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7
CiBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQpAQCAtOTksNiArMTAwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcg
dXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlz
YWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKaW5kZXggYTE0YzdlNjdhOGE1YTgxMmYxNGEwZDRhYzk4OWJlZWM2NjNhNDgzZi4u
M2UzYjEyYjY2ZTlmMWQzY2EyNTM0MGM2Njc2MmFkZjVlZDhmZDJiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAg
LTQ0LDE3ICs0NCwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk7CiAKLVJlZjxEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25z
dCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKK1JlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBXb3JrZXJQYXJh
bWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIERlZGljYXRlZFdv
cmtlclRocmVhZCYgdGhyZWFkLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIpCiB7Ci0gICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRl
bnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwg
Y29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikpOwotICAgIGlmICghc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQotICAgICAgICBjb250ZXh0LT5hcHBseUNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMpOworICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKCpuZXcgRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksIHRocmVhZCwgV1RG
TW92ZSh0b3BPcmlnaW4pLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKSk7CisgICAg
aWYgKCFwYXJhbXMuc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQor
ICAgICAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyhwYXJhbXMuY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTsKICAgICByZXR1
cm4gY29udGV4dDsKIH0KIAotRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3Jp
Z2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYg
dGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQ
cm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdU
Rk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3Jp
Z2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKLSAgICAs
IG1fbmFtZShuYW1lKQorRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIG9yaWdpbiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBj
b25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdv
cmtlckdsb2JhbFNjb3BlKHBhcmFtcywgV1RGTW92ZShvcmlnaW4pLCB0aHJlYWQsIFdURk1vdmUo
dG9wT3JpZ2luKSwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKKyAgICAsIG1fbmFt
ZShwYXJhbXMubmFtZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDFiYzk2YTkxNTNkZmNjYjBjZWM2ZGQw
ZTQ5MGU3OWE3ZjRmMjRmYTkuLmQyNDVmY2JlNTAxNDI5ZDgyZDVlMTk3NzY4OGExZjA5ZDEyYTIy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlLmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVl
OwogY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2Vy
R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CiAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKTsKIAogICAgIGNvbnN0
IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQpAQCAtNjIsNyArNjIsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBXb3JrZXJHbG9iYWxTY29wZTsK
IAotICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAg
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQ
cm92aWRlciopOwogCiAgICAgYm9vbCBpc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGltcG9ydFNj
cmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDdkNWUyMDdhYTQ4
NWRmNTQwNGI0YjIzZDNhN2RhNTRkODRiNjg1MWQuLmMzNWVlNjQ4M2MyN2Y0ZmRjZWU2MjBmYWU2
NGNlMDNiY2MyZjU2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAKQEAgLTM4LDE3ICszOCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLURlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2Vy
T2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBT
b2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVG
bGFncykKLSAgICA6IFdvcmtlclRocmVhZCh1cmwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2Vu
dCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJEZWJ1Z2dl
clByb3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyLCBydW50aW1lRmxhZ3MpCitEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtl
clRocmVhZChjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2Vy
T2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25u
ZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1l
RmxhZ3MgcnVudGltZUZsYWdzKQorICAgIDogV29ya2VyVGhyZWFkKHBhcmFtcywgc291cmNlQ29k
ZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlckRlYnVnZ2VyUHJveHksIHdvcmtlck9iamVjdFBy
b3h5LCBzdGFydE1vZGUsIHRvcE9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRl
ciwgcnVudGltZUZsYWdzKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eSh3b3JrZXJPYmplY3RQ
cm94eSkKIHsKIH0KIAogRGVkaWNhdGVkV29ya2VyVGhyZWFkOjp+RGVkaWNhdGVkV29ya2VyVGhy
ZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1z
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luKQogewotICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRl
KHVybCwgV1RGTW92ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25s
aW5lLCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwg
dGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAg
IHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHBhcmFtcywgV1RGTW92
ZShvcmlnaW4pLCAqdGhpcywgV1RGTW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHko
KSwgc29ja2V0UHJvdmlkZXIoKSk7CiB9CiAKIHZvaWQgRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpy
dW5FdmVudExvb3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
VGhyZWFkLmgKaW5kZXggY2M0OWY5ZTk5NTUwOWQxOGUzMWZkYWZlZjEzM2EyZjJkMGE3ZTRmMi4u
MDU5ZDgxNzE4NjE2YzEwOWNiNGFjMjNkNjYzNzczOTJmZWZlNzQ3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCkBAIC01MCwxMSArNTAsMTEg
QEAgcHVibGljOgogICAgIHZvaWQgc3RhcnQoKSB7IFdvcmtlclRocmVhZDo6c3RhcnQobnVsbHB0
cik7IH0KIAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4pIG92ZXJyaWRlOworICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xv
YmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbikgb3ZlcnJpZGU7CiAgICAgdm9pZCBydW5F
dmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdv
cmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNv
Y2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOworICAgIERlZGljYXRlZFdvcmtlclRo
cmVhZChjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94
eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdp
biwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6
UnVudGltZUZsYWdzKTsKIAogICAgIFdvcmtlck9iamVjdFByb3h5JiBtX3dvcmtlck9iamVjdFBy
b3h5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBjM2RlNDQ2MGY3NDQ4NDc3
YmE5YzFhMjI5N2YyZDI3MWQyOTM0YzFiLi5jM2NiZDkzNDY2MGU4ZjM5YTYxMWNlOGIzNjI4ZjQ5
ZDQ2NjdmMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yMTEsNyArMjExLDEw
IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAKICAgICBib29sIGlzT25saW5lID0g
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyA/IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkg
OiBjb250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7Ci0g
ICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+
dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSks
IGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCBtX3J1bnRpbWVGbGFncyk7CisgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7Cisg
ICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+
cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQorICAg
ICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRX
b3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+
dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRl
ci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25U
aW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVu
dGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMDFkZTM5OGQ0YzliZDIzMjcx
Yjg2YTliN2Y5YWIzNTZiMTZhNTk5MS4uMTMxYzY3NDAxZGIwMjc1MzlmNjFjMzEzMjE5NmY2YTg2
ODYyNTRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHAKQEAgLTYyLDIxICs2MiwyMiBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyR2xvYmFsU2NvcGUpOwogCi1Xb3JrZXJHbG9i
YWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJv
dmlkZXIpCi0gICAgOiBtX3VybCh1cmwpCi0gICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
LSAgICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudCkKK1dvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiBvcmlnaW4sIFdvcmtlclRocmVhZCYgdGhyZWFkLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblBy
b3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBtX3VybChwYXJhbXMu
c2NyaXB0VVJMKQorICAgICwgbV9pZGVudGlmaWVyKHBhcmFtcy5pZGVudGlmaWVyKQorICAgICwg
bV91c2VyQWdlbnQocGFyYW1zLnVzZXJBZ2VudCkKICAgICAsIG1fdGhyZWFkKHRocmVhZCkKICAg
ICAsIG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyU2NyaXB0Q29udHJvbGxlcj4odGhpcykpCiAg
ICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIobWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyPigqdGhpcykpCi0gICAgLCBtX2lzT25saW5lKGlzT25saW5lKQotICAgICwgbV9zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQorICAgICwgbV9pc09ubGluZShwYXJhbXMuaXNPbmxp
bmUpCisgICAgLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeShw
YXJhbXMuc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQogICAgICwg
bV90b3BPcmlnaW4oV1RGTW92ZSh0b3BPcmlnaW4pKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQogICAgICwgbV9jb25uZWN0aW9uUHJveHkoY29ubmVjdGlvblByb3h5KQogI2VuZGlmCiAg
ICAgLCBtX3NvY2tldFByb3ZpZGVyKHNvY2tldFByb3ZpZGVyKQotICAgICwgbV9wZXJmb3JtYW5j
ZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHRpbWVPcmlnaW4pKQorICAgICwgbV9wZXJmb3Jt
YW5jZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHBhcmFtcy50aW1lT3JpZ2luKSkKKyAgICAs
IG1fcmVmZXJyZXJQb2xpY3kocGFyYW1zLnJlZmVycmVyUG9saWN5KQogewogI2lmICFFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAg
LTUzNSw0ICs1MzYsOSBAQCBDU1NWYWx1ZVBvb2wmIFdvcmtlckdsb2JhbFNjb3BlOjpjc3NWYWx1
ZVBvb2woKQogICAgIHJldHVybiAqbV9jc3NWYWx1ZVBvb2w7CiB9CiAKK1JlZmVycmVyUG9saWN5
IFdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fcmVmZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA3MWI1MmJmNDdhZmQ5MjY5
MGM0MWM0NzU1YWVhYWM1MzIyOGRhZTgzLi5hZWJmMjE0MTJkYzJiMGQ5Mjg3NjQwZjdjODg4MWRl
YTU4ZmMxMjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIFdvcmtlckxvY2F0aW9uOwogY2xhc3MgV29ya2VyTmF2
aWdhdG9yOwogY2xhc3MgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOwogY2xhc3MgV29ya2VyVGhy
ZWFkOworc3RydWN0IFdvcmtlclBhcmFtZXRlcnM7CiAKIG5hbWVzcGFjZSBJREJDbGllbnQgewog
Y2xhc3MgSURCQ29ubmVjdGlvblByb3h5OwpAQCAtMTM4LDggKzEzOSwxMCBAQCBwdWJsaWM6CiAK
ICAgICBDU1NWYWx1ZVBvb2wmIGNzc1ZhbHVlUG9vbCgpOwogCisgICAgUmVmZXJyZXJQb2xpY3kg
cmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5hbDsKKwogcHJvdGVjdGVkOgotICAgIFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29y
a2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwor
ICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYsIFdvcmtlclRocmVhZCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAog
ICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMoY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7CiAKQEAgLTIxNiw2ICsyMTks
NyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24+IG1fc3dD
bGllbnRDb25uZWN0aW9uOwogI2VuZGlmCiAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1ZhbHVlUG9v
bD4gbV9jc3NWYWx1ZVBvb2w7CisgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNzRjNjQ4YjljYzgwNjQwZWI2NTcwOTIw
ZWUxODZiODBmOGZjZmY3OC4uNTZkYTEyMDdiNzc3OWYyZWE3YmFlNmFiNzM2ZjlkMmM5NTRmNzI0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKQEAgLTM5LDEzICszOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczsKIGNsYXNzIFdvcmtlcjsKK2VudW0gY2xh
c3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90OwogCiAvLyBBIHByb3h5IHRvIHRhbGsgdG8gdGhl
IHdvcmtlciBjb250ZXh0LgogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAot
ICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0
VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdz
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQ
b2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0
ZVdvcmtlckdsb2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRv
V29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDQ2MDM3ZmExODA1
ODE1NDhiMjVjYmVlNjc0ZjYwOWYwM2RhZDY2ZTYuLjJkMzgwODI2NTU2NTE5ZjdhMzM2NzliYTEw
NjU2ZmM2YjdhODc4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCkBAIC03Miw3ICs3Miw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+
V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+
KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3Bl
PigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9PSAmVGhyZWFk
OjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpS
dW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVG
bGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdl
IHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk7CkBAIC04OCw3ICs4OCw4IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6
OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0CiAK
ICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVudC5zb2NrZXRQcm92
aWRlcigpOwogCi0gICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZShzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJj
ZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCBwcm94eSwgc29ja2V0UHJv
dmlkZXIsIHJ1bnRpbWVGbGFncyk7CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNj
cmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5IH07CisgICAgYXV0byB0
aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUs
ICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHBy
b3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENy
ZWF0ZWQodGhyZWFkLmdldCgpKTsKICAgICB0aHJlYWQtPnN0YXJ0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggZmQ1NTRlMTQxMmZlODY1
YjA5MTI2MDZlYTM3MDhhYmZkNTc0MTdlYi4uZTc4MTIyN2ZlZGJhYjdlZTI1ZGVjYmNhYjFmN2I5
MmNiYTkxMWUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEltcGxl
bWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0
aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQg
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3Mp
IGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmKSBmaW5hbDsKICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY4ZTM2ZGUyODQw
YTljY2M2ZWU5ZDllZjcwOGVjY2M5MTk2OGE2NjguLmFmM2JkNzA0YWQzZmJjZjM3NGQzY2UxNTcz
MGI5ZjRjNjM3NjE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
QEAgLTI3LDEzICsyNywxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtl
clRocmVhZC5oIgogCi0jaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLmgiCiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCiAjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29j
a2V0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCi0jaW5jbHVkZSA8
d3RmL1VSTC5oPgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgPHV0aWxpdHk+CkBAIC03MSw0OCAr
NjksNDkgQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAg
cmV0dXJuIHdvcmtlclRocmVhZHMobG9jaykuc2l6ZSgpOwogfQogCitXb3JrZXJQYXJhbWV0ZXJz
IFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsK
KyAgICAgICAgc2NyaXB0VVJMLmlzb2xhdGVkQ29weSgpLAorICAgICAgICBuYW1lLmlzb2xhdGVk
Q29weSgpLAorICAgICAgICBpZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLAorICAgICAgICB1c2Vy
QWdlbnQuaXNvbGF0ZWRDb3B5KCksCisgICAgICAgIGlzT25saW5lLAorICAgICAgICBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsCisgICAgICAgIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKKyAgICAgICAgdGltZU9yaWdpbiwKKyAgICAgICAg
cmVmZXJyZXJQb2xpY3ksCisgICAgfTsKK30KKwogc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBE
YXRhIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdvcmtlclRocmVhZFN0YXJ0
dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKTsKLQotICAgIFVSTCBtX3NjcmlwdFVSTDsK
LSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fb3JpZ2luOwotICAgIFN0cmluZyBtX25hbWU7Ci0g
ICAgU3RyaW5nIG1faWRlbnRpZmllcjsKLSAgICBTdHJpbmcgbV91c2VyQWdlbnQ7Ci0gICAgU3Ry
aW5nIG1fc291cmNlQ29kZTsKLSAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgbV9zdGFydE1vZGU7
Ci0gICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIG1fY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwotICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3k7Ci0gICAgYm9vbCBtX2lzT25saW5lOwotICAgIFJlZjxT
ZWN1cml0eU9yaWdpbj4gbV90b3BPcmlnaW47Ci0gICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmln
aW47CisgICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgV29ya2VyUGFyYW1ldGVycyYg
cGFyYW1zLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbik7CisKKyAgICBXb3JrZXJQYXJhbWV0ZXJz
IHBhcmFtczsKKyAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBTdHJpbmcgc291
cmNlQ29kZTsKKyAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlOworICAgIFJlZjxT
ZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luOwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6
OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdp
biYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pCi0gICAgOiBtX3NjcmlwdFVS
TChzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX29yaWdpbihTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlKG1fc2NyaXB0VVJMKS0+aXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX25hbWUobmFt
ZS5pc29sYXRlZENvcHkoKSkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyLmlzb2xhdGVk
Q29weSgpKQotICAgICwgbV91c2VyQWdlbnQodXNlckFnZW50Lmlzb2xhdGVkQ29weSgpKQotICAg
ICwgbV9zb3VyY2VDb2RlKHNvdXJjZUNvZGUuaXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX3N0YXJ0
TW9kZShzdGFydE1vZGUpCi0gICAgLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaXNvbGF0ZWRDb3B5KCkp
Ci0gICAgLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeShzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kpCi0gICAgLCBtX2lzT25saW5l
KGlzT25saW5lKQotICAgICwgbV90b3BPcmlnaW4odG9wT3JpZ2luLmlzb2xhdGVkQ29weSgpKQot
ICAgICwgbV90aW1lT3JpZ2luKHRpbWVPcmlnaW4pCitXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6
V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgV29ya2VyUGFyYW1ldGVycyYgb3RoZXIsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbikKKyAgICA6IHBhcmFtcyhvdGhlci5pc29s
YXRlZENvcHkoKSkKKyAgICAsIG9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG90aGVyLnNj
cmlwdFVSTCktPmlzb2xhdGVkQ29weSgpKQorICAgICwgc291cmNlQ29kZShzb3VyY2VDb2RlLmlz
b2xhdGVkQ29weSgpKQorICAgICwgc3RhcnRNb2RlKHN0YXJ0TW9kZSkKKyAgICAsIHRvcE9yaWdp
bih0b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCkpCiB7CiB9CiAKLVdvcmtlclRocmVhZDo6V29ya2Vy
VGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRl
clByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJS
ZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9k
ZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpT
Qzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKLSAgICA6IG1faWRlbnRpZmllcihpZGVudGlm
aWVyLmlzb2xhdGVkQ29weSgpKQorV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgV29y
a2VyUGFyYW1ldGVycyYgcGFyYW1zLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxv
YWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29ya2Vy
RGVidWdnZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1Byb3h5
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYg
dG9wT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5
LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRp
bWVGbGFncykKKyAgICA6IG1faWRlbnRpZmllcihwYXJhbXMuaWRlbnRpZmllci5pc29sYXRlZENv
cHkoKSkKICAgICAsIG1fd29ya2VyTG9hZGVyUHJveHkod29ya2VyTG9hZGVyUHJveHkpCiAgICAg
LCBtX3dvcmtlckRlYnVnZ2VyUHJveHkod29ya2VyRGVidWdnZXJQcm94eSkKICAgICAsIG1fd29y
a2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCiAgICAgLCBtX3J1bnRpbWVG
bGFncyhydW50aW1lRmxhZ3MpCi0gICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8V29ya2Vy
VGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50
LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luKSkKKyAgICAsIG1fc3RhcnR1cERhdGEobWFrZVVuaXF1
ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4ocGFyYW1zLCBzb3VyY2VDb2RlLCBzdGFydE1vZGUs
IHRvcE9yaWdpbikpCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLCBtX2lkYkNv
bm5lY3Rpb25Qcm94eShjb25uZWN0aW9uUHJveHkpCiAjZW5kaWYKQEAgLTE2OCw3ICsxNjcsNyBA
QCB2b2lkIFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKCkKICAgICAgICAgLy8gd2hpbGUgV29y
a2VyVGhyZWFkOjpzdG9wKCkgaXMgYWNjZXNzaW5nIGl0LiBOb3RlIHRoYXQgV29ya2VyVGhyZWFk
OjpzdG9wKCkgY2FuCiAgICAgICAgIC8vIGJlIGNhbGxlZCBiZWZvcmUgd2UndmUgZmluaXNoZWQg
Y3JlYXRpbmcgdGhlIFdvcmtlckdsb2JhbFNjb3BlLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2so
bV90aHJlYWRDcmVhdGlvbkFuZFdvcmtlckdsb2JhbFNjb3BlTXV0ZXgpOwotICAgICAgICBtX3dv
cmtlckdsb2JhbFNjb3BlID0gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+
bV9zY3JpcHRVUkwsIFdURk1vdmUobV9zdGFydHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBE
YXRhLT5tX25hbWUsIG1fc3RhcnR1cERhdGEtPm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+
bV91c2VyQWdlbnQsIG1fc3RhcnR1cERhdGEtPm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1f
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3No
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0
dXBEYXRhLT5tX3RvcE9yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fdGltZU9yaWdpbik7CisgICAg
ICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0
dXBEYXRhLT5wYXJhbXMsIFdURk1vdmUobV9zdGFydHVwRGF0YS0+b3JpZ2luKSwgV1RGTW92ZSht
X3N0YXJ0dXBEYXRhLT50b3BPcmlnaW4pKTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVyID0g
bV93b3JrZXJHbG9iYWxTY29wZS0+c2NyaXB0KCk7CiAKQEAgLTE4MCw3ICsxNzksNyBAQCB2b2lk
IFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGlm
IChtX3N0YXJ0dXBEYXRhLT5tX3N0YXJ0TW9kZSA9PSBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Oldh
aXRGb3JJbnNwZWN0b3IpIHsKKyAgICBpZiAobV9zdGFydHVwRGF0YS0+c3RhcnRNb2RlID09IFdv
cmtlclRocmVhZFN0YXJ0TW9kZTo6V2FpdEZvckluc3BlY3RvcikgewogICAgICAgICBzdGFydFJ1
bm5pbmdEZWJ1Z2dlclRhc2tzKCk7CiAKICAgICAgICAgLy8gSWYgdGhlIHdvcmtlciB3YXMgc29t
ZWhvdyB0ZXJtaW5hdGVkIHdoaWxlIHByb2Nlc3NpbmcgZGVidWdnZXIgY29tbWFuZHMuCkBAIC0x
ODksNyArMTg4LDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCgpCiAgICAgfQog
CiAgICAgU3RyaW5nIGV4Y2VwdGlvbk1lc3NhZ2U7Ci0gICAgc2NyaXB0Q29udHJvbGxlci0+ZXZh
bHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5tX3NvdXJjZUNvZGUsIFVSTCht
X3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCkpLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAgc2Ny
aXB0Q29udHJvbGxlci0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5z
b3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0
aW9uTWVzc2FnZSk7CiAKICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggMTRlZWJmMTQ1MThlY2E2YmYyNzFmNDUz
YTA1MzUyYTY1MWQ2NzI3My4uMjFmMmI3YjMwZWQ0MjY3ZTEyZTZjNTg1YWJhZTFkOTYxMWIzNzA3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNSwxMiArMjUsMTQg
QEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL3RocmVh
ZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDYgKzU3
LDIxIEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Qcm94eTsKIAogc3RydWN0IFdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhOwogCitzdHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7CitwdWJsaWM6CisgICAgVVJM
IHNjcmlwdFVSTDsKKyAgICBTdHJpbmcgbmFtZTsKKyAgICBTdHJpbmcgaWRlbnRpZmllcjsKKyAg
ICBTdHJpbmcgdXNlckFnZW50OworICAgIGJvb2wgaXNPbmxpbmU7CisgICAgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVyczsKKyAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW47CisgICAgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3k7CisKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIGlzb2xhdGVkQ29weSgpIGNvbnN0
OworfTsKKwogY2xhc3MgV29ya2VyVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFdvcmtlclRocmVhZD4gewogcHVibGljOgogICAgIHZpcnR1YWwgfldvcmtlclRocmVhZCgpOwpA
QCAtOTAsMTAgKzEwNywxMCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGlkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogcHJvdGVjdGVkOgotICAgIFdvcmtlclRocmVh
ZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29y
a2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5Kiwg
U29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CisgICAgV29ya2VyVGhyZWFkKGNv
bnN0IFdvcmtlclBhcmFtZXRlcnMmLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxv
YWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5Jiwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50
aW1lRmxhZ3MpOwogCiAgICAgLy8gRmFjdG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgbmV3IHdv
cmtlciBjb250ZXh0IGZvciB0aGUgdGhyZWFkLgotICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2Jh
bFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbikgPSAwOworICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNj
b3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKSA9IDA7
CiAKICAgICAvLyBFeGVjdXRlcyB0aGUgZXZlbnQgbG9vcCBmb3IgdGhlIHdvcmtlciB0aHJlYWQu
IERlcml2ZWQgY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdG8gcGVyZm9ybSBhY3Rpb25zIGJlZm9yZS9h
ZnRlciBlbnRlcmluZyB0aGUgZXZlbnQgbG9vcC4KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRM
b29wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGQxOGQxMzYwNzgyZjUxMDFmNGY5M2Iy
ZGY3ZjBmMTJiMDVhMDQwZTguLjU0OTQ5YzE3MjViMTQ2MjM4NWRmOWViMjNjY2FlOTdiYmU4NGMz
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00MywxNSArNDMsMTUgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoU2VydmljZVdvcmtlckds
b2JhbFNjb3BlKTsKIAotUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRh
LCBjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
U2VydmljZVdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQor
UmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpj
cmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBXb3JrZXJQ
YXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFNlcnZpY2VX
b3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlk
ZXIqIHNvY2tldFByb3ZpZGVyKQogewotICAgIGF1dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7IGRhdGEsIHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVu
dGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBj
b25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyIH0pOwotICAgIHNjb3BlLT5hcHBseUNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3kpOwor
ICAgIGF1dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7
IGRhdGEsIHBhcmFtcywgV1RGTW92ZShvcmlnaW4pLCB0aHJlYWQsIFdURk1vdmUodG9wT3JpZ2lu
KSwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciB9KTsKKyAgICBzY29wZS0+YXBwbHlD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMocGFyYW1zLmNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyk7CiAgICAgcmV0dXJuIHNjb3BlOwogfQogCi1TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEmIGRhdGEsIGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2Nr
ZXRQcm92aWRlcikKLSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4p
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3Jp
Z2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQorU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiBkYXRhLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiBvcmlnaW4sIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNv
bm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorICAgIDogV29y
a2VyR2xvYmFsU2NvcGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksIHRocmVhZCwgV1RGTW92ZSh0
b3BPcmlnaW4pLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQogICAgICwgbV9jb250
ZXh0RGF0YShjcm9zc1RocmVhZENvcHkoZGF0YSkpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbihTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqdGhpcywgbmF2aWdhdG9yKCkuc2Vy
dmljZVdvcmtlcigpLCBXVEZNb3ZlKG1fY29udGV4dERhdGEucmVnaXN0cmF0aW9uKSkpCiAgICAg
LCBtX2NsaWVudHMoU2VydmljZVdvcmtlckNsaWVudHM6OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5oCmluZGV4IDk1NjA3YTVmZDQzZDZmMjQ5MDhmZDFlYzExZjExOTVhZjVkZjgxZTMuLjBlNGJl
OTc1ZTUzNzk0OWRmNTI3MzdkZmQ5YzI4OWE3MzhhZWNjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgK
QEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgU2VydmljZVdvcmtlclRocmVhZDsKIGNsYXNzIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOwogcHVi
bGljOgotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29u
c3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2Nr
ZXRQcm92aWRlciopOworICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBj
cmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgV29ya2VyUGFyYW1l
dGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgU2VydmljZVdvcmtlclRocmVhZCYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiwgU29ja2V0UHJvdmlkZXIqKTsKIAogICAgIH5TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoKTsK
IApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JpcHRSZXNvdXJjZShj
b25zdCBVUkwmLCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0JiYpOwog
CiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEmLCBjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tl
dFByb3ZpZGVyKik7CisgICAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSYsIGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYsIFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CiAKICAgICBib29sIGhhc1BlbmRpbmdFdmVudHMoKSBjb25zdCB7IHJldHVybiAhbV9leHRlbmRl
ZEV2ZW50cy5pc0VtcHR5KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAz
YmY3MTM5ZmYxNjcwOGE0YWQyNjQzYWUwYjJlMThiMmRlZDM3Njg2Li5jNWViMTQ1YzRkNTk5MGVk
OThmODIyMDFkZWE4MzIzY2VmZjE5YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApA
QCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZs
YWdzCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxv
YWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94
eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2Ny
aXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBw
bGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5z
Y3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNv
bnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmln
aW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgaWRiQ29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFs
bEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0
cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6
OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9IH0sIGRhdGEuc2NyaXB0LCBs
b2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6
OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRp
b24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Q
cm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVk
KCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2Jq
ZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwg
bV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rp
b24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6
IGhlYXJ0QmVhdFRpbWVvdXQpCkBAIC04NCwxMCArODQsOSBAQCBTZXJ2aWNlV29ya2VyVGhyZWFk
OjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSwgUwogCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVm
YXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9i
YWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1zLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2lu
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKQogewotICAgIFVOVVNFRF9QQVJBTShu
YW1lKTsKLSAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRh
LCB1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwg
KnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5l
Y3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRhLCBwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRo
aXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3Zp
ZGVyKCkpOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkLmgKaW5kZXggYzE0Nzk5ZWNkMmIzMjAwNTQ0YzVhZmUzZTE1NjNj
MTY4MzE5OTI2Ni4uZDg4ODY3MThhYzYwN2U1OTI0YzRlODkxYTAyODBhNzE4MjdhZDNhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuaApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzdG9wRmV0Y2hFdmVudE1vbml0b3JpbmcoKSB7IG1faXNIYW5kbGluZ0ZldGNoRXZlbnQgPSBm
YWxzZTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbikgZmluYWw7CisgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKSBmaW5hbDsKICAgICB2b2lkIHJ1bkV2ZW50
TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRz
L1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggYzEyMWRiNjM1ZWQxNGRhZTE3OGEzZmJiMmQ1
MmRlODZhZDljNWI0Mi4uNmU0YTk1NWUwYTUwYTVhZTU0ZDk4Y2E3YTA3OTRhYzFlOWQ3OWE0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBA
IC0xNjYsNSArMTY2LDEwIEBAIHZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjphZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvCiAgICAgbV9kb2N1bWVu
dC0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlVGV4dCwgc291cmNlVVJMLCBsaW5l
TnVtYmVyLCBjb2x1bW5OdW1iZXIsIFdURk1vdmUoY2FsbFN0YWNrKSwgbnVsbHB0ciwgcmVxdWVz
dElkZW50aWZpZXIpOwogfQogCitSZWZlcnJlclBvbGljeSBXb3JrbGV0R2xvYmFsU2NvcGU6OnJl
ZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6Ok5vUmVm
ZXJyZXI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBiYzQ0MTFlZjM3MjdmMjQx
ZjU2Y2Y5NzVlMmJiZDY0NmIzZjc5MmZhLi5jNDdhY2I1OWJiODM4YjM3YzcxMGVhNzg0YmU1MzVk
NDgwOGY3YzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2Nv
cGUuaApAQCAtNjUsNiArNjUsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGV2YWx1YXRlKCk7CiAK
KyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOworCiAgICAg
dXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmODA5NzVjNmJhNTk0ZDliZjY5ODBiZmFh
MjRhMjNkYjNkNmZkYTg2Li42MmJkZTFlYWQ3Y2Y4YTNhMWJiOTdkNDlkZGNiZmJkZjRjMjA5MGE1
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0w
MS0yNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEZpeCBmZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY1MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGltcHJvdmVkIHRlc3QgcmVz
dWx0LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9y
ZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wMS0yNyAgUm9iIEJ1
aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlLXN5bmMgd2ViLXBsYXRmb3JtLXRl
c3RzL2ZldGNoL2FwaS9wb2xpY2llcyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9y
ZWZlcnJlci1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdp
bi13b3JrZXItZXhwZWN0ZWQudHh0CmluZGV4IGMyMjYyNTE0MGZiYTYxYmVjMThjMGNhNzkyZjMw
ZWFmNTUzZDIxZWUuLjQ5YzJlYWI2YTI0NzkwZGQxMWU0ZTEzZmQyMzMzZTJkYTY3MjhlNzEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0
Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Bv
bGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBA
QAogCi1GQUlMIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gYXNzZXJ0X2VxdWFsczogcmVx
dWVzdCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhwZWN0ZWQgImh0dHA6
Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC9mZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgotRkFJTCBDcm9zcy1vcmln
aW4gcmVmZXJyZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIGFzc2VydF9lcXVhbHM6
IHJlcXVlc3QncyByZWZlcnJlciBpcyBodHRwOi8vbG9jYWxob3N0Ojg4MDAvIGV4cGVjdGVkICJo
dHRwOi8vbG9jYWxob3N0Ojg4MDAvIiBidXQgZ290ICJodHRwOi8vbG9jYWxob3N0Ojg4MDAvZmV0
Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9yaWdpbi5qcz9waXBlPXN1YiIKK1BBU1MgUmVxdWVz
dCdzIHJlZmVycmVyIGlzIG9yaWdpbiAKK1BBU1MgQ3Jvc3Mtb3JpZ2luIHJlZmVycmVyIGlzIG92
ZXJyaWRkZW4gYnkgY2xpZW50IG9yaWdpbiAKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>388882</attachid>
            <date>2020-01-27 12:34:39 -0800</date>
            <delta_ts>2020-02-07 01:11:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-206520-20200127213438.patch</filename>
            <type>text/plain</type>
            <size>48259</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDI3NTQ3MzhkNTg1NWM2
YTE4MmQxYjFjNDE4NmZkNDE5MDk4Njg1NS4uYzQxOTNjYjAxZTRjZDFkODYyZGM1YzlmMzJmNTc3
YThlMmZlYmYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYxIEBACisyMDIwLTAxLTI3ICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CisKKyAgICAgICAgRml4IGZldGNoL2FwaS9wb2xpY2ll
cy9yZWZlcnJlci1vcmlnaW4td29ya2VyLmh0bWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIwNjUyMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEV4cG9zZSByZWZlcnJlciBwb2xpY3kgYXMgcGFydCBvZiB0
aGUgd29ya2VyIGdsb2JhbCBzY29wZSBbMV0gdGhyb3VnaAorICAgICAgICB0aGUgbmV3IFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ6OnJlZmVycmVyUG9saWN5IG1ldGhvZC4KKyAgICAgICAgQ2FsbCBp
dCBhcyBlbnZpcm9ubWVudCBzZXR0aW5ncyBvYmplY3Qgd2hlbiBzdGFydGluZyBhIGZldGNoIGlu
IGNhc2UKKyAgICAgICAgdGhlIEZldGNoUmVxdWVzdEluaXQgaGFzIG5vIHJlZmVycmVyUG9saWN5
IHNldCBbMl0uCisKKyAgICAgICAgVGVzdDogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisKKyAgICAg
ICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3dvcmtlcnMuaHRt
bCNzZXQtdXAtYS13b3JrZXItZW52aXJvbm1lbnQtc2V0dGluZ3Mtb2JqZWN0CisgICAgICAgIFsy
XSBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jcmVmLWZvci1jb25jZXB0LW1haW4tZmV0
Y2jikaAgIChTdGVwIDIuNSkKKworICAgICAgICAqIE1vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmV0Y2hMb2FkZXI6OnN0YXJ0KToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpyZWZlcnJlclBvbGlj
eSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNj
b3BlLmg6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQpOgorICAgICAgICAoV2ViQ29yZTo6RGVkaWNhdGVkV29ya2VyVGhyZWFkOjpjcmVhdGVXb3Jr
ZXJHbG9iYWxTY29wZSk6CisgICAgICAgICogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQu
aDoKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3Jr
ZXI6Om5vdGlmeUZpbmlzaGVkKToKKyAgICAgICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3Bl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJHbG9iYWxT
Y29wZSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xp
Y3kgY29uc3QpOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaDoKKyAgICAg
ICAgKiB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlUHJveHkuaDoKKyAgICAgICAgKiB3b3JrZXJz
L1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oldvcmtlck1lc3Nh
Z2luZ1Byb3h5OjpzdGFydFdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3b3JrZXJzL1dv
cmtlck1lc3NhZ2luZ1Byb3h5Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyUGFyYW1ldGVyczo6aXNvbGF0ZWRDb3B5IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhOjpXb3JrZXJUaHJl
YWRTdGFydHVwRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OldvcmtlclRo
cmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCk6Cisg
ICAgICAgICogd29ya2Vycy9Xb3JrZXJUaHJlYWQuaDoKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZp
Y2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNlcnZpY2VX
b3JrZXJHbG9iYWxTY29wZTo6U2VydmljZVdvcmtlckdsb2JhbFNjb3BlKToKKyAgICAgICAgKiB3
b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmg6CisgICAgICAgICogd29y
a2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTZXJ2aWNlV29ya2VyVGhyZWFkOjpTZXJ2aWNlV29ya2VyVGhyZWFkKToKKyAgICAg
ICAgKFdlYkNvcmU6OlNlcnZpY2VXb3JrZXJUaHJlYWQ6OmNyZWF0ZVdvcmtlckdsb2JhbFNjb3Bl
KToKKyAgICAgICAgKiB3b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFk
Lmg6CisgICAgICAgICogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldvcmtsZXRHbG9iYWxTY29wZTo6cmVmZXJyZXJQb2xpY3kgY29uc3QpOgorICAg
ICAgICAqIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5oOgorCiAyMDIwLTAxLTI2ICBEYXJp
biBBZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIERPTUNhY2hlRW5naW5l
OjplcnJvclRvRXhjZXB0aW9uIGJhY2sgb3V0IG9mIGhlYWRlciBhbmQgaW50byAuY3BwIGZpbGUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZmV0Y2gvRmV0Y2hMb2FkZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRjaC9GZXRjaExvYWRlci5jcHAKaW5kZXggZDIx
NjYyNGMyZDM4MzQzN2Q5YmIzNTFmNGQ1ZDdkZjRlNzUzYmIzNi4uNzdmYzZlNWQyYmY3N2Y5YmQ1
MzM2OGNlNzNhYTQ2MGRhYmY2YzdkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9mZXRjaC9GZXRjaExvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9mZXRj
aC9GZXRjaExvYWRlci5jcHAKQEAgLTExMyw2ICsxMTMsOCBAQCB2b2lkIEZldGNoTG9hZGVyOjpz
dGFydChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBGZXRjaFJlcXVlc3Qm
IHJlcQogICAgICAgICByZWZlcnJlciA9IFN0cmluZygpOwogICAgIH0gZWxzZQogICAgICAgICBy
ZWZlcnJlciA9IChyZWZlcnJlciA9PSAiY2xpZW50IikgPyBjb250ZXh0LnVybCgpLnN0cmlwcGVk
Rm9yVXNlQXNSZWZlcnJlcigpIDogVVJMKGNvbnRleHQudXJsKCksIHJlZmVycmVyKS5zdHJpcHBl
ZEZvclVzZUFzUmVmZXJyZXIoKTsKKyAgICBpZiAob3B0aW9ucy5yZWZlcnJlclBvbGljeSA9PSBS
ZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmcpCisgICAgICAgIG9wdGlvbnMucmVmZXJyZXJQb2xp
Y3kgPSBjb250ZXh0LnJlZmVycmVyUG9saWN5KCk7CiAKICAgICBtX2xvYWRlciA9IFRocmVhZGFi
bGVMb2FkZXI6OmNyZWF0ZShjb250ZXh0LCAqdGhpcywgV1RGTW92ZShmZXRjaFJlcXVlc3QpLCBv
cHRpb25zLCBXVEZNb3ZlKHJlZmVycmVyKSk7CiAgICAgbV9pc1N0YXJ0ZWQgPSBtX2xvYWRlcjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmgKaW5kZXggM2FjYjYyMmM5ZGYyMGFlNGI2MjJiN2RmOGNlNWZjZDk4
OTE1MGYzMS4uYmYwMTUxODFlZTQ1NmNiY2M4YzIwZmI2MjVkOGY4ZGE4OGIyZDgzYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmgKQEAgLTQyMCw3ICs0MjAsNyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogICAg
IHZvaWQgc2V0UmVmZXJyZXJQb2xpY3koUmVmZXJyZXJQb2xpY3kpOwotICAgIFJlZmVycmVyUG9s
aWN5IHJlZmVycmVyUG9saWN5KCkgY29uc3QgeyByZXR1cm4gbV9yZWZlcnJlclBvbGljeS52YWx1
ZU9yKFJlZmVycmVyUG9saWN5OjpOb1JlZmVycmVyV2hlbkRvd25ncmFkZSk7IH0KKyAgICBSZWZl
cnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fcmVmZXJy
ZXJQb2xpY3kudmFsdWVPcihSZWZlcnJlclBvbGljeTo6Tm9SZWZlcnJlcldoZW5Eb3duZ3JhZGUp
OyB9CiAKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudFR5cGUqIGRvY3R5cGUoKSBjb25zdDsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggN2Fh
M2E1ZGMwMmI3OTkzZDk0ZmFiMzMxMTJiZWNhNWQ4ZGU0ZmM3ZC4uMDA4MzFhMjYwYjUzN2EwMDkz
YTg4MTJkYTRiYTVmZmQ1YzI1NTZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC5oCkBAIC02NSw2ICs2NSw3IEBAIGNsYXNzIFJlamVjdGVkUHJvbWlzZVRy
YWNrZXI7CiBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBjbGFzcyBTZWN1cml0eU9yaWdpbjsKIGNs
YXNzIFNvY2tldFByb3ZpZGVyOworZW51bSBjbGFzcyBSZWZlcnJlclBvbGljeSA6IHVpbnQ4X3Q7
CiBlbnVtIGNsYXNzIFRhc2tTb3VyY2UgOiB1aW50OF90OwogCiAjaWYgRU5BQkxFKFNFUlZJQ0Vf
V09SS0VSKQpAQCAtOTksNiArMTAwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcg
dXNlckFnZW50KGNvbnN0IFVSTCYpIGNvbnN0ID0gMDsKIAorICAgIHZpcnR1YWwgUmVmZXJyZXJQ
b2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlz
YWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKICAgICB2aXJ0dWFsIHZv
aWQgZGlzYWJsZVdlYkFzc2VtYmx5KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKSA9IDA7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZS5jcHAKaW5kZXggYTE0YzdlNjdhOGE1YTgxMmYxNGEwZDRhYzk4OWJlZWM2NjNhNDgzZi4u
M2UzYjEyYjY2ZTlmMWQzY2EyNTM0MGM2Njc2MmFkZjVlZDhmZDJiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAg
LTQ0LDE3ICs0NCwxNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSk7CiAKLVJlZjxEZWRpY2F0ZWRX
b3JrZXJHbG9iYWxTY29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25z
dCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBi
b29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmIHRocmVhZCwgY29uc3QgQ29udGVu
dFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9s
aWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVP
cmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNv
Y2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKK1JlZjxEZWRpY2F0ZWRXb3JrZXJHbG9iYWxT
Y29wZT4gRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OmNyZWF0ZShjb25zdCBXb3JrZXJQYXJh
bWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIERlZGljYXRlZFdv
cmtlclRocmVhZCYgdGhyZWFkLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBJREJD
bGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRl
ciogc29ja2V0UHJvdmlkZXIpCiB7Ci0gICAgYXV0byBjb250ZXh0ID0gYWRvcHRSZWYoKm5ldyBE
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdURk1vdmUob3JpZ2luKSwgbmFtZSwgaWRl
bnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwgdGltZU9yaWdpbiwg
Y29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikpOwotICAgIGlmICghc2hvdWxkQnlwYXNz
TWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQotICAgICAgICBjb250ZXh0LT5hcHBseUNv
bnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMpOworICAgIGF1dG8gY29udGV4dCA9IGFkb3B0UmVmKCpuZXcgRGVkaWNh
dGVkV29ya2VyR2xvYmFsU2NvcGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksIHRocmVhZCwgV1RG
TW92ZSh0b3BPcmlnaW4pLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKSk7CisgICAg
aWYgKCFwYXJhbXMuc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQor
ICAgICAgICBjb250ZXh0LT5hcHBseUNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVy
cyhwYXJhbXMuY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzKTsKICAgICByZXR1
cm4gY29udGV4dDsKIH0KIAotRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3Jp
Z2luLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3Qg
U3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIERlZGljYXRlZFdvcmtlclRocmVhZCYg
dGhyZWFkLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQ
cm92aWRlciogc29ja2V0UHJvdmlkZXIpCi0gICAgOiBXb3JrZXJHbG9iYWxTY29wZSh1cmwsIFdU
Rk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgdGhyZWFkLCBz
aG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3Jp
Z2luKSwgdGltZU9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKLSAgICAs
IG1fbmFtZShuYW1lKQorRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGU6OkRlZGljYXRlZFdvcmtl
ckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmIHBhcmFtcywgUmVmPFNlY3VyaXR5
T3JpZ2luPiYmIG9yaWdpbiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiB0aHJlYWQsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBj
b25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlcikKKyAgICA6IFdv
cmtlckdsb2JhbFNjb3BlKHBhcmFtcywgV1RGTW92ZShvcmlnaW4pLCB0aHJlYWQsIFdURk1vdmUo
dG9wT3JpZ2luKSwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlcikKKyAgICAsIG1fbmFt
ZShwYXJhbXMubmFtZSkKIHsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmluZGV4IDFiYzk2YTkxNTNkZmNjYjBjZWM2ZGQw
ZTQ5MGU3OWE3ZjRmMjRmYTkuLmQyNDVmY2JlNTAxNDI5ZDgyZDVlMTk3NzY4OGExZjA5ZDEyYTIy
MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckds
b2JhbFNjb3BlLmgKQEAgLTUwLDcgKzUwLDcgQEAgY2xhc3MgU2VyaWFsaXplZFNjcmlwdFZhbHVl
OwogY2xhc3MgRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMgV29ya2Vy
R2xvYmFsU2NvcGUgewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoRGVkaWNhdGVkV29ya2Vy
R2xvYmFsU2NvcGUpOwogcHVibGljOgotICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgY29uc3QgQ29u
dGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWlu
V29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJv
eHkqLCBTb2NrZXRQcm92aWRlciopOworICAgIHN0YXRpYyBSZWY8RGVkaWNhdGVkV29ya2VyR2xv
YmFsU2NvcGU+IGNyZWF0ZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CiAgICAgdmlydHVhbCB+RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoKTsKIAogICAgIGNvbnN0
IFN0cmluZyYgbmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmFtZTsgfQpAQCAtNjIsNyArNjIsNyBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHVzaW5nIEJhc2UgPSBXb3JrZXJHbG9iYWxTY29wZTsK
IAotICAgIERlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBEZWRpY2F0ZWRXb3JrZXJU
aHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2lu
LCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7CisgICAg
RGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiwgRGVkaWNhdGVkV29ya2VyVGhyZWFkJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQ
cm92aWRlciopOwogCiAgICAgYm9vbCBpc0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlKCkgY29u
c3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IGltcG9ydFNj
cmlwdHMoY29uc3QgVmVjdG9yPFN0cmluZz4mIHVybHMpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCmluZGV4IDdkNWUyMDdhYTQ4
NWRmNTQwNGI0YjIzZDNhN2RhNTRkODRiNjg1MWQuLmMzNWVlNjQ4M2MyN2Y0ZmRjZWU2MjBmYWU2
NGNlMDNiY2MyZjU2ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNh
dGVkV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlclRocmVhZC5jcHAKQEAgLTM4LDE3ICszOCwxNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLURlZGljYXRlZFdvcmtlclRocmVhZDo6RGVkaWNhdGVkV29ya2VyVGhyZWFkKGNvbnN0
IFVSTCYgdXJsLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwg
Y29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2Vy
T2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYgY29udGVudFNlY3VyaXR5UG9saWN5UmVz
cG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1l
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBT
b2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVG
bGFncykKLSAgICA6IFdvcmtlclRocmVhZCh1cmwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2Vu
dCwgaXNPbmxpbmUsIHNvdXJjZUNvZGUsIHdvcmtlckxvYWRlclByb3h5LCB3b3JrZXJEZWJ1Z2dl
clByb3h5LCB3b3JrZXJPYmplY3RQcm94eSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBv
bGljeSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3Zp
ZGVyLCBydW50aW1lRmxhZ3MpCitEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OkRlZGljYXRlZFdvcmtl
clRocmVhZChjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIGNvbnN0IFN0cmluZyYgc291
cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRlclByb3h5LCBXb3JrZXJEZWJ1
Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJPYmplY3RQcm94eSYgd29ya2Vy
T2JqZWN0UHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9kZSBzdGFydE1vZGUsIGNvbnN0IFNlY3Vy
aXR5T3JpZ2luJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiBjb25u
ZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1l
RmxhZ3MgcnVudGltZUZsYWdzKQorICAgIDogV29ya2VyVGhyZWFkKHBhcmFtcywgc291cmNlQ29k
ZSwgd29ya2VyTG9hZGVyUHJveHksIHdvcmtlckRlYnVnZ2VyUHJveHksIHdvcmtlck9iamVjdFBy
b3h5LCBzdGFydE1vZGUsIHRvcE9yaWdpbiwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRl
ciwgcnVudGltZUZsYWdzKQogICAgICwgbV93b3JrZXJPYmplY3RQcm94eSh3b3JrZXJPYmplY3RQ
cm94eSkKIHsKIH0KIAogRGVkaWNhdGVkV29ya2VyVGhyZWFkOjp+RGVkaWNhdGVkV29ya2VyVGhy
ZWFkKCkgPSBkZWZhdWx0OwogCi1SZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtl
clRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1
cml0eU9yaWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xp
Y3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3Vy
aXR5UG9saWN5LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1l
IHRpbWVPcmlnaW4pCitSZWY8V29ya2VyR2xvYmFsU2NvcGU+IERlZGljYXRlZFdvcmtlclRocmVh
ZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1z
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2luLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luKQogewotICAgIHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRl
KHVybCwgV1RGTW92ZShvcmlnaW4pLCBuYW1lLCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25s
aW5lLCAqdGhpcywgY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRC
eXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFdURk1vdmUodG9wT3JpZ2luKSwg
dGltZU9yaWdpbiwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3ZpZGVyKCkpOworICAg
IHJldHVybiBEZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZTo6Y3JlYXRlKHBhcmFtcywgV1RGTW92
ZShvcmlnaW4pLCAqdGhpcywgV1RGTW92ZSh0b3BPcmlnaW4pLCBpZGJDb25uZWN0aW9uUHJveHko
KSwgc29ja2V0UHJvdmlkZXIoKSk7CiB9CiAKIHZvaWQgRGVkaWNhdGVkV29ya2VyVGhyZWFkOjpy
dW5FdmVudExvb3AoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0
ZWRXb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvRGVkaWNhdGVkV29ya2Vy
VGhyZWFkLmgKaW5kZXggY2M0OWY5ZTk5NTUwOWQxOGUzMWZkYWZlZjEzM2EyZjJkMGE3ZTRmMi4u
MDU5ZDgxNzE4NjE2YzEwOWNiNGFjMjNkNjYzNzczOTJmZWZlNzQ3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL0RlZGljYXRlZFdvcmtlclRocmVhZC5oCkBAIC01MCwxMSArNTAsMTEg
QEAgcHVibGljOgogICAgIHZvaWQgc3RhcnQoKSB7IFdvcmtlclRocmVhZDo6c3RhcnQobnVsbHB0
cik7IH0KIAogcHJvdGVjdGVkOgotICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29y
a2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2Vy
QWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmln
aW4pIG92ZXJyaWRlOworICAgIFJlZjxXb3JrZXJHbG9iYWxTY29wZT4gY3JlYXRlV29ya2VyR2xv
YmFsU2NvcGUoY29uc3QgV29ya2VyUGFyYW1ldGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwg
UmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbikgb3ZlcnJpZGU7CiAgICAgdm9pZCBydW5F
dmVudExvb3AoKSBvdmVycmlkZTsKIAogcHJpdmF0ZToKLSAgICBEZWRpY2F0ZWRXb3JrZXJUaHJl
YWQoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUsIFdvcmtlckxvYWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdv
cmtlck9iamVjdFByb3h5JiwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBDb250ZW50U2Vj
dXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENv
bnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbiwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNv
Y2tldFByb3ZpZGVyKiwgSlNDOjpSdW50aW1lRmxhZ3MpOworICAgIERlZGljYXRlZFdvcmtlclRo
cmVhZChjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlLCBX
b3JrZXJMb2FkZXJQcm94eSYsIFdvcmtlckRlYnVnZ2VyUHJveHkmLCBXb3JrZXJPYmplY3RQcm94
eSYsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdp
biwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciosIEpTQzo6
UnVudGltZUZsYWdzKTsKIAogICAgIFdvcmtlck9iamVjdFByb3h5JiBtX3dvcmtlck9iamVjdFBy
b3h5OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyLmNwcAppbmRleCBjM2RlNDQ2MGY3NDQ4NDc3
YmE5YzFhMjI5N2YyZDI3MWQyOTM0YzFiLi5jM2NiZDkzNDY2MGU4ZjM5YTYxMWNlOGIzNjI4ZjQ5
ZDQ2NjdmMzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXIuY3BwCkBAIC0yMTEsNyArMjExLDEw
IEBAIHZvaWQgV29ya2VyOjpub3RpZnlGaW5pc2hlZCgpCiAKICAgICBib29sIGlzT25saW5lID0g
cGxhdGZvcm1TdHJhdGVnaWVzKCktPmxvYWRlclN0cmF0ZWd5KCktPmlzT25MaW5lKCk7CiAgICAg
Y29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiBjb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMgPSBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNl
SGVhZGVycyA/IG1fY29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLnZhbHVlKCkg
OiBjb250ZXh0LT5jb250ZW50U2VjdXJpdHlQb2xpY3koKS0+cmVzcG9uc2VIZWFkZXJzKCk7Ci0g
ICAgbV9jb250ZXh0UHJveHkuc3RhcnRXb3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+
dXJsKCksIG1fbmFtZSwgY29udGV4dC0+dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSks
IGlzT25saW5lLCBtX3NjcmlwdExvYWRlci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGlj
eVJlc3BvbnNlSGVhZGVycywgbV9zaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIG1fd29ya2VyQ3JlYXRpb25UaW1lLCBtX3J1bnRpbWVGbGFncyk7CisgICAgUmVmZXJy
ZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3kgPSBSZWZlcnJlclBvbGljeTo6RW1wdHlTdHJpbmc7Cisg
ICAgaWYgKGF1dG8gcG9saWN5ID0gcGFyc2VSZWZlcnJlclBvbGljeShtX3NjcmlwdExvYWRlci0+
cmVmZXJyZXJQb2xpY3koKSwgUmVmZXJyZXJQb2xpY3lTb3VyY2U6OkhUVFBIZWFkZXIpKQorICAg
ICAgICByZWZlcnJlclBvbGljeSA9ICpwb2xpY3k7CisgICAgbV9jb250ZXh0UHJveHkuc3RhcnRX
b3JrZXJHbG9iYWxTY29wZShtX3NjcmlwdExvYWRlci0+dXJsKCksIG1fbmFtZSwgY29udGV4dC0+
dXNlckFnZW50KG1fc2NyaXB0TG9hZGVyLT51cmwoKSksIGlzT25saW5lLCBtX3NjcmlwdExvYWRl
ci0+c2NyaXB0KCksIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgbV9zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIG1fd29ya2VyQ3JlYXRpb25U
aW1lLCByZWZlcnJlclBvbGljeSwgbV9ydW50aW1lRmxhZ3MpOwogICAgIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6c2NyaXB0SW1wb3J0ZWQoKmNvbnRleHQsIG1fc2NyaXB0TG9hZGVyLT5pZGVu
dGlmaWVyKCksIG1fc2NyaXB0TG9hZGVyLT5zY3JpcHQoKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5jcHAKaW5kZXggMDFkZTM5OGQ0YzliZDIzMjcx
Yjg2YTliN2Y5YWIzNTZiMTZhNTk5MS4uMTMxYzY3NDAxZGIwMjc1MzlmNjFjMzEzMjE5NmY2YTg2
ODYyNTRjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5j
cHAKQEAgLTYyLDIxICs2MiwyMiBAQCB1c2luZyBuYW1lc3BhY2UgSW5zcGVjdG9yOwogCiBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV29ya2VyR2xvYmFsU2NvcGUpOwogCi1Xb3JrZXJHbG9i
YWxTY29wZTo6V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiB1cmwsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiBvcmlnaW4sIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1
c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIFdvcmtlclRocmVhZCYgdGhyZWFkLCBib29sIHNob3Vs
ZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2lu
PiYmIHRvcE9yaWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNv
bm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJv
dmlkZXIpCi0gICAgOiBtX3VybCh1cmwpCi0gICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikK
LSAgICAsIG1fdXNlckFnZW50KHVzZXJBZ2VudCkKK1dvcmtlckdsb2JhbFNjb3BlOjpXb3JrZXJH
bG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9y
aWdpbj4mJiBvcmlnaW4sIFdvcmtlclRocmVhZCYgdGhyZWFkLCBSZWY8U2VjdXJpdHlPcmlnaW4+
JiYgdG9wT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblBy
b3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIpCisgICAgOiBtX3VybChwYXJhbXMu
c2NyaXB0VVJMKQorICAgICwgbV9pZGVudGlmaWVyKHBhcmFtcy5pZGVudGlmaWVyKQorICAgICwg
bV91c2VyQWdlbnQocGFyYW1zLnVzZXJBZ2VudCkKICAgICAsIG1fdGhyZWFkKHRocmVhZCkKICAg
ICAsIG1fc2NyaXB0KG1ha2VVbmlxdWU8V29ya2VyU2NyaXB0Q29udHJvbGxlcj4odGhpcykpCiAg
ICAgLCBtX2luc3BlY3RvckNvbnRyb2xsZXIobWFrZVVuaXF1ZTxXb3JrZXJJbnNwZWN0b3JDb250
cm9sbGVyPigqdGhpcykpCi0gICAgLCBtX2lzT25saW5lKGlzT25saW5lKQotICAgICwgbV9zaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3koc2hvdWxkQnlwYXNzTWFpbldv
cmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQorICAgICwgbV9pc09ubGluZShwYXJhbXMuaXNPbmxp
bmUpCisgICAgLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeShw
YXJhbXMuc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5KQogICAgICwg
bV90b3BPcmlnaW4oV1RGTW92ZSh0b3BPcmlnaW4pKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQogICAgICwgbV9jb25uZWN0aW9uUHJveHkoY29ubmVjdGlvblByb3h5KQogI2VuZGlmCiAg
ICAgLCBtX3NvY2tldFByb3ZpZGVyKHNvY2tldFByb3ZpZGVyKQotICAgICwgbV9wZXJmb3JtYW5j
ZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHRpbWVPcmlnaW4pKQorICAgICwgbV9wZXJmb3Jt
YW5jZShQZXJmb3JtYW5jZTo6Y3JlYXRlKHRoaXMsIHBhcmFtcy50aW1lT3JpZ2luKSkKKyAgICAs
IG1fcmVmZXJyZXJQb2xpY3kocGFyYW1zLnJlZmVycmVyUG9saWN5KQogewogI2lmICFFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRSkKICAgICBVTlVTRURfUEFSQU0oY29ubmVjdGlvblByb3h5KTsKQEAg
LTUzNSw0ICs1MzYsOSBAQCBDU1NWYWx1ZVBvb2wmIFdvcmtlckdsb2JhbFNjb3BlOjpjc3NWYWx1
ZVBvb2woKQogICAgIHJldHVybiAqbV9jc3NWYWx1ZVBvb2w7CiB9CiAKK1JlZmVycmVyUG9saWN5
IFdvcmtlckdsb2JhbFNjb3BlOjpyZWZlcnJlclBvbGljeSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG1fcmVmZXJyZXJQb2xpY3k7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaAppbmRleCA3MWI1MmJmNDdhZmQ5MjY5
MGM0MWM0NzU1YWVhYWM1MzIyOGRhZTgzLi5hZWJmMjE0MTJkYzJiMGQ5Mjg3NjQwZjdjODg4MWRl
YTU4ZmMxMjVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckdsb2Jh
bFNjb3BlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5o
CkBAIC01Myw2ICs1Myw3IEBAIGNsYXNzIFdvcmtlckxvY2F0aW9uOwogY2xhc3MgV29ya2VyTmF2
aWdhdG9yOwogY2xhc3MgV29ya2VyU1dDbGllbnRDb25uZWN0aW9uOwogY2xhc3MgV29ya2VyVGhy
ZWFkOworc3RydWN0IFdvcmtlclBhcmFtZXRlcnM7CiAKIG5hbWVzcGFjZSBJREJDbGllbnQgewog
Y2xhc3MgSURCQ29ubmVjdGlvblByb3h5OwpAQCAtMTM4LDggKzEzOSwxMCBAQCBwdWJsaWM6CiAK
ICAgICBDU1NWYWx1ZVBvb2wmIGNzc1ZhbHVlUG9vbCgpOwogCisgICAgUmVmZXJyZXJQb2xpY3kg
cmVmZXJyZXJQb2xpY3koKSBjb25zdCBmaW5hbDsKKwogcHJvdGVjdGVkOgotICAgIFdvcmtlckds
b2JhbFNjb3BlKGNvbnN0IFVSTCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgY29uc3QgU3RyaW5n
JiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgV29y
a2VyVGhyZWFkJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2NrZXRQcm92aWRlciopOwor
ICAgIFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJp
dHlPcmlnaW4+JiYsIFdvcmtlclRocmVhZCYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmln
aW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5KiwgU29ja2V0UHJvdmlkZXIqKTsKIAog
ICAgIHZvaWQgYXBwbHlDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMoY29uc3Qg
Q29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJik7CiAKQEAgLTIxNiw2ICsyMTks
NyBAQCBwcml2YXRlOgogICAgIFJlZlB0cjxXb3JrZXJTV0NsaWVudENvbm5lY3Rpb24+IG1fc3dD
bGllbnRDb25uZWN0aW9uOwogI2VuZGlmCiAgICAgc3RkOjp1bmlxdWVfcHRyPENTU1ZhbHVlUG9v
bD4gbV9jc3NWYWx1ZVBvb2w7CisgICAgUmVmZXJyZXJQb2xpY3kgbV9yZWZlcnJlclBvbGljeTsK
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5LmgKaW5kZXggNzRjNjQ4YjljYzgwNjQwZWI2NTcwOTIw
ZWUxODZiODBmOGZjZmY3OC4uNTZkYTEyMDdiNzc3OWYyZWE3YmFlNmFiNzM2ZjlkMmM5NTRmNzI0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVBy
b3h5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZVByb3h5
LmgKQEAgLTM5LDEzICszOSwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIENvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVyczsKIGNsYXNzIFdvcmtlcjsKK2VudW0gY2xh
c3MgUmVmZXJyZXJQb2xpY3kgOiB1aW50OF90OwogCiAvLyBBIHByb3h5IHRvIHRhbGsgdG8gdGhl
IHdvcmtlciBjb250ZXh0LgogY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVQcm94eSB7CiBwdWJsaWM6
CiAgICAgc3RhdGljIFdvcmtlckdsb2JhbFNjb3BlUHJveHkmIGNyZWF0ZShXb3JrZXImKTsKIAot
ICAgIHZpcnR1YWwgdm9pZCBzdGFydFdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFVSTCYgc2NyaXB0
VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlz
T25saW5lLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBv
bGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNl
Y3VyaXR5UG9saWN5LCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIEpTQzo6UnVudGltZUZsYWdz
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJM
JiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQs
IGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRD
b250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgUmVmZXJyZXJQ
b2xpY3ksIEpTQzo6UnVudGltZUZsYWdzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHRlcm1pbmF0
ZVdvcmtlckdsb2JhbFNjb3BlKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBwb3N0TWVzc2FnZVRv
V29ya2VyR2xvYmFsU2NvcGUoTWVzc2FnZVdpdGhNZXNzYWdlUG9ydHMmJikgPSAwOwogICAgIHZp
cnR1YWwgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCmluZGV4IDQ2MDM3ZmExODA1
ODE1NDhiMjVjYmVlNjc0ZjYwOWYwM2RhZDY2ZTYuLjJkMzgwODI2NTU2NTE5ZjdhMzM2NzliYTEw
NjU2ZmM2YjdhODc4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
TWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVz
c2FnaW5nUHJveHkuY3BwCkBAIC03Miw3ICs3Miw3IEBAIFdvcmtlck1lc3NhZ2luZ1Byb3h5Ojp+
V29ya2VyTWVzc2FnaW5nUHJveHkoKQogICAgICAgICB8fCAoaXM8V29ya2VyR2xvYmFsU2NvcGU+
KCptX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQpICYmIGRvd25jYXN0PFdvcmtlckdsb2JhbFNjb3Bl
PigqbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KS50aHJlYWQoKS50aHJlYWQoKSA9PSAmVGhyZWFk
OjpjdXJyZW50KCkpKTsKIH0KIAotdm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3RhcnRXb3Jr
ZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5nJiBzb3Vy
Y2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpS
dW50aW1lRmxhZ3MgcnVudGltZUZsYWdzKQordm9pZCBXb3JrZXJNZXNzYWdpbmdQcm94eTo6c3Rh
cnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMm
IGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycywgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3ksIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRpbWVG
bGFncykKIHsKICAgICAvLyBGSVhNRTogVGhpcyBuZWVkIHRvIGJlIHJldmlzaXRlZCB3aGVuIHdl
IHN1cHBvcnQgbmVzdGVkIHdvcmtlciBvbmUgZGF5CiAgICAgQVNTRVJUKG1fc2NyaXB0RXhlY3V0
aW9uQ29udGV4dCk7CkBAIC04OCw3ICs4OCw4IEBAIHZvaWQgV29ya2VyTWVzc2FnaW5nUHJveHk6
OnN0YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0CiAK
ICAgICBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIgPSBkb2N1bWVudC5zb2NrZXRQcm92
aWRlcigpOwogCi0gICAgYXV0byB0aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0
ZShzY3JpcHRVUkwsIG5hbWUsIGlkZW50aWZpZXIsIHVzZXJBZ2VudCwgaXNPbmxpbmUsIHNvdXJj
ZUNvZGUsICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgY29udGVudFNlY3VyaXR5UG9s
aWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGRvY3VtZW50LnRvcE9yaWdpbigpLCB0aW1lT3JpZ2luLCBwcm94eSwgc29ja2V0UHJv
dmlkZXIsIHJ1bnRpbWVGbGFncyk7CisgICAgV29ya2VyUGFyYW1ldGVycyBwYXJhbXMgPSB7IHNj
cmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwgY29udGVudFNl
Y3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50
U2VjdXJpdHlQb2xpY3ksIHRpbWVPcmlnaW4sIHJlZmVycmVyUG9saWN5IH07CisgICAgYXV0byB0
aHJlYWQgPSBEZWRpY2F0ZWRXb3JrZXJUaHJlYWQ6OmNyZWF0ZShwYXJhbXMsIHNvdXJjZUNvZGUs
ICp0aGlzLCAqdGhpcywgKnRoaXMsIHN0YXJ0TW9kZSwgZG9jdW1lbnQudG9wT3JpZ2luKCksIHBy
b3h5LCBzb2NrZXRQcm92aWRlciwgcnVudGltZUZsYWdzKTsKIAogICAgIHdvcmtlclRocmVhZENy
ZWF0ZWQodGhyZWFkLmdldCgpKTsKICAgICB0aHJlYWQtPnN0YXJ0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2luZ1Byb3h5LmgKaW5kZXggZmQ1NTRlMTQxMmZlODY1
YjA5MTI2MDZlYTM3MDhhYmZkNTc0MTdlYi4uZTc4MTIyN2ZlZGJhYjdlZTI1ZGVjYmNhYjFmN2I5
MmNiYTkxMWUxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNz
YWdpbmdQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuaApAQCAtNTAsNyArNTAsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIC8vIEltcGxl
bWVudGF0aW9ucyBvZiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LgogICAgIC8vIChPbmx5IHVzZSB0
aGVzZSBmdW5jdGlvbnMgaW4gdGhlIHdvcmtlciBvYmplY3QgdGhyZWFkLikKLSAgICB2b2lkIHN0
YXJ0V29ya2VyR2xvYmFsU2NvcGUoY29uc3QgVVJMJiBzY3JpcHRVUkwsIGNvbnN0IFN0cmluZyYg
bmFtZSwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmlu
ZyYgc291cmNlQ29kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJz
JiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSlNDOjpSdW50aW1lRmxhZ3MpIGZpbmFsOworICAgIHZvaWQg
c3RhcnRXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHNjcmlwdFVSTCwgY29uc3QgU3RyaW5n
JiBuYW1lLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRl
cnMmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgTW9u
b3RvbmljVGltZSB0aW1lT3JpZ2luLCBSZWZlcnJlclBvbGljeSwgSlNDOjpSdW50aW1lRmxhZ3Mp
IGZpbmFsOwogICAgIHZvaWQgdGVybWluYXRlV29ya2VyR2xvYmFsU2NvcGUoKSBmaW5hbDsKICAg
ICB2b2lkIHBvc3RNZXNzYWdlVG9Xb3JrZXJHbG9iYWxTY29wZShNZXNzYWdlV2l0aE1lc3NhZ2VQ
b3J0cyYmKSBmaW5hbDsKICAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFs
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuY3BwCmluZGV4IGY4ZTM2ZGUyODQw
YTljY2M2ZWU5ZDllZjcwOGVjY2M5MTk2OGE2NjguLmFmM2JkNzA0YWQzZmJjZjM3NGQzY2UxNTcz
MGI5ZjRjNjM3NjE2YzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5jcHAK
QEAgLTI3LDEzICsyNywxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldvcmtl
clRocmVhZC5oIgogCi0jaW5jbHVkZSAiQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFk
ZXJzLmgiCiAjaW5jbHVkZSAiSURCQ29ubmVjdGlvblByb3h5LmgiCiAjaW5jbHVkZSAiU2NyaXB0
U291cmNlQ29kZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCiAjaW5jbHVkZSAiU29j
a2V0UHJvdmlkZXIuaCIKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCi0jaW5jbHVkZSA8
d3RmL1VSTC5oPgogI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCiAjaW5jbHVkZSAiV29y
a2VySW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgPHV0aWxpdHk+CkBAIC03MSw0OCAr
NjksNDkgQEAgdW5zaWduZWQgV29ya2VyVGhyZWFkOjp3b3JrZXJUaHJlYWRDb3VudCgpCiAgICAg
cmV0dXJuIHdvcmtlclRocmVhZHMobG9jaykuc2l6ZSgpOwogfQogCitXb3JrZXJQYXJhbWV0ZXJz
IFdvcmtlclBhcmFtZXRlcnM6Omlzb2xhdGVkQ29weSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsK
KyAgICAgICAgc2NyaXB0VVJMLmlzb2xhdGVkQ29weSgpLAorICAgICAgICBuYW1lLmlzb2xhdGVk
Q29weSgpLAorICAgICAgICBpZGVudGlmaWVyLmlzb2xhdGVkQ29weSgpLAorICAgICAgICB1c2Vy
QWdlbnQuaXNvbGF0ZWRDb3B5KCksCisgICAgICAgIGlzT25saW5lLAorICAgICAgICBjb250ZW50
U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsCisgICAgICAgIHNob3VsZEJ5cGFzc01haW5X
b3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwKKyAgICAgICAgdGltZU9yaWdpbiwKKyAgICAgICAg
cmVmZXJyZXJQb2xpY3ksCisgICAgfTsKK30KKwogc3RydWN0IFdvcmtlclRocmVhZFN0YXJ0dXBE
YXRhIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShXb3JrZXJUaHJlYWRTdGFydHVwRGF0YSk7
IFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIFdvcmtlclRocmVhZFN0YXJ0
dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luKTsKLQotICAgIFVSTCBtX3NjcmlwdFVSTDsK
LSAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG1fb3JpZ2luOwotICAgIFN0cmluZyBtX25hbWU7Ci0g
ICAgU3RyaW5nIG1faWRlbnRpZmllcjsKLSAgICBTdHJpbmcgbV91c2VyQWdlbnQ7Ci0gICAgU3Ry
aW5nIG1fc291cmNlQ29kZTsKLSAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgbV9zdGFydE1vZGU7
Ci0gICAgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIG1fY29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzOwotICAgIGJvb2wgbV9zaG91bGRCeXBhc3NNYWluV29y
bGRDb250ZW50U2VjdXJpdHlQb2xpY3k7Ci0gICAgYm9vbCBtX2lzT25saW5lOwotICAgIFJlZjxT
ZWN1cml0eU9yaWdpbj4gbV90b3BPcmlnaW47Ci0gICAgTW9ub3RvbmljVGltZSBtX3RpbWVPcmln
aW47CisgICAgV29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgV29ya2VyUGFyYW1ldGVycyYg
cGFyYW1zLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlclRocmVhZFN0YXJ0TW9kZSwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbik7CisKKyAgICBXb3JrZXJQYXJhbWV0ZXJz
IHBhcmFtczsKKyAgICBSZWY8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbjsKKyAgICBTdHJpbmcgc291
cmNlQ29kZTsKKyAgICBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlOworICAgIFJlZjxT
ZWN1cml0eU9yaWdpbj4gdG9wT3JpZ2luOwogfTsKIAotV29ya2VyVGhyZWFkU3RhcnR1cERhdGE6
OldvcmtlclRocmVhZFN0YXJ0dXBEYXRhKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJp
bmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdl
bnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFk
U3RhcnRNb2RlIHN0YXJ0TW9kZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VI
ZWFkZXJzJiBjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMsIGJvb2wgc2hvdWxk
QnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdp
biYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4pCi0gICAgOiBtX3NjcmlwdFVS
TChzY3JpcHRVUkwuaXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX29yaWdpbihTZWN1cml0eU9yaWdp
bjo6Y3JlYXRlKG1fc2NyaXB0VVJMKS0+aXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX25hbWUobmFt
ZS5pc29sYXRlZENvcHkoKSkKLSAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyLmlzb2xhdGVk
Q29weSgpKQotICAgICwgbV91c2VyQWdlbnQodXNlckFnZW50Lmlzb2xhdGVkQ29weSgpKQotICAg
ICwgbV9zb3VyY2VDb2RlKHNvdXJjZUNvZGUuaXNvbGF0ZWRDb3B5KCkpCi0gICAgLCBtX3N0YXJ0
TW9kZShzdGFydE1vZGUpCi0gICAgLCBtX2NvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMuaXNvbGF0ZWRDb3B5KCkp
Ci0gICAgLCBtX3Nob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeShzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3kpCi0gICAgLCBtX2lzT25saW5l
KGlzT25saW5lKQotICAgICwgbV90b3BPcmlnaW4odG9wT3JpZ2luLmlzb2xhdGVkQ29weSgpKQot
ICAgICwgbV90aW1lT3JpZ2luKHRpbWVPcmlnaW4pCitXb3JrZXJUaHJlYWRTdGFydHVwRGF0YTo6
V29ya2VyVGhyZWFkU3RhcnR1cERhdGEoY29uc3QgV29ya2VyUGFyYW1ldGVycyYgb3RoZXIsIGNv
bnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyVGhyZWFkU3RhcnRNb2RlIHN0YXJ0TW9kZSwg
Y29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9yaWdpbikKKyAgICA6IHBhcmFtcyhvdGhlci5pc29s
YXRlZENvcHkoKSkKKyAgICAsIG9yaWdpbihTZWN1cml0eU9yaWdpbjo6Y3JlYXRlKG90aGVyLnNj
cmlwdFVSTCktPmlzb2xhdGVkQ29weSgpKQorICAgICwgc291cmNlQ29kZShzb3VyY2VDb2RlLmlz
b2xhdGVkQ29weSgpKQorICAgICwgc3RhcnRNb2RlKHN0YXJ0TW9kZSkKKyAgICAsIHRvcE9yaWdp
bih0b3BPcmlnaW4uaXNvbGF0ZWRDb3B5KCkpCiB7CiB9CiAKLVdvcmtlclRocmVhZDo6V29ya2Vy
VGhyZWFkKGNvbnN0IFVSTCYgc2NyaXB0VVJMLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0
cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUs
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmIHdvcmtlckxvYWRl
clByb3h5LCBXb3JrZXJEZWJ1Z2dlclByb3h5JiB3b3JrZXJEZWJ1Z2dlclByb3h5LCBXb3JrZXJS
ZXBvcnRpbmdQcm94eSYgd29ya2VyUmVwb3J0aW5nUHJveHksIFdvcmtlclRocmVhZFN0YXJ0TW9k
ZSBzdGFydE1vZGUsIGNvbnN0IENvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYg
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBib29sIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgY29uc3QgU2VjdXJpdHlPcmlnaW4mIHRvcE9y
aWdpbiwgTW9ub3RvbmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Q
cm94eSogY29ubmVjdGlvblByb3h5LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpT
Qzo6UnVudGltZUZsYWdzIHJ1bnRpbWVGbGFncykKLSAgICA6IG1faWRlbnRpZmllcihpZGVudGlm
aWVyLmlzb2xhdGVkQ29weSgpKQorV29ya2VyVGhyZWFkOjpXb3JrZXJUaHJlYWQoY29uc3QgV29y
a2VyUGFyYW1ldGVycyYgcGFyYW1zLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxv
YWRlclByb3h5JiB3b3JrZXJMb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgd29ya2Vy
RGVidWdnZXJQcm94eSwgV29ya2VyUmVwb3J0aW5nUHJveHkmIHdvcmtlclJlcG9ydGluZ1Byb3h5
LCBXb3JrZXJUaHJlYWRTdGFydE1vZGUgc3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYg
dG9wT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSogY29ubmVjdGlvblByb3h5
LCBTb2NrZXRQcm92aWRlciogc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzIHJ1bnRp
bWVGbGFncykKKyAgICA6IG1faWRlbnRpZmllcihwYXJhbXMuaWRlbnRpZmllci5pc29sYXRlZENv
cHkoKSkKICAgICAsIG1fd29ya2VyTG9hZGVyUHJveHkod29ya2VyTG9hZGVyUHJveHkpCiAgICAg
LCBtX3dvcmtlckRlYnVnZ2VyUHJveHkod29ya2VyRGVidWdnZXJQcm94eSkKICAgICAsIG1fd29y
a2VyUmVwb3J0aW5nUHJveHkod29ya2VyUmVwb3J0aW5nUHJveHkpCiAgICAgLCBtX3J1bnRpbWVG
bGFncyhydW50aW1lRmxhZ3MpCi0gICAgLCBtX3N0YXJ0dXBEYXRhKG1ha2VVbmlxdWU8V29ya2Vy
VGhyZWFkU3RhcnR1cERhdGE+KHNjcmlwdFVSTCwgbmFtZSwgaWRlbnRpZmllciwgdXNlckFnZW50
LCBpc09ubGluZSwgc291cmNlQ29kZSwgc3RhcnRNb2RlLCBjb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMsIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eSwgdG9wT3JpZ2luLCB0aW1lT3JpZ2luKSkKKyAgICAsIG1fc3RhcnR1cERhdGEobWFrZVVuaXF1
ZTxXb3JrZXJUaHJlYWRTdGFydHVwRGF0YT4ocGFyYW1zLCBzb3VyY2VDb2RlLCBzdGFydE1vZGUs
IHRvcE9yaWdpbikpCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCiAgICAgLCBtX2lkYkNv
bm5lY3Rpb25Qcm94eShjb25uZWN0aW9uUHJveHkpCiAjZW5kaWYKQEAgLTE2OCw3ICsxNjcsNyBA
QCB2b2lkIFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKCkKICAgICAgICAgLy8gd2hpbGUgV29y
a2VyVGhyZWFkOjpzdG9wKCkgaXMgYWNjZXNzaW5nIGl0LiBOb3RlIHRoYXQgV29ya2VyVGhyZWFk
OjpzdG9wKCkgY2FuCiAgICAgICAgIC8vIGJlIGNhbGxlZCBiZWZvcmUgd2UndmUgZmluaXNoZWQg
Y3JlYXRpbmcgdGhlIFdvcmtlckdsb2JhbFNjb3BlLgogICAgICAgICBMb2NrSG9sZGVyIGxvY2so
bV90aHJlYWRDcmVhdGlvbkFuZFdvcmtlckdsb2JhbFNjb3BlTXV0ZXgpOwotICAgICAgICBtX3dv
cmtlckdsb2JhbFNjb3BlID0gY3JlYXRlV29ya2VyR2xvYmFsU2NvcGUobV9zdGFydHVwRGF0YS0+
bV9zY3JpcHRVUkwsIFdURk1vdmUobV9zdGFydHVwRGF0YS0+bV9vcmlnaW4pLCBtX3N0YXJ0dXBE
YXRhLT5tX25hbWUsIG1fc3RhcnR1cERhdGEtPm1faWRlbnRpZmllciwgbV9zdGFydHVwRGF0YS0+
bV91c2VyQWdlbnQsIG1fc3RhcnR1cERhdGEtPm1faXNPbmxpbmUsIG1fc3RhcnR1cERhdGEtPm1f
Y29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzLCBtX3N0YXJ0dXBEYXRhLT5tX3No
b3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZShtX3N0YXJ0
dXBEYXRhLT5tX3RvcE9yaWdpbiksIG1fc3RhcnR1cERhdGEtPm1fdGltZU9yaWdpbik7CisgICAg
ICAgIG1fd29ya2VyR2xvYmFsU2NvcGUgPSBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShtX3N0YXJ0
dXBEYXRhLT5wYXJhbXMsIFdURk1vdmUobV9zdGFydHVwRGF0YS0+b3JpZ2luKSwgV1RGTW92ZSht
X3N0YXJ0dXBEYXRhLT50b3BPcmlnaW4pKTsKIAogICAgICAgICBzY3JpcHRDb250cm9sbGVyID0g
bV93b3JrZXJHbG9iYWxTY29wZS0+c2NyaXB0KCk7CiAKQEAgLTE4MCw3ICsxNzksNyBAQCB2b2lk
IFdvcmtlclRocmVhZDo6d29ya2VyVGhyZWFkKCkKICAgICAgICAgfQogICAgIH0KIAotICAgIGlm
IChtX3N0YXJ0dXBEYXRhLT5tX3N0YXJ0TW9kZSA9PSBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Oldh
aXRGb3JJbnNwZWN0b3IpIHsKKyAgICBpZiAobV9zdGFydHVwRGF0YS0+c3RhcnRNb2RlID09IFdv
cmtlclRocmVhZFN0YXJ0TW9kZTo6V2FpdEZvckluc3BlY3RvcikgewogICAgICAgICBzdGFydFJ1
bm5pbmdEZWJ1Z2dlclRhc2tzKCk7CiAKICAgICAgICAgLy8gSWYgdGhlIHdvcmtlciB3YXMgc29t
ZWhvdyB0ZXJtaW5hdGVkIHdoaWxlIHByb2Nlc3NpbmcgZGVidWdnZXIgY29tbWFuZHMuCkBAIC0x
ODksNyArMTg4LDcgQEAgdm9pZCBXb3JrZXJUaHJlYWQ6OndvcmtlclRocmVhZCgpCiAgICAgfQog
CiAgICAgU3RyaW5nIGV4Y2VwdGlvbk1lc3NhZ2U7Ci0gICAgc2NyaXB0Q29udHJvbGxlci0+ZXZh
bHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5tX3NvdXJjZUNvZGUsIFVSTCht
X3N0YXJ0dXBEYXRhLT5tX3NjcmlwdFVSTCkpLCAmZXhjZXB0aW9uTWVzc2FnZSk7CisgICAgc2Ny
aXB0Q29udHJvbGxlci0+ZXZhbHVhdGUoU2NyaXB0U291cmNlQ29kZShtX3N0YXJ0dXBEYXRhLT5z
b3VyY2VDb2RlLCBVUkwobV9zdGFydHVwRGF0YS0+cGFyYW1zLnNjcmlwdFVSTCkpLCAmZXhjZXB0
aW9uTWVzc2FnZSk7CiAKICAgICBmaW5pc2hlZEV2YWx1YXRpbmdTY3JpcHQoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaCBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyVGhyZWFkLmgKaW5kZXggMTRlZWJmMTQ1MThlY2E2YmYyNzFmNDUz
YTA1MzUyYTY1MWQ2NzI3My4uMjFmMmI3YjMwZWQ0MjY3ZTEyZTZjNTg1YWJhZTFkOTYxMWIzNzA3
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJUaHJlYWQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlclRocmVhZC5oCkBAIC0yNSwxMiArMjUsMTQg
QEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDb250ZW50U2VjdXJpdHlQb2xpY3lSZXNw
b25zZUhlYWRlcnMuaCIKICNpbmNsdWRlICJXb3JrZXJSdW5Mb29wLmgiCiAjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8bWVtb3J5PgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL3RocmVh
ZHMvQmluYXJ5U2VtYXBob3JlLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTU1LDYgKzU3
LDIxIEBAIGNsYXNzIElEQkNvbm5lY3Rpb25Qcm94eTsKIAogc3RydWN0IFdvcmtlclRocmVhZFN0
YXJ0dXBEYXRhOwogCitzdHJ1Y3QgV29ya2VyUGFyYW1ldGVycyB7CitwdWJsaWM6CisgICAgVVJM
IHNjcmlwdFVSTDsKKyAgICBTdHJpbmcgbmFtZTsKKyAgICBTdHJpbmcgaWRlbnRpZmllcjsKKyAg
ICBTdHJpbmcgdXNlckFnZW50OworICAgIGJvb2wgaXNPbmxpbmU7CisgICAgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzIGNvbnRlbnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVh
ZGVyczsKKyAgICBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGlj
eTsKKyAgICBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW47CisgICAgUmVmZXJyZXJQb2xpY3kgcmVm
ZXJyZXJQb2xpY3k7CisKKyAgICBXb3JrZXJQYXJhbWV0ZXJzIGlzb2xhdGVkQ29weSgpIGNvbnN0
OworfTsKKwogY2xhc3MgV29ya2VyVGhyZWFkIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVk
PFdvcmtlclRocmVhZD4gewogcHVibGljOgogICAgIHZpcnR1YWwgfldvcmtlclRocmVhZCgpOwpA
QCAtOTAsMTAgKzEwNywxMCBAQCBwdWJsaWM6CiAgICAgU3RyaW5nIGlkZW50aWZpZXIoKSBjb25z
dCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KIAogcHJvdGVjdGVkOgotICAgIFdvcmtlclRocmVh
ZChjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgaWRlbnRpZmll
ciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxpbmUsIGNvbnN0IFN0cmluZyYg
c291cmNlQ29kZSwgV29ya2VyTG9hZGVyUHJveHkmLCBXb3JrZXJEZWJ1Z2dlclByb3h5JiwgV29y
a2VyUmVwb3J0aW5nUHJveHkmLCBXb3JrZXJUaHJlYWRTdGFydE1vZGUsIGNvbnN0IENvbnRlbnRT
ZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyYsIGJvb2wgc2hvdWxkQnlwYXNzTWFpbldvcmxk
Q29udGVudFNlY3VyaXR5UG9saWN5LCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBN
b25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5Kiwg
U29ja2V0UHJvdmlkZXIqLCBKU0M6OlJ1bnRpbWVGbGFncyk7CisgICAgV29ya2VyVGhyZWFkKGNv
bnN0IFdvcmtlclBhcmFtZXRlcnMmLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUsIFdvcmtlckxv
YWRlclByb3h5JiwgV29ya2VyRGVidWdnZXJQcm94eSYsIFdvcmtlclJlcG9ydGluZ1Byb3h5Jiwg
V29ya2VyVGhyZWFkU3RhcnRNb2RlLCBjb25zdCBTZWN1cml0eU9yaWdpbiYgdG9wT3JpZ2luLCBJ
REJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKiwgSlNDOjpSdW50
aW1lRmxhZ3MpOwogCiAgICAgLy8gRmFjdG9yeSBtZXRob2QgZm9yIGNyZWF0aW5nIGEgbmV3IHdv
cmtlciBjb250ZXh0IGZvciB0aGUgdGhyZWFkLgotICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2Jh
bFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYsIGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbikgPSAwOworICAgIHZpcnR1YWwgUmVmPFdvcmtlckdsb2JhbFNj
b3BlPiBjcmVhdGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVm
PFNlY3VyaXR5T3JpZ2luPiYmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKSA9IDA7
CiAKICAgICAvLyBFeGVjdXRlcyB0aGUgZXZlbnQgbG9vcCBmb3IgdGhlIHdvcmtlciB0aHJlYWQu
IERlcml2ZWQgY2xhc3NlcyBjYW4gb3ZlcnJpZGUgdG8gcGVyZm9ybSBhY3Rpb25zIGJlZm9yZS9h
ZnRlciBlbnRlcmluZyB0aGUgZXZlbnQgbG9vcC4KICAgICB2aXJ0dWFsIHZvaWQgcnVuRXZlbnRM
b29wKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCmluZGV4IGQxOGQxMzYwNzgyZjUxMDFmNGY5M2Iy
ZGY3ZjBmMTJiMDVhMDQwZTguLjU0OTQ5YzE3MjViMTQ2MjM4NWRmOWViMjNjY2FlOTdiYmU4NGMz
NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29y
a2VyR2xvYmFsU2NvcGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9T
ZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC00MywxNSArNDMsMTUgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoU2VydmljZVdvcmtlckds
b2JhbFNjb3BlKTsKIAotUmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRh
LCBjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIG9yaWdpbiwgY29uc3QgU3Ry
aW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVzZXJBZ2VudCwgYm9vbCBpc09ubGluZSwg
U2VydmljZVdvcmtlclRocmVhZCYgdGhyZWFkLCBjb25zdCBDb250ZW50U2VjdXJpdHlQb2xpY3lS
ZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91bGRCeXBhc3NN
YWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BP
cmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9u
UHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQor
UmVmPFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZT4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpj
cmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBjb25zdCBXb3JrZXJQ
YXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiBvcmlnaW4sIFNlcnZpY2VX
b3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURC
Q2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNvbm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlk
ZXIqIHNvY2tldFByb3ZpZGVyKQogewotICAgIGF1dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNl
cnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7IGRhdGEsIHVybCwgV1RGTW92ZShvcmlnaW4pLCBpZGVu
dGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01haW5Xb3Js
ZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3JpZ2luLCBj
b25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyIH0pOwotICAgIHNjb3BlLT5hcHBseUNvbnRl
bnRTZWN1cml0eVBvbGljeVJlc3BvbnNlSGVhZGVycyhjb250ZW50U2VjdXJpdHlQb2xpY3kpOwor
ICAgIGF1dG8gc2NvcGUgPSBhZG9wdFJlZigqbmV3IFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZSB7
IGRhdGEsIHBhcmFtcywgV1RGTW92ZShvcmlnaW4pLCB0aHJlYWQsIFdURk1vdmUodG9wT3JpZ2lu
KSwgY29ubmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciB9KTsKKyAgICBzY29wZS0+YXBwbHlD
b250ZW50U2VjdXJpdHlQb2xpY3lSZXNwb25zZUhlYWRlcnMocGFyYW1zLmNvbnRlbnRTZWN1cml0
eVBvbGljeVJlc3BvbnNlSGVhZGVycyk7CiAgICAgcmV0dXJuIHNjb3BlOwogfQogCi1TZXJ2aWNl
V29ya2VyR2xvYmFsU2NvcGU6OlNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNl
V29ya2VyQ29udGV4dERhdGEmIGRhdGEsIGNvbnN0IFVSTCYgdXJsLCBSZWY8U2VjdXJpdHlPcmln
aW4+JiYgb3JpZ2luLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNl
ckFnZW50LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiB0aHJlYWQsIGJvb2wg
c2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVudFNlY3VyaXR5UG9saWN5LCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYgdG9wT3JpZ2luLCBNb25vdG9uaWNUaW1lIHRpbWVPcmlnaW4sIElEQkNsaWVudDo6
SURCQ29ubmVjdGlvblByb3h5KiBjb25uZWN0aW9uUHJveHksIFNvY2tldFByb3ZpZGVyKiBzb2Nr
ZXRQcm92aWRlcikKLSAgICA6IFdvcmtlckdsb2JhbFNjb3BlKHVybCwgV1RGTW92ZShvcmlnaW4p
LCBpZGVudGlmaWVyLCB1c2VyQWdlbnQsIGlzT25saW5lLCB0aHJlYWQsIHNob3VsZEJ5cGFzc01h
aW5Xb3JsZENvbnRlbnRTZWN1cml0eVBvbGljeSwgV1RGTW92ZSh0b3BPcmlnaW4pLCB0aW1lT3Jp
Z2luLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQorU2VydmljZVdvcmtlckdsb2Jh
bFNjb3BlOjpTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRl
eHREYXRhJiBkYXRhLCBjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiBwYXJhbXMsIFJlZjxTZWN1cml0
eU9yaWdpbj4mJiBvcmlnaW4sIFNlcnZpY2VXb3JrZXJUaHJlYWQmIHRocmVhZCwgUmVmPFNlY3Vy
aXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGNv
bm5lY3Rpb25Qcm94eSwgU29ja2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQorICAgIDogV29y
a2VyR2xvYmFsU2NvcGUocGFyYW1zLCBXVEZNb3ZlKG9yaWdpbiksIHRocmVhZCwgV1RGTW92ZSh0
b3BPcmlnaW4pLCBjb25uZWN0aW9uUHJveHksIHNvY2tldFByb3ZpZGVyKQogICAgICwgbV9jb250
ZXh0RGF0YShjcm9zc1RocmVhZENvcHkoZGF0YSkpCiAgICAgLCBtX3JlZ2lzdHJhdGlvbihTZXJ2
aWNlV29ya2VyUmVnaXN0cmF0aW9uOjpnZXRPckNyZWF0ZSgqdGhpcywgbmF2aWdhdG9yKCkuc2Vy
dmljZVdvcmtlcigpLCBXVEZNb3ZlKG1fY29udGV4dERhdGEucmVnaXN0cmF0aW9uKSkpCiAgICAg
LCBtX2NsaWVudHMoU2VydmljZVdvcmtlckNsaWVudHM6OmNyZWF0ZSgpKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5o
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJHbG9iYWxTY29w
ZS5oCmluZGV4IDk1NjA3YTVmZDQzZDZmMjQ5MDhmZDFlYzExZjExOTVhZjVkZjgxZTMuLjBlNGJl
OTc1ZTUzNzk0OWRmNTI3MzdkZmQ5YzI4OWE3MzhhZWNjZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlckdsb2JhbFNjb3BlLmgK
QEAgLTQ0LDcgKzQ0LDcgQEAgY2xhc3MgU2VydmljZVdvcmtlclRocmVhZDsKIGNsYXNzIFNlcnZp
Y2VXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CiAg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUpOwogcHVi
bGljOgotICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGUoY29u
c3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgVVJMJiwgUmVmPFNlY3VyaXR5T3Jp
Z2luPiYmLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdXNlckFnZW50
LCBib29sIGlzT25saW5lLCBTZXJ2aWNlV29ya2VyVGhyZWFkJiwgY29uc3QgQ29udGVudFNlY3Vy
aXR5UG9saWN5UmVzcG9uc2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250
ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90
b25pY1RpbWUgdGltZU9yaWdpbiwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqLCBTb2Nr
ZXRQcm92aWRlciopOworICAgIHN0YXRpYyBSZWY8U2VydmljZVdvcmtlckdsb2JhbFNjb3BlPiBj
cmVhdGUoY29uc3QgU2VydmljZVdvcmtlckNvbnRleHREYXRhJiwgY29uc3QgV29ya2VyUGFyYW1l
dGVycyYsIFJlZjxTZWN1cml0eU9yaWdpbj4mJiwgU2VydmljZVdvcmtlclRocmVhZCYsIFJlZjxT
ZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIElEQkNsaWVudDo6SURCQ29ubmVjdGlvblByb3h5
KiwgU29ja2V0UHJvdmlkZXIqKTsKIAogICAgIH5TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUoKTsK
IApAQCAtNjksNyArNjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRTY3JpcHRSZXNvdXJjZShj
b25zdCBVUkwmLCBTZXJ2aWNlV29ya2VyQ29udGV4dERhdGE6OkltcG9ydGVkU2NyaXB0JiYpOwog
CiBwcml2YXRlOgotICAgIFNlcnZpY2VXb3JrZXJHbG9iYWxTY29wZShjb25zdCBTZXJ2aWNlV29y
a2VyQ29udGV4dERhdGEmLCBjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQsIGJvb2wgaXNPbmxp
bmUsIFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBib29sIHNob3VsZEJ5cGFzc01haW5Xb3JsZENvbnRl
bnRTZWN1cml0eVBvbGljeSwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmIHRvcE9yaWdpbiwgTW9ub3Rv
bmljVGltZSB0aW1lT3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tl
dFByb3ZpZGVyKik7CisgICAgU2VydmljZVdvcmtlckdsb2JhbFNjb3BlKGNvbnN0IFNlcnZpY2VX
b3JrZXJDb250ZXh0RGF0YSYsIGNvbnN0IFdvcmtlclBhcmFtZXRlcnMmLCBSZWY8U2VjdXJpdHlP
cmlnaW4+JiYsIFNlcnZpY2VXb3JrZXJUaHJlYWQmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9w
T3JpZ2luLCBJREJDbGllbnQ6OklEQkNvbm5lY3Rpb25Qcm94eSosIFNvY2tldFByb3ZpZGVyKik7
CiAKICAgICBib29sIGhhc1BlbmRpbmdFdmVudHMoKSBjb25zdCB7IHJldHVybiAhbV9leHRlbmRl
ZEV2ZW50cy5pc0VtcHR5KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdvcmtlclRocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAppbmRleCAz
YmY3MTM5ZmYxNjcwOGE0YWQyNjQzYWUwYjJlMThiMmRlZDM3Njg2Li5jNWViMTQ1YzRkNTk5MGVk
OThmODIyMDFkZWE4MzIzY2VmZjE5YzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNlV29ya2VyVGhyZWFkLmNwcApA
QCAtNzMsNyArNzMsNyBAQCBwcml2YXRlOgogLy8gRklYTUU6IFVzZSB2YWxpZCBydW50aW1lIGZs
YWdzCiAKIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OlNlcnZpY2VXb3JrZXJUaHJlYWQoY29uc3QgU2Vy
dmljZVdvcmtlckNvbnRleHREYXRhJiBkYXRhLCBTdHJpbmcmJiB1c2VyQWdlbnQsIFdvcmtlckxv
YWRlclByb3h5JiBsb2FkZXJQcm94eSwgV29ya2VyRGVidWdnZXJQcm94eSYgZGVidWdnZXJQcm94
eSwgSURCQ2xpZW50OjpJREJDb25uZWN0aW9uUHJveHkqIGlkYkNvbm5lY3Rpb25Qcm94eSwgU29j
a2V0UHJvdmlkZXIqIHNvY2tldFByb3ZpZGVyKQotICAgIDogV29ya2VyVGhyZWFkKGRhdGEuc2Ny
aXB0VVJMLCBlbXB0eVN0cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVu
dGlmaWVyc0ZhY3Rvcnk6OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBw
bGF0Zm9ybVN0cmF0ZWdpZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5z
Y3JpcHQsIGxvYWRlclByb3h5LCBkZWJ1Z2dlclByb3h5LCBEdW1teVNlcnZpY2VXb3JrZXJUaHJl
YWRQcm94eTo6c2hhcmVkKCksIFdvcmtlclRocmVhZFN0YXJ0TW9kZTo6Tm9ybWFsLCBkYXRhLmNv
bnRlbnRTZWN1cml0eVBvbGljeSwgZmFsc2UsIGRhdGEucmVnaXN0cmF0aW9uLmtleS50b3BPcmln
aW4oKS5zZWN1cml0eU9yaWdpbigpLmdldCgpLCBNb25vdG9uaWNUaW1lOjpub3coKSwgaWRiQ29u
bmVjdGlvblByb3h5LCBzb2NrZXRQcm92aWRlciwgSlNDOjpSdW50aW1lRmxhZ3M6OmNyZWF0ZUFs
bEVuYWJsZWQoKSkKKyAgICA6IFdvcmtlclRocmVhZCh7IGRhdGEuc2NyaXB0VVJMLCBlbXB0eVN0
cmluZygpLCAic2VydmljZXdvcmtlcjoiICsgSW5zcGVjdG9yOjpJZGVudGlmaWVyc0ZhY3Rvcnk6
OmNyZWF0ZUlkZW50aWZpZXIoKSwgV1RGTW92ZSh1c2VyQWdlbnQpLCBwbGF0Zm9ybVN0cmF0ZWdp
ZXMoKS0+bG9hZGVyU3RyYXRlZ3koKS0+aXNPbkxpbmUoKSwgZGF0YS5jb250ZW50U2VjdXJpdHlQ
b2xpY3ksIGZhbHNlLCBNb25vdG9uaWNUaW1lOjpub3coKSwgeyB9IH0sIGRhdGEuc2NyaXB0LCBs
b2FkZXJQcm94eSwgZGVidWdnZXJQcm94eSwgRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6
OnNoYXJlZCgpLCBXb3JrZXJUaHJlYWRTdGFydE1vZGU6Ok5vcm1hbCwgZGF0YS5yZWdpc3RyYXRp
b24ua2V5LnRvcE9yaWdpbigpLnNlY3VyaXR5T3JpZ2luKCkuZ2V0KCksIGlkYkNvbm5lY3Rpb25Q
cm94eSwgc29ja2V0UHJvdmlkZXIsIEpTQzo6UnVudGltZUZsYWdzOjpjcmVhdGVBbGxFbmFibGVk
KCkpCiAgICAgLCBtX2RhdGEoZGF0YS5pc29sYXRlZENvcHkoKSkKICAgICAsIG1fd29ya2VyT2Jq
ZWN0UHJveHkoRHVtbXlTZXJ2aWNlV29ya2VyVGhyZWFkUHJveHk6OnNoYXJlZCgpKQogICAgICwg
bV9oZWFydEJlYXRUaW1lb3V0KFNXQ29udGV4dE1hbmFnZXI6OnNpbmdsZXRvbigpLmNvbm5lY3Rp
b24oKS0+c2hvdWxkVXNlU2hvcnRUaW1lb3V0KCkgPyBoZWFydEJlYXRUaW1lb3V0Rm9yVGVzdCA6
IGhlYXJ0QmVhdFRpbWVvdXQpCkBAIC04NCwxMCArODQsOSBAQCBTZXJ2aWNlV29ya2VyVGhyZWFk
OjpTZXJ2aWNlV29ya2VyVGhyZWFkKGNvbnN0IFNlcnZpY2VXb3JrZXJDb250ZXh0RGF0YSYgZGF0
YSwgUwogCiBTZXJ2aWNlV29ya2VyVGhyZWFkOjp+U2VydmljZVdvcmtlclRocmVhZCgpID0gZGVm
YXVsdDsKIAotUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBTZXJ2aWNlV29ya2VyVGhyZWFkOjpjcmVh
dGVXb3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmIHVybCwgUmVmPFNlY3VyaXR5T3JpZ2luPiYm
IG9yaWdpbiwgY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdXNlckFnZW50LCBib29sIGlzT25saW5lLCBjb25zdCBDb250ZW50U2VjdXJp
dHlQb2xpY3lSZXNwb25zZUhlYWRlcnMmIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgYm9vbCBzaG91
bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xpY3ksIFJlZjxTZWN1cml0eU9yaWdp
bj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9yaWdpbikKK1JlZjxXb3JrZXJHbG9i
YWxTY29wZT4gU2VydmljZVdvcmtlclRocmVhZDo6Y3JlYXRlV29ya2VyR2xvYmFsU2NvcGUoY29u
c3QgV29ya2VyUGFyYW1ldGVycyYgcGFyYW1zLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgb3JpZ2lu
LCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKQogewotICAgIFVOVVNFRF9QQVJBTShu
YW1lKTsKLSAgICByZXR1cm4gU2VydmljZVdvcmtlckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRh
LCB1cmwsIFdURk1vdmUob3JpZ2luKSwgaWRlbnRpZmllciwgdXNlckFnZW50LCBpc09ubGluZSwg
KnRoaXMsIGNvbnRlbnRTZWN1cml0eVBvbGljeSwgc2hvdWxkQnlwYXNzTWFpbldvcmxkQ29udGVu
dFNlY3VyaXR5UG9saWN5LCBXVEZNb3ZlKHRvcE9yaWdpbiksIHRpbWVPcmlnaW4sIGlkYkNvbm5l
Y3Rpb25Qcm94eSgpLCBzb2NrZXRQcm92aWRlcigpKTsKKyAgICByZXR1cm4gU2VydmljZVdvcmtl
ckdsb2JhbFNjb3BlOjpjcmVhdGUobV9kYXRhLCBwYXJhbXMsIFdURk1vdmUob3JpZ2luKSwgKnRo
aXMsIFdURk1vdmUodG9wT3JpZ2luKSwgaWRiQ29ubmVjdGlvblByb3h5KCksIHNvY2tldFByb3Zp
ZGVyKCkpOwogfQogCiB2b2lkIFNlcnZpY2VXb3JrZXJUaHJlYWQ6OnJ1bkV2ZW50TG9vcCgpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9TZXJ2aWNl
V29ya2VyVGhyZWFkLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NlcnZpY2UvY29udGV4dC9T
ZXJ2aWNlV29ya2VyVGhyZWFkLmgKaW5kZXggYzE0Nzk5ZWNkMmIzMjAwNTQ0YzVhZmUzZTE1NjNj
MTY4MzE5OTI2Ni4uZDg4ODY3MThhYzYwN2U1OTI0YzRlODkxYTAyODBhNzE4MjdhZDNhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zZXJ2aWNlL2NvbnRleHQvU2VydmljZVdv
cmtlclRocmVhZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2VydmljZS9jb250ZXh0
L1NlcnZpY2VXb3JrZXJUaHJlYWQuaApAQCAtNzQsNyArNzQsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzdG9wRmV0Y2hFdmVudE1vbml0b3JpbmcoKSB7IG1faXNIYW5kbGluZ0ZldGNoRXZlbnQgPSBm
YWxzZTsgfQogCiBwcm90ZWN0ZWQ6Ci0gICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVX
b3JrZXJHbG9iYWxTY29wZShjb25zdCBVUkwmLCBSZWY8U2VjdXJpdHlPcmlnaW4+JiYsIGNvbnN0
IFN0cmluZyYgbmFtZSwgY29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHVz
ZXJBZ2VudCwgYm9vbCBpc09ubGluZSwgY29uc3QgQ29udGVudFNlY3VyaXR5UG9saWN5UmVzcG9u
c2VIZWFkZXJzJiwgYm9vbCBzaG91bGRCeXBhc3NNYWluV29ybGRDb250ZW50U2VjdXJpdHlQb2xp
Y3ksIFJlZjxTZWN1cml0eU9yaWdpbj4mJiB0b3BPcmlnaW4sIE1vbm90b25pY1RpbWUgdGltZU9y
aWdpbikgZmluYWw7CisgICAgUmVmPFdvcmtlckdsb2JhbFNjb3BlPiBjcmVhdGVXb3JrZXJHbG9i
YWxTY29wZShjb25zdCBXb3JrZXJQYXJhbWV0ZXJzJiwgUmVmPFNlY3VyaXR5T3JpZ2luPiYmLCBS
ZWY8U2VjdXJpdHlPcmlnaW4+JiYgdG9wT3JpZ2luKSBmaW5hbDsKICAgICB2b2lkIHJ1bkV2ZW50
TG9vcCgpIG92ZXJyaWRlOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
d29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtsZXRz
L1dvcmtsZXRHbG9iYWxTY29wZS5jcHAKaW5kZXggYzEyMWRiNjM1ZWQxNGRhZTE3OGEzZmJiMmQ1
MmRlODZhZDljNWI0Mi4uNmU0YTk1NWUwYTUwYTVhZTU0ZDk4Y2E3YTA3OTRhYzFlOWQ3OWE0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuY3BwCkBA
IC0xNjYsNSArMTY2LDEwIEBAIHZvaWQgV29ya2xldEdsb2JhbFNjb3BlOjphZGRNZXNzYWdlKE1l
c3NhZ2VTb3VyY2Ugc291cmNlLCBNZXNzYWdlTGV2ZWwgbGV2ZWwsIGNvCiAgICAgbV9kb2N1bWVu
dC0+YWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlVGV4dCwgc291cmNlVVJMLCBsaW5l
TnVtYmVyLCBjb2x1bW5OdW1iZXIsIFdURk1vdmUoY2FsbFN0YWNrKSwgbnVsbHB0ciwgcmVxdWVz
dElkZW50aWZpZXIpOwogfQogCitSZWZlcnJlclBvbGljeSBXb3JrbGV0R2xvYmFsU2NvcGU6OnJl
ZmVycmVyUG9saWN5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gUmVmZXJyZXJQb2xpY3k6Ok5vUmVm
ZXJyZXI7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKICNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2Vi
Q29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaAppbmRleCBiYzQ0MTFlZjM3MjdmMjQx
ZjU2Y2Y5NzVlMmJiZDY0NmIzZjc5MmZhLi5jNDdhY2I1OWJiODM4YjM3YzcxMGVhNzg0YmU1MzVk
NDgwOGY3YzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xv
YmFsU2NvcGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2Nv
cGUuaApAQCAtNjUsNiArNjUsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGV2YWx1YXRlKCk7CiAK
KyAgICBSZWZlcnJlclBvbGljeSByZWZlcnJlclBvbGljeSgpIGNvbnN0IGZpbmFsOworCiAgICAg
dXNpbmcgUmVmQ291bnRlZDo6cmVmOwogICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOwogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBmODA5NzVjNmJhNTk0ZDliZjY5ODBiZmFh
MjRhMjNkYjNkNmZkYTg2Li44YTY4ODlhMTBjZjIyZDAyNTBhYjg2ZjE0MmI0MzQzZDg2ZmJhN2Y2
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMC0w
MS0yNyAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIEZpeCBmZXRjaC9h
cGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci5odG1sCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDY1MjAKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGVkIGltcHJvdmVkIHRlc3QgcmVz
dWx0LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9wb2xpY2llcy9y
ZWZlcnJlci1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4td29ya2VyLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9y
aWdpbi13b3JrZXItZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAxLTI3ICBSb2IgQnVpcyAgPHJidWlz
QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmUtc3luYyB3ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL3BvbGljaWVzIGZyb20gdXBzdHJlYW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3BvbGljaWVzL3JlZmVycmVyLW9y
aWdpbi13aGVuLWNyb3NzLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJy
ZXItb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggOTY2
ZmVmZjVjZmQzNjlmZmFmYjg3MDVhMWVmNTU3NTI2ZjIzZGI3MS4uZGE3MGI4M2M5Nzg4NjA3YzAy
Y2YzM2YyZTIxNTY4YTdhMWQ3OTA0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2lu
LXdoZW4tY3Jvc3Mtb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJy
ZXItb3JpZ2luLXdoZW4tY3Jvc3Mtb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEsMyAr
MSwzIEBACiAKLUZBSUwgUmVxdWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiBhc3NlcnRfZXF1YWxz
OiByZXF1ZXN0J3MgcmVmZXJyZXIgaXMgaHR0cDovL2xvY2FsaG9zdDo4ODAwLyBleHBlY3RlZCAi
aHR0cDovL2xvY2FsaG9zdDo4ODAwLyIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwL2Zl
dGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4td2hlbi1jcm9zcy1vcmlnaW4uanM/cGlw
ZT1zdWIiCitQQVNTIFJlcXVlc3QncyByZWZlcnJlciBpcyBvcmlnaW4gCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL3Bv
bGljaWVzL3JlZmVycmVyLW9yaWdpbi13b3JrZXItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJy
ZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKaW5kZXggYzIyNjI1MTQwZmJhNjFiZWMxOGMw
Y2E3OTJmMzBlYWY1NTNkMjFlZS4uNDljMmVhYjZhMjQ3OTBkZDExZTRlMTNmZDIzMzNlMmRhNjcy
OGU3MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRj
aC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLXdvcmtlci1leHBlY3RlZC50eHQKQEAgLTEs
NCArMSw0IEBACiAKLUZBSUwgUmVxdWVzdCdzIHJlZmVycmVyIGlzIG9yaWdpbiBhc3NlcnRfZXF1
YWxzOiByZXF1ZXN0J3MgcmVmZXJyZXIgaXMgaHR0cDovL2xvY2FsaG9zdDo4ODAwLyBleHBlY3Rl
ZCAiaHR0cDovL2xvY2FsaG9zdDo4ODAwLyIgYnV0IGdvdCAiaHR0cDovL2xvY2FsaG9zdDo4ODAw
L2ZldGNoL2FwaS9wb2xpY2llcy9yZWZlcnJlci1vcmlnaW4uanM/cGlwZT1zdWIiCi1GQUlMIENy
b3NzLW9yaWdpbiByZWZlcnJlciBpcyBvdmVycmlkZGVuIGJ5IGNsaWVudCBvcmlnaW4gYXNzZXJ0
X2VxdWFsczogcmVxdWVzdCdzIHJlZmVycmVyIGlzIGh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8gZXhw
ZWN0ZWQgImh0dHA6Ly9sb2NhbGhvc3Q6ODgwMC8iIGJ1dCBnb3QgImh0dHA6Ly9sb2NhbGhvc3Q6
ODgwMC9mZXRjaC9hcGkvcG9saWNpZXMvcmVmZXJyZXItb3JpZ2luLmpzP3BpcGU9c3ViIgorUEFT
UyBSZXF1ZXN0J3MgcmVmZXJyZXIgaXMgb3JpZ2luIAorUEFTUyBDcm9zcy1vcmlnaW4gcmVmZXJy
ZXIgaXMgb3ZlcnJpZGRlbiBieSBjbGllbnQgb3JpZ2luIAogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>