<?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>223570</bug_id>
          
          <creation_ts>2021-03-22 02:20:11 -0700</creation_ts>
          <short_desc>[css-contain] Support contain:size</short_desc>
          <delta_ts>2021-06-21 12:30:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=227232</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>172026</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="cathiechen">cathiechen</reporter>
          <assigned_to name="cathiechen">cathiechen</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cathiechen</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jfernandez</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mifenton</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>pdr</cc>
    
    <cc>philipj</cc>
    
    <cc>rbuis</cc>
    
    <cc>rego</cc>
    
    <cc>rniwa</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1742163</commentid>
    <comment_count>0</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-03-22 02:20:11 -0700</bug_when>
    <thetext>Support contain:size;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1744711</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-29 09:14:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/75956816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746055</commentid>
    <comment_count>2</comment_count>
      <attachid>424901</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-01 09:18:26 -0700</bug_when>
    <thetext>Created attachment 424901
size-containment-WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1746064</commentid>
    <comment_count>3</comment_count>
      <attachid>424903</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-01 09:29:04 -0700</bug_when>
    <thetext>Created attachment 424903
WIP-patch-for-size-containment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749241</commentid>
    <comment_count>4</comment_count>
      <attachid>425756</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-12 09:08:06 -0700</bug_when>
    <thetext>Created attachment 425756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750092</commentid>
    <comment_count>5</comment_count>
      <attachid>425756</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-04-14 06:48:51 -0700</bug_when>
    <thetext>Comment on attachment 425756
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        This patch brings initial support of CSS contain:size. According to https://www.w3.org/TR/css-contain-2/#containment-size,

Probably better to refer to contain-1, could also be a footnote ([1]). In general these lines should be kept short IIUC.

&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1152
&gt; +    if (!m_strategy-&gt;isComputingSizeContainment()) {

The strategy stuff probably needs explaining in the Changelog.

&gt; Source/WebCore/rendering/RenderBlock.cpp:1078
&gt; +        downcast&lt;RenderBlockFlow&gt;(*this).adjustSizeContainmentChildForPagination(r, r.logicalTop());

The pagination probably needs explaining in the Changelog.

&gt; Source/WebCore/rendering/RenderBox.cpp:2880
&gt; +        auto borderAndPading = RenderBox::borderBefore() + RenderBox::paddingBefore() + RenderBox::borderAfter() + RenderBox::paddingAfter();

There is borderAndPaddingBefore and borderAndPaddingAfter. *borderAndPadding*

&gt; Source/WebCore/rendering/RenderMultiColumnSet.cpp:240
&gt; +    if (columnCount() &lt;= computedColumnCount() /*&amp;&amp; m_minSpaceShortage &lt;= 0*/) {

For the final patch we should have no code in comments.

&gt; Source/WebCore/rendering/RenderMultiColumnSet.cpp:245
&gt; +    if (forcedBreaksCount() &gt;= computedColumnCount() /*&amp;&amp; m_minSpaceShortage &lt;= 0*/) {

Ditto.

&gt; Source/WebCore/rendering/RenderMultiColumnSet.cpp:257
&gt; +        return m_computedColumnHeight + sizeContainmentShortage; // So bail out rather than looping infinitely.

The sizeContainmentShortage probably also needs ChangeLog explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750115</commentid>
    <comment_count>6</comment_count>
      <attachid>425756</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-14 08:23:41 -0700</bug_when>
    <thetext>Comment on attachment 425756
Patch

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

Hi Rob,
Thanks for the review!

&gt;&gt; Source/WebCore/ChangeLog:8
&gt;&gt; +        This patch brings initial support of CSS contain:size. According to https://www.w3.org/TR/css-contain-2/#containment-size,
&gt; 
&gt; Probably better to refer to contain-1, could also be a footnote ([1]). In general these lines should be kept short IIUC.

Done, thanks!

&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1152
&gt;&gt; +    if (!m_strategy-&gt;isComputingSizeContainment()) {
&gt; 
&gt; The strategy stuff probably needs explaining in the Changelog.

Yeah, will explain in the latest version:)

&gt;&gt; Source/WebCore/rendering/RenderBlock.cpp:1078
&gt;&gt; +        downcast&lt;RenderBlockFlow&gt;(*this).adjustSizeContainmentChildForPagination(r, r.logicalTop());
&gt; 
&gt; The pagination probably needs explaining in the Changelog.

Ditto.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2880
&gt;&gt; +        auto borderAndPading = RenderBox::borderBefore() + RenderBox::paddingBefore() + RenderBox::borderAfter() + RenderBox::paddingAfter();
&gt; 
&gt; There is borderAndPaddingBefore and borderAndPaddingAfter. *borderAndPadding*

There is a slight difference for fieldset. borderAndPaddingBefore add extra intrinsicBorderForFieldset for fieldset. but size containment doesn&apos;t need that.
I will add a comment in the new patch.

&gt;&gt; Source/WebCore/rendering/RenderMultiColumnSet.cpp:240
&gt;&gt; +    if (columnCount() &lt;= computedColumnCount() /*&amp;&amp; m_minSpaceShortage &lt;= 0*/) {
&gt; 
&gt; For the final patch we should have no code in comments.

Ah, done! Thanks!

&gt;&gt; Source/WebCore/rendering/RenderMultiColumnSet.cpp:257
&gt;&gt; +        return m_computedColumnHeight + sizeContainmentShortage; // So bail out rather than looping infinitely.
&gt; 
&gt; The sizeContainmentShortage probably also needs ChangeLog explanation.

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750122</commentid>
    <comment_count>7</comment_count>
      <attachid>425987</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-14 08:33:56 -0700</bug_when>
    <thetext>Created attachment 425987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750506</commentid>
    <comment_count>8</comment_count>
      <attachid>425987</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-14 23:51:43 -0700</bug_when>
    <thetext>Comment on attachment 425987
Patch

Hi,
I think this patch is ready for review. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751553</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-17 21:16:11 -0700</bug_when>
    <thetext>Looks good to me, but I think it should be reviewed by someone who’s been working in this area recently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751842</commentid>
    <comment_count>10</comment_count>
      <attachid>426439</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-19 10:03:15 -0700</bug_when>
    <thetext>Created attachment 426439
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1751848</commentid>
    <comment_count>11</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-19 10:17:39 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #9)
&gt; Looks good to me, but I think it should be reviewed by someone who’s been
&gt; working in this area recently.

Hi Darin,
Thanks! I added Simon to the cc list:)

The new patch is now rebased on the code which supports contain:layout.
Luckily we have 3 more tests passed in this patch.
  imported/w3c/web-platform-tests/css/css-contain/contain-animation-001.html
  imported/w3c/web-platform-tests/css/css-contain/contain-layout-size-003.html
  imported/w3c/web-platform-tests/css/css-contain/contain-strict-003.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752222</commentid>
    <comment_count>12</comment_count>
      <attachid>426537</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-20 04:29:16 -0700</bug_when>
    <thetext>Created attachment 426537
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1752240</commentid>
    <comment_count>13</comment_count>
      <attachid>426543</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-04-20 06:29:51 -0700</bug_when>
    <thetext>Created attachment 426543
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756145</commentid>
    <comment_count>14</comment_count>
      <attachid>426543</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-05-03 04:23:13 -0700</bug_when>
    <thetext>Comment on attachment 426543
Patch

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

Nice work. I&apos;ve mostly focused of the parts I know the most like grid.

&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1186
&gt;      for (auto trackIndex : m_contentSizedTracksIndex) {

So, if I understood this correctly, this loop is the only thing you have to do for the case of computing content:size. It that&apos;s the case then I&apos;d do the following:
1- move the loop into a lambda inside this method.
2- at the beginning of the method do something like
if (m_strategy-&gt;isComputingSizeContainment()) {
   execTheCallback();
   return;
}

That would allow you to keep the method almost untouched (except for the lambda) and there would be no need to change indentation and all that.

&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1247
&gt; +            m_sizingState = ColumnSizingSecondIteration;

I am not sure I understand this change. I guess you basically compute content:size as if nothing had happened, so the first iteration of row computing could happen. My question is, why not adding a new state to the state machine? Something that would happen after RowSizingFirstIteration?

&gt; Source/WebCore/rendering/RenderBox.cpp:2880
&gt; +        // borderAndPaddingLogicalHeight contains intrinsicBorderForFieldset() which add extra border for fieldset, so we can&apos;t use it directly.

Are you sure this is correct? I don&apos;t see any intrinsicBorderForFieldset() in the computation of borderAndPaddingLogicalHeight()

&gt; Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:211
&gt; +            }

Same comment here as the method in grid. I&apos;d create a lambda with the code bellow that just assigns the maxLogicalWidth and then adds the scrollbarwith and then at the beginning of the method
if (shouldApplySizeContainment(*this)) {
   callLambda();
   return;
}
.... body of the method untouched ...
callLambda()

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:141
&gt; +        }

Ditto for this method. If the only thing you have to do is to add the scrollbarWidth to the min and max for the case of size containment, then move it to a lambda and
if (shouldApplySizeContainment()) {
 lambda();
 return;
}
... body of the method untouched ...
lambda()

&gt; Source/WebCore/rendering/RenderGrid.cpp:467
&gt; +        return 0;

I am not sure I understand this change. Auto-fit is basically like auto-fill except that empty columns collapse. The fact that they collapse do not mean that they don&apos;t exist. But here we&apos;re saying that there are no auto-fit tracks. Maybe I am missing something?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756531</commentid>
    <comment_count>15</comment_count>
      <attachid>426543</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-04 08:01:06 -0700</bug_when>
    <thetext>Comment on attachment 426543
Patch

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

Hi Sergio,
Thanks for the review!

&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1186
&gt;&gt;      for (auto trackIndex : m_contentSizedTracksIndex) {
&gt; 
&gt; So, if I understood this correctly, this loop is the only thing you have to do for the case of computing content:size. It that&apos;s the case then I&apos;d do the following:
&gt; 1- move the loop into a lambda inside this method.
&gt; 2- at the beginning of the method do something like
&gt; if (m_strategy-&gt;isComputingSizeContainment()) {
&gt;    execTheCallback();
&gt;    return;
&gt; }
&gt; 
&gt; That would allow you to keep the method almost untouched (except for the lambda) and there would be no need to change indentation and all that.

Done! Yeah, a lambda function makes it more readable, the code is put to resolveIntrinsicTrackSizesFromChildren().
`sizeTrackToFitNonSpanningItem(span, *gridItem, track);` changes track sizes, so we also need to put this loop into the lambda.
And we need to expand tack.growthLimit() to track.baseSize() if tack.growthLimit() is infinity which is handled at the end of this function, so instead of retrun early, it will be changed to 
    if (!m_strategy-&gt;isComputingSizeContainment())
        resolveIntrinsicTrackSizesFromChildren();

&gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1247
&gt;&gt; +            m_sizingState = ColumnSizingSecondIteration;
&gt; 
&gt; I am not sure I understand this change. I guess you basically compute content:size as if nothing had happened, so the first iteration of row computing could happen. My question is, why not adding a new state to the state machine? Something that would happen after RowSizingFirstIteration?

Yes, in RenderGrid::layoutBlock it computes track height twice if shouldApplySizeContainment(*this).
  * computeTrackSizesForIndefiniteSize(m_trackSizingAlgorithm, ForRows); To compute trackBasedLogicalHeight as if there&apos;s no content. trackBasedLogicalHeight is used in the second time.
  * computeTrackSizesForDefiniteSize(ForRows, trackBasedLogicalHeight); Using trackBasedLogicalHeight computed by the first time to distribute the track sizes.
So the state stays in RowSizingFirstIteration twice.
I will add a new state RowSizingExtraIterationForSizeContainment to indicate that is the extra try for size containment.

&gt;&gt; Source/WebCore/rendering/RenderBox.cpp:2880
&gt;&gt; +        // borderAndPaddingLogicalHeight contains intrinsicBorderForFieldset() which add extra border for fieldset, so we can&apos;t use it directly.
&gt; 
&gt; Are you sure this is correct? I don&apos;t see any intrinsicBorderForFieldset() in the computation of borderAndPaddingLogicalHeight()

Yes, borderAndPaddingLogicalHeight calls borderBefore() and borderAfter(). In RenderBlock::borderBefore(), it adds intrinsicBorderForFieldset().
I&apos;ll point out it is specific to RenderBlock in the comment.

&gt;&gt; Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:211
&gt;&gt; +            }
&gt; 
&gt; Same comment here as the method in grid. I&apos;d create a lambda with the code bellow that just assigns the maxLogicalWidth and then adds the scrollbarwith and then at the beginning of the method
&gt; if (shouldApplySizeContainment(*this)) {
&gt;    callLambda();
&gt;    return;
&gt; }
&gt; .... body of the method untouched ...
&gt; callLambda()

Done! Put the code to computeIntrinsicLogicalWidthsFromChildren.
And also we need to handle the scrollbar width at the end of function, the code is now looked like this:
    if (!shouldApplySizeContainment(*this))
        computeIntrinsicLogicalWidthsFromChildren();

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:141
&gt;&gt; +        }
&gt; 
&gt; Ditto for this method. If the only thing you have to do is to add the scrollbarWidth to the min and max for the case of size containment, then move it to a lambda and
&gt; if (shouldApplySizeContainment()) {
&gt;  lambda();
&gt;  return;
&gt; }
&gt; ... body of the method untouched ...
&gt; lambda()

Done! Create a lambda function computeIntrinsicLogicalWidthsFromChildren. And it looks like this now:
    if (!shouldApplySizeContainment(*this))
        computeIntrinsicLogicalWidthsFromChildren();

&gt;&gt; Source/WebCore/rendering/RenderGrid.cpp:467
&gt;&gt; +        return 0;
&gt; 
&gt; I am not sure I understand this change. Auto-fit is basically like auto-fill except that empty columns collapse. The fact that they collapse do not mean that they don&apos;t exist. But here we&apos;re saying that there are no auto-fit tracks. Maybe I am missing something?

Hmmm, make sense. I think I should check size containment in computeEmptyTracksForAutoRepeat() instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756534</commentid>
    <comment_count>16</comment_count>
      <attachid>427668</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-04 08:07:17 -0700</bug_when>
    <thetext>Created attachment 427668
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756845</commentid>
    <comment_count>17</comment_count>
      <attachid>427740</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-05 01:21:49 -0700</bug_when>
    <thetext>Created attachment 427740
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756847</commentid>
    <comment_count>18</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-05 01:27:30 -0700</bug_when>
    <thetext>(In reply to cathiechen from comment #15)
&gt; Comment on attachment 426543 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426543&amp;action=review
&gt; 
&gt; Hi Sergio,
&gt; Thanks for the review!
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/GridTrackSizingAlgorithm.cpp:1186
&gt; &gt;&gt;      for (auto trackIndex : m_contentSizedTracksIndex) {
&gt; &gt; 
&gt; &gt; So, if I understood this correctly, this loop is the only thing you have to do for the case of computing content:size. It that&apos;s the case then I&apos;d do the following:
&gt; &gt; 1- move the loop into a lambda inside this method.
&gt; &gt; 2- at the beginning of the method do something like
&gt; &gt; if (m_strategy-&gt;isComputingSizeContainment()) {
&gt; &gt;    execTheCallback();
&gt; &gt;    return;
&gt; &gt; }
&gt; &gt; 
&gt; &gt; That would allow you to keep the method almost untouched (except for the lambda) and there would be no need to change indentation and all that.
&gt; 
&gt; Done! Yeah, a lambda function makes it more readable, the code is put to
&gt; resolveIntrinsicTrackSizesFromChildren().
&gt; `sizeTrackToFitNonSpanningItem(span, *gridItem, track);` changes track
&gt; sizes, so we also need to put this loop into the lambda.
&gt; And we need to expand tack.growthLimit() to track.baseSize() if
&gt; tack.growthLimit() is infinity which is handled at the end of this function,
&gt; so instead of retrun early, it will be changed to 
&gt;     if (!m_strategy-&gt;isComputingSizeContainment())
&gt;         resolveIntrinsicTrackSizesFromChildren();
&gt; 

Sorry, I misunderstood this! The new patch puts the code handle infinity growthLimit into a lambda instead:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756858</commentid>
    <comment_count>19</comment_count>
      <attachid>427740</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2021-05-05 01:41:21 -0700</bug_when>
    <thetext>Comment on attachment 427740
Patch

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

I&apos;ve reviewed the grid and flex parts and they both look great to me now.

&gt; Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:190
&gt; +    auto handleScrollbarWidth = [&amp;]() {

Nit: addScrollbarWidth ?

&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:86
&gt; +    auto handleScrollbarWidth = [&amp;]() {

Nit: maybe addScrollbarWidth?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756859</commentid>
    <comment_count>20</comment_count>
      <attachid>427740</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-05 01:45:32 -0700</bug_when>
    <thetext>Comment on attachment 427740
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp:190
&gt;&gt; +    auto handleScrollbarWidth = [&amp;]() {
&gt; 
&gt; Nit: addScrollbarWidth ?

Done, thanks!

&gt;&gt; Source/WebCore/rendering/RenderFlexibleBox.cpp:86
&gt;&gt; +    auto handleScrollbarWidth = [&amp;]() {
&gt; 
&gt; Nit: maybe addScrollbarWidth?

Done!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1756860</commentid>
    <comment_count>21</comment_count>
      <attachid>427744</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-05 01:49:15 -0700</bug_when>
    <thetext>Created attachment 427744
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758803</commentid>
    <comment_count>22</comment_count>
      <attachid>427744</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-05-10 21:04:57 -0700</bug_when>
    <thetext>Comment on attachment 427744
Patch

This is one of those &quot;hard to review&quot; patches. it&apos;s really difficult to tell if it covers all the cases or whether it does not cause any unexpected states in the renderers. I even added &quot;contain: size&quot; to LFC to have a better understanding but it did not really help. Guess we&apos;ll just need to deal with the potential fallout from this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758830</commentid>
    <comment_count>23</comment_count>
      <attachid>427744</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2021-05-10 23:59:37 -0700</bug_when>
    <thetext>Comment on attachment 427744
Patch

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

&gt; Source/WebCore/rendering/RenderBox.cpp:2865
&gt; +        auto borderAndPading = RenderBox::borderBefore() + RenderBox::paddingBefore() + RenderBox::borderAfter() + RenderBox::paddingAfter();

Can use borderAndPaddingBefore/borderAndPaddingAfter here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758850</commentid>
    <comment_count>24</comment_count>
      <attachid>428256</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-11 01:34:44 -0700</bug_when>
    <thetext>Created attachment 428256
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758851</commentid>
    <comment_count>25</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-11 01:38:10 -0700</bug_when>
    <thetext>(In reply to Rob Buis from comment #23)
&gt; Comment on attachment 427744 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=427744&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderBox.cpp:2865
&gt; &gt; +        auto borderAndPading = RenderBox::borderBefore() + RenderBox::paddingBefore() + RenderBox::borderAfter() + RenderBox::paddingAfter();
&gt; 
&gt; Can use borderAndPaddingBefore/borderAndPaddingAfter here.

Thanks, Rob!

The borderAndPadding* interfaces eventually call RenderBlock::borderBefore which addes intrinsicBorderForFieldset(). I&apos;ve added more detailed explanation in the comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758852</commentid>
    <comment_count>26</comment_count>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-11 01:42:47 -0700</bug_when>
    <thetext>(In reply to zalan from comment #22)
&gt; Comment on attachment 427744 [details]
&gt; Patch
&gt; 
&gt; This is one of those &quot;hard to review&quot; patches. it&apos;s really difficult to tell
&gt; if it covers all the cases or whether it does not cause any unexpected
&gt; states in the renderers. I even added &quot;contain: size&quot; to LFC to have a
&gt; better understanding but it did not really help. Guess we&apos;ll just need to
&gt; deal with the potential fallout from this.

Hi zalan,

Thanks a lot for doing that!
I think I can keep eyes on the follow-up bugs if any.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758874</commentid>
    <comment_count>27</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-11 04:57:20 -0700</bug_when>
    <thetext>Zalan Bujtas found in /Volumes/Data/worker/Commit-Queue/build/LayoutTests/ChangeLog does not appear to be a valid reviewer according to contributors.json.
/Volumes/Data/worker/Commit-Queue/build/LayoutTests/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758876</commentid>
    <comment_count>28</comment_count>
      <attachid>428264</attachid>
    <who name="cathiechen">cathiechen</who>
    <bug_when>2021-05-11 05:12:04 -0700</bug_when>
    <thetext>Created attachment 428264
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758880</commentid>
    <comment_count>29</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-11 05:49:53 -0700</bug_when>
    <thetext>Committed r277321 (237580@main): &lt;https://commits.webkit.org/237580@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428264.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424901</attachid>
            <date>2021-04-01 09:18:26 -0700</date>
            <delta_ts>2021-04-01 09:29:04 -0700</delta_ts>
            <desc>size-containment-WIP</desc>
            <filename>css-contain-size-wip.diff</filename>
            <type>text/plain</type>
            <size>38645</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDQxMGNmMzZhYmMuLmQyNGQ4ODAyNWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtNDgwNCw2NSArNDgwNCwxOCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMAog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1zdGFja2luZy1jb250ZXh0LTAwMWIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDI1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjcuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLTA0MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDQyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LTA2MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS0wNjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2NC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ibG9jay0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2Nr
LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDA0Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1ib3JkZXJzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1icmVha3MtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWZpZWxkc2V0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWZsZXgtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1mbGV4Ym94LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ncmlkLTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5l
LWJsb2NrLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5lLWJsb2NrLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5lLWJsb2NrLTAwMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5lLWJsb2NrLTAwNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtaW5saW5lLWZsZXgtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1tb25vbGl0aGljLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9ub2xp
dGhpYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXJlcGxhY2VkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDNhLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDNiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1yZXBsYWNlZC0wMDNjLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBs
YWNlZC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtc2Nyb2xsYmFycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNjcm9sbGJh
cnMtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNl
bGVjdC1lbGVtLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0t
MDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwNS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtdGFibGUtY2FwdGlvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQKaW5kZXggZTE2ZDY3ZGJmNy4uOTg3ZDhi
ZjYyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0xMyw4ICsxMywx
NCBAQCBQQVNTIC5ncmlkIDExCiBQQVNTIC5ncmlkIDEyCiBQQVNTIC5ncmlkIDEzCiBQQVNTIC5n
cmlkIDE0Ci1QQVNTIC5ncmlkIDE1Ci1QQVNTIC5ncmlkIDE2CitGQUlMIC5ncmlkIDE1IGFzc2Vy
dF9lcXVhbHM6Cis8ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDogbWlubWF4KDQwcHgsIDYw
cHgpIC8gbWlubWF4KDUwcHgsIDEwMHB4KTsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj4KKzwvZGl2PgoraGVpZ2h0IGV4cGVjdGVkIDYwIGJ1dCBn
b3QgNDAKK0ZBSUwgLmdyaWQgMTYgYXNzZXJ0X2VxdWFsczoKKzxkaXYgY2xhc3M9ImdyaWQiIHN0
eWxlPSJncmlkOiBtaW5tYXgoNDBweCwgNjBweCkgLyBtaW5tYXgoNTBweCwgMTAwcHgpOyB3aWR0
aDogbWluLWNvbnRlbnQ7IGhlaWdodDogbWluLWNvbnRlbnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj4KKzwvZGl2PgoraGVpZ2h0IGV4cGVjdGVk
IDYwIGJ1dCBnb3QgNDAKIFBBU1MgLmdyaWQgMTcKIFBBU1MgLmdyaWQgMTgKIFBBU1MgLmdyaWQg
MTkKQEAgLTQ4LDcgKzU0LDcgQEAgRkFJTCAuZ3JpZCAzOSBhc3NlcnRfZXF1YWxzOgogICA8ZGl2
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRh
LW9mZnNldC14PSIwIiBkYXRhLW9mZnNldC15PSIxMCI+WFhYPC9kaXY+CiAgIDxkaXYgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCIgZGF0YS1vZmZzZXQt
eD0iMTAwIiBkYXRhLW9mZnNldC15PSIxMCI+WFhYWDwvZGl2PgogPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAxMDAgYnV0IGdvdCAxNDAKK2hlaWdodCBleHBlY3RlZCAxMCBidXQgZ290IDAKIAogWAog
WFgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CmluZGV4IDcwY2Q3ZTYxOTEuLmM0
NTRjZWNmOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dApAQCAtMSwxMDgg
KzEsMTE2IEBACiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBl
eHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwotRkFJTCAu
Z3JpZCA0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4LWNvbnRl
bnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAg
PGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhY
WDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlk
IDQKIFBBU1MgLmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwgLmdyaWQg
OCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5YWFhYPC9k
aXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgOAog
UEFTUyAuZ3JpZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIGNhbGMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3JpZCAxMgot
UEFTUyAuZ3JpZCAxMworRkFJTCAuZ3JpZCAxMyBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0i
Z3JpZCBtaW5tYXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+PC9kaXY+Cis8L2Rpdj4KK2hlaWdo
dCBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCiBGQUlMIC5ncmlkIDE0IGFzc2VydF9lcXVhbHM6CiA8
ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1pbi1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KICAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+
CiA8L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAxMDAKLVBBU1MgLmdyaWQgMTUKLVBB
U1MgLmdyaWQgMTYKLVBBU1MgLmdyaWQgMTcKLVBBU1MgLmdyaWQgMTgKK2hlaWdodCBleHBlY3Rl
ZCAxMDAgYnV0IGdvdCAwCitGQUlMIC5ncmlkIDE1IGFzc2VydF9lcXVhbHM6Cis8ZGl2IGNsYXNz
PSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCI+PC9kaXY+Cis8L2Rpdj4K
K2hlaWdodCBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCitGQUlMIC5ncmlkIDE2IGFzc2VydF9lcXVh
bHM6Cis8ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1heC1jb250ZW50IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8
ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCI+
WFhYWDwvZGl2PgorPC9kaXY+CitoZWlnaHQgZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAorRkFJTCAu
Z3JpZCAxNyBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1m
aXhlZCBmaXhlZCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMTAwIj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIyMDAiPjwvZGl2PgorPC9kaXY+CitoZWlnaHQgZXhwZWN0ZWQgMTAwIGJ1dCBnb3Qg
NTAKK0ZBSUwgLmdyaWQgMTggYXNzZXJ0X2VxdWFsczoKKzxkaXYgY2xhc3M9ImdyaWQgbWlubWF4
LXBlcmNlbnQtZml4ZWQgZml4ZWQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjEwMCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMjAwIj5YWFhYPC9kaXY+Cis8L2Rpdj4KK2hlaWdodCBleHBlY3Rl
ZCAxMDAgYnV0IGdvdCA1MAogUEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3Jp
ZCAyMQotRkFJTCAuZ3JpZCAyMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtZml4ZWQtcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGgg
ZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQ
QVNTIC5ncmlkIDI0CiBQQVNTIC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6
Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNT
IC5ncmlkIDI3Ci1GQUlMIC5ncmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlk
IG1pbm1heC1wZXJjZW50LWZsZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgorUEFTUyAuZ3JpZCAyOAorRkFJ
TCAuZ3JpZCAyOSBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2Vu
dC1mbGV4IGZpeGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjIwMCI+PC9kaXY+Cis8L2Rpdj4KK2hlaWdodCBleHBlY3RlZCAxMDAgYnV0IGdv
dCA1MAorRkFJTCAuZ3JpZCAzMCBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtcGVyY2VudC1mbGV4IGZpeGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCI+WFhYWDwvZGl2PgogPC9kaXY+Ci13aWR0aCBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMzAwCi1QQVNTIC5ncmlkIDI5Ci1QQVNTIC5ncmlkIDMwCitoZWlnaHQgZXhw
ZWN0ZWQgMTAwIGJ1dCBnb3QgNTAKIFBBU1MgLmdyaWQgMzEKIEZBSUwgLmdyaWQgMzIgYXNzZXJ0
X2VxdWFsczoKIDxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50IG1pbi1j
b250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+
CiAgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIz
MDAiPlhYWFg8L2Rpdj4KIDwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAord2lk
dGggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAogUEFTUyAuZ3JpZCAzMwogRkFJTCAuZ3JpZCAzNCBh
c3NlcnRfZXF1YWxzOgogPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtaW50cmluc2ljLXBlcmNlbnQg
bWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIwIj4KICAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjMwMCI+WFhYWDwvZGl2PgogPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAw
Ci1QQVNTIC5ncmlkIDM1Ci1QQVNTIC5ncmlkIDM2Ci1QQVNTIC5ncmlkIDM3Ci1GQUlMIC5ncmlk
IDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWludHJp
bnNpYyBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIwIj5YWFhYPC9kaXY+Cit3aWR0aCBleHBlY3RlZCAzMDAgYnV0IGdvdCAwCitGQUlM
IC5ncmlkIDM1IGFzc2VydF9lcXVhbHM6Cis8ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1pbnRyaW5z
aWMtcGVyY2VudCBmaXhlZCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMTAwIj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjEwMCI+PC9kaXY+CiA8L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdv
dCAzMDAKLVBBU1MgLmdyaWQgMzkKLUZBSUwgLmdyaWQgNDAgYXNzZXJ0X2VxdWFsczoKLTxkaXYg
Y2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50cmluc2ljIG1heC1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KK3dp
ZHRoIGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK0ZBSUwgLmdyaWQgMzYgYXNzZXJ0X2VxdWFsczoK
KzxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50IGZpeGVkIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9k
aXY+CiA8L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK3dpZHRoIGV4cGVjdGVk
IDMwMCBidXQgZ290IDAKK1BBU1MgLmdyaWQgMzcKK1BBU1MgLmdyaWQgMzgKK1BBU1MgLmdyaWQg
MzkKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQgNDEKLVBBU1MgLmdyaWQgNDIKK0ZBSUwgLmdy
aWQgNDIgYXNzZXJ0X2VxdWFsczoKKzxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50
cmluc2ljIGZpeGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMjAwIj5YWFhYPC9kaXY+Cis8L2Rpdj4KK2hlaWdodCBleHBlY3RlZCA3NSBidXQg
Z290IDUwCiBQQVNTIC5ncmlkIDQzCiBGQUlMIC5ncmlkIDQ0IGFzc2VydF9lcXVhbHM6CiA8ZGl2
IGNsYXNzPSJncmlkIGZpdC1jb250ZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+CiAgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWln
aHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KIDwvZGl2Pgotd2lk
dGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAord2lkdGggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAog
UEFTUyAuZ3JpZCA0NQogRkFJTCAuZ3JpZCA0NiBhc3NlcnRfZXF1YWxzOgogPGRpdiBjbGFzcz0i
Z3JpZCBmaXQtY29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgogICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+CiA8L2Rpdj4KLXdpZHRoIGV4cGVj
dGVkIDAgYnV0IGdvdCAzMDAKK3dpZHRoIGV4cGVjdGVkIDMwMCBidXQgZ290IDAKIFBBU1MgLmdy
aWQgNDcKLVBBU1MgLmdyaWQgNDgKK0ZBSUwgLmdyaWQgNDggYXNzZXJ0X2VxdWFsczoKKzxkaXYg
Y2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgZml4ZWQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KKzwvZGl2Pgord2lkdGgg
ZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAogWFhYWAogWFhYWAogWFhYWApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAppbmRleCAzZTE0MDg2
N2I3Li4zZTc5OTFjMWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMt
ZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMt
ZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw1IEBACiBUaGVyZSBzaG91bGQgYmUg
YSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJTCAjZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVsdGljb2wiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+Ci0gICAgPGRpdiBzdHlsZT0id2lkdGg6
MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2ZsZXggMQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmluZGV4IGY3MTZh
OWJkODguLjQxNjBkNzk1ZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9H
cmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC03MzYsOSArNzM2LDkgQEAgdm9pZCBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6
ZXMoKQogCiAgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVj
dGlvbik7CiAgICAgZm9yIChhdXRvJiB0cmFjayA6IGFsbFRyYWNrcykgewotICAgICAgICBBU1NF
UlQoIXRyYWNrLmluZmluaXRlR3Jvd3RoUG90ZW50aWFsKCkpOworICAgICAgICBBU1NFUlQobV9y
ZW5kZXJHcmlkLT5zaG91bGRBcHBseVNpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0
ZUdyb3d0aFBvdGVudGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5i
YXNlU2l6ZSgpOwotICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0
KCk7CisgICAgICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmlu
aXRlKCkgPyB0cmFjay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAg
Ly8gVGhlIGdyb3d0aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8g
cHJvcGVybHkgc29ydAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBh
biBldmVudHVhbCAiTWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGlt
aXRDYXAoV1RGOjpudWxsb3B0KTsKQEAgLTEzMjUsNiArMTMyNSwxMSBAQCB2b2lkIEdyaWRUcmFj
a1NpemluZ0FsZ29yaXRobTo6cnVuKCkKICAgICBjb25zdCBPcHRpb25hbDxMYXlvdXRVbml0PiBp
bml0aWFsRnJlZVNwYWNlID0gZnJlZVNwYWNlKG1fZGlyZWN0aW9uKTsKICAgICBpbml0aWFsaXpl
VHJhY2tTaXplcygpOwogCisgICAgaWYobV9yZW5kZXJHcmlkLT5zaG91bGRBcHBseVNpemVDb250
YWlubWVudCgpKSB7CisgICAgICAgIGNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMo
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwogICAgIC8vIFN0ZXAgMi4KICAgICBpZiAoIW1f
Y29udGVudFNpemVkVHJhY2tzSW5kZXguaXNFbXB0eSgpKQogICAgICAgICByZXNvbHZlSW50cmlu
c2ljVHJhY2tTaXplcygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAK
aW5kZXggODAxNDA4NTI1OC4uMDliMTQ1OTA5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCkBAIC0yMjYxLDggKzIyNjEsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpv
ZmZzZXRGb3JDb250ZW50cyhMYXlvdXRQb2ludCYgb2Zmc2V0KSBjb25zdAogdm9pZCBSZW5kZXJC
bG9jazo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNh
bFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CiAgICAgQVNTRVJU
KCFjaGlsZHJlbklubGluZSgpKTsKLSAgICAKLSAgICBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICBpZiAoIXNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCiAgICAg
bWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lk
dGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tG
bG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmlu
ZGV4IDRkNDI0MzQzYWEuLjM2NTgzM2Q4ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC0zMzksMTAgKzMzOSwxMiBAQCB2b2lkIFJlbmRlckJs
b2NrRmxvdzo6YWRqdXN0SW50cmluc2ljTG9naWNhbFdpZHRoc0ZvckNvbHVtbnMoTGF5b3V0VW5p
dCYgbWluTG9naQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dp
Y2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCi0gICAgICAgIGNv
bXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9n
aWNhbFdpZHRoKTsKLSAgICBlbHNlCi0gICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2lj
YWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIGlmICghc2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSkgeworICAgICAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkKKyAgICAgICAgICAgIGNvbXB1dGVJbmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxv
Z2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
Y29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExv
Z2ljYWxXaWR0aCk7CisgICAgfQogCiAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWlu
TG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IDMyYmI2YzMxODIuLmIxNGE0MmE0OWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCkBAIC0yODc2LDYgKzI4NzYsMTEgQEAgdm9pZCBSZW5k
ZXJCb3g6OmNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbShMYXlv
dXRVbml0IGhlaWdodCkKIAogdm9pZCBSZW5kZXJCb3g6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQoKQog
eworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpICYmICFpc1JlbmRlckdyaWQo
KSkgeworICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGluZyA9IFJlbmRlckJveDo6Ym9yZGVyQmVm
b3JlKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdCZWZvcmUoKSArIFJlbmRlckJveDo6Ym9yZGVyQWZ0
ZXIoKSArIFJlbmRlckJveDo6cGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHNldExvZ2ljYWxIZWln
aHQoYm9yZGVyQW5kUGFkaW5nICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAgICB9CisK
ICAgICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oY29udGVu
dExvZ2ljYWxIZWlnaHQoKSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNvbXB1dGVMb2dp
Y2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBzZXRMb2dpY2Fs
SGVpZ2h0KGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKQEAgLTQ4NTcsNyArNDg2Miw4IEBAIGJv
b2wgUmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBjb25zdAogICAgIHJl
dHVybiBpc1JlcGxhY2VkKCkKICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxlU2Nyb2xsaW5nT3Zl
cmZsb3coKQogICAgICAgICB8fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9kZVJvb3QoKSkKLSAg
ICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lk
OjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKTsKKyAgICAg
ICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpG
aXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQorICAgICAgICB8
fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckJv
eDo6bGluZUhlaWdodChib29sIC8qZmlyc3RMaW5lKi8sIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVj
dGlvbiwgTGluZVBvc2l0aW9uTW9kZSAvKmxpbmVQb3NpdGlvbk1vZGUqLykgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJs
ZUJveC5jcHAKaW5kZXggNGYyZDFmM2RiMS4uY2Y4ODA3NWE5NyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAK
QEAgLTE4NywyNiArMTg3LDI4IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpz
dHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJlCiAKIHZvaWQgUmVu
ZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhM
YXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkg
Y29uc3QKIHsKLSAgICBpZiAoaGFzTXVsdGlwbGVMaW5lcygpIHx8IGlzVmVydGljYWwoKSkgewot
ICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBj
aGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGRE
b2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQpKQotICAgICAgICAgICAgICAgIGNvbnRp
bnVlOworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSkgeworICAgICAgICBp
ZiAoaGFzTXVsdGlwbGVMaW5lcygpIHx8IGlzVmVydGljYWwoKSkgeworICAgICAgICAgICAgZm9y
IChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGls
ZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RB
ZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OwogCi0gICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQo
Y2hpbGQpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IGNoaWxkLT5taW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9
IHN0ZDo6bWF4KHdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIExheW91
dFVuaXQgbWFyZ2luID0gbWFyZ2luV2lkdGhGb3JDaGlsZChjaGlsZCk7CisgICAgICAgICAgICAg
ICAgTGF5b3V0VW5pdCB3aWR0aCA9IGNoaWxkLT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSAr
IG1hcmdpbjsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0
aCwgbWluTG9naWNhbFdpZHRoKTsKIAotICAgICAgICAgICAgd2lkdGggPSBjaGlsZC0+bWF4UHJl
ZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47Ci0gICAgICAgICAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heCh3aWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLSAgICAgICAgfQotICAgIH0g
ZWxzZSB7Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgICAgIGlm
IChjaGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCi0gICAgICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgICAgICAgICAgd2lkdGggPSBjaGlsZC0+bWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRo
ID0gc3RkOjptYXgod2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB9CisgICAg
ICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENo
aWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CisgICAg
ICAgICAgICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkK
KyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIExheW91dFVuaXQg
bWFyZ2luID0gbWFyZ2luV2lkdGhGb3JDaGlsZChjaGlsZCk7Ci0gICAgICAgICAgICBtaW5Mb2dp
Y2FsV2lkdGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOwot
ICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGgoKSArIG1hcmdpbjsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1h
cmdpbldpZHRoRm9yQ2hpbGQoY2hpbGQpOworICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCArPSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAg
ICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGgoKSArIG1hcmdpbjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAK
aW5kZXggM2QxMjNjNTRiNS4uMDRmNzA1NzRiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0xOTcsNiArMTk3LDgg
QEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBw
YWludEluZm8sIGNvbnN0IExheW91dFBvaW4KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdp
ZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3Vs
ZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIHJldHVybjsKICAgICAvLyBGaWd1cmUg
b3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51
bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAgLy8gKHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFy
YWN0ZXIpLgogICAgIGNvbnN0IFVDaGFyIGNoYXJhY3RlciA9ICcwJzsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4IDJjYzkzZDZhZDkuLjY1
MTYxNmFiMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcApAQCAtODMsNjAgKzgzLDYyIEBAIGNvbnN0IGNoYXIqIFJlbmRlckZsZXhpYmxlQm94
OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRV
bml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBjaGlsZE1pbldp
ZHRoOwotICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKLSAgICBib29sIGhhZEV4Y2x1ZGVk
Q2hpbGRyZW4gPSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJlbihjaGls
ZE1pbldpZHRoLCBjaGlsZE1heFdpZHRoKTsKLQotICAgIC8vIEZJWE1FOiBXZSdyZSBpZ25vcmlu
ZyBmbGV4LWJhc2lzIGhlcmUgYW5kIHdlIHNob3VsZG4ndC4gV2UgY2FuJ3Qgc3RhcnQKLSAgICAv
LyBob25vcmluZyBpdCB0aG91Z2ggdW50aWwgdGhlIGZsZXggc2hvcnRoYW5kIHN0b3BzIHNldHRp
bmcgaXQgdG8gMC4gU2VlCi0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExNjExNyBhbmQKLSAgICAvLyBodHRwczovL2NyYnVnLmNvbS8yNDA3NjUuCi0gICAg
c2l6ZV90IG51bUl0ZW1zV2l0aE5vcm1hbExheW91dCA9IDA7Ci0gICAgZm9yIChSZW5kZXJCb3gq
IGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxp
bmdCb3goKSkgewotICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8
IGNoaWxkLT5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQotICAgICAgICAgICAgY29udGlu
dWU7Ci0gICAgICAgICsrbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0OworICAgIGlmICghc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoKSkgeworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWluV2lk
dGg7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKKyAgICAgICAgYm9vbCBoYWRF
eGNsdWRlZENoaWxkcmVuID0gY29tcHV0ZVByZWZlcnJlZFdpZHRoc0ZvckV4Y2x1ZGVkQ2hpbGRy
ZW4oY2hpbGRNaW5XaWR0aCwgY2hpbGRNYXhXaWR0aCk7CisKKyAgICAgICAgLy8gRklYTUU6IFdl
J3JlIGlnbm9yaW5nIGZsZXgtYmFzaXMgaGVyZSBhbmQgd2Ugc2hvdWxkbid0LiBXZSBjYW4ndCBz
dGFydAorICAgICAgICAvLyBob25vcmluZyBpdCB0aG91Z2ggdW50aWwgdGhlIGZsZXggc2hvcnRo
YW5kIHN0b3BzIHNldHRpbmcgaXQgdG8gMC4gU2VlCisgICAgICAgIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMTcgYW5kCisgICAgICAgIC8vIGh0dHBzOi8v
Y3JidWcuY29tLzI0MDc2NS4KKyAgICAgICAgc2l6ZV90IG51bUl0ZW1zV2l0aE5vcm1hbExheW91
dCA9IDA7CisgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgIGlm
IChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hpbGQtPmlzRXhjbHVkZWRGcm9t
Tm9ybWFsTGF5b3V0KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAr
K251bUl0ZW1zV2l0aE5vcm1hbExheW91dDsKIAotICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9
IG1hcmdpbkludHJpbnNpY0xvZ2ljYWxXaWR0aEZvckNoaWxkKCpjaGlsZCk7Ci0gICAgICAgIAot
ICAgICAgICBMYXlvdXRVbml0IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgTGF5
b3V0VW5pdCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAgICAgIGNvbXB1dGVDaGlsZFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aHMoKmNoaWxkLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIAotICAgICAgICBtaW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGggKz0gbWFyZ2luOwotICAgICAgICBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgg
Kz0gbWFyZ2luOwotCi0gICAgICAgIGlmICghaXNDb2x1bW5GbG93KCkpIHsKLSAgICAgICAgICAg
IG1heExvZ2ljYWxXaWR0aCArPSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAgICAgICAg
ICBpZiAoaXNNdWx0aWxpbmUoKSkgewotICAgICAgICAgICAgICAgIC8vIEZvciBtdWx0aWxpbmUs
IHRoZSBtaW4gcHJlZmVycmVkIHdpZHRoIGlzIGlmIHlvdSBwdXQgYSBicmVhayBiZXR3ZWVuCi0g
ICAgICAgICAgICAgICAgLy8gZWFjaCBpdGVtLgotICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCAr
PSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1p
bkxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCht
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICBM
YXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbkludHJpbnNpY0xvZ2ljYWxXaWR0aEZvckNoaWxkKCpj
aGlsZCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExheW91dFVuaXQgbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoOworICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGg7CisgICAgICAgICAgICBjb21wdXRlQ2hpbGRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCpj
aGlsZCwgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgp
OworICAgICAgICAgICAgCisgICAgICAgICAgICBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggKz0g
bWFyZ2luOworICAgICAgICAgICAgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1hcmdpbjsK
KworICAgICAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSkgeworICAgICAgICAgICAgICAgIG1h
eExvZ2ljYWxXaWR0aCArPSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGg7CisgICAgICAgICAgICAg
ICAgaWYgKGlzTXVsdGlsaW5lKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRm9yIG11bHRp
bGluZSwgdGhlIG1pbiBwcmVmZXJyZWQgd2lkdGggaXMgaWYgeW91IHB1dCBhIGJyZWFrIGJldHdl
ZW4KKyAgICAgICAgICAgICAgICAgICAgLy8gZWFjaCBpdGVtLgorICAgICAgICAgICAgICAgICAg
ICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAgICAgICAg
ICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7CisgICAgICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4
KG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWluTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAg
ICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgs
IG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICB9CiAKLSAg
ICBpZiAoIWlzQ29sdW1uRmxvdygpICYmIG51bUl0ZW1zV2l0aE5vcm1hbExheW91dCA+IDEpIHsK
LSAgICAgICAgTGF5b3V0VW5pdCBpbmxpbmVHYXBTaXplID0gKG51bUl0ZW1zV2l0aE5vcm1hbExh
eW91dCAtIDEpICogY29tcHV0ZUdhcChHYXBUeXBlOjpCZXR3ZWVuSXRlbXMpOwotICAgICAgICBt
YXhMb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKLSAgICAgICAgaWYgKCFpc011bHRpbGlu
ZSgpKQotICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7Ci0gICAg
fQorICAgICAgICBpZiAoIWlzQ29sdW1uRmxvdygpICYmIG51bUl0ZW1zV2l0aE5vcm1hbExheW91
dCA+IDEpIHsKKyAgICAgICAgICAgIExheW91dFVuaXQgaW5saW5lR2FwU2l6ZSA9IChudW1JdGVt
c1dpdGhOb3JtYWxMYXlvdXQgLSAxKSAqIGNvbXB1dGVHYXAoR2FwVHlwZTo6QmV0d2Vlbkl0ZW1z
KTsKKyAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBpbmxpbmVHYXBTaXplOworICAgICAg
ICAgICAgaWYgKCFpc011bHRpbGluZSgpKQorICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCArPSBpbmxpbmVHYXBTaXplOworICAgICAgICB9CiAKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBz
dGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7Ci0gICAgCi0gICAgLy8g
RHVlIHRvIG5lZ2F0aXZlIG1hcmdpbnMsIGl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgY2FsY3VsYXRl
ZCBhIG5lZ2F0aXZlCi0gICAgLy8gaW50cmluc2ljIHdpZHRoLiBNYWtlIHN1cmUgdGhhdCB3ZSBu
ZXZlciByZXR1cm4gYSBuZWdhdGl2ZSB3aWR0aC4KLSAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6
Om1heCgwX2x1LCBtaW5Mb2dpY2FsV2lkdGgpOwotICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWF4KDBfbHUsIG1heExvZ2ljYWxXaWR0aCk7Ci0gICAgCi0gICAgaWYgKGhhZEV4Y2x1ZGVkQ2hp
bGRyZW4pIHsKLSAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdp
ZHRoLCBjaGlsZE1pbldpZHRoKTsKLSAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bWF4TG9naWNhbFdpZHRoLCBjaGlsZE1heFdpZHRoKTsKKyAgICAgICAgbWF4TG9naWNhbFdpZHRo
ID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAK
KyAgICAgICAgLy8gRHVlIHRvIG5lZ2F0aXZlIG1hcmdpbnMsIGl0IGlzIHBvc3NpYmxlIHRoYXQg
d2UgY2FsY3VsYXRlZCBhIG5lZ2F0aXZlCisgICAgICAgIC8vIGludHJpbnNpYyB3aWR0aC4gTWFr
ZSBzdXJlIHRoYXQgd2UgbmV2ZXIgcmV0dXJuIGEgbmVnYXRpdmUgd2lkdGguCisgICAgICAgIG1p
bkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIG1pbkxvZ2ljYWxXaWR0aCk7CisgICAgICAg
IG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIG1heExvZ2ljYWxXaWR0aCk7CisgICAg
ICAgIAorICAgICAgICBpZiAoaGFkRXhjbHVkZWRDaGlsZHJlbikgeworICAgICAgICAgICAgbWlu
TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBjaGlsZE1pbldpZHRoKTsK
KyAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heExvZ2ljYWxXaWR0aCwg
Y2hpbGRNYXhXaWR0aCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBMYXlvdXRVbml0IHNjcm9s
bGJhcldpZHRoKHNjcm9sbGJhckxvZ2ljYWxXaWR0aCgpKTsKQEAgLTEwMjMsOSArMTAyNSwxMSBA
QCB2b2lkIFJlbmRlckZsZXhpYmxlQm94OjpsYXlvdXRGbGV4SXRlbXMoYm9vbCByZWxheW91dENo
aWxkcmVuKQogICAgICAgICAvLyBJbnN0ZWFkIG9mIGp1c3QgY2hlY2tpbmcgaWYgd2UgaGF2ZSBh
IGxpbmUsIG1ha2Ugc3VyZSB0aGUgZmxleGJveAogICAgICAgICAvLyBoYXMgYXQgbGVhc3QgYSBs
aW5lJ3Mgd29ydGggb2YgaGVpZ2h0IHRvIGNvdmVyIHRoaXMgY2FzZS4KICAgICAgICAgTGF5b3V0
VW5pdCBtaW5IZWlnaHQgPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpICsgbGluZUhl
aWdodCh0cnVlLCBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gSG9yaXpvbnRhbExpbmUgOiBW
ZXJ0aWNhbExpbmUsIFBvc2l0aW9uT2ZJbnRlcmlvckxpbmVCb3hlcykgKyBzY3JvbGxiYXJMb2dp
Y2FsSGVpZ2h0KCk7Ci0gICAgICAgIGlmIChzaXplKCkuaGVpZ2h0KCkgPCBtaW5IZWlnaHQpCisg
ICAgICAgIGlmIChzaXplKCkuaGVpZ2h0KCkgPCBtaW5IZWlnaHQvKiB8fCBzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgpKi8pCiAgICAgICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KG1pbkhlaWdo
dCk7Ci0gICAgfQorICAgIH0vKiBlbHNlIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgp
KSB7CisgICAgICAgIHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWln
aHQoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CisgICAgfSovCiAKICAgICBpZiAoIWlz
Q29sdW1uRmxvdygpICYmIG51bUxpbmVzID4gMSkKICAgICAgICAgc2V0TG9naWNhbEhlaWdodChs
b2dpY2FsSGVpZ2h0KCkgKyBjb21wdXRlR2FwKEdhcFR5cGU6OkJldHdlZW5MaW5lcykgKiAobnVt
TGluZXMgLSAxKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
SW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRl
eCA3ODMwMWU2MGM5Li5hOGM4ZjU0MDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKQEAgLTg0NCw2ICs4NDQsNyBAQCB2b2lkIFJlbmRlckltYWdlOjpsYXlvdXRT
aGFkb3dDb250ZW50KGNvbnN0IExheW91dFNpemUmIG9sZFNpemUpCiAKIHZvaWQgUmVuZGVySW1h
Z2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2lj
U2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKKyAgICBBU1NFUlQoIXNob3Vs
ZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpOwogICAgIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAK
ICAgICAvLyBPdXIgaW50cmluc2ljU2l6ZSBpcyBlbXB0eSBpZiB3ZSdyZSByZW5kZXJpbmcgZ2Vu
ZXJhdGVkIGltYWdlcyB3aXRoIHJlbGF0aXZlIHdpZHRoL2hlaWdodC4gRmlndXJlIG91dCB0aGUg
cmlnaHQgaW50cmluc2ljIHNpemUgdG8gdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwCmluZGV4IDA2NGY4MTQ4ODkuLjgxYzBiZTQ4ODIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2
b2lkIFJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCkKIAogdm9pZCBSZW5k
ZXJMaXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5M
b2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBt
YXhMb2dpY2FsV2lkdGggPSBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6
b250YWw7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KSA/IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0aCArIDIgKiBv
cHRpb25zU3BhY2luZ0hvcml6b250YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAgICAgbWF4TG9n
aWNhbFdpZHRoICs9IG1fdkJhci0+d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5p
c1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCmluZGV4IGYzOTRiZDYzMzYuLjAwZDMxMzdiODEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcgKzMxNSw4IEBAIExh
eW91dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2lu
dCYgYWRkaXRpb25hbE9mZnNldCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJp
bnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0
JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjpt
YXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSkg
KyBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdo
dCgpOworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkg
PyB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkgOiBzdGQ6Om1heChtX29wdGlv
bnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxlKCkpKTsKKyAgICBtYXhM
b2dpY2FsV2lkdGggKz0gbV9pbm5lckJsb2NrLT5wYWRkaW5nTGVmdCgpICsgbV9pbm5lckJsb2Nr
LT5wYWRkaW5nUmlnaHQoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNh
bGN1bGF0ZWQoKSkKICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gbWF4TG9naWNhbFdpZHRoOwog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDQ1MDFhZDVlMWMu
LjQ5MzlmODFlNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAg
LTcyNCw2ICs3MjQsMTUgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgZGVidWdEZXNj
cmlwdGlvbigpIGNvbnN0OwogCisgICAgYm9vbCBpc0F0b21pY0lubGluZUxldmVsQm94KCkgY29u
c3QgeworICAgICAgICByZXR1cm4gc3R5bGUoKS5pc0Rpc3BsYXlJbmxpbmVUeXBlKCkgJiYgIShz
dHlsZSgpLmRpc3BsYXkoKSA9PSBEaXNwbGF5VHlwZTo6SW5saW5lICYmICFpc1JlcGxhY2VkKCkp
OworICAgIH0KKworICAgIGJvb2wgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSBjb25zdCB7
CisgICAgICAgIHJldHVybiBzdHlsZSgpLmNvbnRhaW4oKS5jb250YWlucyhDb250YWlubWVudDo6
U2l6ZSkgJiYgKCFpc0lubGluZSgpIHx8IGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkKKyAgICAg
ICAgICAgICYmICFpc1J1YnlUZXh0KCkgJiYgKCFpc1RhYmxlUGFydCgpIHx8IGlzVGFibGVDYXB0
aW9uKCkpICYmICFpc1RhYmxlKCk7CisgICAgfQorCiBwcm90ZWN0ZWQ6CiAgICAgLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCiAgICAgLy8gSGVscGVyIGZ1bmN0aW9u
cy4gRGFuZ2Vyb3VzIHRvIHVzZSEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwCmluZGV4IDZmZjQ2NzA0NDQuLjQ3YzE2YWI1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMzg5LDcgKzM4OSw5IEBAIGJvb2wg
UmVuZGVyUmVwbGFjZWQ6OnNldE5lZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVD
aGFuZ2UoKQogdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRp
b25Gb3JSZW5kZXJCb3goUmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIsIEZsb2F0U2l6ZSYgY29u
c3RyYWluZWRTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIEZsb2F0
U2l6ZSBpbnRyaW5zaWNTaXplOwotICAgIGlmIChjb250ZW50UmVuZGVyZXIpIHsKKyAgICBpZiAo
c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNv
bXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1Jh
dGlvKTsKKyAgICBlbHNlIGlmIChjb250ZW50UmVuZGVyZXIpIHsKICAgICAgICAgY29udGVudFJl
bmRlcmVyLT5jb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBp
bnRyaW5zaWNSYXRpbyk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkg
PT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9
PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAmJiAhaW50cmluc2ljUmF0aW8pKQpAQCAt
NDc3LDcgKzQ3OSw3IEBAIFJvdW5kZWRSZWN0IFJlbmRlclJlcGxhY2VkOjpyb3VuZGVkQ29udGVu
dEJveFJlY3QoKSBjb25zdAogdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1Jh
dGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNp
Y1JhdGlvKSBjb25zdAogewogICAgIC8vIElmIHRoZXJlJ3MgYW4gZW1iZWRkZWRDb250ZW50Qm94
KCkgb2YgYSByZW1vdGUsIHJlZmVyZW5jZWQgZG9jdW1lbnQgYXZhaWxhYmxlLCB0aGlzIGNvZGUt
cGF0aCBzaG91bGQgbmV2ZXIgYmUgdXNlZC4KLSAgICBBU1NFUlQoIWVtYmVkZGVkQ29udGVudEJv
eCgpKTsKKyAgICBBU1NFUlQoIWVtYmVkZGVkQ29udGVudEJveCgpIHx8IHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KCkpOwogICAgIGludHJpbnNpY1NpemUgPSBGbG9hdFNpemUoaW50cmluc2lj
TG9naWNhbFdpZHRoKCksIGludHJpbnNpY0xvZ2ljYWxIZWlnaHQoKSk7CiAKICAgICBpZiAoc3R5
bGUoKS5oYXNBc3BlY3RSYXRpbygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5oCmluZGV4IGMyZTA2OTVjMDMuLmUzOGZlNzQ0YzUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC00MCw3ICs0MCwxMSBAQCBwdWJsaWM6CiAg
ICAgYm9vbCBoYXNSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAgICBib29sIHNldE5l
ZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVDaGFuZ2UoKTsKIAotICAgIExheW91
dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faW50cmluc2ljU2l6
ZTsgfQorICAgIExheW91dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0IGZpbmFsIHsKKyAgICAg
ICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgICAgICByZXR1cm4g
TGF5b3V0U2l6ZSgpOworICAgICAgICByZXR1cm4gbV9pbnRyaW5zaWNTaXplOworICAgIH0KICAg
ICAKICAgICBSb3VuZGVkUmVjdCByb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKaW5kZXggNGQyNzhkMTcy
Zi4uMjNiYmE0ZmFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNsaWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5j
cHAKQEAgLTY5LDYgKzY5LDggQEAgaW50IFJlbmRlclNsaWRlcjo6YmFzZWxpbmVQb3NpdGlvbihG
b250QmFzZWxpbmUsIGJvb2wgLypmaXJzdExpbmUqLywgTGluZURpcmVjdGkKIAogdm9pZCBSZW5k
ZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxv
Z2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlm
IChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpKQorICAgICAgICByZXR1cm47CiAgICAgbWF4
TG9naWNhbFdpZHRoID0gZGVmYXVsdFRyYWNrTGVuZ3RoICogc3R5bGUoKS5lZmZlY3RpdmVab29t
KCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRoKCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAg
ICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1heExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IGRjMDU4ZDUzNDYuLjE5
MWUzYzkwMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0
Q29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcApAQCAtMTU2LDYgKzE1Niw4IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpzY2Fs
ZUVtVG9Vbml0cyhpbnQgeCkgY29uc3QKIAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0
ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlv
dXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIHJldHVybjsKICAgICAvLyBVc2UgYXZlcmFnZSBjaGFy
YWN0ZXIgd2lkdGguIE1hdGNoZXMgSUUuCiAgICAgbWF4TG9naWNhbFdpZHRoID0gcHJlZmVycmVk
Q29udGVudExvZ2ljYWxXaWR0aChjb25zdF9jYXN0PFJlbmRlclRleHRDb250cm9sKj4odGhpcykt
PmdldEF2ZXJhZ2VDaGFyV2lkdGgoKSk7CiAgICAgaWYgKFJlbmRlckJveCogaW5uZXJUZXh0UmVu
ZGVyQm94ID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJCb3goKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCmluZGV4IGM2ZDA0NDE2NmMuLjIzODhhMThkYzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcApAQCAtMTIzLDYgKzEyMyw5
IEBAIGJvb2wgUmVuZGVyVmlkZW86OnVwZGF0ZUludHJpbnNpY1NpemUoKQogCiBMYXlvdXRTaXpl
IFJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKCkKIHsKKyAgICBpZiAoc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKwog
ICAgIC8vIFNwZWMgdGV4dCBmcm9tIDQuOC42CiAgICAgLy8KICAgICAvLyBUaGUgaW50cmluc2lj
IHdpZHRoIG9mIGEgdmlkZW8gZWxlbWVudCdzIHBsYXliYWNrIGFyZWEgaXMgdGhlIGludHJpbnNp
YyB3aWR0aCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVy
U1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3Qu
Y3BwCmluZGV4IDE3NWI1NmM5ZDYuLjFjMmE3NjkxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtNzAsNiArNzAsOCBAQCBTVkdTVkdF
bGVtZW50JiBSZW5kZXJTVkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIAogdm9pZCBSZW5k
ZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGlu
dHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJU
KCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpKTsKKwogICAgIC8vIFNwZWM6IGh0dHA6Ly93
d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNJbnRyaW5zaWNTaXppbmcKICAgICAvLyBTVkcg
bmVlZHMgdG8gc3BlY2lmeSBob3cgdG8gY2FsY3VsYXRlIHNvbWUgaW50cmluc2ljIHNpemluZyBw
cm9wZXJ0aWVzIHRvIGVuYWJsZSBpbmNsdXNpb24gd2l0aGluIG90aGVyIGxhbmd1YWdlcy4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>424903</attachid>
            <date>2021-04-01 09:29:04 -0700</date>
            <delta_ts>2021-04-12 09:07:59 -0700</delta_ts>
            <desc>WIP-patch-for-size-containment</desc>
            <filename>css-contain-size-wip-002.diff</filename>
            <type>text/plain</type>
            <size>37772</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9U
ZXN0RXhwZWN0YXRpb25zCmluZGV4IDQxMGNmMzZhYmMuLmQyNGQ4ODAyNWYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucwpAQCAtNDgwNCw2NSArNDgwNCwxOCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMAog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC1zdGFja2luZy1jb250ZXh0LTAwMWIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWlu
dC10YWJsZS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC10YWJsZS0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtMDEzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLTAyMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDI1
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjcuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLTA0MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDQyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNTYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LTA2MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS0wNjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2NC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ibG9jay0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2Nr
LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDA0Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1ib3JkZXJzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1icmVha3MtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWZpZWxkc2V0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAz
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWZsZXgtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1mbGV4Ym94LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ncmlkLTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5l
LWJsb2NrLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5lLWJsb2NrLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5lLWJsb2NrLTAwMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtaW5saW5lLWJsb2NrLTAwNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtaW5saW5lLWZsZXgtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1tb25vbGl0aGljLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9ub2xp
dGhpYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXJlcGxhY2VkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDNhLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDNiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1yZXBsYWNlZC0wMDNjLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBs
YWNlZC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDA2Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtc2Nyb2xsYmFycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNjcm9sbGJh
cnMtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNl
bGVjdC1lbGVtLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0t
MDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwNS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtdGFibGUtY2FwdGlvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zdHJpY3QtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQKaW5kZXggZTE2ZDY3ZGJmNy4uOTg3ZDhi
ZjYyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0xMyw4ICsxMywx
NCBAQCBQQVNTIC5ncmlkIDExCiBQQVNTIC5ncmlkIDEyCiBQQVNTIC5ncmlkIDEzCiBQQVNTIC5n
cmlkIDE0Ci1QQVNTIC5ncmlkIDE1Ci1QQVNTIC5ncmlkIDE2CitGQUlMIC5ncmlkIDE1IGFzc2Vy
dF9lcXVhbHM6Cis8ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDogbWlubWF4KDQwcHgsIDYw
cHgpIC8gbWlubWF4KDUwcHgsIDEwMHB4KTsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj4KKzwvZGl2PgoraGVpZ2h0IGV4cGVjdGVkIDYwIGJ1dCBn
b3QgNDAKK0ZBSUwgLmdyaWQgMTYgYXNzZXJ0X2VxdWFsczoKKzxkaXYgY2xhc3M9ImdyaWQiIHN0
eWxlPSJncmlkOiBtaW5tYXgoNDBweCwgNjBweCkgLyBtaW5tYXgoNTBweCwgMTAwcHgpOyB3aWR0
aDogbWluLWNvbnRlbnQ7IGhlaWdodDogbWluLWNvbnRlbnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSI1MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjYwIj4KKzwvZGl2PgoraGVpZ2h0IGV4cGVjdGVk
IDYwIGJ1dCBnb3QgNDAKIFBBU1MgLmdyaWQgMTcKIFBBU1MgLmdyaWQgMTgKIFBBU1MgLmdyaWQg
MTkKQEAgLTQ4LDcgKzU0LDcgQEAgRkFJTCAuZ3JpZCAzOSBhc3NlcnRfZXF1YWxzOgogICA8ZGl2
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRh
LW9mZnNldC14PSIwIiBkYXRhLW9mZnNldC15PSIxMCI+WFhYPC9kaXY+CiAgIDxkaXYgZGF0YS1l
eHBlY3RlZC13aWR0aD0iNDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCIgZGF0YS1vZmZzZXQt
eD0iMTAwIiBkYXRhLW9mZnNldC15PSIxMCI+WFhYWDwvZGl2PgogPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAxMDAgYnV0IGdvdCAxNDAKK2hlaWdodCBleHBlY3RlZCAxMCBidXQgZ290IDAKIAogWAog
WFgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CmluZGV4IDcwY2Q3ZTYxOTEuLmM0
NTRjZWNmOGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dApAQCAtMSwxMDgg
KzEsMTE2IEBACiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBl
eHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwotRkFJTCAu
Z3JpZCA0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4LWNvbnRl
bnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAg
PGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhY
WDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlk
IDQKIFBBU1MgLmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwgLmdyaWQg
OCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5YWFhYPC9k
aXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgOAog
UEFTUyAuZ3JpZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIGNhbGMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3JpZCAxMgot
UEFTUyAuZ3JpZCAxMworRkFJTCAuZ3JpZCAxMyBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0i
Z3JpZCBtaW5tYXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+PC9kaXY+Cis8L2Rpdj4KK2hlaWdo
dCBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCiBGQUlMIC5ncmlkIDE0IGFzc2VydF9lcXVhbHM6CiA8
ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1pbi1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KICAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+
CiA8L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAxMDAKLVBBU1MgLmdyaWQgMTUKLVBB
U1MgLmdyaWQgMTYKLVBBU1MgLmdyaWQgMTcKLVBBU1MgLmdyaWQgMTgKK2hlaWdodCBleHBlY3Rl
ZCAxMDAgYnV0IGdvdCAwCitGQUlMIC5ncmlkIDE1IGFzc2VydF9lcXVhbHM6Cis8ZGl2IGNsYXNz
PSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCI+PC9kaXY+Cis8L2Rpdj4K
K2hlaWdodCBleHBlY3RlZCAxMDAgYnV0IGdvdCAwCitGQUlMIC5ncmlkIDE2IGFzc2VydF9lcXVh
bHM6Cis8ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1heC1jb250ZW50IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8
ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCI+
WFhYWDwvZGl2PgorPC9kaXY+CitoZWlnaHQgZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMAorRkFJTCAu
Z3JpZCAxNyBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1m
aXhlZCBmaXhlZCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMTAwIj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIyMDAiPjwvZGl2PgorPC9kaXY+CitoZWlnaHQgZXhwZWN0ZWQgMTAwIGJ1dCBnb3Qg
NTAKK0ZBSUwgLmdyaWQgMTggYXNzZXJ0X2VxdWFsczoKKzxkaXYgY2xhc3M9ImdyaWQgbWlubWF4
LXBlcmNlbnQtZml4ZWQgZml4ZWQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjEwMCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMjAwIj5YWFhYPC9kaXY+Cis8L2Rpdj4KK2hlaWdodCBleHBlY3Rl
ZCAxMDAgYnV0IGdvdCA1MAogUEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3Jp
ZCAyMQotRkFJTCAuZ3JpZCAyMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtZml4ZWQtcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGgg
ZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQ
QVNTIC5ncmlkIDI0CiBQQVNTIC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6
Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNT
IC5ncmlkIDI3Ci1GQUlMIC5ncmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlk
IG1pbm1heC1wZXJjZW50LWZsZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgorUEFTUyAuZ3JpZCAyOAorRkFJ
TCAuZ3JpZCAyOSBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2Vu
dC1mbGV4IGZpeGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjIwMCI+PC9kaXY+Cis8L2Rpdj4KK2hlaWdodCBleHBlY3RlZCAxMDAgYnV0IGdv
dCA1MAorRkFJTCAuZ3JpZCAzMCBhc3NlcnRfZXF1YWxzOgorPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtcGVyY2VudC1mbGV4IGZpeGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjIwMCI+WFhYWDwvZGl2PgogPC9kaXY+Ci13aWR0aCBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMzAwCi1QQVNTIC5ncmlkIDI5Ci1QQVNTIC5ncmlkIDMwCitoZWlnaHQgZXhw
ZWN0ZWQgMTAwIGJ1dCBnb3QgNTAKIFBBU1MgLmdyaWQgMzEKIEZBSUwgLmdyaWQgMzIgYXNzZXJ0
X2VxdWFsczoKIDxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50IG1pbi1j
b250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+
CiAgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIz
MDAiPlhYWFg8L2Rpdj4KIDwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAord2lk
dGggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAogUEFTUyAuZ3JpZCAzMwogRkFJTCAuZ3JpZCAzNCBh
c3NlcnRfZXF1YWxzOgogPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtaW50cmluc2ljLXBlcmNlbnQg
bWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIwIj4KICAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjMwMCI+WFhYWDwvZGl2PgogPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAw
Ci1QQVNTIC5ncmlkIDM1Ci1QQVNTIC5ncmlkIDM2Ci1QQVNTIC5ncmlkIDM3Ci1GQUlMIC5ncmlk
IDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWludHJp
bnNpYyBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIwIj5YWFhYPC9kaXY+Cit3aWR0aCBleHBlY3RlZCAzMDAgYnV0IGdvdCAwCitGQUlM
IC5ncmlkIDM1IGFzc2VydF9lcXVhbHM6Cis8ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1pbnRyaW5z
aWMtcGVyY2VudCBmaXhlZCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMTAwIj4KKyAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjEwMCI+PC9kaXY+CiA8L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdv
dCAzMDAKLVBBU1MgLmdyaWQgMzkKLUZBSUwgLmdyaWQgNDAgYXNzZXJ0X2VxdWFsczoKLTxkaXYg
Y2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50cmluc2ljIG1heC1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KK3dp
ZHRoIGV4cGVjdGVkIDEwMCBidXQgZ290IDAKK0ZBSUwgLmdyaWQgMzYgYXNzZXJ0X2VxdWFsczoK
KzxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50IGZpeGVkIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgorICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9k
aXY+CiA8L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK3dpZHRoIGV4cGVjdGVk
IDMwMCBidXQgZ290IDAKK1BBU1MgLmdyaWQgMzcKK1BBU1MgLmdyaWQgMzgKK1BBU1MgLmdyaWQg
MzkKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQgNDEKLVBBU1MgLmdyaWQgNDIKK0ZBSUwgLmdy
aWQgNDIgYXNzZXJ0X2VxdWFsczoKKzxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50
cmluc2ljIGZpeGVkIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIxMDAiPgorICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMjAwIj5YWFhYPC9kaXY+Cis8L2Rpdj4KK2hlaWdodCBleHBlY3RlZCA3NSBidXQg
Z290IDUwCiBQQVNTIC5ncmlkIDQzCiBGQUlMIC5ncmlkIDQ0IGFzc2VydF9lcXVhbHM6CiA8ZGl2
IGNsYXNzPSJncmlkIGZpdC1jb250ZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+CiAgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWln
aHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KIDwvZGl2Pgotd2lk
dGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAord2lkdGggZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAog
UEFTUyAuZ3JpZCA0NQogRkFJTCAuZ3JpZCA0NiBhc3NlcnRfZXF1YWxzOgogPGRpdiBjbGFzcz0i
Z3JpZCBmaXQtY29udGVudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgogICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+CiA8L2Rpdj4KLXdpZHRoIGV4cGVj
dGVkIDAgYnV0IGdvdCAzMDAKK3dpZHRoIGV4cGVjdGVkIDMwMCBidXQgZ290IDAKIFBBU1MgLmdy
aWQgNDcKLVBBU1MgLmdyaWQgNDgKK0ZBSUwgLmdyaWQgNDggYXNzZXJ0X2VxdWFsczoKKzxkaXYg
Y2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgZml4ZWQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+CisgIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KKzwvZGl2Pgord2lkdGgg
ZXhwZWN0ZWQgMzAwIGJ1dCBnb3QgMAogWFhYWAogWFhYWAogWFhYWApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAppbmRleCAzZTE0MDg2
N2I3Li4zZTc5OTFjMWMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMt
ZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMt
ZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw1IEBACiBUaGVyZSBzaG91bGQgYmUg
YSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJTCAjZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVsdGljb2wiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+Ci0gICAgPGRpdiBzdHlsZT0id2lkdGg6
MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2ZsZXggMQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCmluZGV4IGY3MTZh
OWJkODguLjNjYzc2M2I2YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9H
cmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC03MzYsOSArNzM2LDkgQEAgdm9pZCBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6
ZXMoKQogCiAgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVj
dGlvbik7CiAgICAgZm9yIChhdXRvJiB0cmFjayA6IGFsbFRyYWNrcykgewotICAgICAgICBBU1NF
UlQoIXRyYWNrLmluZmluaXRlR3Jvd3RoUG90ZW50aWFsKCkpOworICAgICAgICBBU1NFUlQobV9y
ZW5kZXJHcmlkLT5zaG91bGRBcHBseVNpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0
ZUdyb3d0aFBvdGVudGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5i
YXNlU2l6ZSgpOwotICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0
KCk7CisgICAgICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmlu
aXRlKCkgPyB0cmFjay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAg
Ly8gVGhlIGdyb3d0aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8g
cHJvcGVybHkgc29ydAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBh
biBldmVudHVhbCAiTWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGlt
aXRDYXAoV1RGOjpudWxsb3B0KTsKQEAgLTEzMjUsNiArMTMyNSwxMSBAQCB2b2lkIEdyaWRUcmFj
a1NpemluZ0FsZ29yaXRobTo6cnVuKCkKICAgICBjb25zdCBPcHRpb25hbDxMYXlvdXRVbml0PiBp
bml0aWFsRnJlZVNwYWNlID0gZnJlZVNwYWNlKG1fZGlyZWN0aW9uKTsKICAgICBpbml0aWFsaXpl
VHJhY2tTaXplcygpOwogCisgICAgaWYgKG1fcmVuZGVyR3JpZC0+c2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoKSkgeworICAgICAgICBjb21wdXRlR3JpZENvbnRhaW5lckludHJpbnNpY1NpemVz
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBTdGVwIDIuCiAgICAgaWYgKCFt
X2NvbnRlbnRTaXplZFRyYWNrc0luZGV4LmlzRW1wdHkoKSkKICAgICAgICAgcmVzb2x2ZUludHJp
bnNpY1RyYWNrU2l6ZXMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3Bw
CmluZGV4IDgwMTQwODUyNTguLjA5YjE0NTkwOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtMjI2MSw4ICsyMjYxLDggQEAgdm9pZCBSZW5kZXJCbG9jazo6
b2Zmc2V0Rm9yQ29udGVudHMoTGF5b3V0UG9pbnQmIG9mZnNldCkgY29uc3QKIHZvaWQgUmVuZGVy
QmxvY2s6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2lj
YWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewogICAgIEFTU0VS
VCghY2hpbGRyZW5JbmxpbmUoKSk7Ci0gICAgCi0gICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9n
aWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFz
aG91bGRBcHBseVNpemVDb250YWlubWVudCgpKQorICAgICAgICBjb21wdXRlQmxvY2tQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKIAogICAg
IG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdp
ZHRoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApp
bmRleCA0ZDQyNDM0M2FhLi4zNjU4MzNkOGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzM5LDEwICszMzksMTIgQEAgdm9pZCBSZW5kZXJC
bG9ja0Zsb3c6OmFkanVzdEludHJpbnNpY0xvZ2ljYWxXaWR0aHNGb3JDb2x1bW5zKExheW91dFVu
aXQmIG1pbkxvZ2kKIAogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9n
aWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChjaGlsZHJlbklubGluZSgpKQotICAgICAgICBj
b21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExv
Z2ljYWxXaWR0aCk7Ci0gICAgZWxzZQotICAgICAgICBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICBpZiAoIXNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5l
KCkpCisgICAgICAgICAgICBjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5M
b2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhM
b2dpY2FsV2lkdGgpOworICAgIH0KIAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1p
bkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAppbmRleCAzMmJiNmMzMTgyLi5iMTRhNDJhNDljIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjg3Niw2ICsyODc2LDExIEBAIHZvaWQgUmVu
ZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5
b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkK
IHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSAmJiAhaXNSZW5kZXJHcmlk
KCkpIHsKKyAgICAgICAgYXV0byBib3JkZXJBbmRQYWRpbmcgPSBSZW5kZXJCb3g6OmJvcmRlckJl
Zm9yZSgpICsgUmVuZGVyQm94OjpwYWRkaW5nQmVmb3JlKCkgKyBSZW5kZXJCb3g6OmJvcmRlckFm
dGVyKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdBZnRlcigpOworICAgICAgICBzZXRMb2dpY2FsSGVp
Z2h0KGJvcmRlckFuZFBhZGluZyArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSk7CisgICAgfQor
CiAgICAgY2FjaGVJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKGNvbnRl
bnRMb2dpY2FsSGVpZ2h0KCkpOwogICAgIGF1dG8gY29tcHV0ZWRWYWx1ZXMgPSBjb21wdXRlTG9n
aWNhbEhlaWdodChsb2dpY2FsSGVpZ2h0KCksIGxvZ2ljYWxUb3AoKSk7CiAgICAgc2V0TG9naWNh
bEhlaWdodChjb21wdXRlZFZhbHVlcy5tX2V4dGVudCk7CkBAIC00ODU3LDcgKzQ4NjIsOCBAQCBi
b29sIFJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uKCkgY29uc3QKICAgICBy
ZXR1cm4gaXNSZXBsYWNlZCgpCiAgICAgICAgIHx8IGhhc1Vuc3BsaXR0YWJsZVNjcm9sbGluZ092
ZXJmbG93KCkKICAgICAgICAgfHwgKHBhcmVudCgpICYmIGlzV3JpdGluZ01vZGVSb290KCkpCi0g
ICAgICAgIHx8IChpc0Zsb2F0aW5nKCkgJiYgc3R5bGUoKS5zdHlsZVR5cGUoKSA9PSBQc2V1ZG9J
ZDo6Rmlyc3RMZXR0ZXIgJiYgc3R5bGUoKS5pbml0aWFsTGV0dGVyRHJvcCgpID4gMCk7CisgICAg
ICAgIHx8IChpc0Zsb2F0aW5nKCkgJiYgc3R5bGUoKS5zdHlsZVR5cGUoKSA9PSBQc2V1ZG9JZDo6
Rmlyc3RMZXR0ZXIgJiYgc3R5bGUoKS5pbml0aWFsTGV0dGVyRHJvcCgpID4gMCkKKyAgICAgICAg
fHwgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJC
b3g6OmxpbmVIZWlnaHQoYm9vbCAvKmZpcnN0TGluZSovLCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJl
Y3Rpb24sIExpbmVQb3NpdGlvbk1vZGUgLypsaW5lUG9zaXRpb25Nb2RlKi8pIGNvbnN0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxl
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3guY3BwCmluZGV4IDRmMmQxZjNkYjEuLmNmODgwNzVhOTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3Bw
CkBAIC0xODcsMjYgKzE4NywyOCBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6
c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZQogCiB2b2lkIFJl
bmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0CiB7Ci0gICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1ZlcnRpY2FsKCkpIHsK
LSAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICAgICAgaWYgKGNoaWxk
RG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkKLSAgICAgICAgICAgICAgICBjb250
aW51ZTsKKyAgICBpZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpIHsKKyAgICAgICAg
aWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1ZlcnRpY2FsKCkpIHsKKyAgICAgICAgICAgIGZv
ciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hp
bGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90
QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKIAotICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxk
KGNoaWxkKTsKLSAgICAgICAgICAgIExheW91dFVuaXQgd2lkdGggPSBjaGlsZC0+bWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47Ci0gICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGgg
PSBzdGQ6Om1heCh3aWR0aCwgbWluTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICBMYXlv
dXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hpbGQpOworICAgICAgICAgICAg
ICAgIExheW91dFVuaXQgd2lkdGggPSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkg
KyBtYXJnaW47CisgICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lk
dGgsIG1pbkxvZ2ljYWxXaWR0aCk7CiAKLSAgICAgICAgICAgIHdpZHRoID0gY2hpbGQtPm1heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOwotICAgICAgICAgICAgbWF4TG9naWNhbFdp
ZHRoID0gc3RkOjptYXgod2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIH0KLSAgICB9
IGVsc2UgewotICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICBp
ZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQpKQotICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIHdpZHRoID0gY2hpbGQtPm1heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KHdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgfQorICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RD
aGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAg
ICAgICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkp
CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBMYXlvdXRVbml0
IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hpbGQpOwotICAgICAgICAgICAgbWluTG9n
aWNhbFdpZHRoICs9IGNoaWxkLT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsK
LSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBt
YXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lk
dGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOworICAgICAg
ICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdp
ZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
CmluZGV4IDNkMTIzYzU0YjUuLjA0ZjcwNTc0YmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcApAQCAtMTk3LDYgKzE5Nyw4
IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2luCiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxX
aWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91
bGRBcHBseVNpemVDb250YWlubWVudCgpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gRmlndXJl
IG91dCBob3cgYmlnIHRoZSBmaWxlbmFtZSBzcGFjZSBuZWVkcyB0byBiZSBmb3IgYSBnaXZlbiBu
dW1iZXIgb2YgY2hhcmFjdGVycwogICAgIC8vICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hh
cmFjdGVyKS4KICAgICBjb25zdCBVQ2hhciBjaGFyYWN0ZXIgPSAnMCc7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAyY2M5M2Q2YWQ5Li41
ZWY0MTVkYmZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJs
ZUJveC5jcHAKQEAgLTgzLDYwICs4Myw2MiBAQCBjb25zdCBjaGFyKiBSZW5kZXJGbGV4aWJsZUJv
eDo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIExheW91dFVuaXQgY2hpbGRNaW5X
aWR0aDsKLSAgICBMYXlvdXRVbml0IGNoaWxkTWF4V2lkdGg7Ci0gICAgYm9vbCBoYWRFeGNsdWRl
ZENoaWxkcmVuID0gY29tcHV0ZVByZWZlcnJlZFdpZHRoc0ZvckV4Y2x1ZGVkQ2hpbGRyZW4oY2hp
bGRNaW5XaWR0aCwgY2hpbGRNYXhXaWR0aCk7Ci0KLSAgICAvLyBGSVhNRTogV2UncmUgaWdub3Jp
bmcgZmxleC1iYXNpcyBoZXJlIGFuZCB3ZSBzaG91bGRuJ3QuIFdlIGNhbid0IHN0YXJ0Ci0gICAg
Ly8gaG9ub3JpbmcgaXQgdGhvdWdoIHVudGlsIHRoZSBmbGV4IHNob3J0aGFuZCBzdG9wcyBzZXR0
aW5nIGl0IHRvIDAuIFNlZQotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMTYxMTcgYW5kCi0gICAgLy8gaHR0cHM6Ly9jcmJ1Zy5jb20vMjQwNzY1LgotICAg
IHNpemVfdCBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgPSAwOwotICAgIGZvciAoUmVuZGVyQm94
KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJs
aW5nQm94KCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8
fCBjaGlsZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKLSAgICAgICAgICAgIGNvbnRp
bnVlOwotICAgICAgICArK251bUl0ZW1zV2l0aE5vcm1hbExheW91dDsKKyAgICBpZiAoIXNob3Vs
ZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBjaGlsZE1pbldp
ZHRoOworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWF4V2lkdGg7CisgICAgICAgIGJvb2wgaGFk
RXhjbHVkZWRDaGlsZHJlbiA9IGNvbXB1dGVQcmVmZXJyZWRXaWR0aHNGb3JFeGNsdWRlZENoaWxk
cmVuKGNoaWxkTWluV2lkdGgsIGNoaWxkTWF4V2lkdGgpOworCisgICAgICAgIC8vIEZJWE1FOiBX
ZSdyZSBpZ25vcmluZyBmbGV4LWJhc2lzIGhlcmUgYW5kIHdlIHNob3VsZG4ndC4gV2UgY2FuJ3Qg
c3RhcnQKKyAgICAgICAgLy8gaG9ub3JpbmcgaXQgdGhvdWdoIHVudGlsIHRoZSBmbGV4IHNob3J0
aGFuZCBzdG9wcyBzZXR0aW5nIGl0IHRvIDAuIFNlZQorICAgICAgICAvLyBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MTE3IGFuZAorICAgICAgICAvLyBodHRwczov
L2NyYnVnLmNvbS8yNDA3NjUuCisgICAgICAgIHNpemVfdCBudW1JdGVtc1dpdGhOb3JtYWxMYXlv
dXQgPSAwOworICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7
IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CisgICAgICAgICAgICBp
ZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0V4Y2x1ZGVkRnJv
bU5vcm1hbExheW91dCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
KytudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQ7CiAKLSAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4g
PSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgqY2hpbGQpOwotICAgICAgICAK
LSAgICAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAgICAgIExh
eW91dFVuaXQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICBjb21wdXRlQ2hpbGRQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKCpjaGlsZCwgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBt
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAKLSAgICAgICAgbWluUHJlZmVycmVk
TG9naWNhbFdpZHRoICs9IG1hcmdpbjsKLSAgICAgICAgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
ICs9IG1hcmdpbjsKLQotICAgICAgICBpZiAoIWlzQ29sdW1uRmxvdygpKSB7Ci0gICAgICAgICAg
ICBtYXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICAg
ICAgaWYgKGlzTXVsdGlsaW5lKCkpIHsKLSAgICAgICAgICAgICAgICAvLyBGb3IgbXVsdGlsaW5l
LCB0aGUgbWluIHByZWZlcnJlZCB3aWR0aCBpcyBpZiB5b3UgcHV0IGEgYnJlYWsgYmV0d2Vlbgot
ICAgICAgICAgICAgICAgIC8vIGVhY2ggaXRlbS4KLSAgICAgICAgICAgICAgICBtaW5Mb2dpY2Fs
V2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGgg
Kz0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBt
aW5Mb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
TGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgq
Y2hpbGQpOworICAgICAgICAgICAgCisgICAgICAgICAgICBMYXlvdXRVbml0IG1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIExheW91dFVuaXQgbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoOworICAgICAgICAgICAgY29tcHV0ZUNoaWxkUHJlZmVycmVkTG9naWNhbFdpZHRocygq
Y2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoICs9
IG1hcmdpbjsKKyAgICAgICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47
CisKKyAgICAgICAgICAgIGlmICghaXNDb2x1bW5GbG93KCkpIHsKKyAgICAgICAgICAgICAgICBt
YXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOworICAgICAgICAgICAg
ICAgIGlmIChpc011bHRpbGluZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEZvciBtdWx0
aWxpbmUsIHRoZSBtaW4gcHJlZmVycmVkIHdpZHRoIGlzIGlmIHlvdSBwdXQgYSBicmVhayBiZXR3
ZWVuCisgICAgICAgICAgICAgICAgICAgIC8vIGVhY2ggaXRlbS4KKyAgICAgICAgICAgICAgICAg
ICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAg
ICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1h
eChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7CisgICAgICAgICAg
ICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgfQogCi0g
ICAgaWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgPiAxKSB7
Ci0gICAgICAgIExheW91dFVuaXQgaW5saW5lR2FwU2l6ZSA9IChudW1JdGVtc1dpdGhOb3JtYWxM
YXlvdXQgLSAxKSAqIGNvbXB1dGVHYXAoR2FwVHlwZTo6QmV0d2Vlbkl0ZW1zKTsKLSAgICAgICAg
bWF4TG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7Ci0gICAgICAgIGlmICghaXNNdWx0aWxp
bmUoKSkKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBpbmxpbmVHYXBTaXplOwotICAg
IH0KKyAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVtc1dpdGhOb3JtYWxMYXlv
dXQgPiAxKSB7CisgICAgICAgICAgICBMYXlvdXRVbml0IGlubGluZUdhcFNpemUgPSAobnVtSXRl
bXNXaXRoTm9ybWFsTGF5b3V0IC0gMSkgKiBjb21wdXRlR2FwKEdhcFR5cGU6OkJldHdlZW5JdGVt
cyk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKKyAgICAg
ICAgICAgIGlmICghaXNNdWx0aWxpbmUoKSkKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lk
dGggKz0gaW5saW5lR2FwU2l6ZTsKKyAgICAgICAgfQogCi0gICAgbWF4TG9naWNhbFdpZHRoID0g
c3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIAotICAgIC8v
IER1ZSB0byBuZWdhdGl2ZSBtYXJnaW5zLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdlIGNhbGN1bGF0
ZWQgYSBuZWdhdGl2ZQotICAgIC8vIGludHJpbnNpYyB3aWR0aC4gTWFrZSBzdXJlIHRoYXQgd2Ug
bmV2ZXIgcmV0dXJuIGEgbmVnYXRpdmUgd2lkdGguCi0gICAgbWluTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgoMF9sdSwgbWluTG9naWNhbFdpZHRoKTsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6
Om1heCgwX2x1LCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIAotICAgIGlmIChoYWRFeGNsdWRlZENo
aWxkcmVuKSB7Ci0gICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxX
aWR0aCwgY2hpbGRNaW5XaWR0aCk7Ci0gICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4
KG1heExvZ2ljYWxXaWR0aCwgY2hpbGRNYXhXaWR0aCk7CisgICAgICAgIG1heExvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAg
CisgICAgICAgIC8vIER1ZSB0byBuZWdhdGl2ZSBtYXJnaW5zLCBpdCBpcyBwb3NzaWJsZSB0aGF0
IHdlIGNhbGN1bGF0ZWQgYSBuZWdhdGl2ZQorICAgICAgICAvLyBpbnRyaW5zaWMgd2lkdGguIE1h
a2Ugc3VyZSB0aGF0IHdlIG5ldmVyIHJldHVybiBhIG5lZ2F0aXZlIHdpZHRoLgorICAgICAgICBt
aW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBtaW5Mb2dpY2FsV2lkdGgpOworICAgICAg
ICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBtYXhMb2dpY2FsV2lkdGgpOworICAg
ICAgICAKKyAgICAgICAgaWYgKGhhZEV4Y2x1ZGVkQ2hpbGRyZW4pIHsKKyAgICAgICAgICAgIG1p
bkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgY2hpbGRNaW5XaWR0aCk7
CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhMb2dpY2FsV2lkdGgs
IGNoaWxkTWF4V2lkdGgpOworICAgICAgICB9CiAgICAgfQogCiAgICAgTGF5b3V0VW5pdCBzY3Jv
bGxiYXJXaWR0aChzY3JvbGxiYXJMb2dpY2FsV2lkdGgoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA3ODMwMWU2MGM5Li5hOGM4ZjU0MDRmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKQEAgLTg0NCw2ICs4NDQsNyBAQCB2
b2lkIFJlbmRlckltYWdlOjpsYXlvdXRTaGFkb3dDb250ZW50KGNvbnN0IExheW91dFNpemUmIG9s
ZFNpemUpCiAKIHZvaWQgUmVuZGVySW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0
aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29u
c3QKIHsKKyAgICBBU1NFUlQoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpOwogICAgIFJl
bmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNT
aXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAgICAvLyBPdXIgaW50cmluc2ljU2l6ZSBpcyBlbXB0
eSBpZiB3ZSdyZSByZW5kZXJpbmcgZ2VuZXJhdGVkIGltYWdlcyB3aXRoIHJlbGF0aXZlIHdpZHRo
L2hlaWdodC4gRmlndXJlIG91dCB0aGUgcmlnaHQgaW50cmluc2ljIHNpemUgdG8gdXNlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDA2NGY4MTQ4ODku
LjgxYzBiZTQ4ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5j
cHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFs
U2VsZWN0aW9uKCkKIAogdm9pZCBSZW5kZXJMaXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2lj
YWxXaWR0aCkgY29uc3QKIHsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBtX29wdGlvbnNXaWR0aCAr
IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWw7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSA/IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWwg
OiBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWw7CiAgICAgaWYg
KG1fdkJhcikKICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IG1fdkJhci0+d2lkdGgoKTsKICAg
ICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IGYzOTRiZDYzMzYuLjAw
ZDMxMzdiODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51
TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNw
cApAQCAtMzE1LDcgKzMxNSw4IEBAIExheW91dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xD
bGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkKIAogdm9pZCBSZW5k
ZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWlu
TG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAg
bWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11
bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBt
X2lubmVyQmxvY2stPnBhZGRpbmdSaWdodCgpOworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3Vs
ZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkgPyB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5
bGUoKSkgOiBzdGQ6Om1heChtX29wdGlvbnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxpc3RT
aXplKHN0eWxlKCkpKTsKKyAgICBtYXhMb2dpY2FsV2lkdGggKz0gbV9pbm5lckJsb2NrLT5wYWRk
aW5nTGVmdCgpICsgbV9pbm5lckJsb2NrLT5wYWRkaW5nUmlnaHQoKTsKICAgICBpZiAoIXN0eWxl
KCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgbWluTG9naWNhbFdp
ZHRoID0gbWF4TG9naWNhbFdpZHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oCmluZGV4IDQ1MDFhZDVlMWMuLjM2MmM1NzAyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTcyNCw2ICs3MjQsMTcgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBTdHJpbmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0OwogCisgICAgYm9vbCBpc0F0
b21pY0lubGluZUxldmVsQm94KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBzdHlsZSgp
LmlzRGlzcGxheUlubGluZVR5cGUoKSAmJiAhKHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlU
eXBlOjpJbmxpbmUgJiYgIWlzUmVwbGFjZWQoKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRB
cHBseVNpemVDb250YWlubWVudCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gc3R5bGUo
KS5jb250YWluKCkuY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpICYmICghaXNJbmxpbmUoKSB8
fCBpc0F0b21pY0lubGluZUxldmVsQm94KCkpCisgICAgICAgICAgICAmJiAhaXNSdWJ5VGV4dCgp
ICYmICghaXNUYWJsZVBhcnQoKSB8fCBpc1RhYmxlQ2FwdGlvbigpKSAmJiAhaXNUYWJsZSgpOwor
ICAgIH0KKwogcHJvdGVjdGVkOgogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLwogICAgIC8vIEhlbHBlciBmdW5jdGlvbnMuIERhbmdlcm91cyB0byB1c2UhCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA2ZmY0Njcw
NDQ0Li40N2MxNmFiNWI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAKQEAgLTM4OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVk
c0xheW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRlckJv
eCogY29udGVudFJlbmRlcmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91YmxlJiBp
bnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsKLSAg
ICBpZiAoY29udGVudFJlbmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KCkpCisgICAgICAgIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZv
cm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CisgICAgZWxzZSBpZiAoY29u
dGVudFJlbmRlcmVyKSB7CiAgICAgICAgIGNvbnRlbnRSZW5kZXJlci0+Y29tcHV0ZUludHJpbnNp
Y1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAg
ICAgIGlmIChzdHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0
aW8gfHwgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRv
QW5kUmF0aW8gJiYgIWludHJpbnNpY1JhdGlvKSkKQEAgLTQ3Nyw3ICs0NzksNyBAQCBSb3VuZGVk
UmVjdCBSZW5kZXJSZXBsYWNlZDo6cm91bmRlZENvbnRlbnRCb3hSZWN0KCkgY29uc3QKIHZvaWQg
UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6
ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICAv
LyBJZiB0aGVyZSdzIGFuIGVtYmVkZGVkQ29udGVudEJveCgpIG9mIGEgcmVtb3RlLCByZWZlcmVu
Y2VkIGRvY3VtZW50IGF2YWlsYWJsZSwgdGhpcyBjb2RlLXBhdGggc2hvdWxkIG5ldmVyIGJlIHVz
ZWQuCi0gICAgQVNTRVJUKCFlbWJlZGRlZENvbnRlbnRCb3goKSk7CisgICAgQVNTRVJUKCFlbWJl
ZGRlZENvbnRlbnRCb3goKSB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpKTsKICAgICBp
bnRyaW5zaWNTaXplID0gRmxvYXRTaXplKGludHJpbnNpY0xvZ2ljYWxXaWR0aCgpLCBpbnRyaW5z
aWNMb2dpY2FsSGVpZ2h0KCkpOwogCiAgICAgaWYgKHN0eWxlKCkuaGFzQXNwZWN0UmF0aW8oKSkg
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAppbmRleCBjMmUwNjk1
YzAzLi42NTMwNThmMWM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuaApAQCAtNDAsNyArNDAsMTIgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUmVwbGFjZWRMb2dp
Y2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgYm9vbCBzZXROZWVkc0xheW91dElmTmVlZGVkQWZ0ZXJJ
bnRyaW5zaWNTaXplQ2hhbmdlKCk7CiAKLSAgICBMYXlvdXRTaXplIGludHJpbnNpY1NpemUoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2ludHJpbnNpY1NpemU7IH0KKyAgICBMYXlvdXRTaXplIGlu
dHJpbnNpY1NpemUoKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgICAgICByZXR1cm4gTGF5b3V0U2l6ZSgpOworICAg
ICAgICByZXR1cm4gbV9pbnRyaW5zaWNTaXplOworICAgIH0KICAgICAKICAgICBSb3VuZGVkUmVj
dCByb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKaW5kZXggNGQyNzhkMTcyZi4uMjNiYmE0ZmFkOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTY5LDYgKzY5LDgg
QEAgaW50IFJlbmRlclNsaWRlcjo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUsIGJvb2wg
LypmaXJzdExpbmUqLywgTGluZURpcmVjdGkKIAogdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgpKQorICAgICAgICByZXR1cm47CiAgICAgbWF4TG9naWNhbFdpZHRoID0gZGVm
YXVsdFRyYWNrTGVuZ3RoICogc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKCFzdHls
ZSgpLndpZHRoKCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxX
aWR0aCA9IG1heExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IGRjMDU4ZDUzNDYuLjE5MWUzYzkwMGEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTU2LDYg
KzE1Niw4IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkg
Y29uc3QKIAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxX
aWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2Fs
V2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisg
ICAgICAgIHJldHVybjsKICAgICAvLyBVc2UgYXZlcmFnZSBjaGFyYWN0ZXIgd2lkdGguIE1hdGNo
ZXMgSUUuCiAgICAgbWF4TG9naWNhbFdpZHRoID0gcHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0
aChjb25zdF9jYXN0PFJlbmRlclRleHRDb250cm9sKj4odGhpcyktPmdldEF2ZXJhZ2VDaGFyV2lk
dGgoKSk7CiAgICAgaWYgKFJlbmRlckJveCogaW5uZXJUZXh0UmVuZGVyQm94ID0gaW5uZXJUZXh0
RWxlbWVudCgpLT5yZW5kZXJCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwCmluZGV4IGM2ZDA0NDE2NmMuLjIzODhhMThkYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmNwcApAQCAtMTIzLDYgKzEyMyw5IEBAIGJvb2wgUmVuZGVyVmlk
ZW86OnVwZGF0ZUludHJpbnNpY1NpemUoKQogCiBMYXlvdXRTaXplIFJlbmRlclZpZGVvOjpjYWxj
dWxhdGVJbnRyaW5zaWNTaXplKCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKSkKKyAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKwogICAgIC8vIFNwZWMgdGV4dCBm
cm9tIDQuOC42CiAgICAgLy8KICAgICAvLyBUaGUgaW50cmluc2ljIHdpZHRoIG9mIGEgdmlkZW8g
ZWxlbWVudCdzIHBsYXliYWNrIGFyZWEgaXMgdGhlIGludHJpbnNpYyB3aWR0aCAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDE3NWI1NmM5
ZDYuLjFjMmE3NjkxZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290LmNwcApAQCAtNzAsNiArNzAsOCBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJTVkdS
b290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIAogdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRl
SW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJs
ZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgpKTsKKwogICAgIC8vIFNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9j
b29yZHMuaHRtbCNJbnRyaW5zaWNTaXppbmcKICAgICAvLyBTVkcgbmVlZHMgdG8gc3BlY2lmeSBo
b3cgdG8gY2FsY3VsYXRlIHNvbWUgaW50cmluc2ljIHNpemluZyBwcm9wZXJ0aWVzIHRvIGVuYWJs
ZSBpbmNsdXNpb24gd2l0aGluIG90aGVyIGxhbmd1YWdlcy4KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425756</attachid>
            <date>2021-04-12 09:08:06 -0700</date>
            <delta_ts>2021-04-14 08:33:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210413000804.patch</filename>
            <type>text/plain</type>
            <size>63281</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg4MjQ2NjUyOTQwNzNl
MDAzZDY2ZjYxZThmMDhjMmMwYWQ4Mjc0Yi4uZDQ3MTY4YWY5MzlhMTQzMDlmMDdkOGMzOTE3OTI2
OTg1ZmJlNGY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDczIEBACisyMDIxLTA0LTEyICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5d
IFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGJyaW5ncyBpbml0aWFsIHN1cHBvcnQgb2YgQ1NTIGNv
bnRhaW46c2l6ZS4gQWNjb3JkaW5nIHRvIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY29udGFp
bi0yLyNjb250YWlubWVudC1zaXplLAorICAgICAgICB0aGUgaW50cmluc2ljIHNpemVzIG9mIHNp
emUgY29udGFpbm1lbnQgYm94IGFyZSBkZXRlcm1pbmVkIGFzIGlmIGl0IGhhZCBubyBjb250ZW50
LgorICAgICAgICBXaGVuIGNhbGN1bGF0aW5nIHRoZSB3aWR0aHMsIHNpemUgY29udGFpbm1lbnQg
Ym94ZXMgc2tpcCBjb21wdXRpbmcgbWluL21heCB3aWR0aHMgaW4gY29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMoKS4KKyAgICAgICAgRm9yIGNoaWxkcmVuIGxheW91dCBjaGFuZ2VzIHRoZSBi
b3gncyBsb2dpY2FsIGhlaWdodCBzbyBhdCB0aGUgYmVnaW5uaW5nIG9mIGNhbGN1bGF0aW5nIGxv
Z2ljYWwgaGVpZ2h0LAorICAgICAgICBzaXplIGNvbnRhaW5tZW50IGJveGVzIHJlc2V0IHRoZSBo
ZWlnaHQgdG8gdGhlIGVtcHR5IGNvbnRlbnQgaGVpZ2h0LgorCisgICAgICAgICogcmVuZGVyaW5n
L0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmlu
c2ljVHJhY2tTaXplcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0
aG06OmFkdmFuY2VOZXh0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtOjpydW4pOgorICAgICAgICAqIHJlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93OjphZGp1c3RCbG9ja0NoaWxk
Rm9yUGFnaW5hdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmFkanVz
dFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbik6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uIGNvbnN0
KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJG
aWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oOgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmxheW91
dEJsb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0
VHJhY2tzQ291bnQgY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5m
b3JtYXRpb24gY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2Fs
V2lkdGhzIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgor
ICAgICAgICAoUmVuZGVyTWVudUxpc3Q6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uRmxvdzo6dXBkYXRlU3BhY2VTaG9ydGFn
ZUZvclNpemVDb250YWlubWVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1
bW5TZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0
ZUJhbGFuY2VkSGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29s
dW1uU2V0OjpwcmVwYXJlRm9yTGF5b3V0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5TZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3ggY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlQXNwZWN0UmF0aW9JbmZvcm1h
dGlvbkZvclJlbmRlckJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNl
ZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmluc2lj
TG9naWNhbFdpZHRocyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250
cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZp
ZGVvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5z
aWNTaXplKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3Jt
YXRpb24gY29uc3QpOgorCiAyMDIxLTA0LTEyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+
CiAKICAgICAgICAgQ2xhbXAgb3ZlcnJpZGluZ0NvbnRlbnRMb2dpY2FsV2lkdGgvSGVpZ2h0IHRv
IHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDczNDM2NTdjYWZmNDRmZGU0
OTA1NS4uNDRhMTcyZGYwNjdmYmRjN2RhYWM1ZjQ5OTdjNzFjMWZkNGM5MjMwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5j
cHAKQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Y29t
cHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcygpCiAKICAgICBWZWN0b3I8R3JpZFRyYWNr
PiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKICAgICBmb3IgKGF1dG8mIHRyYWNr
IDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFTU0VSVCghdHJhY2suaW5maW5pdGVHcm93dGhQb3Rl
bnRpYWwoKSk7CisgICAgICAgIEFTU0VSVChtX3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250
YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0ZUdyb3d0aFBvdGVudGlhbCgpKTsKICAgICAgICAg
bV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5iYXNlU2l6ZSgpOwotICAgICAgICBtX21heENvbnRl
bnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0KCk7CisgICAgICAgIG1fbWF4Q29udGVudFNpemUg
Kz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmluaXRlKCkgPyB0cmFjay5iYXNlU2l6ZSgpIDogdHJh
Y2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAgLy8gVGhlIGdyb3d0aCBsaW1pdCBjYXBzIG11c3Qg
YmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8gcHJvcGVybHkgc29ydAogICAgICAgICAvLyB0cmFj
a3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBhbiBldmVudHVhbCAiTWF4aW1pemUgVHJhY2tzIi4K
ICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGltaXRDYXAoV1RGOjpudWxsb3B0KTsKQEAgLTkzMiw2
ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0
b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0Rp
cmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNlKSBjb25zdCBvdmVycmlkZTsK
ICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4RnJhY3Rpb25JZk5lZWRlZChkb3VibGUmIGZsZXhG
cmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxHcm93dGgpIGNvbnN0IG92ZXJyaWRlOwogICAgIExh
eW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIHJlbmRlckdyaWQoKS0+c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKTsgfQog
fTsKIAogdm9pZCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpsYXlvdXRHcmlkSXRlbUZvck1pblNp
emVDb21wdXRhdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBib29sIG92ZXJyaWRlU2l6ZUhhc0NoYW5n
ZWQpIGNvbnN0CkBAIC0xMDMwLDYgKzEwMzEsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQg
ZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAg
TGF5b3V0VW5pdCBtaW5Db250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94JikgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgTGF5b3V0VW5pdCBtaW5Mb2dpY2FsU2l6ZUZvckNoaWxkKFJlbmRlckJveCYsIGNvbnN0
IExlbmd0aCYgY2hpbGRNaW5TaXplLCBPcHRpb25hbDxMYXlvdXRVbml0PiBhdmFpbGFibGVTaXpl
KSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkg
Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAKIExheW91dFVuaXQgSW5kZWZp
bml0ZVNpemVTdHJhdGVneTo6ZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkgY29u
c3QKQEAgLTExNDYsMzcgKzExNDgsMzkgQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06
OmluaXRpYWxpemVUcmFja1NpemVzKCkKIAogdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06
OnJlc29sdmVJbnRyaW5zaWNUcmFja1NpemVzKCkKIHsKLSAgICBWZWN0b3I8R3JpZEl0ZW1XaXRo
U3Bhbj4gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuOwotICAgIEhhc2hTZXQ8UmVuZGVyQm94
Kj4gaXRlbXNTZXQ7CiAgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyht
X2RpcmVjdGlvbik7Ci0gICAgaWYgKG1fZ3JpZC5oYXNHcmlkSXRlbXMoKSkgewotICAgICAgICBm
b3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKLSAgICAg
ICAgICAgIEdyaWRJdGVyYXRvciBpdGVyYXRvcihtX2dyaWQsIG1fZGlyZWN0aW9uLCB0cmFja0lu
ZGV4KTsKLSAgICAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSBhbGxUcmFja3NbdHJhY2tJbmRl
eF07Ci0KLSAgICAgICAgICAgIHdoaWxlIChhdXRvKiBncmlkSXRlbSA9IGl0ZXJhdG9yLm5leHRH
cmlkSXRlbSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGl0ZW1zU2V0LmFkZChncmlkSXRlbSku
aXNOZXdFbnRyeSkgewotICAgICAgICAgICAgICAgICAgICBjb25zdCBHcmlkU3BhbiYgc3BhbiA9
IG1fZ3JpZC5ncmlkSXRlbVNwYW4oKmdyaWRJdGVtLCBtX2RpcmVjdGlvbik7Ci0gICAgICAgICAg
ICAgICAgICAgIGlmIChzcGFuLmludGVnZXJTcGFuKCkgPT0gMSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHNpemVUcmFja1RvRml0Tm9uU3Bhbm5pbmdJdGVtKHNwYW4sICpncmlkSXRlbSwgdHJh
Y2spOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghc3Bhbm5pbmdJdGVtQ3Jvc3Nlc0Zs
ZXhpYmxlU2l6ZWRUcmFja3Moc3BhbikpCi0gICAgICAgICAgICAgICAgICAgICAgICBpdGVtc1Nv
cnRlZEJ5SW5jcmVhc2luZ1NwYW4uYXBwZW5kKEdyaWRJdGVtV2l0aFNwYW4oKmdyaWRJdGVtLCBz
cGFuKSk7CisgICAgaWYgKCFtX3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgp
KSB7CisgICAgICAgIFZlY3RvcjxHcmlkSXRlbVdpdGhTcGFuPiBpdGVtc1NvcnRlZEJ5SW5jcmVh
c2luZ1NwYW47CisgICAgICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4gaXRlbXNTZXQ7CisgICAgICAg
IGlmIChtX2dyaWQuaGFzR3JpZEl0ZW1zKCkpIHsKKyAgICAgICAgICAgIGZvciAoYXV0byB0cmFj
a0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgeworICAgICAgICAgICAgICAgIEdy
aWRJdGVyYXRvciBpdGVyYXRvcihtX2dyaWQsIG1fZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKKyAg
ICAgICAgICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0gYWxsVHJhY2tzW3RyYWNrSW5kZXhdOwor
CisgICAgICAgICAgICAgICAgd2hpbGUgKGF1dG8qIGdyaWRJdGVtID0gaXRlcmF0b3IubmV4dEdy
aWRJdGVtKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGl0ZW1zU2V0LmFkZChncmlkSXRl
bSkuaXNOZXdFbnRyeSkgeworICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgR3JpZFNwYW4m
IHNwYW4gPSBtX2dyaWQuZ3JpZEl0ZW1TcGFuKCpncmlkSXRlbSwgbV9kaXJlY3Rpb24pOworICAg
ICAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW4uaW50ZWdlclNwYW4oKSA9PSAxKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHNpemVUcmFja1RvRml0Tm9uU3Bhbm5pbmdJdGVtKHNwYW4s
ICpncmlkSXRlbSwgdHJhY2spOworICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXNw
YW5uaW5nSXRlbUNyb3NzZXNGbGV4aWJsZVNpemVkVHJhY2tzKHNwYW4pKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5hcHBlbmQoR3JpZEl0
ZW1XaXRoU3BhbigqZ3JpZEl0ZW0sIHNwYW4pKTsKKyAgICAgICAgICAgICAgICAgICAgfQogICAg
ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHN0ZDo6c29ydChpdGVt
c1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYmVnaW4oKSwgaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdT
cGFuLmVuZCgpKTsKICAgICAgICAgfQotICAgICAgICBzdGQ6OnNvcnQoaXRlbXNTb3J0ZWRCeUlu
Y3JlYXNpbmdTcGFuLmJlZ2luKCksIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5lbmQoKSk7
Ci0gICAgfQogCi0gICAgYXV0byBpdCA9IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5iZWdp
bigpOwotICAgIGF1dG8gZW5kID0gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmVuZCgpOwot
ICAgIHdoaWxlIChpdCAhPSBlbmQpIHsKLSAgICAgICAgR3JpZEl0ZW1zU3Bhbkdyb3VwUmFuZ2Ug
c3Bhbkdyb3VwUmFuZ2UgPSB7IGl0LCBzdGQ6OnVwcGVyX2JvdW5kKGl0LCBlbmQsICppdCkgfTsK
LSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVJ
bnRyaW5zaWNNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpbmNyZWFzZVNpemVz
VG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZUNvbnRlbnRCYXNlZE1pbmltdW1zPihz
cGFuR3JvdXBSYW5nZSk7Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5p
bmdJdGVtczxSZXNvbHZlTWF4Q29udGVudE1pbmltdW1zPihzcGFuR3JvdXBSYW5nZSk7Ci0gICAg
ICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlSW50cmlu
c2ljTWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNj
b21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50TWF4aW11bXM+KHNwYW5Hcm91
cFJhbmdlKTsKLSAgICAgICAgaXQgPSBzcGFuR3JvdXBSYW5nZS5yYW5nZUVuZDsKKyAgICAgICAg
YXV0byBpdCA9IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5iZWdpbigpOworICAgICAgICBh
dXRvIGVuZCA9IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5lbmQoKTsKKyAgICAgICAgd2hp
bGUgKGl0ICE9IGVuZCkgeworICAgICAgICAgICAgR3JpZEl0ZW1zU3Bhbkdyb3VwUmFuZ2Ugc3Bh
bkdyb3VwUmFuZ2UgPSB7IGl0LCBzdGQ6OnVwcGVyX2JvdW5kKGl0LCBlbmQsICppdCkgfTsKKyAg
ICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZl
SW50cmluc2ljTWluaW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAgICAgICAgIGluY3JlYXNl
U2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlQ29udGVudEJhc2VkTWluaW11
bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9k
YXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlTWF4Q29udGVudE1pbmltdW1zPihzcGFuR3JvdXBSYW5n
ZSk7CisgICAgICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8
UmVzb2x2ZUludHJpbnNpY01heGltdW1zPihzcGFuR3JvdXBSYW5nZSk7CisgICAgICAgICAgICBp
bmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZU1heENvbnRlbnRN
YXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAgaXQgPSBzcGFuR3JvdXBSYW5n
ZS5yYW5nZUVuZDsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGZvciAoYXV0byB0cmFja0luZGV4
IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgewpAQCAtMTIzOSw3ICsxMjQzLDggQEAgdm9p
ZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFuY2VOZXh0U3RhdGUoKQogICAgICAgICBt
X3NpemluZ1N0YXRlID0gUm93U2l6aW5nRmlyc3RJdGVyYXRpb247CiAgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uOgotICAgICAgICBtX3NpemluZ1N0YXRl
ID0gQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOworICAgICAgICBpZiAoIW1fc3RyYXRlZ3kt
PmlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgICAgICBtX3NpemluZ1N0YXRl
ID0gQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOwogICAgICAgICByZXR1cm47CiAgICAgY2Fz
ZSBDb2x1bW5TaXppbmdTZWNvbmRJdGVyYXRpb246CiAgICAgICAgIG1fc2l6aW5nU3RhdGUgPSBS
b3dTaXppbmdTZWNvbmRJdGVyYXRpb247CkBAIC0xMzQ2LDYgKzEzNTEsOCBAQCB2b2lkIEdyaWRU
cmFja1NpemluZ0FsZ29yaXRobTo6cnVuKCkKIAogICAgIC8vIFN0ZXAgMy4KICAgICBtX3N0cmF0
ZWd5LT5tYXhpbWl6ZVRyYWNrcyh0cmFja3MobV9kaXJlY3Rpb24pLCBtX2RpcmVjdGlvbiA9PSBG
b3JDb2x1bW5zID8gbV9mcmVlU3BhY2VDb2x1bW5zIDogbV9mcmVlU3BhY2VSb3dzKTsKKyAgICBp
ZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgcmV0
dXJuOwogCiAgICAgLy8gU3RlcCA0LgogICAgIHN0cmV0Y2hGbGV4aWJsZVRyYWNrcyhpbml0aWFs
RnJlZVNwYWNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tT
aXppbmdBbGdvcml0aG0uaAppbmRleCAwMzExMjVkYTliZmRiNTg4YTlhOTE5NjFhM2IxNTI4ZTk4
N2Y0MTYyLi4yOTczMzMyNGI0ODk5NzA1OTgyZWUwMGRhOGJmNjZkZjMyZTQ3YzdkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5o
CkBAIC0yNjEsNiArMjYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgZG91YmxlIGZpbmRVc2Vk
RmxleEZyYWN0aW9uKFZlY3Rvcjx1bnNpZ25lZD4mIGZsZXhpYmxlU2l6ZWRUcmFja3NJbmRleCwg
R3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBPcHRpb25hbDxMYXlvdXRVbml0PiBpbml0aWFsRnJl
ZVNwYWNlKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIHJlY29tcHV0ZVVzZWRGbGV4RnJh
Y3Rpb25JZk5lZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxHcm93
dGgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRj
aEF1dG9UcmFja3NTdGVwKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBpc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIEdyaWRUcmFj
a1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5KEdyaWRUcmFja1NpemluZ0FsZ29yaXRobSYgYWxnb3Jp
dGhtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggYmI0ZGY3
Y2M4NzhkMWFkZjZlZTQ1OTFmOWZkNWYzZmY0MzQ0ZGMwYS4uOGVhNTNhNTU5MmVlOTdmMTljNTY1
NmY0MTI2YjEyMmVmZDZkYmZhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwCkBAIC0xMDczLDYgKzEwNzMsOSBAQCB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3Np
dGlvbmVkT2JqZWN0KFJlbmRlckJveCYgciwgYm9vbCByZWxheW91dENoaWxkcmVuLCBibwogICAg
ICAgICByLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAgICAgICAgIHIubGF5b3V0SWZO
ZWVkZWQoKTsKICAgICB9CisgICAgCisgICAgaWYgKHZpZXcoKS5mcmFtZVZpZXcoKS5sYXlvdXRD
b250ZXh0KCkubGF5b3V0U3RhdGUoKS0+aXNQYWdpbmF0ZWQoKSAmJiBpczxSZW5kZXJCbG9ja0Zs
b3c+KCp0aGlzKSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93PigqdGhpcykuYWRq
dXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKHIsIHIubG9naWNhbFRvcCgpKTsK
IH0KIAogdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdHMoYm9vbCByZWxh
eW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3RzT25seSkKQEAgLTIyODIsOCAr
MjI4NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6Om9mZnNldEZvckNvbnRlbnRzKExheW91dFBvaW50
JiBvZmZzZXQpIGNvbnN0CiB2b2lkIFJlbmRlckJsb2NrOjpjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2lj
YWxXaWR0aCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWNoaWxkcmVuSW5saW5lKCkpOwotICAgIAot
ICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBt
YXhMb2dpY2FsV2lkdGgpOworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSkK
KyAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lk
dGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCht
aW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggMjJmM2ZhMDZlNWQ0YjM4ZjQ0MmVjMjg0
MDU3ZDcxNzFjYTZiNTUzYy4uMjk0NzFlNDlmMzYxZjA4Njk5ZTU4ZWJkNDJlZjA0MzYxMDEwYjg5
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAg
LTMzOSwxMCArMzM5LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RJbnRyaW5zaWNM
b2dpY2FsV2lkdGhzRm9yQ29sdW1ucyhMYXlvdXRVbml0JiBtaW5Mb2dpCiAKIHZvaWQgUmVuZGVy
QmxvY2tGbG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5M
b2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBp
ZiAoY2hpbGRyZW5JbmxpbmUoKSkKLSAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2lj
YWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIGVsc2UKLSAg
ICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgs
IG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgp
KSB7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQorICAgICAgICAgICAgY29tcHV0ZUlu
bGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lk
dGgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICB9CiAKICAg
ICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxX
aWR0aCk7CiAKQEAgLTE2NjIsNiArMTY2NCw5IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93
OjphZGp1c3RCbG9ja0NoaWxkRm9yUGFnaW5hdGlvbihMYXlvdXRVbml0IGxvZ2ljYWxUb3BBCiAg
ICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoY2hpbGQuc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKSkKKyAgICAgICAgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKGNo
aWxkLCByZXN1bHQpOworCiAgICAgLy8gRm9yIHJlcGxhY2VkIGVsZW1lbnRzIGFuZCBzY3JvbGxl
ZCBlbGVtZW50cywgd2Ugd2FudCB0byBzaGlmdCB0aGVtIHRvIHRoZSBuZXh0IHBhZ2UgaWYgdGhl
eSBkb24ndCBmaXQgb24gdGhlIGN1cnJlbnQgb25lLgogICAgIExheW91dFVuaXQgbG9naWNhbFRv
cEJlZm9yZVVuc3BsaXR0YWJsZUFkanVzdG1lbnQgPSByZXN1bHQ7CiAgICAgTGF5b3V0VW5pdCBs
b2dpY2FsVG9wQWZ0ZXJVbnNwbGl0dGFibGVBZGp1c3RtZW50ID0gYWRqdXN0Rm9yVW5zcGxpdHRh
YmxlQ2hpbGQoY2hpbGQsIHJlc3VsdCk7CkBAIC0yMDQ3LDYgKzIwNTIsMjQgQEAgTGF5b3V0VW5p
dCBSZW5kZXJCbG9ja0Zsb3c6OmxvZ2ljYWxIZWlnaHRGb3JDaGlsZEZvckZyYWdtZW50YXRpb24o
Y29uc3QgUmVuZGVyQm8KICAgICByZXR1cm4gbG9naWNhbEhlaWdodEZvckNoaWxkKGNoaWxkKTsK
IH0KIAordm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9y
UGFnaW5hdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IG9mZnNldCkKK3sKKyAgICBp
ZiAoIWNoaWxkLnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIHJldHVybjsK
KworICAgIExheW91dFVuaXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9IGNoaWxkLmlzSG9yaXpvbnRh
bFdyaXRpbmdNb2RlKCkgPyBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkgOiBjaGls
ZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhYKCk7CisgICAgTGF5b3V0VW5pdCBjaGlsZExvZ2lj
YWxIZWlnaHQgPSBzdGQ6Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0KCksIGNoaWxkT3ZlcmZsb3dI
ZWlnaHQpOworCisgICAgTGF5b3V0VW5pdCByZW1haW5pbmdMb2dpY2FsSGVpZ2h0ID0gcGFnZVJl
bWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBFeGNsdWRlUGFnZUJvdW5kYXJ5
KTsKKworICAgIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNoaWxkTG9naWNhbEhlaWdodCAt
IHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQ7CisgICAgaWYgKHNwYWNlU2hvcnRhZ2UgPD0gMCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKFJlbmRlckZyYWdtZW50ZWRGbG93KiBmcmFnbWVudGVk
RmxvdyA9IGVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpCisgICAgICAgIGZyYWdtZW50ZWRGbG93
LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHRoaXMsIG9mZnNldEZyb21M
b2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSArIG9mZnNldCwgc3BhY2VTaG9ydGFnZSk7Cit9CisKIHZv
aWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRMaW5lR3JpZEJveCgpCiB7CiAgICAgaWYgKHN0eWxl
KCkubGluZUdyaWQoKSA9PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlkKCkpIHsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCBmNmE3NjQ5ZTkyNjJh
ODFkZGM0M2JjYjBmMGRlNDU5OGFlYjAwMTgwLi41YjU3NWRmYzFmZjg2MWUyMDc1ZjdkZjBjNmJi
OTFiMzU1M2UzMTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oCkBAIC0zOTgsNiArMzk4LDggQEAgcHVibGljOgogICAgIC8vIGNvbHVtbiBiYWxhbmNlciB0
byBoZWxwIHNldCBhIGdvb2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0LgogICAgIHZvaWQgdXBkYXRl
TWluaW11bVBhZ2VIZWlnaHQoTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWluSGVpZ2h0
KTsKIAorICAgIHZvaWQgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKFJl
bmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgb2Zmc2V0KTsKKwogICAgIHZvaWQgYWRkRmxvYXRz
VG9OZXdQYXJlbnQoUmVuZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxvdykgY29uc3Q7CiAgICAgCiAg
ICAgTGF5b3V0VW5pdCBlbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpIGNvbnN0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA1NzZlZTVkY2M5YTNlNmRmN2U1MWJlOWUy
YjI2MmYyYjIwMDczMmI0Li41YWRiYTA0MDAzODAxNGQwNTIxZDJmZmJjMDIwNWU4ZDU1OTdlM2Mw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjg3Niw2ICsyODc2
LDExIEBAIHZvaWQgUmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0
Rm9yRmxleEl0ZW0oTGF5b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVM
b2dpY2FsSGVpZ2h0KCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSAm
JiAhaXNSZW5kZXJHcmlkKCkpIHsKKyAgICAgICAgYXV0byBib3JkZXJBbmRQYWRpbmcgPSBSZW5k
ZXJCb3g6OmJvcmRlckJlZm9yZSgpICsgUmVuZGVyQm94OjpwYWRkaW5nQmVmb3JlKCkgKyBSZW5k
ZXJCb3g6OmJvcmRlckFmdGVyKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdBZnRlcigpOworICAgICAg
ICBzZXRMb2dpY2FsSGVpZ2h0KGJvcmRlckFuZFBhZGluZyArIHNjcm9sbGJhckxvZ2ljYWxIZWln
aHQoKSk7CisgICAgfQorCiAgICAgY2FjaGVJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZv
ckZsZXhJdGVtKGNvbnRlbnRMb2dpY2FsSGVpZ2h0KCkpOwogICAgIGF1dG8gY29tcHV0ZWRWYWx1
ZXMgPSBjb21wdXRlTG9naWNhbEhlaWdodChsb2dpY2FsSGVpZ2h0KCksIGxvZ2ljYWxUb3AoKSk7
CiAgICAgc2V0TG9naWNhbEhlaWdodChjb21wdXRlZFZhbHVlcy5tX2V4dGVudCk7CkBAIC00ODU2
LDcgKzQ4NjEsOCBAQCBib29sIFJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9u
KCkgY29uc3QKICAgICByZXR1cm4gaXNSZXBsYWNlZCgpCiAgICAgICAgIHx8IGhhc1Vuc3BsaXR0
YWJsZVNjcm9sbGluZ092ZXJmbG93KCkKICAgICAgICAgfHwgKHBhcmVudCgpICYmIGlzV3JpdGlu
Z01vZGVSb290KCkpCi0gICAgICAgIHx8IChpc0Zsb2F0aW5nKCkgJiYgc3R5bGUoKS5zdHlsZVR5
cGUoKSA9PSBQc2V1ZG9JZDo6Rmlyc3RMZXR0ZXIgJiYgc3R5bGUoKS5pbml0aWFsTGV0dGVyRHJv
cCgpID4gMCk7CisgICAgICAgIHx8IChpc0Zsb2F0aW5nKCkgJiYgc3R5bGUoKS5zdHlsZVR5cGUo
KSA9PSBQc2V1ZG9JZDo6Rmlyc3RMZXR0ZXIgJiYgc3R5bGUoKS5pbml0aWFsTGV0dGVyRHJvcCgp
ID4gMCkKKyAgICAgICAgfHwgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKTsKIH0KIAogTGF5
b3V0VW5pdCBSZW5kZXJCb3g6OmxpbmVIZWlnaHQoYm9vbCAvKmZpcnN0TGluZSovLCBMaW5lRGly
ZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQb3NpdGlvbk1vZGUgLypsaW5lUG9zaXRpb25Nb2Rl
Ki8pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVw
cmVjYXRlZEZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJE
ZXByZWNhdGVkRmxleGlibGVCb3guY3BwCmluZGV4IDRmMmQxZjNkYjFiNzkwMzU0ZmZjNjg1OWZj
M2JkNzI3NzYyZmUxOGUuLmNmODgwNzVhOTdkMjg0MGEyODg4ODcwN2YyOWUyMzIzZWUwYzIwM2Eg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxl
eGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3guY3BwCkBAIC0xODcsMjYgKzE4NywyOCBAQCB2b2lkIFJlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBj
b25zdCBSZQogCiB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJp
bnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0
JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8
fCBpc1ZlcnRpY2FsKCkpIHsKLSAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RD
aGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAg
ICAgICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkKLSAg
ICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICBpZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KCkpIHsKKyAgICAgICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1ZlcnRpY2FsKCkp
IHsKKyAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsg
Y2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQpKQorICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBt
YXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKLSAgICAgICAgICAgIExheW91dFVuaXQgd2lkdGgg
PSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47Ci0gICAgICAgICAg
ICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgbWluTG9naWNhbFdpZHRoKTsKKyAg
ICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hp
bGQpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQgd2lkdGggPSBjaGlsZC0+bWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgbWluTG9naWNhbFdp
ZHRoID0gc3RkOjptYXgod2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7CiAKLSAgICAgICAgICAgIHdp
ZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOwotICAgICAg
ICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7
Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQg
PSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgp
KSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hp
bGQpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIHdpZHRoID0g
Y2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOworICAgICAgICAgICAg
ICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwor
ICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChSZW5kZXJC
b3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNp
YmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RXaWR0
aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAg
ICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hpbGQpOwot
ICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGNoaWxkLT5taW5QcmVmZXJyZWRMb2dpY2Fs
V2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBjaGlsZC0+
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgTGF5
b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKKyAgICAgICAgICAg
ICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgp
ICsgbWFyZ2luOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBjaGlsZC0+bWF4
UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJG
aWxlVXBsb2FkQ29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2wuY3BwCmluZGV4IDNkMTIzYzU0YjU2NGRhNTA0MTdiNGMwNzg5NzI5ZjM5
ZTMzYjE1ZGEuLjA0ZjcwNTc0YmZjOGEzOTdjOGM4OTBjZDY3ODI0MTZhZWY1Y2Y2OTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9s
LmNwcApAQCAtMTk3LDYgKzE5Nyw4IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBh
aW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2luCiAKIHZvaWQg
UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExh
eW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBj
b25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpKQorICAgICAgICBy
ZXR1cm47CiAgICAgLy8gRmlndXJlIG91dCBob3cgYmlnIHRoZSBmaWxlbmFtZSBzcGFjZSBuZWVk
cyB0byBiZSBmb3IgYSBnaXZlbiBudW1iZXIgb2YgY2hhcmFjdGVycwogICAgIC8vICh1c2luZyAi
MCIgYXMgdGhlIG5vbWluYWwgY2hhcmFjdGVyKS4KICAgICBjb25zdCBVQ2hhciBjaGFyYWN0ZXIg
PSAnMCc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNw
cAppbmRleCBjNjc5MWZjNjM3OGVkYjNlNWFhYThiMWVkYmU5OWI1OGVlNDRkM2JlLi4zNDg1OGJj
OTI2YWFkMDRmNjg0MWZlNmUwZDZlMjQwM2NjZDNkZGM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKQEAgLTgzLDYwICs4Myw2MiBAQCBjb25z
dCBjaGFyKiBSZW5kZXJGbGV4aWJsZUJveDo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVu
ZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQm
IG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewot
ICAgIExheW91dFVuaXQgY2hpbGRNaW5XaWR0aDsKLSAgICBMYXlvdXRVbml0IGNoaWxkTWF4V2lk
dGg7Ci0gICAgYm9vbCBoYWRFeGNsdWRlZENoaWxkcmVuID0gY29tcHV0ZVByZWZlcnJlZFdpZHRo
c0ZvckV4Y2x1ZGVkQ2hpbGRyZW4oY2hpbGRNaW5XaWR0aCwgY2hpbGRNYXhXaWR0aCk7Ci0KLSAg
ICAvLyBGSVhNRTogV2UncmUgaWdub3JpbmcgZmxleC1iYXNpcyBoZXJlIGFuZCB3ZSBzaG91bGRu
J3QuIFdlIGNhbid0IHN0YXJ0Ci0gICAgLy8gaG9ub3JpbmcgaXQgdGhvdWdoIHVudGlsIHRoZSBm
bGV4IHNob3J0aGFuZCBzdG9wcyBzZXR0aW5nIGl0IHRvIDAuIFNlZQotICAgIC8vIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMTcgYW5kCi0gICAgLy8gaHR0cHM6
Ly9jcmJ1Zy5jb20vMjQwNzY1LgotICAgIHNpemVfdCBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQg
PSAwOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7
IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5p
c091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlv
dXQoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICArK251bUl0ZW1zV2l0aE5vcm1h
bExheW91dDsKKyAgICBpZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpIHsKKyAgICAg
ICAgTGF5b3V0VW5pdCBjaGlsZE1pbldpZHRoOworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWF4
V2lkdGg7CisgICAgICAgIGJvb2wgaGFkRXhjbHVkZWRDaGlsZHJlbiA9IGNvbXB1dGVQcmVmZXJy
ZWRXaWR0aHNGb3JFeGNsdWRlZENoaWxkcmVuKGNoaWxkTWluV2lkdGgsIGNoaWxkTWF4V2lkdGgp
OworCisgICAgICAgIC8vIEZJWE1FOiBXZSdyZSBpZ25vcmluZyBmbGV4LWJhc2lzIGhlcmUgYW5k
IHdlIHNob3VsZG4ndC4gV2UgY2FuJ3Qgc3RhcnQKKyAgICAgICAgLy8gaG9ub3JpbmcgaXQgdGhv
dWdoIHVudGlsIHRoZSBmbGV4IHNob3J0aGFuZCBzdG9wcyBzZXR0aW5nIGl0IHRvIDAuIFNlZQor
ICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MTE3
IGFuZAorICAgICAgICAvLyBodHRwczovL2NyYnVnLmNvbS8yNDA3NjUuCisgICAgICAgIHNpemVf
dCBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgPSAwOworICAgICAgICBmb3IgKFJlbmRlckJveCog
Y2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
Z0JveCgpKSB7CisgICAgICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgp
IHx8IGNoaWxkLT5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQorICAgICAgICAgICAgICAg
IGNvbnRpbnVlOworICAgICAgICAgICAgKytudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQ7CiAKLSAg
ICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhGb3JD
aGlsZCgqY2hpbGQpOwotICAgICAgICAKLSAgICAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGg7Ci0gICAgICAgIExheW91dFVuaXQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
OwotICAgICAgICBjb21wdXRlQ2hpbGRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCpjaGlsZCwgbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAg
ICAKLSAgICAgICAgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1hcmdpbjsKLSAgICAgICAg
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1hcmdpbjsKLQotICAgICAgICBpZiAoIWlzQ29s
dW1uRmxvdygpKSB7Ci0gICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoOwotICAgICAgICAgICAgaWYgKGlzTXVsdGlsaW5lKCkpIHsKLSAgICAgICAg
ICAgICAgICAvLyBGb3IgbXVsdGlsaW5lLCB0aGUgbWluIHByZWZlcnJlZCB3aWR0aCBpcyBpZiB5
b3UgcHV0IGEgYnJlYWsgYmV0d2VlbgotICAgICAgICAgICAgICAgIC8vIGVhY2ggaXRlbS4KLSAg
ICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgs
IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAg
ICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgbWF4
TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5z
aWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgqY2hpbGQpOworICAgICAgICAgICAgCisgICAgICAgICAg
ICBMYXlvdXRVbml0IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIExheW91
dFVuaXQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOworICAgICAgICAgICAgY29tcHV0ZUNoaWxk
UHJlZmVycmVkTG9naWNhbFdpZHRocygqY2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1hcmdpbjsKKyAgICAgICAgICAgIG1heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47CisKKyAgICAgICAgICAgIGlmICghaXNDb2x1bW5GbG93
KCkpIHsKKyAgICAgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoOworICAgICAgICAgICAgICAgIGlmIChpc011bHRpbGluZSgpKSB7CisgICAgICAg
ICAgICAgICAgICAgIC8vIEZvciBtdWx0aWxpbmUsIHRoZSBtaW4gcHJlZmVycmVkIHdpZHRoIGlz
IGlmIHlvdSBwdXQgYSBicmVhayBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgIC8vIGVhY2gg
aXRlbS4KKyAgICAgICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWlu
TG9naWNhbFdpZHRoLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gbWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBt
aW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1pbkxv
Z2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAg
fQogICAgICAgICB9Ci0gICAgfQogCi0gICAgaWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVt
c1dpdGhOb3JtYWxMYXlvdXQgPiAxKSB7Ci0gICAgICAgIExheW91dFVuaXQgaW5saW5lR2FwU2l6
ZSA9IChudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgLSAxKSAqIGNvbXB1dGVHYXAoR2FwVHlwZTo6
QmV0d2Vlbkl0ZW1zKTsKLSAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7
Ci0gICAgICAgIGlmICghaXNNdWx0aWxpbmUoKSkKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCArPSBpbmxpbmVHYXBTaXplOwotICAgIH0KKyAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSAm
JiBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgPiAxKSB7CisgICAgICAgICAgICBMYXlvdXRVbml0
IGlubGluZUdhcFNpemUgPSAobnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0IC0gMSkgKiBjb21wdXRl
R2FwKEdhcFR5cGU6OkJldHdlZW5JdGVtcyk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGgg
Kz0gaW5saW5lR2FwU2l6ZTsKKyAgICAgICAgICAgIGlmICghaXNNdWx0aWxpbmUoKSkKKyAgICAg
ICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKKyAgICAgICAgfQog
Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dp
Y2FsV2lkdGgpOwotICAgIAotICAgIC8vIER1ZSB0byBuZWdhdGl2ZSBtYXJnaW5zLCBpdCBpcyBw
b3NzaWJsZSB0aGF0IHdlIGNhbGN1bGF0ZWQgYSBuZWdhdGl2ZQotICAgIC8vIGludHJpbnNpYyB3
aWR0aC4gTWFrZSBzdXJlIHRoYXQgd2UgbmV2ZXIgcmV0dXJuIGEgbmVnYXRpdmUgd2lkdGguCi0g
ICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgoMF9sdSwgbWluTG9naWNhbFdpZHRoKTsKLSAg
ICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBtYXhMb2dpY2FsV2lkdGgpOwotICAg
IAotICAgIGlmIChoYWRFeGNsdWRlZENoaWxkcmVuKSB7Ci0gICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgY2hpbGRNaW5XaWR0aCk7Ci0gICAgICAgIG1h
eExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heExvZ2ljYWxXaWR0aCwgY2hpbGRNYXhXaWR0aCk7
CisgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWF4
TG9naWNhbFdpZHRoKTsKKyAgICAgICAgCisgICAgICAgIC8vIER1ZSB0byBuZWdhdGl2ZSBtYXJn
aW5zLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdlIGNhbGN1bGF0ZWQgYSBuZWdhdGl2ZQorICAgICAg
ICAvLyBpbnRyaW5zaWMgd2lkdGguIE1ha2Ugc3VyZSB0aGF0IHdlIG5ldmVyIHJldHVybiBhIG5l
Z2F0aXZlIHdpZHRoLgorICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBt
aW5Mb2dpY2FsV2lkdGgpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1
LCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAKKyAgICAgICAgaWYgKGhhZEV4Y2x1ZGVkQ2hp
bGRyZW4pIHsKKyAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2lj
YWxXaWR0aCwgY2hpbGRNaW5XaWR0aCk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBz
dGQ6Om1heChtYXhMb2dpY2FsV2lkdGgsIGNoaWxkTWF4V2lkdGgpOworICAgICAgICB9CiAgICAg
fQogCiAgICAgTGF5b3V0VW5pdCBzY3JvbGxiYXJXaWR0aChzY3JvbGxiYXJMb2dpY2FsV2lkdGgo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRl
ZEZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5o
CmluZGV4IGZhY2ViMTk2ZDliZjc3Y2Q2Mjg1NTRlMzM1MTAwMGU5OTg5M2FkNjMuLmI3M2JlMmIx
YjBlNDgyN2VkYWU2MDI3YWE2ZTM1ZmNiMTcxZDYzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oCkBAIC0xMDIsNiArMTAyLDggQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlQnJlYWsoY29uc3QgUmVuZGVyQmxvY2sqLCBM
YXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQgLypzcGFjZVNob3J0YWdlKi8pIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9j
ayosIExheW91dFVuaXQgLypvZmZzZXQqLywgTGF5b3V0VW5pdCAvKm1pbkhlaWdodCovKSB7IH0K
IAorICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8q
c2hvcnRhZ2UqLykgeyB9CisKICAgICB2aXJ0dWFsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBm
cmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5b3V0VW5pdCwgYm9vbCBl
eHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Q7CiAKICAgICBib29sIGZyYWdtZW50c0hh
dmVVbmlmb3JtTG9naWNhbFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9mcmFnbWVudHNIYXZlVW5p
Zm9ybUxvZ2ljYWxXaWR0aDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckdyaWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
CmluZGV4IGVmNTA3Njg1NTdkZGI0Njk4NTQ4MzM1YjQ3MmRkMDZhZThlYjliMWMuLmVkODNlMWJl
YjQ3ODI4YWM2MjJkMDQ4MGU3MDMzNmYyMTRmNDUwYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5jcHAKQEAgLTI1MCwxMSArMjUwLDE3IEBAIHZvaWQgUmVuZGVyR3JpZDo6
bGF5b3V0QmxvY2soYm9vbCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogCiAgICAgICAg
IC8vIDItIE5leHQsIHRoZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtIHJlc29sdmVzIHRoZSBzaXpl
cyBvZiB0aGUgZ3JpZCByb3dzLAogICAgICAgICAvLyB1c2luZyB0aGUgZ3JpZCBjb2x1bW4gc2l6
ZXMgY2FsY3VsYXRlZCBpbiB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICAgICAgaWYgKCFoYXNEZWZp
bml0ZUxvZ2ljYWxIZWlnaHQpCisgICAgICAgIGJvb2wgc2hvdWxkUmVjb21wdXRlSGVpZ2h0ID0g
ZmFsc2U7CisgICAgICAgIGlmICghaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KSB7CiAgICAgICAg
ICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckluZGVmaW5pdGVTaXplKG1fdHJhY2tTaXppbmdBbGdv
cml0aG0sIEZvclJvd3MpOwotICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAoc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgICAgICAgICBzaG91bGRSZWNvbXB1dGVIZWln
aHQgPSB0cnVlOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGNvbXB1dGVUcmFja1NpemVz
Rm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIGF2YWlsYWJsZUxvZ2ljYWxIZWlnaHQoRXhjbHVkZU1h
cmdpbkJvcmRlclBhZGRpbmcpKTsKICAgICAgICAgTGF5b3V0VW5pdCB0cmFja0Jhc2VkTG9naWNh
bEhlaWdodCA9IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY29tcHV0ZVRyYWNrQmFzZWRTaXplKCkg
KyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdo
dCgpOworICAgICAgICBpZiAoc2hvdWxkUmVjb21wdXRlSGVpZ2h0KQorICAgICAgICAgICAgY29t
cHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93cywgdHJhY2tCYXNlZExvZ2ljYWxI
ZWlnaHQpOworCiAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQodHJhY2tCYXNlZExvZ2ljYWxIZWln
aHQpOwogCiAgICAgICAgIExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFZGdlID0gY2xpZW50TG9n
aWNhbEJvdHRvbSgpOwpAQCAtNDU1LDYgKzQ2MSwxMSBAQCB1bnNpZ25lZCBSZW5kZXJHcmlkOjpj
b21wdXRlQXV0b1JlcGVhdFRyYWNrc0NvdW50KEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJl
YwogewogICAgIEFTU0VSVCghYXZhaWxhYmxlU2l6ZSB8fCBhdmFpbGFibGVTaXplLnZhbHVlKCkg
IT0gLTEpOwogICAgIGJvb2wgaXNSb3dBeGlzID0gZGlyZWN0aW9uID09IEZvckNvbHVtbnM7Cisg
ICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkKKyAgICAgICAgJiYgKChpc1Jvd0F4
aXMgJiYgc3R5bGUoKS5ncmlkQXV0b1JlcGVhdENvbHVtbnNUeXBlKCkgPT0gQXV0b1JlcGVhdFR5
cGU6OkZpdCkKKyAgICAgICAgICAgIHx8ICghaXNSb3dBeGlzICYmIHN0eWxlKCkuZ3JpZEF1dG9S
ZXBlYXRSb3dzVHlwZSgpID09IEF1dG9SZXBlYXRUeXBlOjpGaXQpKSkKKyAgICAgICAgcmV0dXJu
IDA7CisKICAgICBjb25zdCBhdXRvJiBhdXRvUmVwZWF0VHJhY2tzID0gaXNSb3dBeGlzID8gc3R5
bGUoKS5ncmlkQXV0b1JlcGVhdENvbHVtbnMoKSA6IHN0eWxlKCkuZ3JpZEF1dG9SZXBlYXRSb3dz
KCk7CiAgICAgdW5zaWduZWQgYXV0b1JlcGVhdFRyYWNrTGlzdExlbmd0aCA9IGF1dG9SZXBlYXRU
cmFja3Muc2l6ZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApp
bmRleCA3ODMwMWU2MGM5MTUxN2U3NDdiOWM4ZjE4ZDhiYmJkNDc4YTU3NDkxLi5hOGM4ZjU0MDRm
NGZmOTcxMjExYTM3MTUxNWQ2Nzg4MTQ2Y2IwMzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJJbWFnZS5jcHAKQEAgLTg0NCw2ICs4NDQsNyBAQCB2b2lkIFJlbmRlckltYWdlOjps
YXlvdXRTaGFkb3dDb250ZW50KGNvbnN0IExheW91dFNpemUmIG9sZFNpemUpCiAKIHZvaWQgUmVu
ZGVySW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50
cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKKyAgICBBU1NFUlQo
IXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpOwogICAgIFJlbmRlclJlcGxhY2VkOjpjb21w
dXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRp
byk7CiAKICAgICAvLyBPdXIgaW50cmluc2ljU2l6ZSBpcyBlbXB0eSBpZiB3ZSdyZSByZW5kZXJp
bmcgZ2VuZXJhdGVkIGltYWdlcyB3aXRoIHJlbGF0aXZlIHdpZHRoL2hlaWdodC4gRmlndXJlIG91
dCB0aGUgcmlnaHQgaW50cmluc2ljIHNpemUgdG8gdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDk1MGIxZDdlMzFkMmMwY2Q4NDc3ZGQxYWI2YTM4
YzUwZjU3MmRmOWYuLmMyZTZiNDYxY2NlNWMwNzIxODc1MmQ2NTRhNGVmZWMyMWUwN2VhZDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTIxMSw3ICsy
MTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCkKIAog
dm9pZCBSZW5kZXJMaXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRV
bml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QK
IHsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3Bh
Y2luZ0hvcml6b250YWw7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoKSA/IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0
aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAg
ICAgbWF4TG9naWNhbFdpZHRoICs9IG1fdkJhci0+d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCku
d2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IGYzOTRiZDYzMzZlNDQ0ODIyN2YxNmFlOTk5NmRl
NTVmMjRjY2Y4ZWQuLjAwZDMxMzdiODE0NTA2MjE2ZjBlNDNjZGJlMWU2ZTQwNDVhOTRiNWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcg
KzMxNSw4IEBAIExheW91dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25z
dCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRo
LCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdp
ZHRoID0gc3RkOjptYXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6
ZShzdHlsZSgpKSkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2st
PnBhZGRpbmdSaWdodCgpOworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCkgPyB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkgOiBzdGQ6
Om1heChtX29wdGlvbnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxlKCkp
KTsKKyAgICBtYXhMb2dpY2FsV2lkdGggKz0gbV9pbm5lckJsb2NrLT5wYWRkaW5nTGVmdCgpICsg
bV9pbm5lckJsb2NrLT5wYWRkaW5nUmlnaHQoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5p
c1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gbWF4TG9n
aWNhbFdpZHRoOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93LmNwcAppbmRleCA2MTg1ZTQ3MjYzOGJkNzllZWQxMGE1MDk3YmE2NTViMDgy
NmM4MzZhLi5iZGJlNGE3MTRkMGM2YzdhNjNkY2NjODM1NzJiYjFmODcwOGU2YTBkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcApA
QCAtMjAzLDYgKzIwMywxMiBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uRmxvdzo6dXBkYXRlTWlu
aW11bVBhZ2VIZWlnaHQoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBMYQogICAgICAgICBtdWx0
aWNvbFNldC0+dXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChtaW5IZWlnaHQpOwogfQogCit2b2lk
IFJlbmRlck11bHRpQ29sdW1uRmxvdzo6dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlu
bWVudChjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRV
bml0IHNob3J0YWdlKQoreworICAgIGlmIChhdXRvKiBtdWx0aWNvbFNldCA9IGRvd25jYXN0PFJl
bmRlck11bHRpQ29sdW1uU2V0PihmcmFnbWVudEF0QmxvY2tPZmZzZXQoYmxvY2ssIG9mZnNldCkp
KQorICAgICAgICBtdWx0aWNvbFNldC0+dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlu
bWVudChzaG9ydGFnZSk7Cit9CisKIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBSZW5kZXJNdWx0
aUNvbHVtbkZsb3c6OmZyYWdtZW50QXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gqIGJveCwg
TGF5b3V0VW5pdCBvZmZzZXQsIGJvb2wgZXh0ZW5kTGFzdEZyYWdtZW50KSBjb25zdAogewogICAg
IGlmICghbV9pbkxheW91dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtbkZsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkZsb3cuaAppbmRleCAwYzgzOTE4ZjhlZGI2ZDIwMTI1OGY5MDBhMmJlMThkMzlm
MTNlNzZkLi5lYjZmMDg4Nzk0NTg1ZTgyNTVkYjdjMGM4NTg4ZDAyZGMxYTVlZjk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCkBAIC0x
MDgsNiArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IGluaXRpYWxMb2dpY2FsV2lk
dGgoKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5kZXJC
bG9jayosIExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2UpIG92ZXJy
aWRlOwogICAgIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoY29uc3QgUmVuZGVyQmxvY2sq
LCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBtaW5IZWlnaHQpIG92ZXJyaWRlOworICAg
IHZvaWQgdXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJC
bG9jayosIExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IHNob3J0YWdlKSBvdmVycmlkZTsK
ICAgICBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0
IFJlbmRlckJveCosIExheW91dFVuaXQsIGJvb2wgZXh0ZW5kTGFzdEZyYWdtZW50ID0gZmFsc2Up
IGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0RnJhZ21lbnRSYW5nZUZvckJveChjb25zdCBS
ZW5kZXJCb3gmLCBSZW5kZXJGcmFnbWVudENvbnRhaW5lciosIFJlbmRlckZyYWdtZW50Q29udGFp
bmVyKikgb3ZlcnJpZGU7CiAgICAgYm9vbCBhZGRGb3JjZWRGcmFnbWVudEJyZWFrKGNvbnN0IFJl
bmRlckJsb2NrKiwgTGF5b3V0VW5pdCwgUmVuZGVyQm94KiBicmVha0NoaWxkLCBib29sIGlzQmVm
b3JlLCBMYXlvdXRVbml0KiBvZmZzZXRCcmVha0FkanVzdG1lbnQgPSAwKSBvdmVycmlkZTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCmlu
ZGV4IGQ1NTZmN2QwZWUxYTIzNTNjNTYzYjMyNjc5MTU2OThlZTRiYWMxZTkuLjdlNmIzOGU0MzQ2
MjdkNzk3ZGVlYWU4YmI1NzZjNmZlZDllM2QwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApAQCAtNTAsNiArNTAsNyBAQCBSZW5k
ZXJNdWx0aUNvbHVtblNldDo6UmVuZGVyTXVsdGlDb2x1bW5TZXQoUmVuZGVyRnJhZ21lbnRlZEZs
b3cmIGZyYWdtZW50ZWRGbG93LAogICAgICwgbV9tYXhDb2x1bW5IZWlnaHQoUmVuZGVyRnJhZ21l
bnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSkKICAgICAsIG1fbWluU3BhY2VTaG9ydGFnZShS
ZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdodCgpKQogICAgICwgbV9taW5pbXVt
Q29sdW1uSGVpZ2h0KDApCisgICAgLCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQo
MCkKIHsKIH0KIApAQCAtMjM1LDE1ICsyMzYsMTYgQEAgTGF5b3V0VW5pdCBSZW5kZXJNdWx0aUNv
bHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKSBjb25zdAogICAg
ICAgICByZXR1cm4gc3RkOjptYXg8TGF5b3V0VW5pdD4obV9jb250ZW50UnVuc1tpbmRleF0uY29s
dW1uTG9naWNhbEhlaWdodChzdGFydE9mZnNldCksIG1fbWluaW11bUNvbHVtbkhlaWdodCk7CiAg
ICAgfQogCi0gICAgaWYgKGNvbHVtbkNvdW50KCkgPD0gY29tcHV0ZWRDb2x1bW5Db3VudCgpKSB7
CisgICAgTGF5b3V0VW5pdCBzaXplQ29udGFpbm1lbnRTaG9ydGFnZSA9IHN0ZDo6bWF4PExheW91
dFVuaXQ+KExheW91dFVuaXQoKSwgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTsK
KyAgICBpZiAoY29sdW1uQ291bnQoKSA8PSBjb21wdXRlZENvbHVtbkNvdW50KCkgLyomJiBtX21p
blNwYWNlU2hvcnRhZ2UgPD0gMCovKSB7CiAgICAgICAgIC8vIFdpdGggdGhlIGN1cnJlbnQgY29s
dW1uIGhlaWdodCwgdGhlIGNvbnRlbnQgZml0cyB3aXRob3V0IGNyZWF0aW5nIG92ZXJmbG93aW5n
IGNvbHVtbnMuIFdlJ3JlIGRvbmUuCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVp
Z2h0OworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHNpemVDb250YWlu
bWVudFNob3J0YWdlOwogICAgIH0KIAotICAgIGlmIChmb3JjZWRCcmVha3NDb3VudCgpID49IGNv
bXB1dGVkQ29sdW1uQ291bnQoKSkgeworICAgIGlmIChmb3JjZWRCcmVha3NDb3VudCgpID49IGNv
bXB1dGVkQ29sdW1uQ291bnQoKSAvKiYmIG1fbWluU3BhY2VTaG9ydGFnZSA8PSAwKi8pIHsKICAg
ICAgICAgLy8gVG9vIG1hbnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJl
YWtzLiBJbml0aWFsIGJhbGFuY2luZyBzaG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZlIHNl
dCBhIGdvb2QgaGVpZ2h0LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0gICAg
ICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21w
dXRlZENvbHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAg
IC8vIElmIHRoZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBz
dHJldGNoIGl0IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEwIEBA
IExheW91dFVuaXQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0
KGJvb2wgaW5pdGlhbCkgY29uc3QKICAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7
IC8vIFdlIHNob3VsZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VSVCht
X21pblNwYWNlU2hvcnRhZ2UgIT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWln
aHQoKSk7IC8vIElmIHRoaXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAgICBp
ZiAobV9taW5TcGFjZVNob3J0YWdlID09IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2Fs
SGVpZ2h0KCkpCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBTbyBi
YWlsIG91dCByYXRoZXIgdGhhbiBsb29waW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVybiBt
X2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNvIGJh
aWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBtX2Nv
bXB1dGVkQ29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9BZGQg
PSBzdGQ6Om1heDxMYXlvdXRVbml0PihzaXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5TcGFj
ZVNob3J0YWdlKTsKKyAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRkOwog
fQogCiB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBAIC0z
NjUsNiArMzY4LDggQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91
dChib29sIGluaXRpYWwpCiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNv
bHVtbiBoZWlnaHQuIENvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93Lgog
ICAgIG1fbWluaW11bUNvbHVtbkhlaWdodCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VGb3JT
aXplQ29udGFpbm1lbnQgPSAwOworCiAgICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZsb3cg
dGhyZWFkIHBvcnRpb24gaGVpZ2h0IHVudGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRMb2dp
Y2FsQm90dG9tSW5GcmFnbWVudGVkRmxvdyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNh
bEhlaWdodCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5TZXQuaAppbmRleCBmNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5
Li5jNDhhZTBhNGM3NTg2NWE1M2ZhNTViZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiArODMs
MTUgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRV
bml0IGhlaWdodCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1f
bWluaW11bUNvbHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWln
aHQoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZvaWQg
dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0YWdl
KQorICAgIHsKKyAgICAgICAgaWYgKG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA8
PSAwKSB7CisgICAgICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBz
aG9ydGFnZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NwYWNl
U2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFjZVNo
b3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3JjZWRC
cmVha3NDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAgICAg
dm9pZCBjbGVhckZvcmNlZEJyZWFrcygpOwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0
VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdlKTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRlOgog
ICAgIExheW91dFVuaXQgbV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdo
dCBhbGxvd2VkLgogICAgIExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21h
bGxlc3QgYW1vdXQgb2Ygc3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsu
CiAgICAgTGF5b3V0VW5pdCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5pdCBt
X3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFjZSB0
aGF0IGtlZXBzIHNpemUgY29udGFpbm1lbnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVuIG9m
IGNvbnRlbnQgd2l0aG91dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93IHRo
cmVhZCBwb3J0aW9uIGJldHdlZW4gdHdvCiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3ZWVu
IGZsb3cgdGhyZWFkIHN0YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBleHBs
aWNpdCBicmVhawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDFk
Yzc0NDQ2MWYxYzRhMjlmMjI3YjI3ODNmZGFkODdmOTJkM2E0YzIuLjczMjdkNDZiZDIyYzliMWUz
Yzg5OWY3ZjkwZTkyNjE3ODc3M2M2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgKQEAgLTczMCw2ICs3MzAsMTcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJp
bmcgZGVidWdEZXNjcmlwdGlvbigpIGNvbnN0OwogCisgICAgYm9vbCBpc0F0b21pY0lubGluZUxl
dmVsQm94KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBzdHlsZSgpLmlzRGlzcGxheUlu
bGluZVR5cGUoKSAmJiAhKHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmUg
JiYgIWlzUmVwbGFjZWQoKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRBcHBseVNpemVDb250
YWlubWVudCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gc3R5bGUoKS5jb250YWluKCku
Y29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpICYmICghaXNJbmxpbmUoKSB8fCBpc0F0b21pY0lu
bGluZUxldmVsQm94KCkpCisgICAgICAgICAgICAmJiAhaXNSdWJ5VGV4dCgpICYmICghaXNUYWJs
ZVBhcnQoKSB8fCBpc1RhYmxlQ2FwdGlvbigpKSAmJiAhaXNUYWJsZSgpOworICAgIH0KKwogcHJv
dGVjdGVkOgogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwog
ICAgIC8vIEhlbHBlciBmdW5jdGlvbnMuIERhbmdlcm91cyB0byB1c2UhCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBiOWU0MDBlYTI3MGRhMzEyYjVi
OWQ4OTk4Yzk5NzRiY2UxMTVmYTgyLi5iMTU4ZGYyNDM0MTRlYTFjODYzNmNiMmNkY2ViZWEzODU0
YTQwMjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAK
QEAgLTM4OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVkc0xheW91dElm
TmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNv
bXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRlckJveCogY29udGVu
dFJlbmRlcmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNS
YXRpbykgY29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsKLSAgICBpZiAoY29u
dGVudFJlbmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisg
ICAgICAgIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihp
bnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CisgICAgZWxzZSBpZiAoY29udGVudFJlbmRl
cmVyKSB7CiAgICAgICAgIGNvbnRlbnRSZW5kZXJlci0+Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5m
b3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAgICAgIGlmIChz
dHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgKHN0
eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW8g
JiYgIWludHJpbnNpY1JhdGlvKSkKQEAgLTQ3Nyw3ICs0NzksNyBAQCBSb3VuZGVkUmVjdCBSZW5k
ZXJSZXBsYWNlZDo6cm91bmRlZENvbnRlbnRCb3hSZWN0KCkgY29uc3QKIHZvaWQgUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmlu
c2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICAvLyBJZiB0aGVy
ZSdzIGFuIGVtYmVkZGVkQ29udGVudEJveCgpIG9mIGEgcmVtb3RlLCByZWZlcmVuY2VkIGRvY3Vt
ZW50IGF2YWlsYWJsZSwgdGhpcyBjb2RlLXBhdGggc2hvdWxkIG5ldmVyIGJlIHVzZWQuCi0gICAg
QVNTRVJUKCFlbWJlZGRlZENvbnRlbnRCb3goKSk7CisgICAgQVNTRVJUKCFlbWJlZGRlZENvbnRl
bnRCb3goKSB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpKTsKICAgICBpbnRyaW5zaWNT
aXplID0gRmxvYXRTaXplKGludHJpbnNpY0xvZ2ljYWxXaWR0aCgpLCBpbnRyaW5zaWNMb2dpY2Fs
SGVpZ2h0KCkpOwogCiAgICAgaWYgKHN0eWxlKCkuaGFzQXNwZWN0UmF0aW8oKSkgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAppbmRleCBjMmUwNjk1YzAzOTM4MDky
NjVlYzE3NzA0N2YxM2NiNzIyM2ZmM2Y3Li42NTMwNThmMWM5ZDNlMjZhNmQyOTBmZjJmZThmYWY1
YTM5YjJhNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApA
QCAtNDAsNyArNDAsMTIgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUmVwbGFjZWRMb2dpY2FsSGVp
Z2h0KCkgY29uc3Q7CiAgICAgYm9vbCBzZXROZWVkc0xheW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5z
aWNTaXplQ2hhbmdlKCk7CiAKLSAgICBMYXlvdXRTaXplIGludHJpbnNpY1NpemUoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBtX2ludHJpbnNpY1NpemU7IH0KKyAgICBMYXlvdXRTaXplIGludHJpbnNp
Y1NpemUoKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCkpCisgICAgICAgICAgICByZXR1cm4gTGF5b3V0U2l6ZSgpOworICAgICAgICBy
ZXR1cm4gbV9pbnRyaW5zaWNTaXplOworICAgIH0KICAgICAKICAgICBSb3VuZGVkUmVjdCByb3Vu
ZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNsaWRlci5jcHAKaW5kZXggNDcxNjllZGY5OGUxNDI4YzRhMDc3MGYyZjRlZmMwYjU4
ZDgxM2M3Yi4uMjE2NWIyOWQ5OThlMzA0Y2RhOTFlY2QyYmEzNjQwMDVkZmJlODUwNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTY5LDYgKzY5LDggQEAg
TGF5b3V0VW5pdCBSZW5kZXJTbGlkZXI6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBi
b29sIC8qZmlyc3RMaW5lKi8sIExpbmUKIAogdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5p
dCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250
YWlubWVudCgpKQorICAgICAgICByZXR1cm47CiAgICAgbWF4TG9naWNhbFdpZHRoID0gZGVmYXVs
dFRyYWNrTGVuZ3RoICogc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKCFzdHlsZSgp
LndpZHRoKCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCA9IG1heExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuY3BwCmluZGV4IGRjMDU4ZDUzNDY3YWEzY2ZhYmY4NTJmMzMxZWYwMWYzMTU1
MzIxZjQuLjE5MWUzYzkwMGE0NWE5ZGNhYTYwOGU0MTg4ZjdmNDQwNDFjYTI1NWYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTU2LDYg
KzE1Niw4IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkg
Y29uc3QKIAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxX
aWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2Fs
V2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisg
ICAgICAgIHJldHVybjsKICAgICAvLyBVc2UgYXZlcmFnZSBjaGFyYWN0ZXIgd2lkdGguIE1hdGNo
ZXMgSUUuCiAgICAgbWF4TG9naWNhbFdpZHRoID0gcHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0
aChjb25zdF9jYXN0PFJlbmRlclRleHRDb250cm9sKj4odGhpcyktPmdldEF2ZXJhZ2VDaGFyV2lk
dGgoKSk7CiAgICAgaWYgKFJlbmRlckJveCogaW5uZXJUZXh0UmVuZGVyQm94ID0gaW5uZXJUZXh0
RWxlbWVudCgpLT5yZW5kZXJCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwCmluZGV4IGM2ZDA0NDE2NmNjZmQ1YmM3YzhmMTllMGFhYmMyMWM1ODAzODIxZjkuLjIz
ODhhMThkYzY4NTMwZGI2YTMyNjdjODgzMDg3NmIwYTU4OTM4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcApAQCAtMTIzLDYgKzEyMyw5IEBAIGJvb2wgUmVuZGVy
VmlkZW86OnVwZGF0ZUludHJpbnNpY1NpemUoKQogCiBMYXlvdXRTaXplIFJlbmRlclZpZGVvOjpj
YWxjdWxhdGVJbnRyaW5zaWNTaXplKCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKSkKKyAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKwogICAgIC8vIFNwZWMgdGV4
dCBmcm9tIDQuOC42CiAgICAgLy8KICAgICAvLyBUaGUgaW50cmluc2ljIHdpZHRoIG9mIGEgdmlk
ZW8gZWxlbWVudCdzIHBsYXliYWNrIGFyZWEgaXMgdGhlIGludHJpbnNpYyB3aWR0aCAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDE0MjIz
NTA0NjA5ZTNiMTViNWJjMzY4YTQ3ODA3MDA3MDk1NjIwODUuLjkxNzRhOTA2ZjY4OTQ1MjQ4NWM4
NTllYjY1Mjk1NmRlY2ZkYTYwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtNzAsNiArNzAsOCBAQCBTVkdTVkdFbGVtZW50JiBSZW5k
ZXJTVkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIAogdm9pZCBSZW5kZXJTVkdSb290Ojpj
b21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUs
IGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgpKTsKKwogICAgIC8vIFNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RS
L1NWRy9jb29yZHMuaHRtbCNJbnRyaW5zaWNTaXppbmcKICAgICAvLyBTVkcgbmVlZHMgdG8gc3Bl
Y2lmeSBob3cgdG8gY2FsY3VsYXRlIHNvbWUgaW50cmluc2ljIHNpemluZyBwcm9wZXJ0aWVzIHRv
IGVuYWJsZSBpbmNsdXNpb24gd2l0aGluIG90aGVyIGxhbmd1YWdlcy4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEwZDA4
MGRhMjRmMTA4YWExYmI3ZWYyOWZiNzNkYzM5YTIwOGY4NGUuLmZlNzUwMDc2ZTVjMDc4YTlkY2Jk
NWE3MzczYzk5ZjFhODVhYThjMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAyMS0wNC0xMiAg
Q2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250
YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA0LTEyICBSb2Ig
QnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQ2xhbXAgb3ZlcnJpZGluZ0NvbnRl
bnRMb2dpY2FsV2lkdGgvSGVpZ2h0IHRvIHplcm8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CmluZGV4IDIwM2RjNjI5OTI2YzBiMWMyMmE4OTA4NzAzYjhlNjUwMDU0OWI0NGMuLjM2MDEyMjlh
ZmYwMjUyZTI2NmYxMjQxMjViYTdjNmJhYzA5NGRjZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTEyICBDYXRoaWUgQ2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5dIFN1cHBvcnQgY29udGFp
bjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxl
eC1pdGVtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIx
LTA0LTExICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZWR1Y2Ug
Y29tcGlsZSB0aW1lIGFuZCBiaW5hcnkgc2l6ZSBjb3N0IG9mIGVuYWJsaW5nIHByb3BlciBDU1NT
dHlsZURlY2xhcmF0aW9uIHByb3BlcnR5IGFjY2VzcyBiZWhhdmlvcgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggMDY3NDIzOWU0MTNhMjcxZTRhMDE3ZDMyOWQ0MTFhZThhNmJkMDdmOC4uZGExOWY4ZWI2
OTg4ZDAxNzg0OTUyMWEzNTZjMDc3OTgyYzI4ZDU0ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00
Nzc3LDY1ICs0Nzc3LDE2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5n
LWNvbnRleHQtMDAxYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLTAyNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDQx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLTA1Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LTA2My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDY0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ibG9jay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJs
b2NrLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLWJvcmRlcnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJyZWFrcy0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJ1dHRvbi0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLWJ1dHRvbi0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWZpZWxkc2V0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtZmxleC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZsZXhib3gtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtZ3JpZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdy
aWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1pbmxpbmUtZmxleC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRo
aWMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tb25vbGl0aGljLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LW11bHRpY29sLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwM2EuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLXJlcGxhY2VkLTAwM2IuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxh
Y2VkLTAwM2MuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXNjcm9sbGJhcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJz
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2Nyb2xsYmFycy0wMDMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVj
dC1lbGVtLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS10YWJsZS1jYXB0aW9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc3RyaWN0LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00ODcwLDYgKzQ4
MjEsOCBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9x
dW90ZS1zY29waW5nLTAwMi5odG1sIFsgSW1hZ2VPbgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vcXVvdGUtc2NvcGluZy0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogCit3ZWJraXQu
b3JnL2IvMjE3NTI5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4
Ym94L2NhbnZhcy1jb250YWluLXNpemUuaHRtbCBbIFNraXAgXQorCiAjIEBjb3VudGVyLXN0eWxl
IHJlZiB0ZXN0cyB0aGF0IGN1cnJlbnRseSBmYWlsCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvYXJtZW5pYW4vY3NzMy1jb3VudGVyLXN0eWxl
cy0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvdW50ZXItc3R5bGVzL2FybWVuaWFuL2NzczMtY291bnRlci1zdHls
ZXMtMDA3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhw
ZWN0ZWQudHh0CmluZGV4IGUxNmQ2N2RiZjdkNDUyNGFmN2YzMTEwMzA5Zjk3ODI5OTA0MWMyZDIu
LjUxZThlMjAwMmZmN2NhNzQyYzk1ZTM5NDZmZDFjYzhiZmY3YjExZjQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWdyaWQtMDAzLWV4cGVjdGVkLnR4dApAQCAtMzYsMTkgKzM2LDggQEAgUEFTUyAuZ3JpZCAzNAog
UEFTUyAuZ3JpZCAzNQogUEFTUyAuZ3JpZCAzNgogUEFTUyAuZ3JpZCAzNwotRkFJTCAuZ3JpZCAz
OCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCIgc3R5bGU9ImdyaWQ6IHJlcGVhdChh
dXRvLWZpdCwgNzVweCkgLyByZXBlYXQoYXV0by1maXQsIDEwMHB4KTsiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgICA8ZGl2PjwvZGl2PgotICA8
L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAxMDAKLUZBSUwgLmdyaWQgMzkgYXNzZXJ0
X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQiIHN0eWxlPSJncmlkOiBhdXRvIDUwcHggLyAxMDBw
eCBhdXRvOyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NTAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjEwIiBkYXRhLW9mZnNldC14PSIwIiBkYXRhLW9mZnNldC15PSIwIj5YPC9kaXY+Ci0gIDxk
aXYgZGF0YS1leHBlY3RlZC13aWR0aD0iNDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0
YS1vZmZzZXQteD0iMTAwIiBkYXRhLW9mZnNldC15PSIwIj5YWDwvZGl2PgotICA8ZGl2IGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRhLW9mZnNl
dC14PSIwIiBkYXRhLW9mZnNldC15PSIxMCI+WFhYPC9kaXY+Ci0gIDxkaXYgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iNDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCIgZGF0YS1vZmZzZXQteD0iMTAw
IiBkYXRhLW9mZnNldC15PSIxMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAx
MDAgYnV0IGdvdCAxNDAKK1BBU1MgLmdyaWQgMzgKK1BBU1MgLmdyaWQgMzkKIAogWAogWFgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CmluZGV4IDcwY2Q3ZTYxOTFkMGZmZGJhNTIy
NjQyNDZiOGE4MWNmMzQ4M2RmMzguLmUwYTFjOWQ1MWZiZjRiNmE1NjI0ZGY0MWI5ZmIyMjFjNDVl
ZjZiYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dApAQCAtMSwzOCArMSwx
OCBAQAogCiBQQVNTIC5ncmlkIDEKLUZBSUwgLmdyaWQgMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBj
bGFzcz0iZ3JpZCBwZXJjZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0
ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAyCiBQQVNTIC5ncmlkIDMKLUZBSUwgLmdyaWQg
NCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBwZXJjZW50IG1heC1jb250ZW50IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rp
dj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0CiBQ
QVNTIC5ncmlkIDUKIFBBU1MgLmdyaWQgNgogUEFTUyAuZ3JpZCA3Ci1GQUlMIC5ncmlkIDggYXNz
ZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgY2FsYyBtaW4tY29udGVudCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDgKIFBBU1Mg
LmdyaWQgOQotRkFJTCAuZ3JpZCAxMCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBj
YWxjIG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMTAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdv
dCAzMDAKK1BBU1MgLmdyaWQgMTAKIFBBU1MgLmdyaWQgMTEKIFBBU1MgLmdyaWQgMTIKIFBBU1Mg
LmdyaWQgMTMKLUZBSUwgLmdyaWQgMTQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQg
bWlubWF4LXBlcmNlbnQtZml4ZWQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIx
MDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGgg
ZXhwZWN0ZWQgMCBidXQgZ290IDEwMAorUEFTUyAuZ3JpZCAxNAogUEFTUyAuZ3JpZCAxNQogUEFT
UyAuZ3JpZCAxNgogUEFTUyAuZ3JpZCAxNwpAQCAtNDAsNjcgKzIwLDMxIEBAIFBBU1MgLmdyaWQg
MTgKIFBBU1MgLmdyaWQgMTkKIFBBU1MgLmdyaWQgMjAKIFBBU1MgLmdyaWQgMjEKLUZBSUwgLmdy
aWQgMjIgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWZpeGVkLXBlcmNl
bnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjEwMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMTAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDEwMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCAyMgogUEFTUyAuZ3JpZCAyMwogUEFTUyAuZ3JpZCAyNAog
UEFTUyAuZ3JpZCAyNQotRkFJTCAuZ3JpZCAyNiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0i
Z3JpZCBtaW5tYXgtcGVyY2VudC1mbGV4IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGgg
ZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAyNgogUEFTUyAuZ3JpZCAyNwotRkFJ
TCAuZ3JpZCAyOCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2Vu
dC1mbGV4IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290
IDMwMAorUEFTUyAuZ3JpZCAyOAogUEFTUyAuZ3JpZCAyOQogUEFTUyAuZ3JpZCAzMAogUEFTUyAu
Z3JpZCAzMQotRkFJTCAuZ3JpZCAzMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBt
aW5tYXgtaW50cmluc2ljLXBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0
aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDMyCiBQQVNTIC5ncmlkIDMzCi1G
QUlMIC5ncmlkIDM0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1pbnRy
aW5zaWMtcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVk
IDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzQKIFBBU1MgLmdyaWQgMzUKIFBBU1MgLmdyaWQg
MzYKIFBBU1MgLmdyaWQgMzcKLUZBSUwgLmdyaWQgMzggYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xh
c3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50cmluc2ljIG1pbi1jb250ZW50IiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwvZGl2
Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzOAogUEFTUyAuZ3Jp
ZCAzOQotRkFJTCAuZ3JpZCA0MCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtcGVyY2VudC1pbnRyaW5zaWMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQwCiBQQVNTIC5ncmlkIDQxCiBQQVNTIC5n
cmlkIDQyCiBQQVNTIC5ncmlkIDQzCi1GQUlMIC5ncmlkIDQ0IGFzc2VydF9lcXVhbHM6Ci08ZGl2
IGNsYXNzPSJncmlkIGZpdC1jb250ZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWln
aHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lk
dGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0NAogUEFTUyAuZ3JpZCA0NQot
RkFJTCAuZ3JpZCA0NiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBmaXQtY29udGVu
dCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAz
MDAKK1BBU1MgLmdyaWQgNDYKIFBBU1MgLmdyaWQgNDcKIFBBU1MgLmdyaWQgNDgKIFhYWFgKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQK
aW5kZXggM2UxNDA4NjdiN2U3MjE0NjExY2M1MjlhYmI0ODVmZDJmOGUxYjk0Ny4uM2U3OTkxYzFj
MDUxYTc3NjYzZGQ3NTcxMjI5YTAzY2E3MWUzMjZiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEsNSBAQAog
VGhlcmUgc2hvdWxkIGJlIGEgZ3JlZW4gc3F1YXJlIGJlbG93LgogCiAKLUZBSUwgI2ZsZXggMSBh
c3NlcnRfZXF1YWxzOgotPGRpdiBpZD0iZmxleCI+Ci0gIDxkaXYgaWQ9Im11bHRpY29sIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiPgotICAgIDxk
aXYgc3R5bGU9IndpZHRoOjEwMDBweDsgaGVpZ2h0OjFweDsiPjwvZGl2PgotICA8L2Rpdj4KLTwv
ZGl2Pgotd2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgNzg0CitQQVNTICNmbGV4IDEKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dAppbmRleCA3NDRkYzRmNjJhZjEw
MjMzODk1ZmZjOGFiNmZmZDQzZGVkZDliODcwLi5jYzBiYWM3NThhODY2ZDRhZWVjNzVhY2U4ZWU3
ZDgzM2JmMWRjMWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4
dApAQCAtMTcsMjggKzE3LDEyIEBAIENvbHVtbgogCiBSb3cKIAotRkFJTCAuaW5saW5lLWZsZXgg
MSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIHN0eWxlPSJkaXNwbGF5
OiBpbmxpbmUtZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFpbjog
c3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAi
PkNvbHVtbjwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgNTIKLUZBSUwg
LmlubGluZS1mbGV4IDIgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYg
c3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIj5Sb3c8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQg
Z290IDMwCitQQVNTIC5pbmxpbmUtZmxleCAxCitQQVNTIC5pbmxpbmUtZmxleCAyCiBQQVNTIC5p
bmxpbmUtZmxleCAzCiBQQVNTIC5pbmxpbmUtZmxleCA0Ci1GQUlMIC5pbmxpbmUtZmxleCA1IGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9ImZsZXgtZGlyZWN0
aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBz
dHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+
Q29sdW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCA1MgotRkFJTCAu
aW5saW5lLWZsZXggNiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIHN0
eWxlPSJhbGlnbi1pdGVtczogZmxleC1zdGFydDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPlJvdzwvZGl2
PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAKK1BBU1MgLmlubGluZS1mbGV4
IDUKK1BBU1MgLmlubGluZS1mbGV4IDYKIFBBU1MgLmlubGluZS1mbGV4IDcKIFBBU1MgLmlubGlu
ZS1mbGV4IDgKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425987</attachid>
            <date>2021-04-14 08:33:56 -0700</date>
            <delta_ts>2021-04-19 10:03:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210414233354.patch</filename>
            <type>text/plain</type>
            <size>68122</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzg4MjQ2NjUyOTQwNzNl
MDAzZDY2ZjYxZThmMDhjMmMwYWQ4Mjc0Yi4uZjJiMmEwOGJlMzVmNjNhNzc4YjJmNGY3MWZlM2U2
NjljMmE4NzljZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDIxLTA0LTEyICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5d
IFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGJyaW5ncyBpbml0aWFsIHN1cHBvcnQgb2YgQ1NTIGNv
bnRhaW46c2l6ZSBhY2NvcmRpbmcgdG8gWzFdLAorICAgICAgICBJdCBhZGRzIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50IHRvIGluZGljYXRlIHdoZXRoZXIgaXQgaXMgYSBzaXplIGNvbnRhaW5t
ZW50IGJveC4KKyAgICAgICAgVGhlIGludHJpbnNpYyBzaXplcyBvZiBzaXplIGNvbnRhaW5tZW50
IGJveCBhcmUgZGV0ZXJtaW5lZCBhcyBpZiBpdCBoYWQgbm8gY29udGVudC4KKyAgICAgICAgU28g
Y29vcGVyYXRpbmcgd2l0aCB0aGUgbGF5b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ2FsY3VsYXRl
IGxvZ2ljYWwgd2lkdGg6IFNpemUgY29udGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGls
ZHJlbiB3aGlsZSBjb21wdXRpbmcgbWluTG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExv
Z2ljYWxXaWR0aCBpbiBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocy4KKyAgICAgICAgICAt
IExheW91dCBjaGlsZHJlbi4KKyAgICAgICAgICAtIENhbGN1bGF0ZSBsb2dpY2FsIGhlaWdodDog
QXQgdGhlIGJlZ2lubmluZywgc2l6ZSBjb250YWlubWVudCBib3hlcyByZXNldCBsb2dpY2FsIGhl
aWdodCB0byB0aGUgZW1wdHkgY29udGVudCBoZWlnaHQKKyAgICAgICAgICBpZiBpdCBpcyBub3Qg
cmVuZGVyR3JpZC4KKyAgICAgICAgV2UgYWxzbyBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZXMg
YWNjb3JkaW5nIHRvIHRoZSBsYXlvdXQgYWxnb3JpdGhtcy4KKyAgICAgICAgLSBHcmlkIGxheW91
dDoKKyAgICAgICAgICBUbyBjYWxjdWxhdGUgdGhlIG1pbkxvZ2ljYWxXaWR0aCBhbmQgbWF4TG9n
aWNhbFdpZHRoIGZvciBpbmRlZmluaXRlIHNpemUgUmVuZGVyR3JpZC4KKyAgICAgICAgICBUaGUg
d2lkdGhzIGFyZSBjYWxjdWxhdGVkIGJ5IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTogbV9taW5D
b250ZW50U2l6ZSBhbmQgbV9tYXhDb250ZW50U2l6ZSB3aGljaCBhcmUgdGhlIHN1bSBvZgorICAg
ICAgICAgIG1fYmFzZVNpemUvbV9ncm93dGhMaW1pdCBvZiBhbGwgR3JpZFRyYWNrcy4gVGhlIHNp
emUgY29udGFpbm1lbnQgUmVuZGVyR3JpZCBza2lwcyBoYW5kbGluZyBjb250ZW50IGluIHJlc29s
dmVJbnRyaW5zaWNUcmFja1NpemVzCisgICAgICAgICAgYW5kIHRoZSBtX21heENvbnRlbnRTaXpl
IHdpbGwgYmUgdGhlIHN1bSBvZiBtX2Jhc2VTaXplLiBUaGUgbG9naWNhbCBoZWlnaHQgaXMgc2Ft
ZSB0byB3aWR0aCwgYnV0IGFmdGVyIGNhbGN1bGF0aW5nCisgICAgICAgICAgUmVuZGVyR3JpZCdz
IGxvZ2ljYWwgaGVpZ2h0LCBpdCBuZWVkcyB0byBjYWxjdWxhdGUgdGhlIHRyYWNrIHNpemVzIGFn
YWluLCB0byBtYWtlIHN1cmUgdGhhdCB0aGV5IGFyZSBkaXN0cmlidXRlZCBwcm9wZXJseS4KKyAg
ICAgICAgICBXZSB1c2UgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93cywg
dHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpIHRvIHJlY2FsY3VsYXRlIGl0LgorICAgICAgICAtIE11
bHRpQ29sdW1uIGxheW91dDoKKyAgICAgICAgICBBY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRp
b24sIHNpemUgY29udGFpbm1lbnQgYm94ZXMgc2hvdWxkIGJlIG1vbm9saXRoaWMsIHNvIHdlIG5l
ZWQgdG8gZXh0ZW5kIGNvbHVtbiBoZWlnaHQKKyAgICAgICAgICBmb3Igb3ZlcmZsb3cgYW5kIHBv
c2l0aW9uZWQgc2l6ZSBjb250YWlubWVudCBib3guIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250
YWlubWVudCBpcyBhZGRlZCB0byBpbmRpY2F0ZSB0aGUgc2hvcnRhZ2Ugc3BhY2UKKyAgICAgICAg
ICB0aGF0IG5lZWQgdG8gYmFsYW5jZSB0aGUgY29sdW1uIGhlaWdodHMuIGFkanVzdFNpemVDb250
YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbiB3aWxsIGNhbGN1bGF0ZSB0aGUgc2hvcnRhZ2UuCisK
KyAgICAgICAgWzFdIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY29udGFpbi0xLyNjb250YWlu
bWVudC1zaXplCisKKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
LmNwcDogQWRkIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50IHRvIGluZGljYXRlIGlmIGl0IGlz
IGNhbGN1bGF0aW5nIHNpemVzCisgICAgICAgICAgZm9yIGluZGVmaW5pdGUgc2l6ZSBSZW5kZXJH
cmlkIHdoaWNoIHNpemUgY29udGFpbm1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tT
aXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMpOgorICAg
ICAgICAgIEl0IG1pZ2h0IHNraXAgcmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMgaWYgaXNDb21w
dXRpbmdTaXplQ29udGFpbm1lbnQsIHNvIGdyb3d0aExpbWl0IG1pZ2h0IGJlIHVuZGVmaW5lZCwK
KyAgICAgICAgICBpZiBzbywgdXNlIHRyYWNrLmJhc2VTaXplKCkgaW5zdGVhZC4KKyAgICAgICAg
KFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNr
U2l6ZXMpOiBTa2lwIHJlc29sdmUgdGhlIGNvbnRlbnQgaWYgaXNDb21wdXRpbmdTaXplQ29udGFp
bm1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFu
Y2VOZXh0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
OjpydW4pOiBEbyBub3Qgc3RyZXRjaCB0aGUgdHJhY2sgc2l6ZXMgaWYgaXNDb21wdXRpbmdTaXpl
Q29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRo
bS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdCk6IENhbGN1bGF0ZSBtX3Nw
YWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgZm9yIHBvc2l0aW9uIHNpemUgY29udGFpbm1l
bnQKKyAgICAgICAgaW4gYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lk
dGhzIGNvbnN0KTogU2tpcCBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGlmIHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFNraXAgaGFuZGxpbmcgdGhlIGNoaWxkcmVuIGZv
ciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxv
dzo6YWRqdXN0QmxvY2tDaGlsZEZvclBhZ2luYXRpb24pOiBDYWxjdWxhdGUgbV9zcGFjZVNob3J0
YWdlRm9yU2l6ZUNvbnRhaW5tZW50IGZvciBjaGlsZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKTogbV9z
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50ID0gY2hpbGRPdmVyZmxvd0hlaWdodCAtIHJl
bWFpbmluZ0xvZ2ljYWxIZWlnaHQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KTogUmVzZXQgdGhlIGxvZ2ljYWwgaGVp
Z2h0IHRvIGVtcHR5IGNvbnRlbnQgaGVpZ2h0IGZvciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uIGNv
bnN0KTogU2l6ZSBjb250YWlubWVudCBib3ggaXMgdW5zcGxpdHRhYmxlLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
bGF5b3V0QmxvY2spOiBJZiBpdCBpcyBzaXplIGNvbnRhaW5tZW50IHdpdGggaW5maW5pdGVTaXpl
LCB1c2luZyB0cmFja0Jhc2VkTG9naWNhbEhlaWdodAorICAgICAgICB0byBjb21wdXRlIHRyYWNr
IHNpemVzIGFnYWluIHRvIG1ha2Ugc3VyZSB0aGUgaGVpZ2h0IGlzIGRpc3RyaWJ1dGVkIHByb3Bl
cmx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUF1dG9SZXBlYXRUcmFj
a3NDb3VudCBjb25zdCk6IEJlY2F1c2Ugc2l6ZSBjb250YWlubWVudCdzIGNvbnRlbnQgd2FzIGVt
cHR5LAorICAgICAgICB0aGUgcmVwZWF0IHRyYWNrcyBjb3VudCBpcyBhbHdheXMgMC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogVGhpcyBpcyBo
YW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlv
biBpbnN0ZWFkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGNvbnN0KTogVGhlIHdpZHRocyBvZiBzaXplIGNvbnRhaW5tZW50IGJveCBhcmUgb3B0aW9uc1Nw
YWNpbmdIb3Jpem9udGFsLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6
CisgICAgICAgIChSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMg
Y29uc3QpOiBUaGUgd2lkdGhzIG9mIHNpemUgY29udGFpbm1lbnQgYm94IGFyZSB0aGVtZS5taW5p
bXVtTWVudUxpc3RTaXplLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVT
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTogU2V0IG1fc3BhY2VTaG9ydGFnZUZvclNp
emVDb250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5j
ZWRIZWlnaHQgY29uc3QpOiBBZGQgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IHRv
IHRoZSBjb2x1bW4gaGVpZ2h0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQ6OnByZXBhcmVGb3JMYXlvdXQpOiBSZXNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFp
bm1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
T2JqZWN0Ojppc0F0b21pY0lubGluZUxldmVsQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck9iamVjdDo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQgY29uc3QpOiBDaGVjayBp
ZiB0aGlzIGlzIGEgc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21w
dXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlvbkZvclJlbmRlckJveCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24g
Y29uc3QpOiBVc2UgdGhlIGVtcHR5IGludHJpbnNpY1NpemUuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmg6IFRoZSBpbnRyaW5zaWNTaXplIG9mIHNpemUgY29udGFpbm1lbnQg
aXMgKDAsIDApLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBj
b25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNp
Y1NpemUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlv
SW5mb3JtYXRpb24gY29uc3QpOiBIYW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBpbnN0ZWFkLgorCiAyMDIxLTA0LTEyICBSb2IgQnVpcyAg
PHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgQ2xhbXAgb3ZlcnJpZGluZ0NvbnRlbnRMb2dp
Y2FsV2lkdGgvSGVpZ2h0IHRvIHplcm8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2
MDczNDM2NTdjYWZmNDRmZGU0OTA1NS4uNDRhMTcyZGYwNjdmYmRjN2RhYWM1ZjQ5OTdjNzFjMWZk
NGM5MjMwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Np
emluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFj
a1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lkIEdyaWRUcmFja1Np
emluZ0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcygpCiAKICAg
ICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKICAg
ICBmb3IgKGF1dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFTU0VSVCghdHJhY2su
aW5maW5pdGVHcm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVChtX3N0cmF0ZWd5LT5p
c0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0ZUdyb3d0aFBvdGVu
dGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5iYXNlU2l6ZSgpOwot
ICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0KCk7CisgICAgICAg
IG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmluaXRlKCkgPyB0cmFj
ay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAgLy8gVGhlIGdyb3d0
aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8gcHJvcGVybHkgc29y
dAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBhbiBldmVudHVhbCAi
TWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGltaXRDYXAoV1RGOjpu
dWxsb3B0KTsKQEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBmaW5kVXNl
ZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgs
IEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNl
KSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4RnJhY3Rpb25JZk5l
ZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxHcm93dGgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NT
dGVwKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlubWVu
dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHJlbmRlckdyaWQoKS0+c2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQoKTsgfQogfTsKIAogdm9pZCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpsYXlv
dXRHcmlkSXRlbUZvck1pblNpemVDb21wdXRhdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBib29sIG92
ZXJyaWRlU2l6ZUhhc0NoYW5nZWQpIGNvbnN0CkBAIC0xMDMwLDYgKzEwMzEsNyBAQCBwcml2YXRl
OgogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkgY29u
c3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBtaW5Db250ZW50Rm9yQ2hpbGQoUmVuZGVyQm94
JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBtaW5Mb2dpY2FsU2l6ZUZvckNoaWxk
KFJlbmRlckJveCYsIGNvbnN0IExlbmd0aCYgY2hpbGRNaW5TaXplLCBPcHRpb25hbDxMYXlvdXRV
bml0PiBhdmFpbGFibGVTaXplKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzQ29tcHV0aW5n
U2l6ZUNvbnRhaW5tZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIH07CiAK
IExheW91dFVuaXQgSW5kZWZpbml0ZVNpemVTdHJhdGVneTo6ZnJlZVNwYWNlRm9yU3RyZXRjaEF1
dG9UcmFja3NTdGVwKCkgY29uc3QKQEAgLTExNDYsMzcgKzExNDgsMzkgQEAgdm9pZCBHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmluaXRpYWxpemVUcmFja1NpemVzKCkKIAogdm9pZCBHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OnJlc29sdmVJbnRyaW5zaWNUcmFja1NpemVzKCkKIHsKLSAgICBW
ZWN0b3I8R3JpZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuOwotICAg
IEhhc2hTZXQ8UmVuZGVyQm94Kj4gaXRlbXNTZXQ7CiAgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFs
bFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlvbik7Ci0gICAgaWYgKG1fZ3JpZC5oYXNHcmlkSXRl
bXMoKSkgewotICAgICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVkVHJh
Y2tzSW5kZXgpIHsKLSAgICAgICAgICAgIEdyaWRJdGVyYXRvciBpdGVyYXRvcihtX2dyaWQsIG1f
ZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKLSAgICAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSBh
bGxUcmFja3NbdHJhY2tJbmRleF07Ci0KLSAgICAgICAgICAgIHdoaWxlIChhdXRvKiBncmlkSXRl
bSA9IGl0ZXJhdG9yLm5leHRHcmlkSXRlbSgpKSB7Ci0gICAgICAgICAgICAgICAgaWYgKGl0ZW1z
U2V0LmFkZChncmlkSXRlbSkuaXNOZXdFbnRyeSkgewotICAgICAgICAgICAgICAgICAgICBjb25z
dCBHcmlkU3BhbiYgc3BhbiA9IG1fZ3JpZC5ncmlkSXRlbVNwYW4oKmdyaWRJdGVtLCBtX2RpcmVj
dGlvbik7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChzcGFuLmludGVnZXJTcGFuKCkgPT0gMSkK
LSAgICAgICAgICAgICAgICAgICAgICAgIHNpemVUcmFja1RvRml0Tm9uU3Bhbm5pbmdJdGVtKHNw
YW4sICpncmlkSXRlbSwgdHJhY2spOwotICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICghc3Bh
bm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3Moc3BhbikpCi0gICAgICAgICAgICAg
ICAgICAgICAgICBpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYXBwZW5kKEdyaWRJdGVtV2l0
aFNwYW4oKmdyaWRJdGVtLCBzcGFuKSk7CisgICAgaWYgKCFtX3N0cmF0ZWd5LT5pc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCgpKSB7CisgICAgICAgIFZlY3RvcjxHcmlkSXRlbVdpdGhTcGFuPiBp
dGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW47CisgICAgICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4g
aXRlbXNTZXQ7CisgICAgICAgIGlmIChtX2dyaWQuaGFzR3JpZEl0ZW1zKCkpIHsKKyAgICAgICAg
ICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgewor
ICAgICAgICAgICAgICAgIEdyaWRJdGVyYXRvciBpdGVyYXRvcihtX2dyaWQsIG1fZGlyZWN0aW9u
LCB0cmFja0luZGV4KTsKKyAgICAgICAgICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0gYWxsVHJh
Y2tzW3RyYWNrSW5kZXhdOworCisgICAgICAgICAgICAgICAgd2hpbGUgKGF1dG8qIGdyaWRJdGVt
ID0gaXRlcmF0b3IubmV4dEdyaWRJdGVtKCkpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGl0
ZW1zU2V0LmFkZChncmlkSXRlbSkuaXNOZXdFbnRyeSkgeworICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3QgR3JpZFNwYW4mIHNwYW4gPSBtX2dyaWQuZ3JpZEl0ZW1TcGFuKCpncmlkSXRlbSwg
bV9kaXJlY3Rpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW4uaW50ZWdlclNw
YW4oKSA9PSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVUcmFja1RvRml0Tm9u
U3Bhbm5pbmdJdGVtKHNwYW4sICpncmlkSXRlbSwgdHJhY2spOworICAgICAgICAgICAgICAgICAg
ICAgICAgZWxzZSBpZiAoIXNwYW5uaW5nSXRlbUNyb3NzZXNGbGV4aWJsZVNpemVkVHJhY2tzKHNw
YW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5n
U3Bhbi5hcHBlbmQoR3JpZEl0ZW1XaXRoU3BhbigqZ3JpZEl0ZW0sIHNwYW4pKTsKKyAgICAgICAg
ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KKyAgICAgICAg
ICAgIHN0ZDo6c29ydChpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYmVnaW4oKSwgaXRlbXNT
b3J0ZWRCeUluY3JlYXNpbmdTcGFuLmVuZCgpKTsKICAgICAgICAgfQotICAgICAgICBzdGQ6OnNv
cnQoaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmJlZ2luKCksIGl0ZW1zU29ydGVkQnlJbmNy
ZWFzaW5nU3Bhbi5lbmQoKSk7Ci0gICAgfQogCi0gICAgYXV0byBpdCA9IGl0ZW1zU29ydGVkQnlJ
bmNyZWFzaW5nU3Bhbi5iZWdpbigpOwotICAgIGF1dG8gZW5kID0gaXRlbXNTb3J0ZWRCeUluY3Jl
YXNpbmdTcGFuLmVuZCgpOwotICAgIHdoaWxlIChpdCAhPSBlbmQpIHsKLSAgICAgICAgR3JpZEl0
ZW1zU3Bhbkdyb3VwUmFuZ2Ugc3Bhbkdyb3VwUmFuZ2UgPSB7IGl0LCBzdGQ6OnVwcGVyX2JvdW5k
KGl0LCBlbmQsICppdCkgfTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFu
bmluZ0l0ZW1zPFJlc29sdmVJbnRyaW5zaWNNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAg
ICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZUNvbnRl
bnRCYXNlZE1pbmltdW1zPihzcGFuR3JvdXBSYW5nZSk7Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNU
b0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlTWF4Q29udGVudE1pbmltdW1zPihzcGFu
R3JvdXBSYW5nZSk7Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJ
dGVtczxSZXNvbHZlSW50cmluc2ljTWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKLSAgICAgICAg
aW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50
TWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKLSAgICAgICAgaXQgPSBzcGFuR3JvdXBSYW5nZS5y
YW5nZUVuZDsKKyAgICAgICAgYXV0byBpdCA9IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5i
ZWdpbigpOworICAgICAgICBhdXRvIGVuZCA9IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5l
bmQoKTsKKyAgICAgICAgd2hpbGUgKGl0ICE9IGVuZCkgeworICAgICAgICAgICAgR3JpZEl0ZW1z
U3Bhbkdyb3VwUmFuZ2Ugc3Bhbkdyb3VwUmFuZ2UgPSB7IGl0LCBzdGQ6OnVwcGVyX2JvdW5kKGl0
LCBlbmQsICppdCkgfTsKKyAgICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bh
bm5pbmdJdGVtczxSZXNvbHZlSW50cmluc2ljTWluaW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAg
ICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZl
Q29udGVudEJhc2VkTWluaW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAgICAgICAgIGluY3Jl
YXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlTWF4Q29udGVudE1pbmlt
dW1zPihzcGFuR3JvdXBSYW5nZSk7CisgICAgICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1v
ZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZUludHJpbnNpY01heGltdW1zPihzcGFuR3JvdXBSYW5n
ZSk7CisgICAgICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8
UmVzb2x2ZU1heENvbnRlbnRNYXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAg
aXQgPSBzcGFuR3JvdXBSYW5nZS5yYW5nZUVuZDsKKyAgICAgICAgfQogICAgIH0KIAogICAgIGZv
ciAoYXV0byB0cmFja0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgewpAQCAtMTIz
OSw3ICsxMjQzLDggQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFuY2VOZXh0
U3RhdGUoKQogICAgICAgICBtX3NpemluZ1N0YXRlID0gUm93U2l6aW5nRmlyc3RJdGVyYXRpb247
CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uOgotICAg
ICAgICBtX3NpemluZ1N0YXRlID0gQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOworICAgICAg
ICBpZiAoIW1fc3RyYXRlZ3ktPmlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAg
ICAgICBtX3NpemluZ1N0YXRlID0gQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOwogICAgICAg
ICByZXR1cm47CiAgICAgY2FzZSBDb2x1bW5TaXppbmdTZWNvbmRJdGVyYXRpb246CiAgICAgICAg
IG1fc2l6aW5nU3RhdGUgPSBSb3dTaXppbmdTZWNvbmRJdGVyYXRpb247CkBAIC0xMzQ2LDYgKzEz
NTEsOCBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cnVuKCkKIAogICAgIC8vIFN0
ZXAgMy4KICAgICBtX3N0cmF0ZWd5LT5tYXhpbWl6ZVRyYWNrcyh0cmFja3MobV9kaXJlY3Rpb24p
LCBtX2RpcmVjdGlvbiA9PSBGb3JDb2x1bW5zID8gbV9mcmVlU3BhY2VDb2x1bW5zIDogbV9mcmVl
U3BhY2VSb3dzKTsKKyAgICBpZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1l
bnQoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gU3RlcCA0LgogICAgIHN0cmV0Y2hGbGV4
aWJsZVRyYWNrcyhpbml0aWFsRnJlZVNwYWNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaAppbmRleCAwMzExMjVkYTliZmRiNTg4
YTlhOTE5NjFhM2IxNTI4ZTk4N2Y0MTYyLi4yOTczMzMyNGI0ODk5NzA1OTgyZWUwMGRhOGJmNjZk
ZjMyZTQ3YzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNr
U2l6aW5nQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFj
a1NpemluZ0FsZ29yaXRobS5oCkBAIC0yNjEsNiArMjYxLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgZG91YmxlIGZpbmRVc2VkRmxleEZyYWN0aW9uKFZlY3Rvcjx1bnNpZ25lZD4mIGZsZXhpYmxl
U2l6ZWRUcmFja3NJbmRleCwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBPcHRpb25hbDxMYXlv
dXRVbml0PiBpbml0aWFsRnJlZVNwYWNlKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBib29sIHJl
Y29tcHV0ZVVzZWRGbGV4RnJhY3Rpb25JZk5lZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5
b3V0VW5pdCYgdG90YWxHcm93dGgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIExheW91dFVuaXQg
ZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkgY29uc3QgPSAwOworICAgIHZpcnR1
YWwgYm9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIGNvbnN0ID0gMDsKIAogcHJvdGVj
dGVkOgogICAgIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobVN0cmF0ZWd5KEdyaWRUcmFja1Npemlu
Z0FsZ29yaXRobSYgYWxnb3JpdGhtKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
ay5jcHAKaW5kZXggYmI0ZGY3Y2M4NzhkMWFkZjZlZTQ1OTFmOWZkNWYzZmY0MzQ0ZGMwYS4uOGVh
NTNhNTU5MmVlOTdmMTljNTY1NmY0MTI2YjEyMmVmZDZkYmZhNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0xMDczLDYgKzEwNzMsOSBAQCB2b2lkIFJlbmRl
ckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0KFJlbmRlckJveCYgciwgYm9vbCByZWxheW91
dENoaWxkcmVuLCBibwogICAgICAgICByLnNldE5lZWRzTGF5b3V0KE1hcmtPbmx5VGhpcyk7CiAg
ICAgICAgIHIubGF5b3V0SWZOZWVkZWQoKTsKICAgICB9CisgICAgCisgICAgaWYgKHZpZXcoKS5m
cmFtZVZpZXcoKS5sYXlvdXRDb250ZXh0KCkubGF5b3V0U3RhdGUoKS0+aXNQYWdpbmF0ZWQoKSAm
JiBpczxSZW5kZXJCbG9ja0Zsb3c+KCp0aGlzKSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVyQmxv
Y2tGbG93PigqdGhpcykuYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKHIs
IHIubG9naWNhbFRvcCgpKTsKIH0KIAogdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25l
ZE9iamVjdHMoYm9vbCByZWxheW91dENoaWxkcmVuLCBib29sIGZpeGVkUG9zaXRpb25PYmplY3Rz
T25seSkKQEAgLTIyODIsOCArMjI4NSw4IEBAIHZvaWQgUmVuZGVyQmxvY2s6Om9mZnNldEZvckNv
bnRlbnRzKExheW91dFBvaW50JiBvZmZzZXQpIGNvbnN0CiB2b2lkIFJlbmRlckJsb2NrOjpjb21w
dXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExh
eW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKICAgICBBU1NFUlQoIWNoaWxkcmVu
SW5saW5lKCkpOwotICAgIAotICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMo
bWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIGlmICghc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdp
ZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKICAgICBtYXhMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggMjJmM2Zh
MDZlNWQ0YjM4ZjQ0MmVjMjg0MDU3ZDcxNzFjYTZiNTUzYy4uMjk0NzFlNDlmMzYxZjA4Njk5ZTU4
ZWJkNDJlZjA0MzYxMDEwYjg5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5jcHAKQEAgLTMzOSwxMCArMzM5LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93
OjphZGp1c3RJbnRyaW5zaWNMb2dpY2FsV2lkdGhzRm9yQ29sdW1ucyhMYXlvdXRVbml0JiBtaW5M
b2dpCiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRo
cyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0
aCkgY29uc3QKIHsKLSAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKLSAgICAgICAgY29tcHV0ZUlu
bGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lk
dGgpOwotICAgIGVsc2UKLSAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRo
cyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgpKSB7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQorICAg
ICAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdp
ZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wdXRl
QmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdp
ZHRoKTsKKyAgICB9CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKQEAgLTE2NjIsNiArMTY2NCw5IEBAIExheW91dFVu
aXQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RCbG9ja0NoaWxkRm9yUGFnaW5hdGlvbihMYXlvdXRV
bml0IGxvZ2ljYWxUb3BBCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoY2hpbGQuc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hp
bGRGb3JQYWdpbmF0aW9uKGNoaWxkLCByZXN1bHQpOworCiAgICAgLy8gRm9yIHJlcGxhY2VkIGVs
ZW1lbnRzIGFuZCBzY3JvbGxlZCBlbGVtZW50cywgd2Ugd2FudCB0byBzaGlmdCB0aGVtIHRvIHRo
ZSBuZXh0IHBhZ2UgaWYgdGhleSBkb24ndCBmaXQgb24gdGhlIGN1cnJlbnQgb25lLgogICAgIExh
eW91dFVuaXQgbG9naWNhbFRvcEJlZm9yZVVuc3BsaXR0YWJsZUFkanVzdG1lbnQgPSByZXN1bHQ7
CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wQWZ0ZXJVbnNwbGl0dGFibGVBZGp1c3RtZW50ID0g
YWRqdXN0Rm9yVW5zcGxpdHRhYmxlQ2hpbGQoY2hpbGQsIHJlc3VsdCk7CkBAIC0yMDQ3LDYgKzIw
NTIsMjQgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmxvZ2ljYWxIZWlnaHRGb3JDaGls
ZEZvckZyYWdtZW50YXRpb24oY29uc3QgUmVuZGVyQm8KICAgICByZXR1cm4gbG9naWNhbEhlaWdo
dEZvckNoaWxkKGNoaWxkKTsKIH0KIAordm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdFNpemVD
b250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0
IG9mZnNldCkKK3sKKyAgICBpZiAoIWNoaWxkLnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkp
CisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFVuaXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9
IGNoaWxkLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjaGlsZC5sYXlvdXRPdmVyZmxvd1Jl
Y3QoKS5tYXhZKCkgOiBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhYKCk7CisgICAgTGF5
b3V0VW5pdCBjaGlsZExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0
KCksIGNoaWxkT3ZlcmZsb3dIZWlnaHQpOworCisgICAgTGF5b3V0VW5pdCByZW1haW5pbmdMb2dp
Y2FsSGVpZ2h0ID0gcGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBF
eGNsdWRlUGFnZUJvdW5kYXJ5KTsKKworICAgIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNo
aWxkTG9naWNhbEhlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQ7CisgICAgaWYgKHNwYWNl
U2hvcnRhZ2UgPD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKFJlbmRlckZyYWdtZW50
ZWRGbG93KiBmcmFnbWVudGVkRmxvdyA9IGVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpCisgICAg
ICAgIGZyYWdtZW50ZWRGbG93LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
KHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSArIG9mZnNldCwgc3BhY2VT
aG9ydGFnZSk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRMaW5lR3JpZEJveCgp
CiB7CiAgICAgaWYgKHN0eWxlKCkubGluZUdyaWQoKSA9PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExp
bmVHcmlkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApp
bmRleCBmNmE3NjQ5ZTkyNjJhODFkZGM0M2JjYjBmMGRlNDU5OGFlYjAwMTgwLi41YjU3NWRmYzFm
Zjg2MWUyMDc1ZjdkZjBjNmJiOTFiMzU1M2UzMTI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zOTgsNiArMzk4LDggQEAgcHVibGljOgogICAgIC8v
IGNvbHVtbiBiYWxhbmNlciB0byBoZWxwIHNldCBhIGdvb2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0
LgogICAgIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoTGF5b3V0VW5pdCBvZmZzZXQsIExh
eW91dFVuaXQgbWluSGVpZ2h0KTsKIAorICAgIHZvaWQgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hp
bGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgb2Zmc2V0KTsKKwog
ICAgIHZvaWQgYWRkRmxvYXRzVG9OZXdQYXJlbnQoUmVuZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxv
dykgY29uc3Q7CiAgICAgCiAgICAgTGF5b3V0VW5pdCBlbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA1NzZlZTVk
Y2M5YTNlNmRmN2U1MWJlOWUyYjI2MmYyYjIwMDczMmI0Li5jNjM0MzM4NDRiN2FjZWZjZmE2NTFk
ZDkwZWU0NGMxNjc4NTM1MzU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjg3Niw2ICsyODc2LDEyIEBAIHZvaWQgUmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0Nv
bnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQg
UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKSAmJiAhaXNSZW5kZXJHcmlkKCkpIHsKKyAgICAgICAgLy8gYm9yZGVy
QW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQgY29udGFpbnMgaW50cmluc2ljQm9yZGVyRm9yRmllbGRz
ZXQoKSB3aGljaCBhZGQgZXh0cmEgYm9yZGVyIGZvciBmaWVsZHNldCwgc28gd2UgY2FuJ3QgdXNl
IGl0IGRpcmVjdGx5LgorICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGluZyA9IFJlbmRlckJveDo6
Ym9yZGVyQmVmb3JlKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdCZWZvcmUoKSArIFJlbmRlckJveDo6
Ym9yZGVyQWZ0ZXIoKSArIFJlbmRlckJveDo6cGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHNldExv
Z2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkaW5nICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsK
KyAgICB9CisKICAgICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0
ZW0oY29udGVudExvZ2ljYWxIZWlnaHQoKSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNv
bXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBz
ZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKQEAgLTQ4NTYsNyArNDg2
Miw4IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBjb25z
dAogICAgIHJldHVybiBpc1JlcGxhY2VkKCkKICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxlU2Ny
b2xsaW5nT3ZlcmZsb3coKQogICAgICAgICB8fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9kZVJv
b3QoKSkKLSAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09
IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAw
KTsKKyAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBz
ZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQor
ICAgICAgICB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpOwogfQogCiBMYXlvdXRVbml0
IFJlbmRlckJveDo6bGluZUhlaWdodChib29sIC8qZmlyc3RMaW5lKi8sIExpbmVEaXJlY3Rpb25N
b2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSAvKmxpbmVQb3NpdGlvbk1vZGUqLykgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVk
RmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveC5jcHAKaW5kZXggNGYyZDFmM2RiMWI3OTAzNTRmZmM2ODU5ZmMzYmQ3Mjc3
NjJmZTE4ZS4uY2Y4ODA3NWE5N2QyODQwYTI4ODg4NzA3ZjI5ZTIzMjNlZTBjMjAzYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4
aWJsZUJveC5jcHAKQEAgLTE4NywyNiArMTg3LDI4IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZs
ZXhpYmxlQm94OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0IFJl
CiAKIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9n
aWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExv
Z2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBpZiAoaGFzTXVsdGlwbGVMaW5lcygpIHx8IGlzVmVy
dGljYWwoKSkgewotICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAg
ICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQpKQotICAgICAgICAg
ICAgICAgIGNvbnRpbnVlOworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSkg
eworICAgICAgICBpZiAoaGFzTXVsdGlwbGVMaW5lcygpIHx8IGlzVmVydGljYWwoKSkgeworICAg
ICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsg
Y2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChj
aGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAg
ICAgIGNvbnRpbnVlOwogCi0gICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldp
ZHRoRm9yQ2hpbGQoY2hpbGQpOwotICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IGNoaWxk
LT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1pbkxv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOworICAgICAgICAg
ICAgICAgIExheW91dFVuaXQgbWFyZ2luID0gbWFyZ2luV2lkdGhGb3JDaGlsZChjaGlsZCk7Cisg
ICAgICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IGNoaWxkLT5taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKSArIG1hcmdpbjsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBz
dGQ6Om1heCh3aWR0aCwgbWluTG9naWNhbFdpZHRoKTsKIAotICAgICAgICAgICAgd2lkdGggPSBj
aGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47Ci0gICAgICAgICAgICBt
YXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLSAgICAg
ICAgfQotICAgIH0gZWxzZSB7Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0
Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAg
ICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCi0g
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICAgICAgd2lkdGggPSBjaGlsZC0+
bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgbWF4
TG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmb3IgKFJlbmRlckJveCogY2hp
bGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0Jv
eCgpKSB7CisgICAgICAgICAgICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4
aW5nKGNoaWxkKSkKKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAg
IExheW91dFVuaXQgbWFyZ2luID0gbWFyZ2luV2lkdGhGb3JDaGlsZChjaGlsZCk7Ci0gICAgICAg
ICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgp
ICsgbWFyZ2luOwotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGNoaWxkLT5tYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0
IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hpbGQpOworICAgICAgICAgICAgICAgIG1p
bkxvZ2ljYWxXaWR0aCArPSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJn
aW47CisgICAgICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGNoaWxkLT5tYXhQcmVmZXJy
ZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxv
YWRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5jcHAKaW5kZXggM2QxMjNjNTRiNTY0ZGE1MDQxN2I0YzA3ODk3MjlmMzllMzNiMTVk
YS4uMDRmNzA1NzRiZmM4YTM5N2M4Yzg5MGNkNjc4MjQxNmFlZjVjZjY5NyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBA
IC0xOTcsNiArMTk3LDggQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmpl
Y3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW4KIAogdm9pZCBSZW5kZXJG
aWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5p
dCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7
CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIHJldHVybjsK
ICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJl
IGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAgLy8gKHVzaW5nICIwIiBhcyB0
aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgIGNvbnN0IFVDaGFyIGNoYXJhY3RlciA9ICcwJzsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCmluZGV4
IGM2NzkxZmM2Mzc4ZWRiM2U1YWFhOGIxZWRiZTk5YjU4ZWU0NGQzYmUuLjM0ODU4YmM5MjZhYWQw
NGY2ODQxZmU2ZTBkNmUyNDAzY2NkM2RkYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtODMsNjAgKzgzLDYyIEBAIGNvbnN0IGNoYXIq
IFJlbmRlckZsZXhpYmxlQm94OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9n
aWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgTGF5
b3V0VW5pdCBjaGlsZE1pbldpZHRoOwotICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKLSAg
ICBib29sIGhhZEV4Y2x1ZGVkQ2hpbGRyZW4gPSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhj
bHVkZWRDaGlsZHJlbihjaGlsZE1pbldpZHRoLCBjaGlsZE1heFdpZHRoKTsKLQotICAgIC8vIEZJ
WE1FOiBXZSdyZSBpZ25vcmluZyBmbGV4LWJhc2lzIGhlcmUgYW5kIHdlIHNob3VsZG4ndC4gV2Ug
Y2FuJ3Qgc3RhcnQKLSAgICAvLyBob25vcmluZyBpdCB0aG91Z2ggdW50aWwgdGhlIGZsZXggc2hv
cnRoYW5kIHN0b3BzIHNldHRpbmcgaXQgdG8gMC4gU2VlCi0gICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjExNyBhbmQKLSAgICAvLyBodHRwczovL2NyYnVn
LmNvbS8yNDA3NjUuCi0gICAgc2l6ZV90IG51bUl0ZW1zV2l0aE5vcm1hbExheW91dCA9IDA7Ci0g
ICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZG
bG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0V4Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQot
ICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICsrbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0
OworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKSkgeworICAgICAgICBMYXlv
dXRVbml0IGNoaWxkTWluV2lkdGg7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsK
KyAgICAgICAgYm9vbCBoYWRFeGNsdWRlZENoaWxkcmVuID0gY29tcHV0ZVByZWZlcnJlZFdpZHRo
c0ZvckV4Y2x1ZGVkQ2hpbGRyZW4oY2hpbGRNaW5XaWR0aCwgY2hpbGRNYXhXaWR0aCk7CisKKyAg
ICAgICAgLy8gRklYTUU6IFdlJ3JlIGlnbm9yaW5nIGZsZXgtYmFzaXMgaGVyZSBhbmQgd2Ugc2hv
dWxkbid0LiBXZSBjYW4ndCBzdGFydAorICAgICAgICAvLyBob25vcmluZyBpdCB0aG91Z2ggdW50
aWwgdGhlIGZsZXggc2hvcnRoYW5kIHN0b3BzIHNldHRpbmcgaXQgdG8gMC4gU2VlCisgICAgICAg
IC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMTcgYW5kCisg
ICAgICAgIC8vIGh0dHBzOi8vY3JidWcuY29tLzI0MDc2NS4KKyAgICAgICAgc2l6ZV90IG51bUl0
ZW1zV2l0aE5vcm1hbExheW91dCA9IDA7CisgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9
IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkp
IHsKKyAgICAgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hp
bGQtPmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCkpCisgICAgICAgICAgICAgICAgY29udGlu
dWU7CisgICAgICAgICAgICArK251bUl0ZW1zV2l0aE5vcm1hbExheW91dDsKIAotICAgICAgICBM
YXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbkludHJpbnNpY0xvZ2ljYWxXaWR0aEZvckNoaWxkKCpj
aGlsZCk7Ci0gICAgICAgIAotICAgICAgICBMYXlvdXRVbml0IG1pblByZWZlcnJlZExvZ2ljYWxX
aWR0aDsKLSAgICAgICAgTGF5b3V0VW5pdCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAg
ICAgIGNvbXB1dGVDaGlsZFByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKmNoaWxkLCBtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIAotICAg
ICAgICBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGggKz0gbWFyZ2luOwotICAgICAgICBtYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGggKz0gbWFyZ2luOwotCi0gICAgICAgIGlmICghaXNDb2x1bW5GbG93
KCkpIHsKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBtYXhQcmVmZXJyZWRMb2dpY2Fs
V2lkdGg7Ci0gICAgICAgICAgICBpZiAoaXNNdWx0aWxpbmUoKSkgewotICAgICAgICAgICAgICAg
IC8vIEZvciBtdWx0aWxpbmUsIHRoZSBtaW4gcHJlZmVycmVkIHdpZHRoIGlzIGlmIHlvdSBwdXQg
YSBicmVhayBiZXR3ZWVuCi0gICAgICAgICAgICAgICAgLy8gZWFjaCBpdGVtLgotICAgICAgICAg
ICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWluUHJl
ZmVycmVkTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgIH0gZWxzZQotICAgICAgICAgICAgICAg
IG1pbkxvZ2ljYWxXaWR0aCArPSBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICBtYXhMb2dpY2Fs
V2lkdGggPSBzdGQ6Om1heChtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0
aCk7CisgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbkludHJpbnNpY0xvZ2lj
YWxXaWR0aEZvckNoaWxkKCpjaGlsZCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIExheW91
dFVuaXQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOworICAgICAgICAgICAgTGF5b3V0VW5pdCBt
YXhQcmVmZXJyZWRMb2dpY2FsV2lkdGg7CisgICAgICAgICAgICBjb21wdXRlQ2hpbGRQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKCpjaGlsZCwgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgCisgICAgICAgICAgICBtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGggKz0gbWFyZ2luOworICAgICAgICAgICAgbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoICs9IG1hcmdpbjsKKworICAgICAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSkgewor
ICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBtYXhQcmVmZXJyZWRMb2dpY2FsV2lk
dGg7CisgICAgICAgICAgICAgICAgaWYgKGlzTXVsdGlsaW5lKCkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgLy8gRm9yIG11bHRpbGluZSwgdGhlIG1pbiBwcmVmZXJyZWQgd2lkdGggaXMgaWYgeW91
IHB1dCBhIGJyZWFrIGJldHdlZW4KKyAgICAgICAgICAgICAgICAgICAgLy8gZWFjaCBpdGVtLgor
ICAgICAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2Fs
V2lkdGgsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAgICAgfSBlbHNl
CisgICAgICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBtaW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGg7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1pbkxvZ2lj
YWxXaWR0aCA9IHN0ZDo6bWF4KG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWluTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhQcmVm
ZXJyZWRMb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB9CiAgICAg
ICAgIH0KLSAgICB9CiAKLSAgICBpZiAoIWlzQ29sdW1uRmxvdygpICYmIG51bUl0ZW1zV2l0aE5v
cm1hbExheW91dCA+IDEpIHsKLSAgICAgICAgTGF5b3V0VW5pdCBpbmxpbmVHYXBTaXplID0gKG51
bUl0ZW1zV2l0aE5vcm1hbExheW91dCAtIDEpICogY29tcHV0ZUdhcChHYXBUeXBlOjpCZXR3ZWVu
SXRlbXMpOwotICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKLSAgICAg
ICAgaWYgKCFpc011bHRpbGluZSgpKQotICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGlu
bGluZUdhcFNpemU7Ci0gICAgfQorICAgICAgICBpZiAoIWlzQ29sdW1uRmxvdygpICYmIG51bUl0
ZW1zV2l0aE5vcm1hbExheW91dCA+IDEpIHsKKyAgICAgICAgICAgIExheW91dFVuaXQgaW5saW5l
R2FwU2l6ZSA9IChudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgLSAxKSAqIGNvbXB1dGVHYXAoR2Fw
VHlwZTo6QmV0d2Vlbkl0ZW1zKTsKKyAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBpbmxp
bmVHYXBTaXplOworICAgICAgICAgICAgaWYgKCFpc011bHRpbGluZSgpKQorICAgICAgICAgICAg
ICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBpbmxpbmVHYXBTaXplOworICAgICAgICB9CiAKLSAgICBt
YXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0
aCk7Ci0gICAgCi0gICAgLy8gRHVlIHRvIG5lZ2F0aXZlIG1hcmdpbnMsIGl0IGlzIHBvc3NpYmxl
IHRoYXQgd2UgY2FsY3VsYXRlZCBhIG5lZ2F0aXZlCi0gICAgLy8gaW50cmluc2ljIHdpZHRoLiBN
YWtlIHN1cmUgdGhhdCB3ZSBuZXZlciByZXR1cm4gYSBuZWdhdGl2ZSB3aWR0aC4KLSAgICBtaW5M
b2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBtaW5Mb2dpY2FsV2lkdGgpOwotICAgIG1heExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIG1heExvZ2ljYWxXaWR0aCk7Ci0gICAgCi0gICAg
aWYgKGhhZEV4Y2x1ZGVkQ2hpbGRyZW4pIHsKLSAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobWluTG9naWNhbFdpZHRoLCBjaGlsZE1pbldpZHRoKTsKLSAgICAgICAgbWF4TG9naWNh
bFdpZHRoID0gc3RkOjptYXgobWF4TG9naWNhbFdpZHRoLCBjaGlsZE1heFdpZHRoKTsKKyAgICAg
ICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2Fs
V2lkdGgpOworICAgICAgICAKKyAgICAgICAgLy8gRHVlIHRvIG5lZ2F0aXZlIG1hcmdpbnMsIGl0
IGlzIHBvc3NpYmxlIHRoYXQgd2UgY2FsY3VsYXRlZCBhIG5lZ2F0aXZlCisgICAgICAgIC8vIGlu
dHJpbnNpYyB3aWR0aC4gTWFrZSBzdXJlIHRoYXQgd2UgbmV2ZXIgcmV0dXJuIGEgbmVnYXRpdmUg
d2lkdGguCisgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIG1pbkxvZ2lj
YWxXaWR0aCk7CisgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIG1heExv
Z2ljYWxXaWR0aCk7CisgICAgICAgIAorICAgICAgICBpZiAoaGFkRXhjbHVkZWRDaGlsZHJlbikg
eworICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRo
LCBjaGlsZE1pbldpZHRoKTsKKyAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4
KG1heExvZ2ljYWxXaWR0aCwgY2hpbGRNYXhXaWR0aCk7CisgICAgICAgIH0KICAgICB9CiAKICAg
ICBMYXlvdXRVbml0IHNjcm9sbGJhcldpZHRoKHNjcm9sbGJhckxvZ2ljYWxXaWR0aCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKaW5kZXgg
ZmFjZWIxOTZkOWJmNzdjZDYyODU1NGUzMzUxMDAwZTk5ODkzYWQ2My4uYjczYmUyYjFiMGU0ODI3
ZWRhZTYwMjdhYTZlMzVmY2IxNzFkNjM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKQEAgLTEwMiw2ICsxMDIsOCBAQCBwdWJsaWM6CiAg
ICAgdmlydHVhbCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVu
aXQgLypvZmZzZXQqLywgTGF5b3V0VW5pdCAvKnNwYWNlU2hvcnRhZ2UqLykgeyB9CiAgICAgdmly
dHVhbCB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5
b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qbWluSGVpZ2h0Ki8pIHsgfQogCisgICAg
dmlydHVhbCB2b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQoY29uc3Qg
UmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQgLypzaG9ydGFn
ZSovKSB7IH0KKwogICAgIHZpcnR1YWwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW50
QXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29sIGV4dGVuZExh
c3RGcmFnbWVudCA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJvb2wgZnJhZ21lbnRzSGF2ZVVuaWZv
cm1Mb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZyYWdtZW50c0hhdmVVbmlmb3JtTG9n
aWNhbFdpZHRoOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
R3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXgg
ZWY1MDc2ODU1N2RkYjQ2OTg1NDgzMzViNDcyZGQwNmFlOGViOWIxYy4uZWQ4M2UxYmViNDc4Mjhh
YzYyMmQwNDgwZTcwMzM2ZjIxNGY0NTBjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcApAQCAtMjUwLDExICsyNTAsMTcgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRC
bG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiAKICAgICAgICAgLy8gMi0g
TmV4dCwgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0gcmVzb2x2ZXMgdGhlIHNpemVzIG9mIHRo
ZSBncmlkIHJvd3MsCiAgICAgICAgIC8vIHVzaW5nIHRoZSBncmlkIGNvbHVtbiBzaXplcyBjYWxj
dWxhdGVkIGluIHRoZSBwcmV2aW91cyBzdGVwLgotICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9n
aWNhbEhlaWdodCkKKyAgICAgICAgYm9vbCBzaG91bGRSZWNvbXB1dGVIZWlnaHQgPSBmYWxzZTsK
KyAgICAgICAgaWYgKCFoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQpIHsKICAgICAgICAgICAgIGNv
bXB1dGVUcmFja1NpemVzRm9ySW5kZWZpbml0ZVNpemUobV90cmFja1NpemluZ0FsZ29yaXRobSwg
Rm9yUm93cyk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgpKQorICAgICAgICAgICAgICAgIHNob3VsZFJlY29tcHV0ZUhlaWdodCA9IHRy
dWU7CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZp
bml0ZVNpemUoRm9yUm93cywgYXZhaWxhYmxlTG9naWNhbEhlaWdodChFeGNsdWRlTWFyZ2luQm9y
ZGVyUGFkZGluZykpOwogICAgICAgICBMYXlvdXRVbml0IHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0
ID0gbV90cmFja1NpemluZ0FsZ29yaXRobS5jb21wdXRlVHJhY2tCYXNlZFNpemUoKSArIGJvcmRl
ckFuZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7Cisg
ICAgICAgIGlmIChzaG91bGRSZWNvbXB1dGVIZWlnaHQpCisgICAgICAgICAgICBjb21wdXRlVHJh
Y2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCk7
CisKICAgICAgICAgc2V0TG9naWNhbEhlaWdodCh0cmFja0Jhc2VkTG9naWNhbEhlaWdodCk7CiAK
ICAgICAgICAgTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UgPSBjbGllbnRMb2dpY2FsQm90
dG9tKCk7CkBAIC00NTUsNiArNDYxLDExIEBAIHVuc2lnbmVkIFJlbmRlckdyaWQ6OmNvbXB1dGVB
dXRvUmVwZWF0VHJhY2tzQ291bnQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjCiB7CiAg
ICAgQVNTRVJUKCFhdmFpbGFibGVTaXplIHx8IGF2YWlsYWJsZVNpemUudmFsdWUoKSAhPSAtMSk7
CiAgICAgYm9vbCBpc1Jvd0F4aXMgPSBkaXJlY3Rpb24gPT0gRm9yQ29sdW1uczsKKyAgICBpZiAo
c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKQorICAgICAgICAmJiAoKGlzUm93QXhpcyAmJiBz
dHlsZSgpLmdyaWRBdXRvUmVwZWF0Q29sdW1uc1R5cGUoKSA9PSBBdXRvUmVwZWF0VHlwZTo6Rml0
KQorICAgICAgICAgICAgfHwgKCFpc1Jvd0F4aXMgJiYgc3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJv
d3NUeXBlKCkgPT0gQXV0b1JlcGVhdFR5cGU6OkZpdCkpKQorICAgICAgICByZXR1cm4gMDsKKwog
ICAgIGNvbnN0IGF1dG8mIGF1dG9SZXBlYXRUcmFja3MgPSBpc1Jvd0F4aXMgPyBzdHlsZSgpLmdy
aWRBdXRvUmVwZWF0Q29sdW1ucygpIDogc3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJvd3MoKTsKICAg
ICB1bnNpZ25lZCBhdXRvUmVwZWF0VHJhY2tMaXN0TGVuZ3RoID0gYXV0b1JlcGVhdFRyYWNrcy5z
aXplKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFn
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IDc4
MzAxZTYwYzkxNTE3ZTc0N2I5YzhmMThkOGJiYmQ0NzhhNTc0OTEuLmE4YzhmNTQwNGY0ZmY5NzEy
MTFhMzcxNTE1ZDY3ODgxNDZjYjAzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJJbWFnZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckltYWdlLmNwcApAQCAtODQ0LDYgKzg0NCw3IEBAIHZvaWQgUmVuZGVySW1hZ2U6OmxheW91dFNo
YWRvd0NvbnRlbnQoY29uc3QgTGF5b3V0U2l6ZSYgb2xkU2l6ZSkKIAogdm9pZCBSZW5kZXJJbWFn
ZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNT
aXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogeworICAgIEFTU0VSVCghc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoKSk7CiAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRy
aW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsKIAog
ICAgIC8vIE91ciBpbnRyaW5zaWNTaXplIGlzIGVtcHR5IGlmIHdlJ3JlIHJlbmRlcmluZyBnZW5l
cmF0ZWQgaW1hZ2VzIHdpdGggcmVsYXRpdmUgd2lkdGgvaGVpZ2h0LiBGaWd1cmUgb3V0IHRoZSBy
aWdodCBpbnRyaW5zaWMgc2l6ZSB0byB1c2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5jcHAKaW5kZXggOTUwYjFkN2UzMWQyYzBjZDg0NzdkZDFhYjZhMzhjNTBmNTcy
ZGY5Zi4uYzJlNmI0NjFjY2U1YzA3MjE4NzUyZDY1NGE0ZWZlYzIxZTA3ZWFkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcApAQCAtMjExLDcgKzIxMSw3IEBA
IHZvaWQgUmVuZGVyTGlzdEJveDo6c2Nyb2xsVG9SZXZlYWxTZWxlY3Rpb24oKQogCiB2b2lkIFJl
bmRlckxpc3RCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1p
bkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAg
IG1heExvZ2ljYWxXaWR0aCA9IG1fb3B0aW9uc1dpZHRoICsgMiAqIG9wdGlvbnNTcGFjaW5nSG9y
aXpvbnRhbDsKKyAgICBtYXhMb2dpY2FsV2lkdGggPSBzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgpID8gMiAqIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCA6IG1fb3B0aW9uc1dpZHRoICsgMiAq
IG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbDsKICAgICBpZiAobV92QmFyKQogICAgICAgICBtYXhM
b2dpY2FsV2lkdGggKz0gbV92QmFyLT53aWR0aCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgp
LmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAKaW5kZXggZjM5NGJkNjMzNmU0NDQ4MjI3ZjE2YWU5OTk2ZGU1NWYyNGNj
ZjhlZC4uMDBkMzEzN2I4MTQ1MDYyMTZmMGU0M2NkYmUxZTZlNDA0NWE5NGI1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCkBAIC0zMTUsNyArMzE1LDgg
QEAgTGF5b3V0UmVjdCBSZW5kZXJNZW51TGlzdDo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExheW91
dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KQogCiB2b2lkIFJlbmRlck1lbnVMaXN0Ojpjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91
dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBz
dGQ6Om1heChtX29wdGlvbnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxl
KCkpKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSArIG1faW5uZXJCbG9jay0+cGFkZGlu
Z1JpZ2h0KCk7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKSA/IHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSA6IHN0ZDo6bWF4KG1f
b3B0aW9uc1dpZHRoLCB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkpOworICAg
IG1heExvZ2ljYWxXaWR0aCArPSBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVy
QmxvY2stPnBhZGRpbmdSaWdodCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2Vu
dE9yQ2FsY3VsYXRlZCgpKQogICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lk
dGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkZsb3cuY3BwCmluZGV4IDYxODVlNDcyNjM4YmQ3OWVlZDEwYTUwOTdiYTY1NWIwODI2YzgzNmEu
LmJkYmU0YTcxNGQwYzZjN2E2M2RjY2M4MzU3MmJiMWY4NzA4ZTZhMGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCkBAIC0yMDMs
NiArMjAzLDEyIEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVNaW5pbXVtUGFn
ZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIExhCiAgICAgICAgIG11bHRpY29sU2V0
LT51cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KG1pbkhlaWdodCk7CiB9CiAKK3ZvaWQgUmVuZGVy
TXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNv
bnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hv
cnRhZ2UpCit7CisgICAgaWYgKGF1dG8qIG11bHRpY29sU2V0ID0gZG93bmNhc3Q8UmVuZGVyTXVs
dGlDb2x1bW5TZXQ+KGZyYWdtZW50QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0KSkpCisgICAg
ICAgIG11bHRpY29sU2V0LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHNo
b3J0YWdlKTsKK30KKwogUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11bHRpQ29sdW1u
Rmxvdzo6ZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogYm94LCBMYXlvdXRV
bml0IG9mZnNldCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFt
X2luTGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5oCmluZGV4IDBjODM5MThmOGVkYjZkMjAxMjU4ZjkwMGEyYmUxOGQzOWYxM2U3NmQu
LmViNmYwODg3OTQ1ODVlODI1NWRiN2MwYzg1ODhkMDJkYzFhNWVmOTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKQEAgLTEwOCw2ICsx
MDgsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxXaWR0aCgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwg
TGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91
dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1
cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiwg
TGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIFJl
bmRlckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVy
Qm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRGcmFnbWVudFJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJv
eCYsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKSBv
dmVycmlkZTsKICAgICBib29sIGFkZEZvcmNlZEZyYWdtZW50QnJlYWsoY29uc3QgUmVuZGVyQmxv
Y2sqLCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUsIExh
eW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXggZDU1
NmY3ZDBlZTFhMjM1M2M1NjNiMzI2NzkxNTY5OGVlNGJhYzFlOS4uNjA3MmJiNTY2ZmRkMGRjMjUx
MTFjOWMzZmIyMjM0YzA4YTZhYWJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCkBAIC01MCw2ICs1MCw3IEBAIFJlbmRlck11bHRp
Q29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldChSZW5kZXJGcmFnbWVudGVkRmxvdyYgZnJh
Z21lbnRlZEZsb3csCiAgICAgLCBtX21heENvbHVtbkhlaWdodChSZW5kZXJGcmFnbWVudGVkRmxv
dzo6bWF4TG9naWNhbEhlaWdodCgpKQogICAgICwgbV9taW5TcGFjZVNob3J0YWdlKFJlbmRlckZy
YWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5I
ZWlnaHQoMCkKKyAgICAsIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgwKQogewog
fQogCkBAIC0yMzUsMTUgKzIzNiwxNiBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0
OjpjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0CiAgICAgICAgIHJl
dHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PihtX2NvbnRlbnRSdW5zW2luZGV4XS5jb2x1bW5Mb2dp
Y2FsSGVpZ2h0KHN0YXJ0T2Zmc2V0KSwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKICAgICB9CiAK
KyAgICBMYXlvdXRVbml0IHNpemVDb250YWlubWVudFNob3J0YWdlID0gc3RkOjptYXg8TGF5b3V0
VW5pdD4oTGF5b3V0VW5pdCgpLCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOwog
ICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewogICAgICAg
ICAvLyBXaXRoIHRoZSBjdXJyZW50IGNvbHVtbiBoZWlnaHQsIHRoZSBjb250ZW50IGZpdHMgd2l0
aG91dCBjcmVhdGluZyBvdmVyZmxvd2luZyBjb2x1bW5zLiBXZSdyZSBkb25lLgotICAgICAgICBy
ZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRD
b2x1bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsKICAgICB9CiAKICAgICBpZiAo
Zm9yY2VkQnJlYWtzQ291bnQoKSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAg
Ly8gVG9vIG1hbnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJ
bml0aWFsIGJhbGFuY2luZyBzaG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZlIHNldCBhIGdv
b2QgaGVpZ2h0LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0gICAgICAgIHJl
dHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENv
bHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAgIC8vIElm
IHRoZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNo
IGl0IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEwIEBAIExheW91
dFVuaXQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wg
aW5pdGlhbCkgY29uc3QKICAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdl
IHNob3VsZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VSVChtX21pblNw
YWNlU2hvcnRhZ2UgIT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSk7
IC8vIElmIHRoaXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAgICBpZiAobV9t
aW5TcGFjZVNob3J0YWdlID09IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0
KCkpCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBTbyBiYWlsIG91
dCByYXRoZXIgdGhhbiBsb29waW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVybiBtX2NvbXB1
dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNvIGJhaWwgb3V0
IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBtX2NvbXB1dGVk
Q29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9BZGQgPSBzdGQ6
Om1heDxMYXlvdXRVbml0PihzaXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5TcGFjZVNob3J0
YWdlKTsKKyAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRkOwogfQogCiB2
b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBAIC0zNjUsNiAr
MzY4LDggQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91dChib29s
IGluaXRpYWwpCiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBo
ZWlnaHQuIENvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1f
bWluaW11bUNvbHVtbkhlaWdodCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29u
dGFpbm1lbnQgPSAwOworCiAgICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZsb3cgdGhyZWFk
IHBvcnRpb24gaGVpZ2h0IHVudGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRMb2dpY2FsQm90
dG9tSW5GcmFnbWVudGVkRmxvdyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdo
dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5T
ZXQuaAppbmRleCBmNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5Li5jNDhh
ZTBhNGM3NTg2NWE1M2ZhNTViZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiArODMsMTUgQEAg
cHVibGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhl
aWdodCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11
bUNvbHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBj
b25zdCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZvaWQgdXBkYXRl
U3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0YWdlKQorICAg
IHsKKyAgICAgICAgaWYgKG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA8PSAwKSB7
CisgICAgICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzaG9ydGFn
ZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NwYWNlU2hvcnRh
Z2VGb3JTaXplQ29udGFpbm1lbnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFjZVNob3J0YWdl
Rm9yU2l6ZUNvbnRhaW5tZW50KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3JjZWRCcmVha3ND
b3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAgICAgdm9pZCBj
bGVhckZvcmNlZEJyZWFrcygpOwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBv
ZmZzZXRGcm9tRmlyc3RQYWdlKTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIExh
eW91dFVuaXQgbV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxv
d2VkLgogICAgIExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3Qg
YW1vdXQgb2Ygc3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAg
TGF5b3V0VW5pdCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5pdCBtX3NwYWNl
U2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFjZSB0aGF0IGtl
ZXBzIHNpemUgY29udGFpbm1lbnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVuIG9mIGNvbnRl
bnQgd2l0aG91dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93IHRocmVhZCBw
b3J0aW9uIGJldHdlZW4gdHdvCiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3ZWVuIGZsb3cg
dGhyZWFkIHN0YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBleHBsaWNpdCBi
cmVhawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDFkYzc0NDQ2
MWYxYzRhMjlmMjI3YjI3ODNmZGFkODdmOTJkM2E0YzIuLjczMjdkNDZiZDIyYzliMWUzYzg5OWY3
ZjkwZTkyNjE3ODc3M2M2MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKQEAgLTczMCw2ICs3MzAsMTcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBTdHJpbmcgZGVi
dWdEZXNjcmlwdGlvbigpIGNvbnN0OwogCisgICAgYm9vbCBpc0F0b21pY0lubGluZUxldmVsQm94
KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBzdHlsZSgpLmlzRGlzcGxheUlubGluZVR5
cGUoKSAmJiAhKHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmUgJiYgIWlz
UmVwbGFjZWQoKSk7CisgICAgfQorCisgICAgYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgpIGNvbnN0CisgICAgeworICAgICAgICByZXR1cm4gc3R5bGUoKS5jb250YWluKCkuY29udGFp
bnMoQ29udGFpbm1lbnQ6OlNpemUpICYmICghaXNJbmxpbmUoKSB8fCBpc0F0b21pY0lubGluZUxl
dmVsQm94KCkpCisgICAgICAgICAgICAmJiAhaXNSdWJ5VGV4dCgpICYmICghaXNUYWJsZVBhcnQo
KSB8fCBpc1RhYmxlQ2FwdGlvbigpKSAmJiAhaXNUYWJsZSgpOworICAgIH0KKwogcHJvdGVjdGVk
OgogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogICAgIC8v
IEhlbHBlciBmdW5jdGlvbnMuIERhbmdlcm91cyB0byB1c2UhCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCBiOWU0MDBlYTI3MGRhMzEyYjViOWQ4OTk4
Yzk5NzRiY2UxMTVmYTgyLi5iMTU4ZGYyNDM0MTRlYTFjODYzNmNiMmNkY2ViZWEzODU0YTQwMjAy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTM4
OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVkc0xheW91dElmTmVlZGVk
QWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVB
c3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRlckJveCogY29udGVudFJlbmRl
cmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykg
Y29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsKLSAgICBpZiAoY29udGVudFJl
bmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAg
IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5z
aWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CisgICAgZWxzZSBpZiAoY29udGVudFJlbmRlcmVyKSB7
CiAgICAgICAgIGNvbnRlbnRSZW5kZXJlci0+Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRp
b24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAgICAgIGlmIChzdHlsZSgp
LmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgKHN0eWxlKCku
YXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW8gJiYgIWlu
dHJpbnNpY1JhdGlvKSkKQEAgLTQ3Nyw3ICs0NzksNyBAQCBSb3VuZGVkUmVjdCBSZW5kZXJSZXBs
YWNlZDo6cm91bmRlZENvbnRlbnRCb3hSZWN0KCkgY29uc3QKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6
OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6
ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICAvLyBJZiB0aGVyZSdzIGFu
IGVtYmVkZGVkQ29udGVudEJveCgpIG9mIGEgcmVtb3RlLCByZWZlcmVuY2VkIGRvY3VtZW50IGF2
YWlsYWJsZSwgdGhpcyBjb2RlLXBhdGggc2hvdWxkIG5ldmVyIGJlIHVzZWQuCi0gICAgQVNTRVJU
KCFlbWJlZGRlZENvbnRlbnRCb3goKSk7CisgICAgQVNTRVJUKCFlbWJlZGRlZENvbnRlbnRCb3go
KSB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgpKTsKICAgICBpbnRyaW5zaWNTaXplID0g
RmxvYXRTaXplKGludHJpbnNpY0xvZ2ljYWxXaWR0aCgpLCBpbnRyaW5zaWNMb2dpY2FsSGVpZ2h0
KCkpOwogCiAgICAgaWYgKHN0eWxlKCkuaGFzQXNwZWN0UmF0aW8oKSkgewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAppbmRleCBjMmUwNjk1YzAzOTM4MDkyNjVlYzE3
NzA0N2YxM2NiNzIyM2ZmM2Y3Li42NTMwNThmMWM5ZDNlMjZhNmQyOTBmZjJmZThmYWY1YTM5YjJh
NDYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApAQCAtNDAs
NyArNDAsMTIgQEAgcHVibGljOgogICAgIGJvb2wgaGFzUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCkg
Y29uc3Q7CiAgICAgYm9vbCBzZXROZWVkc0xheW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXpl
Q2hhbmdlKCk7CiAKLSAgICBMYXlvdXRTaXplIGludHJpbnNpY1NpemUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX2ludHJpbnNpY1NpemU7IH0KKyAgICBMYXlvdXRTaXplIGludHJpbnNpY1NpemUo
KSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KCkpCisgICAgICAgICAgICByZXR1cm4gTGF5b3V0U2l6ZSgpOworICAgICAgICByZXR1cm4g
bV9pbnRyaW5zaWNTaXplOworICAgIH0KICAgICAKICAgICBSb3VuZGVkUmVjdCByb3VuZGVkQ29u
dGVudEJveFJlY3QoKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNsaWRlci5jcHAKaW5kZXggNDcxNjllZGY5OGUxNDI4YzRhMDc3MGYyZjRlZmMwYjU4ZDgxM2M3
Yi4uMjE2NWIyOWQ5OThlMzA0Y2RhOTFlY2QyYmEzNjQwMDVkZmJlODUwNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTY5LDYgKzY5LDggQEAgTGF5b3V0
VW5pdCBSZW5kZXJTbGlkZXI6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBib29sIC8q
Zmlyc3RMaW5lKi8sIExpbmUKIAogdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNM
b2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4
TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgpKQorICAgICAgICByZXR1cm47CiAgICAgbWF4TG9naWNhbFdpZHRoID0gZGVmYXVsdFRyYWNr
TGVuZ3RoICogc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRo
KCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1h
eExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuY3BwCmluZGV4IGRjMDU4ZDUzNDY3YWEzY2ZhYmY4NTJmMzMxZWYwMWYzMTU1MzIxZjQu
LjE5MWUzYzkwMGE0NWE5ZGNhYTYwOGU0MTg4ZjdmNDQwNDFjYTI1NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTU2LDYgKzE1Niw4
IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkgY29uc3QK
IAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAg
IHJldHVybjsKICAgICAvLyBVc2UgYXZlcmFnZSBjaGFyYWN0ZXIgd2lkdGguIE1hdGNoZXMgSUUu
CiAgICAgbWF4TG9naWNhbFdpZHRoID0gcHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0aChjb25z
dF9jYXN0PFJlbmRlclRleHRDb250cm9sKj4odGhpcyktPmdldEF2ZXJhZ2VDaGFyV2lkdGgoKSk7
CiAgICAgaWYgKFJlbmRlckJveCogaW5uZXJUZXh0UmVuZGVyQm94ID0gaW5uZXJUZXh0RWxlbWVu
dCgpLT5yZW5kZXJCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWRlby5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3Bw
CmluZGV4IGM2ZDA0NDE2NmNjZmQ1YmM3YzhmMTllMGFhYmMyMWM1ODAzODIxZjkuLjIzODhhMThk
YzY4NTMwZGI2YTMyNjdjODgzMDg3NmIwYTU4OTM4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZGVvLmNwcApAQCAtMTIzLDYgKzEyMyw5IEBAIGJvb2wgUmVuZGVyVmlkZW86
OnVwZGF0ZUludHJpbnNpY1NpemUoKQogCiBMYXlvdXRTaXplIFJlbmRlclZpZGVvOjpjYWxjdWxh
dGVJbnRyaW5zaWNTaXplKCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KSkKKyAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKwogICAgIC8vIFNwZWMgdGV4dCBmcm9t
IDQuOC42CiAgICAgLy8KICAgICAvLyBUaGUgaW50cmluc2ljIHdpZHRoIG9mIGEgdmlkZW8gZWxl
bWVudCdzIHBsYXliYWNrIGFyZWEgaXMgdGhlIGludHJpbnNpYyB3aWR0aCAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDE0MjIzNTA0NjA5
ZTNiMTViNWJjMzY4YTQ3ODA3MDA3MDk1NjIwODUuLjkxNzRhOTA2ZjY4OTQ1MjQ4NWM4NTllYjY1
Mjk1NmRlY2ZkYTYwODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcv
UmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5k
ZXJTVkdSb290LmNwcApAQCAtNzAsNiArNzAsOCBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJTVkdS
b290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIAogdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRl
SW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJs
ZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgpKTsKKwogICAgIC8vIFNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9j
b29yZHMuaHRtbCNJbnRyaW5zaWNTaXppbmcKICAgICAvLyBTVkcgbmVlZHMgdG8gc3BlY2lmeSBo
b3cgdG8gY2FsY3VsYXRlIHNvbWUgaW50cmluc2ljIHNpemluZyBwcm9wZXJ0aWVzIHRvIGVuYWJs
ZSBpbmNsdXNpb24gd2l0aGluIG90aGVyIGxhbmd1YWdlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDEwZDA4MGRhMjRm
MTA4YWExYmI3ZWYyOWZiNzNkYzM5YTIwOGY4NGUuLjNmNjE1Yzc5MTYwYTI3YmNjMGNjNWFmZTIy
MmNiYjAxYmNiNjZiMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNC0xMiAgQ2F0aGll
IENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWluXSBT
dXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXBkYXRlIHRoZSB0ZXN0IHJlc3VsdCBmb3Igc2l6ZSBjb250YWlubWVudC4g
QWRkZWQgZXhwbGFuYXRpb25zIGZvciBzaXplIGNvbnRhaW5tZW50IHRlc3RzCisgICAgICAgIHRo
YXQgZGVwZW5kZWQgb24gb3RoZXIgZmVhdHVyZXMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRp
b25zOgorCiAyMDIxLTA0LTEyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAgICAg
ICAgQ2xhbXAgb3ZlcnJpZGluZ0NvbnRlbnRMb2dpY2FsV2lkdGgvSGVpZ2h0IHRvIHplcm8KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDIwM2RjNjI5OTI2YzBiMWMyMmE4OTA4NzAz
YjhlNjUwMDU0OWI0NGMuLjM2MDEyMjlhZmYwMjUyZTI2NmYxMjQxMjViYTdjNmJhYzA5NGRjZWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0
LTEyICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NT
IGNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJp
Y3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTExICBTYW0gV2VpbmlnICA8d2VpbmlnQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZWR1Y2UgY29tcGlsZSB0aW1lIGFuZCBiaW5hcnkgc2l6ZSBjb3N0
IG9mIGVuYWJsaW5nIHByb3BlciBDU1NTdHlsZURlY2xhcmF0aW9uIHByb3BlcnR5IGFjY2VzcyBi
ZWhhdmlvcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMDY3NDIzOWU0MTNhMjcxZTRhMDE3ZDMyOWQ0
MTFhZThhNmJkMDdmOC4uYTY4OTE0YTE3ZjdmYzRkYjRiMjg1ZTI3ZmVmYWYyMGNiMGI2M2E2NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0
cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00Nzc3LDY1ICs0Nzc3LDYgQEAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1j
b250ZXh0LTAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFi
bGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLTAyNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDI3Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS0wNDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA0
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS0wNjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2Mi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtMDYzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYm9yZGVycy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtYnJlYWtzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0
dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1maWVsZHNldC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZp
ZWxkc2V0LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDA0Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtZmxleGJveC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdy
aWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWlubGluZS1ibG9jay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGlu
ZS1ibG9jay0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0w
MDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLW1vbm9saXRoaWMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNv
bC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJl
cGxhY2VkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtcmVwbGFjZWQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNl
ZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtc2Nyb2xsYmFycy0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLXNjcm9sbGJhcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1zY3JvbGxiYXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNl
bGVjdC1lbGVtLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0t
MDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXRhYmxlLWNhcHRpb24tMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0w
MDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KQEAgLTQ4NzAsNiArNDgxMSwzMSBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwMi5odG1sIFsgSW1hZ2VPbgog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2Nv
cGluZy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogCisjIENhbnZhcyBkb2Vzbid0IGdldCBkZWZhdWx0IGFzcGVjdC1yYXRp
byBmb3Igd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzLgord2Via2l0Lm9yZy9iLzIxNzUyOSBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9jYW52YXMtY29u
dGFpbi1zaXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBDb250ZW50IGlzIHBhaW50
ZWQgb24gc3ZnJ3MgcGFkZGluZyBhcmVhLiAKK3dlYmtpdC5vcmcvYi80MjU4NjggaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxh
Y2VkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgTXVsdGljb2x1bW4gZG9lcyBu
b3QgcGFpbnQgdGhlIGhvcml6b250YWwgb3ZlcmZsb3cgYXJlYSBvZiBhIHJlbGF0aXZlIGNoaWxk
Lgord2Via2l0Lm9yZy9iLzQxNzk2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tb25vbGl0aGljLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCisKKyMgQnV0dG9ucyB3aXRoIGF1dG8gd2lkdGggYW5kIGhlaWdodCBoYXMgZXh0
cmEgbWFyZ2lucy4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1idXR0b24tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBTY3JvbGxiYXIgZGlz
cGxheXMgYXJlIGRpZmZlcmVudC4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisj
IFNlbGVjdCB3aXRoIGVtcHR5IGNvbnRlbnQgYWx3YXlzIGhhcyByb290IGxpbmVib3gsIHNvIHRo
ZSBoZWlnaHRzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMg
Q1NTIHByb3BlcnR5IGNvbG9yIGlzIG5vdCB3b3JraW5nIGluIHNlbGVjdCBlbGVtZW50cy4KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1zZWxlY3QtZWxlbS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1l
bGVtLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKICMgQGNvdW50ZXItc3R5bGUgcmVm
IHRlc3RzIHRoYXQgY3VycmVudGx5IGZhaWwKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb3VudGVyLXN0eWxlcy9hcm1lbmlhbi9jc3MzLWNvdW50ZXItc3R5bGVzLTAw
Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY291bnRlci1zdHlsZXMvYXJtZW5pYW4vY3NzMy1jb3VudGVyLXN0eWxlcy0w
MDcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3Rl
ZC50eHQKaW5kZXggZTE2ZDY3ZGJmN2Q0NTI0YWY3ZjMxMTAzMDlmOTc4Mjk5MDQxYzJkMi4uNTFl
OGUyMDAyZmY3Y2E3NDJjOTVlMzk0NmZkMWNjOGJmZjdiMTFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3Jp
ZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0zNiwxOSArMzYsOCBAQCBQQVNTIC5ncmlkIDM0CiBQQVNT
IC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1GQUlMIC5ncmlkIDM4IGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDogcmVwZWF0KGF1dG8t
Zml0LCA3NXB4KSAvIHJlcGVhdChhdXRvLWZpdCwgMTAwcHgpOyIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICAgIDxkaXY+PC9kaXY+Ci0gIDwvZGl2
Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDEwMAotRkFJTCAuZ3JpZCAzOSBhc3NlcnRfZXF1
YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCIgc3R5bGU9ImdyaWQ6IGF1dG8gNTBweCAvIDEwMHB4IGF1
dG87IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+
Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjAiPlg8L2Rpdj4KLSAgPGRpdiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLW9m
ZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjAiPlhYPC9kaXY+Ci0gIDxkaXYgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRhdGEtb2Zmc2V0LXg9
IjAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRhLW9mZnNldC14PSIxMDAiIGRh
dGEtb2Zmc2V0LXk9IjEwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDEwMCBi
dXQgZ290IDE0MAorUEFTUyAuZ3JpZCAzOAorUEFTUyAuZ3JpZCAzOQogCiBYCiBYWApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQKaW5kZXggNzBjZDdlNjE5MWQwZmZkYmE1MjI2NDI0
NmI4YTgxY2YzNDgzZGYzOC4uZTBhMWM5ZDUxZmJmNGI2YTU2MjRkZjQxYjlmYjIyMWM0NWVmNmJj
MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CkBAIC0xLDM4ICsxLDE4IEBA
CiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNz
PSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAw
IGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwotRkFJTCAuZ3JpZCA0IGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4LWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQKIFBBU1Mg
LmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwgLmdyaWQgOCBhc3NlcnRf
ZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5YWFhYPC9kaXY+Ci08L2Rp
dj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgOAogUEFTUyAuZ3Jp
ZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGNhbGMg
bWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMw
MAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3JpZCAxMgogUEFTUyAuZ3Jp
ZCAxMwotRkFJTCAuZ3JpZCAxNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEw
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMTAwCitQQVNTIC5ncmlkIDE0CiBQQVNTIC5ncmlkIDE1CiBQQVNTIC5n
cmlkIDE2CiBQQVNTIC5ncmlkIDE3CkBAIC00MCw2NyArMjAsMzEgQEAgUEFTUyAuZ3JpZCAxOAog
UEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3JpZCAyMQotRkFJTCAuZ3JpZCAy
MiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtZml4ZWQtcGVyY2VudCBt
YXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBn
b3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQQVNTIC5ncmlkIDI0CiBQQVNT
IC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlk
IG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNTIC5ncmlkIDI3Ci1GQUlMIC5n
cmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZs
ZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAw
CitQQVNTIC5ncmlkIDI4CiBQQVNTIC5ncmlkIDI5CiBQQVNTIC5ncmlkIDMwCiBQQVNTIC5ncmlk
IDMxCi1GQUlMIC5ncmlkIDMyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1h
eC1pbnRyaW5zaWMtcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3
NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4
cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzIKIFBBU1MgLmdyaWQgMzMKLUZBSUwg
LmdyaWQgMzQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNp
Yy1wZXJjZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzNAogUEFTUyAuZ3JpZCAzNQogUEFTUyAuZ3JpZCAzNgog
UEFTUyAuZ3JpZCAzNwotRkFJTCAuZ3JpZCAzOCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0i
Z3JpZCBtaW5tYXgtcGVyY2VudC1pbnRyaW5zaWMgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDM4CiBQQVNTIC5ncmlkIDM5
Ci1GQUlMIC5ncmlkIDQwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1w
ZXJjZW50LWludHJpbnNpYyBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVk
IDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQgNDEKIFBBU1MgLmdyaWQg
NDIKIFBBU1MgLmdyaWQgNDMKLUZBSUwgLmdyaWQgNDQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xh
c3M9ImdyaWQgZml0LWNvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
NzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBl
eHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ0CiBQQVNTIC5ncmlkIDQ1Ci1GQUlM
IC5ncmlkIDQ2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGZpdC1jb250ZW50IG1h
eC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAor
UEFTUyAuZ3JpZCA0NgogUEFTUyAuZ3JpZCA0NwogUEFTUyAuZ3JpZCA0OAogWFhYWApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAppbmRl
eCAzZTE0MDg2N2I3ZTcyMTQ2MTFjYzUyOWFiYjQ4NWZkMmY4ZTFiOTQ3Li4zZTc5OTFjMWMwNTFh
Nzc2NjNkZDc1NzEyMjlhMDNjYTcxZTMyNmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
bXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
bXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw1IEBACiBUaGVy
ZSBzaG91bGQgYmUgYSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJTCAjZmxleCAxIGFzc2Vy
dF9lcXVhbHM6Ci08ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVsdGljb2wiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+Ci0gICAgPGRpdiBz
dHlsZT0id2lkdGg6MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+
Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2ZsZXggMQogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
ZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgt
aXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IDc0NGRjNGY2MmFmMTAyMzM4
OTVmZmM4YWI2ZmZkNDNkZWRkOWI4NzAuLmNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMz
YmYxZGMxZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBA
IC0xNywyOCArMTcsMTIgQEAgQ29sdW1uCiAKIFJvdwogCi1GQUlMIC5pbmxpbmUtZmxleCAxIGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9ImRpc3BsYXk6IGlu
bGluZS1mbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJp
Y3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Q29s
dW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCA1MgotRkFJTCAuaW5s
aW5lLWZsZXggMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHls
ZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjAiPlJvdzwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3Qg
MzAKK1BBU1MgLmlubGluZS1mbGV4IDEKK1BBU1MgLmlubGluZS1mbGV4IDIKIFBBU1MgLmlubGlu
ZS1mbGV4IDMKIFBBU1MgLmlubGluZS1mbGV4IDQKLUZBSUwgLmlubGluZS1mbGV4IDUgYXNzZXJ0
X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iZmxleC1kaXJlY3Rpb246
IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmlj
dDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Db2x1
bW48L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDUyCi1GQUlMIC5pbmxp
bmUtZmxleCA2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9
ImFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Um93PC9kaXY+Ci08
L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAuaW5saW5lLWZsZXggNQor
UEFTUyAuaW5saW5lLWZsZXggNgogUEFTUyAuaW5saW5lLWZsZXggNwogUEFTUyAuaW5saW5lLWZs
ZXggOAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426439</attachid>
            <date>2021-04-19 10:03:15 -0700</date>
            <delta_ts>2021-04-20 04:29:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210420010313.patch</filename>
            <type>text/plain</type>
            <size>71694</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2MjQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzdjM2RjMTI0ZjgyNDNm
NmRjMzMyZTg2ZDQ1OWY0NTMyYmUxYjE2NC4uMGZjZTM5NGY1ZWMwZmJlOGRjZTBiMWIxN2MwNTdl
ZTI1Njk1YThmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk3IEBACisyMDIxLTA0LTEyICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5d
IFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGJyaW5ncyBpbml0aWFsIHN1cHBvcnQgb2YgQ1NTIGNv
bnRhaW46c2l6ZSBhY2NvcmRpbmcgdG8gWzFdLAorICAgICAgICBJdCBhZGRzIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50IHRvIGluZGljYXRlIHdoZXRoZXIgaXQgaXMgYSBzaXplIGNvbnRhaW5t
ZW50IGJveC4KKyAgICAgICAgVGhlIGludHJpbnNpYyBzaXplcyBvZiBzaXplIGNvbnRhaW5tZW50
IGJveCBhcmUgZGV0ZXJtaW5lZCBhcyBpZiBpdCBoYWQgbm8gY29udGVudC4KKyAgICAgICAgU28g
Y29vcGVyYXRpbmcgd2l0aCB0aGUgbGF5b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ2FsY3VsYXRl
IGxvZ2ljYWwgd2lkdGg6IFNpemUgY29udGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGls
ZHJlbiB3aGlsZSBjb21wdXRpbmcgbWluTG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExv
Z2ljYWxXaWR0aCBpbiBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocy4KKyAgICAgICAgICAt
IExheW91dCBjaGlsZHJlbi4KKyAgICAgICAgICAtIENhbGN1bGF0ZSBsb2dpY2FsIGhlaWdodDog
QXQgdGhlIGJlZ2lubmluZywgc2l6ZSBjb250YWlubWVudCBib3hlcyByZXNldCBsb2dpY2FsIGhl
aWdodCB0byB0aGUgZW1wdHkgY29udGVudCBoZWlnaHQKKyAgICAgICAgICBpZiBpdCBpcyBub3Qg
cmVuZGVyR3JpZC4KKyAgICAgICAgV2UgYWxzbyBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZXMg
YWNjb3JkaW5nIHRvIHRoZSBsYXlvdXQgYWxnb3JpdGhtcy4KKyAgICAgICAgLSBHcmlkIGxheW91
dDoKKyAgICAgICAgICBUbyBjYWxjdWxhdGUgdGhlIG1pbkxvZ2ljYWxXaWR0aCBhbmQgbWF4TG9n
aWNhbFdpZHRoIGZvciBpbmRlZmluaXRlIHNpemUgUmVuZGVyR3JpZC4KKyAgICAgICAgICBUaGUg
d2lkdGhzIGFyZSBjYWxjdWxhdGVkIGJ5IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTogbV9taW5D
b250ZW50U2l6ZSBhbmQgbV9tYXhDb250ZW50U2l6ZSB3aGljaCBhcmUgdGhlIHN1bSBvZgorICAg
ICAgICAgIG1fYmFzZVNpemUvbV9ncm93dGhMaW1pdCBvZiBhbGwgR3JpZFRyYWNrcy4gVGhlIHNp
emUgY29udGFpbm1lbnQgUmVuZGVyR3JpZCBza2lwcyBoYW5kbGluZyBjb250ZW50IGluIHJlc29s
dmVJbnRyaW5zaWNUcmFja1NpemVzCisgICAgICAgICAgYW5kIHRoZSBtX21heENvbnRlbnRTaXpl
IHdpbGwgYmUgdGhlIHN1bSBvZiBtX2Jhc2VTaXplLiBUaGUgbG9naWNhbCBoZWlnaHQgaXMgc2Ft
ZSB0byB3aWR0aCwgYnV0IGFmdGVyIGNhbGN1bGF0aW5nCisgICAgICAgICAgUmVuZGVyR3JpZCdz
IGxvZ2ljYWwgaGVpZ2h0LCBpdCBuZWVkcyB0byBjYWxjdWxhdGUgdGhlIHRyYWNrIHNpemVzIGFn
YWluLCB0byBtYWtlIHN1cmUgdGhhdCB0aGV5IGFyZSBkaXN0cmlidXRlZCBwcm9wZXJseS4KKyAg
ICAgICAgICBXZSB1c2UgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93cywg
dHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpIHRvIHJlY2FsY3VsYXRlIGl0LgorICAgICAgICAtIE11
bHRpQ29sdW1uIGxheW91dDoKKyAgICAgICAgICBBY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRp
b24sIHNpemUgY29udGFpbm1lbnQgYm94ZXMgc2hvdWxkIGJlIG1vbm9saXRoaWMsIHNvIHdlIG5l
ZWQgdG8gZXh0ZW5kIGNvbHVtbiBoZWlnaHQKKyAgICAgICAgICBmb3Igb3ZlcmZsb3cgYW5kIHBv
c2l0aW9uZWQgc2l6ZSBjb250YWlubWVudCBib3guIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250
YWlubWVudCBpcyBhZGRlZCB0byBpbmRpY2F0ZSB0aGUgc2hvcnRhZ2Ugc3BhY2UKKyAgICAgICAg
ICB0aGF0IG5lZWQgdG8gYmFsYW5jZSB0aGUgY29sdW1uIGhlaWdodHMuIGFkanVzdFNpemVDb250
YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbiB3aWxsIGNhbGN1bGF0ZSB0aGUgc2hvcnRhZ2UuCisK
KyAgICAgICAgWzFdIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3MtY29udGFpbi0xLyNjb250YWlu
bWVudC1zaXplCisKKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
LmNwcDogQWRkIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50IHRvIGluZGljYXRlIGlmIGl0IGlz
IGNhbGN1bGF0aW5nIHNpemVzCisgICAgICAgICAgZm9yIGluZGVmaW5pdGUgc2l6ZSBSZW5kZXJH
cmlkIHdoaWNoIHNpemUgY29udGFpbm1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tT
aXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMpOgorICAg
ICAgICAgIEl0IG1pZ2h0IHNraXAgcmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMgaWYgaXNDb21w
dXRpbmdTaXplQ29udGFpbm1lbnQsIHNvIGdyb3d0aExpbWl0IG1pZ2h0IGJlIHVuZGVmaW5lZCwK
KyAgICAgICAgICBpZiBzbywgdXNlIHRyYWNrLmJhc2VTaXplKCkgaW5zdGVhZC4KKyAgICAgICAg
KFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNr
U2l6ZXMpOiBTa2lwIHJlc29sdmUgdGhlIGNvbnRlbnQgaWYgaXNDb21wdXRpbmdTaXplQ29udGFp
bm1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFu
Y2VOZXh0U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
OjpydW4pOiBEbyBub3Qgc3RyZXRjaCB0aGUgdHJhY2sgc2l6ZXMgaWYgaXNDb21wdXRpbmdTaXpl
Q29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRo
bS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdCk6IENhbGN1bGF0ZSBtX3Nw
YWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgZm9yIHBvc2l0aW9uIHNpemUgY29udGFpbm1l
bnQKKyAgICAgICAgaW4gYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lk
dGhzIGNvbnN0KTogU2tpcCBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGlmIHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFNraXAgaGFuZGxpbmcgdGhlIGNoaWxkcmVuIGZv
ciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxv
dzo6YWRqdXN0QmxvY2tDaGlsZEZvclBhZ2luYXRpb24pOiBDYWxjdWxhdGUgbV9zcGFjZVNob3J0
YWdlRm9yU2l6ZUNvbnRhaW5tZW50IGZvciBjaGlsZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKTogbV9z
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50ID0gY2hpbGRPdmVyZmxvd0hlaWdodCAtIHJl
bWFpbmluZ0xvZ2ljYWxIZWlnaHQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KTogUmVzZXQgdGhlIGxvZ2ljYWwgaGVp
Z2h0IHRvIGVtcHR5IGNvbnRlbnQgaGVpZ2h0IGZvciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uIGNv
bnN0KTogU2l6ZSBjb250YWlubWVudCBib3ggaXMgdW5zcGxpdHRhYmxlLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2Fk
Q29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
RmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8u
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6
bGF5b3V0QmxvY2spOiBJZiBpdCBpcyBzaXplIGNvbnRhaW5tZW50IHdpdGggaW5maW5pdGVTaXpl
LCB1c2luZyB0cmFja0Jhc2VkTG9naWNhbEhlaWdodAorICAgICAgICB0byBjb21wdXRlIHRyYWNr
IHNpemVzIGFnYWluIHRvIG1ha2Ugc3VyZSB0aGUgaGVpZ2h0IGlzIGRpc3RyaWJ1dGVkIHByb3Bl
cmx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUF1dG9SZXBlYXRUcmFj
a3NDb3VudCBjb25zdCk6IEJlY2F1c2Ugc2l6ZSBjb250YWlubWVudCdzIGNvbnRlbnQgd2FzIGVt
cHR5LAorICAgICAgICB0aGUgcmVwZWF0IHRyYWNrcyBjb3VudCBpcyBhbHdheXMgMC4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
SW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogVGhpcyBpcyBo
YW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlv
biBpbnN0ZWFkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGNvbnN0KTogVGhlIHdpZHRocyBvZiBzaXplIGNvbnRhaW5tZW50IGJveCBhcmUgb3B0aW9uc1Nw
YWNpbmdIb3Jpem9udGFsLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6
CisgICAgICAgIChSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMg
Y29uc3QpOiBUaGUgd2lkdGhzIG9mIHNpemUgY29udGFpbm1lbnQgYm94IGFyZSB0aGVtZS5taW5p
bXVtTWVudUxpc3RTaXplLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVT
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTogU2V0IG1fc3BhY2VTaG9ydGFnZUZvclNp
emVDb250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5j
ZWRIZWlnaHQgY29uc3QpOiBBZGQgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IHRv
IHRoZSBjb2x1bW4gaGVpZ2h0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5T
ZXQ6OnByZXBhcmVGb3JMYXlvdXQpOiBSZXNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFp
bm1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
T2JqZWN0Ojppc0F0b21pY0lubGluZUxldmVsQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlck9iamVjdDo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQgY29uc3QpOiBDaGVjayBp
ZiB0aGlzIGlzIGEgc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21w
dXRlQXNwZWN0UmF0aW9JbmZvcm1hdGlvbkZvclJlbmRlckJveCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24g
Y29uc3QpOiBVc2UgdGhlIGVtcHR5IGludHJpbnNpY1NpemUuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmg6IFRoZSBpbnRyaW5zaWNTaXplIG9mIHNpemUgY29udGFpbm1lbnQg
aXMgKDAsIDApLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBj
b25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNp
Y1NpemUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlv
SW5mb3JtYXRpb24gY29uc3QpOiBIYW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBpbnN0ZWFkLgorCiAyMDIxLTA0LTE5ICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNYWtlIFJlYWx0aW1lSW5jb21pbmdB
dWRpb1NvdXJjZUNvY29hIHByZWFsbG9jYXRlIGF1ZGlvIGJ1ZmZlcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAppbmRleCAz
YTE0NzllZWE4MWFmNmY3NzYwNzM0MzY1N2NhZmY0NGZkZTQ5MDU1Li4yM2UwYThmNjIyM2E2ZjBm
ZDM3MmM4NDk3ZTVkMzJlZWYxNDZhZGZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcApAQCAtNzM2LDkgKzczNiw5IEBA
IHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpjb21wdXRlR3JpZENvbnRhaW5lckludHJp
bnNpY1NpemVzKCkKIAogICAgIFZlY3RvcjxHcmlkVHJhY2s+JiBhbGxUcmFja3MgPSB0cmFja3Mo
bV9kaXJlY3Rpb24pOwogICAgIGZvciAoYXV0byYgdHJhY2sgOiBhbGxUcmFja3MpIHsKLSAgICAg
ICAgQVNTRVJUKCF0cmFjay5pbmZpbml0ZUdyb3d0aFBvdGVudGlhbCgpKTsKKyAgICAgICAgQVNT
RVJUKG1fc3RyYXRlZ3ktPmlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkgfHwgIXRyYWNrLmlu
ZmluaXRlR3Jvd3RoUG90ZW50aWFsKCkpOwogICAgICAgICBtX21pbkNvbnRlbnRTaXplICs9IHRy
YWNrLmJhc2VTaXplKCk7Ci0gICAgICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3Ro
TGltaXQoKTsKKyAgICAgICAgbV9tYXhDb250ZW50U2l6ZSArPSB0cmFjay5ncm93dGhMaW1pdElz
SW5maW5pdGUoKSA/IHRyYWNrLmJhc2VTaXplKCkgOiB0cmFjay5ncm93dGhMaW1pdCgpOwogICAg
ICAgICAvLyBUaGUgZ3Jvd3RoIGxpbWl0IGNhcHMgbXVzdCBiZSBjbGVhcmVkIG5vdyBpbiBvcmRl
ciB0byBwcm9wZXJseSBzb3J0CiAgICAgICAgIC8vIHRyYWNrcyBieSBncm93dGggcG90ZW50aWFs
IG9uIGFuIGV2ZW50dWFsICJNYXhpbWl6ZSBUcmFja3MiLgogICAgICAgICB0cmFjay5zZXRHcm93
dGhMaW1pdENhcChXVEY6Om51bGxvcHQpOwpAQCAtOTMyLDYgKzkzMiw3IEBAIHByaXZhdGU6CiAg
ICAgZG91YmxlIGZpbmRVc2VkRmxleEZyYWN0aW9uKFZlY3Rvcjx1bnNpZ25lZD4mIGZsZXhpYmxl
U2l6ZWRUcmFja3NJbmRleCwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uLCBPcHRpb25hbDxMYXlv
dXRVbml0PiBmcmVlU3BhY2UpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgcmVjb21wdXRlVXNl
ZEZsZXhGcmFjdGlvbklmTmVlZGVkKGRvdWJsZSYgZmxleEZyYWN0aW9uLCBMYXlvdXRVbml0JiB0
b3RhbEdyb3d0aCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JT
dHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnJlbmRlckdyaWQoKSk7IH0KIH07CiAKIHZvaWQgSW5kZWZpbml0ZVNp
emVTdHJhdGVneTo6bGF5b3V0R3JpZEl0ZW1Gb3JNaW5TaXplQ29tcHV0YXRpb24oUmVuZGVyQm94
JiBjaGlsZCwgYm9vbCBvdmVycmlkZVNpemVIYXNDaGFuZ2VkKSBjb25zdApAQCAtMTAzMCw2ICsx
MDMxLDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IGZyZWVTcGFjZUZvclN0cmV0Y2hBdXRv
VHJhY2tzU3RlcCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgbWluQ29udGVudEZv
ckNoaWxkKFJlbmRlckJveCYpIGNvbnN0IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgbWluTG9n
aWNhbFNpemVGb3JDaGlsZChSZW5kZXJCb3gmLCBjb25zdCBMZW5ndGgmIGNoaWxkTWluU2l6ZSwg
T3B0aW9uYWw8TGF5b3V0VW5pdD4gYXZhaWxhYmxlU2l6ZSkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
Ym9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJu
IGZhbHNlOyB9CiB9OwogCiBMYXlvdXRVbml0IEluZGVmaW5pdGVTaXplU3RyYXRlZ3k6OmZyZWVT
cGFjZUZvclN0cmV0Y2hBdXRvVHJhY2tzU3RlcCgpIGNvbnN0CkBAIC0xMTQ2LDM3ICsxMTQ4LDM5
IEBAIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjppbml0aWFsaXplVHJhY2tTaXplcygp
CiAKIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmluc2ljVHJhY2tT
aXplcygpCiB7Ci0gICAgVmVjdG9yPEdyaWRJdGVtV2l0aFNwYW4+IGl0ZW1zU29ydGVkQnlJbmNy
ZWFzaW5nU3BhbjsKLSAgICBIYXNoU2V0PFJlbmRlckJveCo+IGl0ZW1zU2V0OwogICAgIFZlY3Rv
cjxHcmlkVHJhY2s+JiBhbGxUcmFja3MgPSB0cmFja3MobV9kaXJlY3Rpb24pOwotICAgIGlmICht
X2dyaWQuaGFzR3JpZEl0ZW1zKCkpIHsKLSAgICAgICAgZm9yIChhdXRvIHRyYWNrSW5kZXggOiBt
X2NvbnRlbnRTaXplZFRyYWNrc0luZGV4KSB7Ci0gICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRl
cmF0b3IobV9ncmlkLCBtX2RpcmVjdGlvbiwgdHJhY2tJbmRleCk7Ci0gICAgICAgICAgICBHcmlk
VHJhY2smIHRyYWNrID0gYWxsVHJhY2tzW3RyYWNrSW5kZXhdOwotCi0gICAgICAgICAgICB3aGls
ZSAoYXV0byogZ3JpZEl0ZW0gPSBpdGVyYXRvci5uZXh0R3JpZEl0ZW0oKSkgewotICAgICAgICAg
ICAgICAgIGlmIChpdGVtc1NldC5hZGQoZ3JpZEl0ZW0pLmlzTmV3RW50cnkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgY29uc3QgR3JpZFNwYW4mIHNwYW4gPSBtX2dyaWQuZ3JpZEl0ZW1TcGFuKCpn
cmlkSXRlbSwgbV9kaXJlY3Rpb24pOwotICAgICAgICAgICAgICAgICAgICBpZiAoc3Bhbi5pbnRl
Z2VyU3BhbigpID09IDEpCi0gICAgICAgICAgICAgICAgICAgICAgICBzaXplVHJhY2tUb0ZpdE5v
blNwYW5uaW5nSXRlbShzcGFuLCAqZ3JpZEl0ZW0sIHRyYWNrKTsKLSAgICAgICAgICAgICAgICAg
ICAgZWxzZSBpZiAoIXNwYW5uaW5nSXRlbUNyb3NzZXNGbGV4aWJsZVNpemVkVHJhY2tzKHNwYW4p
KQotICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmFw
cGVuZChHcmlkSXRlbVdpdGhTcGFuKCpncmlkSXRlbSwgc3BhbikpOworICAgIGlmICghbV9zdHJh
dGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkgeworICAgICAgICBWZWN0b3I8R3Jp
ZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuOworICAgICAgICBIYXNo
U2V0PFJlbmRlckJveCo+IGl0ZW1zU2V0OworICAgICAgICBpZiAobV9ncmlkLmhhc0dyaWRJdGVt
cygpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVk
VHJhY2tzSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3IobV9n
cmlkLCBtX2RpcmVjdGlvbiwgdHJhY2tJbmRleCk7CisgICAgICAgICAgICAgICAgR3JpZFRyYWNr
JiB0cmFjayA9IGFsbFRyYWNrc1t0cmFja0luZGV4XTsKKworICAgICAgICAgICAgICAgIHdoaWxl
IChhdXRvKiBncmlkSXRlbSA9IGl0ZXJhdG9yLm5leHRHcmlkSXRlbSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChpdGVtc1NldC5hZGQoZ3JpZEl0ZW0pLmlzTmV3RW50cnkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEdyaWRTcGFuJiBzcGFuID0gbV9ncmlkLmdyaWRJdGVt
U3BhbigqZ3JpZEl0ZW0sIG1fZGlyZWN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChzcGFuLmludGVnZXJTcGFuKCkgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplVHJhY2tUb0ZpdE5vblNwYW5uaW5nSXRlbShzcGFuLCAqZ3JpZEl0ZW0sIHRyYWNrKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGli
bGVTaXplZFRyYWNrcyhzcGFuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc1Nv
cnRlZEJ5SW5jcmVhc2luZ1NwYW4uYXBwZW5kKEdyaWRJdGVtV2l0aFNwYW4oKmdyaWRJdGVtLCBz
cGFuKSk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CisgICAgICAgICAgICBzdGQ6OnNvcnQoaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFu
LmJlZ2luKCksIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5lbmQoKSk7CiAgICAgICAgIH0K
LSAgICAgICAgc3RkOjpzb3J0KGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5iZWdpbigpLCBp
dGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uZW5kKCkpOwotICAgIH0KIAotICAgIGF1dG8gaXQg
PSBpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYmVnaW4oKTsKLSAgICBhdXRvIGVuZCA9IGl0
ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5lbmQoKTsKLSAgICB3aGlsZSAoaXQgIT0gZW5kKSB7
Ci0gICAgICAgIEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlIHNwYW5Hcm91cFJhbmdlID0geyBpdCwg
c3RkOjp1cHBlcl9ib3VuZChpdCwgZW5kLCAqaXQpIH07Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNU
b0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlSW50cmluc2ljTWluaW11bXM+KHNwYW5H
cm91cFJhbmdlKTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0
ZW1zPFJlc29sdmVDb250ZW50QmFzZWRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAg
ICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZU1heENvbnRl
bnRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2Nv
bW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZUludHJpbnNpY01heGltdW1zPihzcGFuR3JvdXBS
YW5nZSk7Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxS
ZXNvbHZlTWF4Q29udGVudE1heGltdW1zPihzcGFuR3JvdXBSYW5nZSk7Ci0gICAgICAgIGl0ID0g
c3Bhbkdyb3VwUmFuZ2UucmFuZ2VFbmQ7CisgICAgICAgIGF1dG8gaXQgPSBpdGVtc1NvcnRlZEJ5
SW5jcmVhc2luZ1NwYW4uYmVnaW4oKTsKKyAgICAgICAgYXV0byBlbmQgPSBpdGVtc1NvcnRlZEJ5
SW5jcmVhc2luZ1NwYW4uZW5kKCk7CisgICAgICAgIHdoaWxlIChpdCAhPSBlbmQpIHsKKyAgICAg
ICAgICAgIEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlIHNwYW5Hcm91cFJhbmdlID0geyBpdCwgc3Rk
Ojp1cHBlcl9ib3VuZChpdCwgZW5kLCAqaXQpIH07CisgICAgICAgICAgICBpbmNyZWFzZVNpemVz
VG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZUludHJpbnNpY01pbmltdW1zPihzcGFu
R3JvdXBSYW5nZSk7CisgICAgICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5u
aW5nSXRlbXM8UmVzb2x2ZUNvbnRlbnRCYXNlZE1pbmltdW1zPihzcGFuR3JvdXBSYW5nZSk7Cisg
ICAgICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2
ZU1heENvbnRlbnRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAgaW5jcmVh
c2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVJbnRyaW5zaWNNYXhpbXVt
cz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2Rh
dGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50TWF4aW11bXM+KHNwYW5Hcm91cFJhbmdl
KTsKKyAgICAgICAgICAgIGl0ID0gc3Bhbkdyb3VwUmFuZ2UucmFuZ2VFbmQ7CisgICAgICAgIH0K
ICAgICB9CiAKICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVkVHJhY2tz
SW5kZXgpIHsKQEAgLTEyMzksNyArMTI0Myw4IEBAIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3Jp
dGhtOjphZHZhbmNlTmV4dFN0YXRlKCkKICAgICAgICAgbV9zaXppbmdTdGF0ZSA9IFJvd1Npemlu
Z0ZpcnN0SXRlcmF0aW9uOwogICAgICAgICByZXR1cm47CiAgICAgY2FzZSBSb3dTaXppbmdGaXJz
dEl0ZXJhdGlvbjoKLSAgICAgICAgbV9zaXppbmdTdGF0ZSA9IENvbHVtblNpemluZ1NlY29uZEl0
ZXJhdGlvbjsKKyAgICAgICAgaWYgKCFtX3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlu
bWVudCgpKQorICAgICAgICAgICAgbV9zaXppbmdTdGF0ZSA9IENvbHVtblNpemluZ1NlY29uZEl0
ZXJhdGlvbjsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ29sdW1uU2l6aW5nU2Vjb25kSXRl
cmF0aW9uOgogICAgICAgICBtX3NpemluZ1N0YXRlID0gUm93U2l6aW5nU2Vjb25kSXRlcmF0aW9u
OwpAQCAtMTM0Niw2ICsxMzUxLDggQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJ1
bigpCiAKICAgICAvLyBTdGVwIDMuCiAgICAgbV9zdHJhdGVneS0+bWF4aW1pemVUcmFja3ModHJh
Y2tzKG1fZGlyZWN0aW9uKSwgbV9kaXJlY3Rpb24gPT0gRm9yQ29sdW1ucyA/IG1fZnJlZVNwYWNl
Q29sdW1ucyA6IG1fZnJlZVNwYWNlUm93cyk7CisgICAgaWYgKG1fc3RyYXRlZ3ktPmlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIHJldHVybjsKIAogICAgIC8vIFN0ZXAgNC4K
ICAgICBzdHJldGNoRmxleGlibGVUcmFja3MoaW5pdGlhbEZyZWVTcGFjZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKaW5kZXgg
MDMxMTI1ZGE5YmZkYjU4OGE5YTkxOTYxYTNiMTUyOGU5ODdmNDE2Mi4uMjk3MzMzMjRiNDg5OTcw
NTk4MmVlMDBkYThiZjY2ZGYzMmU0N2M3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApAQCAtMjYxLDYgKzI2MSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5z
aWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlv
biwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gaW5pdGlhbEZyZWVTcGFjZSkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCByZWNvbXB1dGVVc2VkRmxleEZyYWN0aW9uSWZOZWVkZWQoZG91YmxlJiBm
bGV4RnJhY3Rpb24sIExheW91dFVuaXQmIHRvdGFsR3Jvd3RoKSBjb25zdCA9IDA7CiAgICAgdmly
dHVhbCBMYXlvdXRVbml0IGZyZWVTcGFjZUZvclN0cmV0Y2hBdXRvVHJhY2tzU3RlcCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25z
dCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVn
eShHcmlkVHJhY2tTaXppbmdBbGdvcml0aG0mIGFsZ29yaXRobSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDExMjAyYjkxNGM2ODg4MDEwNmEzYTk1M2FlZTNm
YzU2NzE0MmQxZGQuLmJmMzNiYjczZTFhZTcyOTlhMjQ1YjYwYTZjZWEyZDEwN2ZhMWVjNzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMTA3Myw2ICsxMDcz
LDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdChSZW5kZXJCb3gm
IHIsIGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm8KICAgICAgICAgci5zZXROZWVkc0xheW91dChN
YXJrT25seVRoaXMpOwogICAgICAgICByLmxheW91dElmTmVlZGVkKCk7CiAgICAgfQorICAgIAor
ICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCkt
PmlzUGFnaW5hdGVkKCkgJiYgaXM8UmVuZGVyQmxvY2tGbG93PigqdGhpcykpCisgICAgICAgIGRv
d25jYXN0PFJlbmRlckJsb2NrRmxvdz4oKnRoaXMpLmFkanVzdFNpemVDb250YWlubWVudENoaWxk
Rm9yUGFnaW5hdGlvbihyLCByLmxvZ2ljYWxUb3AoKSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6
OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhl
ZFBvc2l0aW9uT2JqZWN0c09ubHkpCkBAIC0yMjgyLDggKzIyODUsOCBAQCB2b2lkIFJlbmRlckJs
b2NrOjpvZmZzZXRGb3JDb250ZW50cyhMYXlvdXRQb2ludCYgb2Zmc2V0KSBjb25zdAogdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWlu
TG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKCFjaGlsZHJlbklubGluZSgpKTsKLSAgICAKLSAgICBjb21wdXRlQmxvY2tQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICBp
ZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgY29tcHV0ZUJs
b2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0
aCk7CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1h
eExvZ2ljYWxXaWR0aCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggMDNlNDQ3MDhjODI4MDA0OGE5MTgzNzc4ZjQyZjhiNmU1ZWQyZDBiZi4u
OTY0YzVjYjFjYWMwMWNlMDBlMjE5ZTE2MjViMDlkN2IwYTE5YmZjYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTMzOSwxMCArMzM5LDEyIEBA
IHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RJbnRyaW5zaWNMb2dpY2FsV2lkdGhzRm9yQ29s
dW1ucyhMYXlvdXRVbml0JiBtaW5Mb2dpCiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91
dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkKLSAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNh
bFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIGVsc2UKLSAgICAgICAgY29tcHV0ZUJsb2Nr
UHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7
CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAg
aWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICBjb21wdXRlSW5saW5lUHJlZmVycmVk
TG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWlu
TG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIH0KIAogICAgIG1heExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKIApAQCAt
MTY2Miw2ICsxNjY0LDkgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEJsb2Nr
Q2hpbGRGb3JQYWdpbmF0aW9uKExheW91dFVuaXQgbG9naWNhbFRvcEEKICAgICAgICAgfQogICAg
IH0KIAorICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAg
IGFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbihjaGlsZCwgcmVzdWx0KTsK
KwogICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBhbmQgc2Nyb2xsZWQgZWxlbWVudHMsIHdl
IHdhbnQgdG8gc2hpZnQgdGhlbSB0byB0aGUgbmV4dCBwYWdlIGlmIHRoZXkgZG9uJ3QgZml0IG9u
IHRoZSBjdXJyZW50IG9uZS4KICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BCZWZvcmVVbnNwbGl0
dGFibGVBZGp1c3RtZW50ID0gcmVzdWx0OwogICAgIExheW91dFVuaXQgbG9naWNhbFRvcEFmdGVy
VW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9IGFkanVzdEZvclVuc3BsaXR0YWJsZUNoaWxkKGNoaWxk
LCByZXN1bHQpOwpAQCAtMjA0Nyw2ICsyMDUyLDI0IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tG
bG93Ojpsb2dpY2FsSGVpZ2h0Rm9yQ2hpbGRGb3JGcmFnbWVudGF0aW9uKGNvbnN0IFJlbmRlckJv
CiAgICAgcmV0dXJuIGxvZ2ljYWxIZWlnaHRGb3JDaGlsZChjaGlsZCk7CiB9CiAKK3ZvaWQgUmVu
ZGVyQmxvY2tGbG93OjphZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24oUmVu
ZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBvZmZzZXQpCit7CisgICAgaWYgKCFzaG91bGRBcHBs
eVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFVu
aXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9IGNoaWxkLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkgOiBjaGlsZC5sYXlvdXRPdmVyZmxv
d1JlY3QoKS5tYXhYKCk7CisgICAgTGF5b3V0VW5pdCBjaGlsZExvZ2ljYWxIZWlnaHQgPSBzdGQ6
Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0KCksIGNoaWxkT3ZlcmZsb3dIZWlnaHQpOworCisgICAg
TGF5b3V0VW5pdCByZW1haW5pbmdMb2dpY2FsSGVpZ2h0ID0gcGFnZVJlbWFpbmluZ0xvZ2ljYWxI
ZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBFeGNsdWRlUGFnZUJvdW5kYXJ5KTsKKworICAgIExheW91
dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNoaWxkTG9naWNhbEhlaWdodCAtIHJlbWFpbmluZ0xvZ2lj
YWxIZWlnaHQ7CisgICAgaWYgKHNwYWNlU2hvcnRhZ2UgPD0gMCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKFJlbmRlckZyYWdtZW50ZWRGbG93KiBmcmFnbWVudGVkRmxvdyA9IGVuY2xvc2lu
Z0ZyYWdtZW50ZWRGbG93KCkpCisgICAgICAgIGZyYWdtZW50ZWRGbG93LT51cGRhdGVTcGFjZVNo
b3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJz
dFBhZ2UoKSArIG9mZnNldCwgc3BhY2VTaG9ydGFnZSk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tG
bG93OjpsYXlvdXRMaW5lR3JpZEJveCgpCiB7CiAgICAgaWYgKHN0eWxlKCkubGluZUdyaWQoKSA9
PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCA0NDk4NTlkMzg4NjBhMDNhNTJkZmRlYmZlNzA4
NmRiNWZkY2Q1MTAwLi5jN2M5NDZiYWZkODE1YTQ3NGQ3MjM4OGI3N2UyMjM4OWY0NDZjY2M0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zOTgsNiAr
Mzk4LDggQEAgcHVibGljOgogICAgIC8vIGNvbHVtbiBiYWxhbmNlciB0byBoZWxwIHNldCBhIGdv
b2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0LgogICAgIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWln
aHQoTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWluSGVpZ2h0KTsKIAorICAgIHZvaWQg
YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQs
IExheW91dFVuaXQgb2Zmc2V0KTsKKwogICAgIHZvaWQgYWRkRmxvYXRzVG9OZXdQYXJlbnQoUmVu
ZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxvdykgY29uc3Q7CiAgICAgCiAgICAgTGF5b3V0VW5pdCBl
bmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAppbmRleCAxOTI0NDBiMzM4ODA4YTAzZWYxOGMxODk2MTZkZTlhOWJiZmViZGVk
Li5lOThmMGMxZTRhNGE2Yjc4YTJkZGVlYzA3NzdjMGU2ZGQ5OTdlZGE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjg3Niw2ICsyODc2LDEyIEBAIHZvaWQgUmVu
ZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5
b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkK
IHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpICYmICFpc1JlbmRl
ckdyaWQoKSkgeworICAgICAgICAvLyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCBjb250
YWlucyBpbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCgpIHdoaWNoIGFkZCBleHRyYSBib3JkZXIg
Zm9yIGZpZWxkc2V0LCBzbyB3ZSBjYW4ndCB1c2UgaXQgZGlyZWN0bHkuCisgICAgICAgIGF1dG8g
Ym9yZGVyQW5kUGFkaW5nID0gUmVuZGVyQm94Ojpib3JkZXJCZWZvcmUoKSArIFJlbmRlckJveDo6
cGFkZGluZ0JlZm9yZSgpICsgUmVuZGVyQm94Ojpib3JkZXJBZnRlcigpICsgUmVuZGVyQm94Ojpw
YWRkaW5nQWZ0ZXIoKTsKKyAgICAgICAgc2V0TG9naWNhbEhlaWdodChib3JkZXJBbmRQYWRpbmcg
KyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpOworICAgIH0KKwogICAgIGNhY2hlSW50cmluc2lj
Q29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbShjb250ZW50TG9naWNhbEhlaWdodCgpKTsK
ICAgICBhdXRvIGNvbXB1dGVkVmFsdWVzID0gY29tcHV0ZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhl
aWdodCgpLCBsb2dpY2FsVG9wKCkpOwogICAgIHNldExvZ2ljYWxIZWlnaHQoY29tcHV0ZWRWYWx1
ZXMubV9leHRlbnQpOwpAQCAtNDg1Nyw3ICs0ODYzLDggQEAgYm9vbCBSZW5kZXJCb3g6OmlzVW5z
cGxpdHRhYmxlRm9yUGFnaW5hdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIGlzUmVwbGFjZWQoKQog
ICAgICAgICB8fCBoYXNVbnNwbGl0dGFibGVTY3JvbGxpbmdPdmVyZmxvdygpCiAgICAgICAgIHx8
IChwYXJlbnQoKSAmJiBpc1dyaXRpbmdNb2RlUm9vdCgpKQotICAgICAgICB8fCAoaXNGbG9hdGlu
ZygpICYmIHN0eWxlKCkuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkZpcnN0TGV0dGVyICYmIHN0
eWxlKCkuaW5pdGlhbExldHRlckRyb3AoKSA+IDApOworICAgICAgICB8fCAoaXNGbG9hdGluZygp
ICYmIHN0eWxlKCkuc3R5bGVUeXBlKCkgPT0gUHNldWRvSWQ6OkZpcnN0TGV0dGVyICYmIHN0eWxl
KCkuaW5pdGlhbExldHRlckRyb3AoKSA+IDApCisgICAgICAgIHx8IHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCp0aGlzKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJCb3g6OmxpbmVIZWlnaHQo
Ym9vbCAvKmZpcnN0TGluZSovLCBMaW5lRGlyZWN0aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQb3Np
dGlvbk1vZGUgLypsaW5lUG9zaXRpb25Nb2RlKi8pIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCmluZGV4
IDRmMmQxZjNkYjFiNzkwMzU0ZmZjNjg1OWZjM2JkNzI3NzYyZmUxOGUuLmNlZDA4YzcwN2QxZDY4
NWI1MTk5MjVhNzY5ZjJjNWRjNDNhMTg3MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwCkBAIC0xODcsMjYg
KzE4NywyOCBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6c3R5bGVXaWxsQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZQogCiB2b2lkIFJlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0g
ICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1ZlcnRpY2FsKCkpIHsKLSAgICAgICAgZm9y
IChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGls
ZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVj
dFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICBp
ZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBpZiAoaGFz
TXVsdGlwbGVMaW5lcygpIHx8IGlzVmVydGljYWwoKSkgeworICAgICAgICAgICAgZm9yIChSZW5k
ZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RX
aWR0aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0g
ICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hpbGQp
OwotICAgICAgICAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IGNoaWxkLT5taW5QcmVmZXJyZWRMb2dp
Y2FsV2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6
bWF4KHdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQg
bWFyZ2luID0gbWFyZ2luV2lkdGhGb3JDaGlsZChjaGlsZCk7CisgICAgICAgICAgICAgICAgTGF5
b3V0VW5pdCB3aWR0aCA9IGNoaWxkLT5taW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdp
bjsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgbWlu
TG9naWNhbFdpZHRoKTsKIAotICAgICAgICAgICAgd2lkdGggPSBjaGlsZC0+bWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoKCkgKyBtYXJnaW47Ci0gICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBz
dGQ6Om1heCh3aWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLSAgICAgICAgfQotICAgIH0gZWxzZSB7
Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7
IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAgICAgIGlmIChjaGls
ZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCi0gICAgICAgICAgICAgICAgY29u
dGludWU7CisgICAgICAgICAgICAgICAgd2lkdGggPSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3Rk
OjptYXgod2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94
KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CisgICAgICAgICAg
ICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkKKyAgICAg
ICAgICAgICAgICAgICAgY29udGludWU7CiAKLSAgICAgICAgICAgIExheW91dFVuaXQgbWFyZ2lu
ID0gbWFyZ2luV2lkdGhGb3JDaGlsZChjaGlsZCk7Ci0gICAgICAgICAgICBtaW5Mb2dpY2FsV2lk
dGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOwotICAgICAg
ICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgo
KSArIG1hcmdpbjsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldp
ZHRoRm9yQ2hpbGQoY2hpbGQpOworICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBj
aGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAg
ICAgbWF4TG9naWNhbFdpZHRoICs9IGNoaWxkLT5tYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgoKSAr
IG1hcmdpbjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXgg
M2QxMjNjNTRiNTY0ZGE1MDQxN2I0YzA3ODk3MjlmMzllMzNiMTVkYS4uODc4NWYyMjk5YzgwZDM5
NDZlOGZmZDIxNjYyZDAyOTIxOTQ2MzFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0xOTcsNiArMTk3LDggQEAg
dm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IExheW91dFBvaW4KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRo
LCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFw
cGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIEZpZ3Vy
ZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3BhY2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4g
bnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAvLyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNo
YXJhY3RlcikuCiAgICAgY29uc3QgVUNoYXIgY2hhcmFjdGVyID0gJzAnOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggZGI4MzJhNWIyZWYw
ZTU0ZGMxMjhlNWExNzViNjkxMTAzYzBmYTY4ZC4uODYxYWNkNWQwOGZjMDk0YTJhNTNmZmU5ZWMz
ZDVhZmVmNjllNzI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCkBAIC04Myw2MCArODMsNjIgQEAgY29uc3QgY2hhciogUmVuZGVyRmxleGli
bGVCb3g6OnJlbmRlck5hbWUoKSBjb25zdAogCiB2b2lkIFJlbmRlckZsZXhpYmxlQm94Ojpjb21w
dXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExh
eW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBMYXlvdXRVbml0IGNoaWxk
TWluV2lkdGg7Ci0gICAgTGF5b3V0VW5pdCBjaGlsZE1heFdpZHRoOwotICAgIGJvb2wgaGFkRXhj
bHVkZWRDaGlsZHJlbiA9IGNvbXB1dGVQcmVmZXJyZWRXaWR0aHNGb3JFeGNsdWRlZENoaWxkcmVu
KGNoaWxkTWluV2lkdGgsIGNoaWxkTWF4V2lkdGgpOwotCi0gICAgLy8gRklYTUU6IFdlJ3JlIGln
bm9yaW5nIGZsZXgtYmFzaXMgaGVyZSBhbmQgd2Ugc2hvdWxkbid0LiBXZSBjYW4ndCBzdGFydAot
ICAgIC8vIGhvbm9yaW5nIGl0IHRob3VnaCB1bnRpbCB0aGUgZmxleCBzaG9ydGhhbmQgc3RvcHMg
c2V0dGluZyBpdCB0byAwLiBTZWUKLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTE2MTE3IGFuZAotICAgIC8vIGh0dHBzOi8vY3JidWcuY29tLzI0MDc2NS4K
LSAgICBzaXplX3QgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID0gMDsKLSAgICBmb3IgKFJlbmRl
ckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0
U2libGluZ0JveCgpKSB7Ci0gICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVk
KCkgfHwgY2hpbGQtPmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCkpCi0gICAgICAgICAgICBj
b250aW51ZTsKLSAgICAgICAgKytudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQ7CisgICAgaWYgKCFz
aG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBj
aGlsZE1pbldpZHRoOworICAgICAgICBMYXlvdXRVbml0IGNoaWxkTWF4V2lkdGg7CisgICAgICAg
IGJvb2wgaGFkRXhjbHVkZWRDaGlsZHJlbiA9IGNvbXB1dGVQcmVmZXJyZWRXaWR0aHNGb3JFeGNs
dWRlZENoaWxkcmVuKGNoaWxkTWluV2lkdGgsIGNoaWxkTWF4V2lkdGgpOworCisgICAgICAgIC8v
IEZJWE1FOiBXZSdyZSBpZ25vcmluZyBmbGV4LWJhc2lzIGhlcmUgYW5kIHdlIHNob3VsZG4ndC4g
V2UgY2FuJ3Qgc3RhcnQKKyAgICAgICAgLy8gaG9ub3JpbmcgaXQgdGhvdWdoIHVudGlsIHRoZSBm
bGV4IHNob3J0aGFuZCBzdG9wcyBzZXR0aW5nIGl0IHRvIDAuIFNlZQorICAgICAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE2MTE3IGFuZAorICAgICAgICAv
LyBodHRwczovL2NyYnVnLmNvbS8yNDA3NjUuCisgICAgICAgIHNpemVfdCBudW1JdGVtc1dpdGhO
b3JtYWxMYXlvdXQgPSAwOworICAgICAgICBmb3IgKFJlbmRlckJveCogY2hpbGQgPSBmaXJzdENo
aWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGluZ0JveCgpKSB7CisgICAg
ICAgICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0V4
Y2x1ZGVkRnJvbU5vcm1hbExheW91dCgpKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAg
ICAgICAgICAgKytudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQ7CiAKLSAgICAgICAgTGF5b3V0VW5p
dCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgqY2hpbGQpOwot
ICAgICAgICAKLSAgICAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0g
ICAgICAgIExheW91dFVuaXQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICBjb21w
dXRlQ2hpbGRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCpjaGlsZCwgbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAKLSAgICAgICAgbWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1hcmdpbjsKLSAgICAgICAgbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoICs9IG1hcmdpbjsKLQotICAgICAgICBpZiAoIWlzQ29sdW1uRmxvdygpKSB7Ci0g
ICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOwot
ICAgICAgICAgICAgaWYgKGlzTXVsdGlsaW5lKCkpIHsKLSAgICAgICAgICAgICAgICAvLyBGb3Ig
bXVsdGlsaW5lLCB0aGUgbWluIHByZWZlcnJlZCB3aWR0aCBpcyBpZiB5b3UgcHV0IGEgYnJlYWsg
YmV0d2VlbgotICAgICAgICAgICAgICAgIC8vIGVhY2ggaXRlbS4KLSAgICAgICAgICAgICAgICBt
aW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCk7Ci0gICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtaW5Mb2dp
Y2FsV2lkdGggKz0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICB9IGVsc2Ugewot
ICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluUHJlZmVycmVkTG9naWNh
bFdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0g
c3RkOjptYXgobWF4UHJlZmVycmVkTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAg
ICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhG
b3JDaGlsZCgqY2hpbGQpOworICAgICAgICAgICAgCisgICAgICAgICAgICBMYXlvdXRVbml0IG1p
blByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIExheW91dFVuaXQgbWF4UHJlZmVy
cmVkTG9naWNhbFdpZHRoOworICAgICAgICAgICAgY29tcHV0ZUNoaWxkUHJlZmVycmVkTG9naWNh
bFdpZHRocygqY2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbWluUHJlZmVycmVkTG9naWNh
bFdpZHRoICs9IG1hcmdpbjsKKyAgICAgICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCAr
PSBtYXJnaW47CisKKyAgICAgICAgICAgIGlmICghaXNDb2x1bW5GbG93KCkpIHsKKyAgICAgICAg
ICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOworICAg
ICAgICAgICAgICAgIGlmIChpc011bHRpbGluZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8v
IEZvciBtdWx0aWxpbmUsIHRoZSBtaW4gcHJlZmVycmVkIHdpZHRoIGlzIGlmIHlvdSBwdXQgYSBi
cmVhayBiZXR3ZWVuCisgICAgICAgICAgICAgICAgICAgIC8vIGVhY2ggaXRlbS4KKyAgICAgICAg
ICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBt
aW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAg
ICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGgg
PSBzdGQ6Om1heChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7Cisg
ICAgICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgfQogICAgICAgICB9Ci0g
ICAgfQogCi0gICAgaWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVtc1dpdGhOb3JtYWxMYXlv
dXQgPiAxKSB7Ci0gICAgICAgIExheW91dFVuaXQgaW5saW5lR2FwU2l6ZSA9IChudW1JdGVtc1dp
dGhOb3JtYWxMYXlvdXQgLSAxKSAqIGNvbXB1dGVHYXAoR2FwVHlwZTo6QmV0d2Vlbkl0ZW1zKTsK
LSAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7Ci0gICAgICAgIGlmICgh
aXNNdWx0aWxpbmUoKSkKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBpbmxpbmVHYXBT
aXplOwotICAgIH0KKyAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVtc1dpdGhO
b3JtYWxMYXlvdXQgPiAxKSB7CisgICAgICAgICAgICBMYXlvdXRVbml0IGlubGluZUdhcFNpemUg
PSAobnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0IC0gMSkgKiBjb21wdXRlR2FwKEdhcFR5cGU6OkJl
dHdlZW5JdGVtcyk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6
ZTsKKyAgICAgICAgICAgIGlmICghaXNNdWx0aWxpbmUoKSkKKyAgICAgICAgICAgICAgICBtaW5M
b2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKKyAgICAgICAgfQogCi0gICAgbWF4TG9naWNh
bFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAg
IAotICAgIC8vIER1ZSB0byBuZWdhdGl2ZSBtYXJnaW5zLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdl
IGNhbGN1bGF0ZWQgYSBuZWdhdGl2ZQotICAgIC8vIGludHJpbnNpYyB3aWR0aC4gTWFrZSBzdXJl
IHRoYXQgd2UgbmV2ZXIgcmV0dXJuIGEgbmVnYXRpdmUgd2lkdGguCi0gICAgbWluTG9naWNhbFdp
ZHRoID0gc3RkOjptYXgoMF9sdSwgbWluTG9naWNhbFdpZHRoKTsKLSAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heCgwX2x1LCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIAotICAgIGlmIChoYWRF
eGNsdWRlZENoaWxkcmVuKSB7Ci0gICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1p
bkxvZ2ljYWxXaWR0aCwgY2hpbGRNaW5XaWR0aCk7Ci0gICAgICAgIG1heExvZ2ljYWxXaWR0aCA9
IHN0ZDo6bWF4KG1heExvZ2ljYWxXaWR0aCwgY2hpbGRNYXhXaWR0aCk7CisgICAgICAgIG1heExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsK
KyAgICAgICAgCisgICAgICAgIC8vIER1ZSB0byBuZWdhdGl2ZSBtYXJnaW5zLCBpdCBpcyBwb3Nz
aWJsZSB0aGF0IHdlIGNhbGN1bGF0ZWQgYSBuZWdhdGl2ZQorICAgICAgICAvLyBpbnRyaW5zaWMg
d2lkdGguIE1ha2Ugc3VyZSB0aGF0IHdlIG5ldmVyIHJldHVybiBhIG5lZ2F0aXZlIHdpZHRoLgor
ICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBtaW5Mb2dpY2FsV2lkdGgp
OworICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCgwX2x1LCBtYXhMb2dpY2FsV2lk
dGgpOworICAgICAgICAKKyAgICAgICAgaWYgKGhhZEV4Y2x1ZGVkQ2hpbGRyZW4pIHsKKyAgICAg
ICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgY2hpbGRN
aW5XaWR0aCk7CisgICAgICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhMb2dp
Y2FsV2lkdGgsIGNoaWxkTWF4V2lkdGgpOworICAgICAgICB9CiAgICAgfQogCiAgICAgTGF5b3V0
VW5pdCBzY3JvbGxiYXJXaWR0aChzY3JvbGxiYXJMb2dpY2FsV2lkdGgoKSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oCmluZGV4IGZhY2ViMTk2
ZDliZjc3Y2Q2Mjg1NTRlMzM1MTAwMGU5OTg5M2FkNjMuLmI3M2JlMmIxYjBlNDgyN2VkYWU2MDI3
YWE2ZTM1ZmNiMTcxZDYzNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGcmFnbWVudGVkRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGcmFnbWVudGVkRmxvdy5oCkBAIC0xMDIsNiArMTAyLDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBzZXRQYWdlQnJlYWsoY29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zm
c2V0Ki8sIExheW91dFVuaXQgLypzcGFjZVNob3J0YWdlKi8pIHsgfQogICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQg
LypvZmZzZXQqLywgTGF5b3V0VW5pdCAvKm1pbkhlaWdodCovKSB7IH0KIAorICAgIHZpcnR1YWwg
dm9pZCB1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJs
b2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qc2hvcnRhZ2UqLykgeyB9
CisKICAgICB2aXJ0dWFsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudEF0QmxvY2tP
ZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0RnJhZ21l
bnQgPSBmYWxzZSkgY29uc3Q7CiAKICAgICBib29sIGZyYWdtZW50c0hhdmVVbmlmb3JtTG9naWNh
bFdpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9mcmFnbWVudHNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0
aDsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCmluZGV4IDZkY2FmYTFl
NWIxODc3ODlmMzI5OTY5YTNkOGMzN2VlNTg2NmQ1ZGMuLjg1MjQ4NWM5NjQ4N2I4ZjgwZGU4ZjMy
ZmYxZDE2ZjU0ZThkMDQwNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKQEAgLTI1MCwxMSArMjUwLDE3IEBAIHZvaWQgUmVuZGVyR3JpZDo6bGF5b3V0QmxvY2soYm9v
bCByZWxheW91dENoaWxkcmVuLCBMYXlvdXRVbml0KQogCiAgICAgICAgIC8vIDItIE5leHQsIHRo
ZSB0cmFjayBzaXppbmcgYWxnb3JpdGhtIHJlc29sdmVzIHRoZSBzaXplcyBvZiB0aGUgZ3JpZCBy
b3dzLAogICAgICAgICAvLyB1c2luZyB0aGUgZ3JpZCBjb2x1bW4gc2l6ZXMgY2FsY3VsYXRlZCBp
biB0aGUgcHJldmlvdXMgc3RlcC4KLSAgICAgICAgaWYgKCFoYXNEZWZpbml0ZUxvZ2ljYWxIZWln
aHQpCisgICAgICAgIGJvb2wgc2hvdWxkUmVjb21wdXRlSGVpZ2h0ID0gZmFsc2U7CisgICAgICAg
IGlmICghaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KSB7CiAgICAgICAgICAgICBjb21wdXRlVHJh
Y2tTaXplc0ZvckluZGVmaW5pdGVTaXplKG1fdHJhY2tTaXppbmdBbGdvcml0aG0sIEZvclJvd3Mp
OwotICAgICAgICBlbHNlCisgICAgICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKnRoaXMpKQorICAgICAgICAgICAgICAgIHNob3VsZFJlY29tcHV0ZUhlaWdodCA9IHRydWU7
CisgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0
ZVNpemUoRm9yUm93cywgYXZhaWxhYmxlTG9naWNhbEhlaWdodChFeGNsdWRlTWFyZ2luQm9yZGVy
UGFkZGluZykpOwogICAgICAgICBMYXlvdXRVbml0IHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0ID0g
bV90cmFja1NpemluZ0FsZ29yaXRobS5jb21wdXRlVHJhY2tCYXNlZFNpemUoKSArIGJvcmRlckFu
ZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCkgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CisgICAg
ICAgIGlmIChzaG91bGRSZWNvbXB1dGVIZWlnaHQpCisgICAgICAgICAgICBjb21wdXRlVHJhY2tT
aXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCk7CisK
ICAgICAgICAgc2V0TG9naWNhbEhlaWdodCh0cmFja0Jhc2VkTG9naWNhbEhlaWdodCk7CiAKICAg
ICAgICAgTGF5b3V0VW5pdCBvbGRDbGllbnRBZnRlckVkZ2UgPSBjbGllbnRMb2dpY2FsQm90dG9t
KCk7CkBAIC00NTUsNiArNDYxLDExIEBAIHVuc2lnbmVkIFJlbmRlckdyaWQ6OmNvbXB1dGVBdXRv
UmVwZWF0VHJhY2tzQ291bnQoR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjCiB7CiAgICAg
QVNTRVJUKCFhdmFpbGFibGVTaXplIHx8IGF2YWlsYWJsZVNpemUudmFsdWUoKSAhPSAtMSk7CiAg
ICAgYm9vbCBpc1Jvd0F4aXMgPSBkaXJlY3Rpb24gPT0gRm9yQ29sdW1uczsKKyAgICBpZiAoc2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpCisgICAgICAgICYmICgoaXNSb3dBeGlzICYm
IHN0eWxlKCkuZ3JpZEF1dG9SZXBlYXRDb2x1bW5zVHlwZSgpID09IEF1dG9SZXBlYXRUeXBlOjpG
aXQpCisgICAgICAgICAgICB8fCAoIWlzUm93QXhpcyAmJiBzdHlsZSgpLmdyaWRBdXRvUmVwZWF0
Um93c1R5cGUoKSA9PSBBdXRvUmVwZWF0VHlwZTo6Rml0KSkpCisgICAgICAgIHJldHVybiAwOwor
CiAgICAgY29uc3QgYXV0byYgYXV0b1JlcGVhdFRyYWNrcyA9IGlzUm93QXhpcyA/IHN0eWxlKCku
Z3JpZEF1dG9SZXBlYXRDb2x1bW5zKCkgOiBzdHlsZSgpLmdyaWRBdXRvUmVwZWF0Um93cygpOwog
ICAgIHVuc2lnbmVkIGF1dG9SZXBlYXRUcmFja0xpc3RMZW5ndGggPSBhdXRvUmVwZWF0VHJhY2tz
LnNpemUoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXgg
NzgzMDFlNjBjOTE1MTdlNzQ3YjljOGYxOGQ4YmJiZDQ3OGE1NzQ5MS4uY2JjYzExMTE5MmU0YTNi
NzMxMTNkNzhjMmY2OGQwMGI3ZmExOWM0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCkBAIC04NDQsNiArODQ0LDcgQEAgdm9pZCBSZW5kZXJJbWFnZTo6bGF5b3V0
U2hhZG93Q29udGVudChjb25zdCBMYXlvdXRTaXplJiBvbGRTaXplKQogCiB2b2lkIFJlbmRlcklt
YWdlOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNp
Y1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91
bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpOwogICAgIFJlbmRlclJlcGxhY2VkOjpjb21w
dXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRp
byk7CiAKICAgICAvLyBPdXIgaW50cmluc2ljU2l6ZSBpcyBlbXB0eSBpZiB3ZSdyZSByZW5kZXJp
bmcgZ2VuZXJhdGVkIGltYWdlcyB3aXRoIHJlbGF0aXZlIHdpZHRoL2hlaWdodC4gRmlndXJlIG91
dCB0aGUgcmlnaHQgaW50cmluc2ljIHNpemUgdG8gdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IDBlZGYyNmE3Yzc3ZDdjYjE4YTM5OGM1MGRiNGIy
NmM2M2Y3MjJiZGIuLjlkYWQ1MTcxMDc4ZmM2MjNlZDhjYjFhZjBhYzY0Y2JjYTQzZWM5OTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTIxMSw3ICsy
MTEsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCkKIAog
dm9pZCBSZW5kZXJMaXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRV
bml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QK
IHsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3Bh
Y2luZ0hvcml6b250YWw7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoKnRoaXMpID8gMiAqIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCA6IG1fb3B0aW9u
c1dpZHRoICsgMiAqIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbDsKICAgICBpZiAobV92QmFyKQog
ICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gbV92QmFyLT53aWR0aCgpOwogICAgIGlmICghc3R5
bGUoKS53aWR0aCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKaW5kZXggZjM5NGJkNjMzNmU0NDQ4MjI3ZjE2YWU5
OTk2ZGU1NWYyNGNjZjhlZC4uNzczMjMzYzE0ZmMyMWI0ZTI4MmMxYjE5ZjI1NGJmMTlmYjI1MjFi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCkBAIC0z
MTUsNyArMzE1LDggQEAgTGF5b3V0UmVjdCBSZW5kZXJNZW51TGlzdDo6Y29udHJvbENsaXBSZWN0
KGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KQogCiB2b2lkIFJlbmRlck1lbnVM
aXN0Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2Fs
V2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBtYXhMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1heChtX29wdGlvbnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxp
c3RTaXplKHN0eWxlKCkpKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSArIG1faW5uZXJC
bG9jay0+cGFkZGluZ1JpZ2h0KCk7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnRoaXMpID8gdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxl
KCkpIDogc3RkOjptYXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6
ZShzdHlsZSgpKSk7CisgICAgbWF4TG9naWNhbFdpZHRoICs9IG1faW5uZXJCbG9jay0+cGFkZGlu
Z0xlZnQoKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ1JpZ2h0KCk7CiAgICAgaWYgKCFzdHlsZSgp
LndpZHRoKCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCA9IG1heExvZ2ljYWxXaWR0aDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKaW5kZXggNjE4NWU0NzI2MzhiZDc5ZWVkMTBhNTA5
N2JhNjU1YjA4MjZjODM2YS4uYmRiZTRhNzE0ZDBjNmM3YTYzZGNjYzgzNTcyYmIxZjg3MDhlNmEw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5jcHAKQEAgLTIwMyw2ICsyMDMsMTIgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6
OnVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGEKICAg
ICAgICAgbXVsdGljb2xTZXQtPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobWluSGVpZ2h0KTsK
IH0KIAordm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JT
aXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBMYXlvdXRVbml0IG9mZnNl
dCwgTGF5b3V0VW5pdCBzaG9ydGFnZSkKK3sKKyAgICBpZiAoYXV0byogbXVsdGljb2xTZXQgPSBk
b3duY2FzdDxSZW5kZXJNdWx0aUNvbHVtblNldD4oZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGJsb2Nr
LCBvZmZzZXQpKSkKKyAgICAgICAgbXVsdGljb2xTZXQtPnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JT
aXplQ29udGFpbm1lbnQoc2hvcnRhZ2UpOworfQorCiBSZW5kZXJGcmFnbWVudENvbnRhaW5lciog
UmVuZGVyTXVsdGlDb2x1bW5GbG93OjpmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVy
Qm94KiBib3gsIExheW91dFVuaXQgb2Zmc2V0LCBib29sIGV4dGVuZExhc3RGcmFnbWVudCkgY29u
c3QKIHsKICAgICBpZiAoIW1faW5MYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKaW5kZXggMGM4MzkxOGY4ZWRiNmQyMDEyNThmOTAw
YTJiZTE4ZDM5ZjEzZTc2ZC4uZWI2ZjA4ODc5NDU4NWU4MjU1ZGI3YzBjODU4OGQwMmRjMWE1ZWY5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuaApAQCAtMTA4LDYgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBpbml0aWFs
TG9naWNhbFdpZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRQYWdlQnJlYWsoY29u
c3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBzcGFjZVNob3J0
YWdlKSBvdmVycmlkZTsKICAgICB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJl
bmRlckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWluSGVpZ2h0KSBvdmVy
cmlkZTsKKyAgICB2b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQoY29u
c3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBzaG9ydGFnZSkg
b3ZlcnJpZGU7CiAgICAgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW50QXRCbG9ja09m
ZnNldChjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29sIGV4dGVuZExhc3RGcmFnbWVu
dCA9IGZhbHNlKSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldEZyYWdtZW50UmFuZ2VGb3JC
b3goY29uc3QgUmVuZGVyQm94JiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqLCBSZW5kZXJGcmFn
bWVudENvbnRhaW5lciopIG92ZXJyaWRlOwogICAgIGJvb2wgYWRkRm9yY2VkRnJhZ21lbnRCcmVh
ayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJlbmRlckJveCogYnJlYWtDaGlsZCwg
Ym9vbCBpc0JlZm9yZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJlYWtBZGp1c3RtZW50ID0gMCkgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5TZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
U2V0LmNwcAppbmRleCBkNTU2ZjdkMGVlMWEyMzUzYzU2M2IzMjY3OTE1Njk4ZWU0YmFjMWU5Li42
MDcyYmI1NjZmZGQwZGMyNTExMWM5YzNmYjIyMzRjMDhhNmFhYmNlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKQEAgLTUwLDYgKzUw
LDcgQEAgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OlJlbmRlck11bHRpQ29sdW1uU2V0KFJlbmRlckZy
YWdtZW50ZWRGbG93JiBmcmFnbWVudGVkRmxvdywKICAgICAsIG1fbWF4Q29sdW1uSGVpZ2h0KFJl
bmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pblNwYWNl
U2hvcnRhZ2UoUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSkKICAgICAs
IG1fbWluaW11bUNvbHVtbkhlaWdodCgwKQorICAgICwgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNv
bnRhaW5tZW50KDApCiB7CiB9CiAKQEAgLTIzNSwxNSArMjM2LDE2IEBAIExheW91dFVuaXQgUmVu
ZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkg
Y29uc3QKICAgICAgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KG1fY29udGVudFJ1bnNb
aW5kZXhdLmNvbHVtbkxvZ2ljYWxIZWlnaHQoc3RhcnRPZmZzZXQpLCBtX21pbmltdW1Db2x1bW5I
ZWlnaHQpOwogICAgIH0KIAorICAgIExheW91dFVuaXQgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2Ug
PSBzdGQ6Om1heDxMYXlvdXRVbml0PihMYXlvdXRVbml0KCksIG1fc3BhY2VTaG9ydGFnZUZvclNp
emVDb250YWlubWVudCk7CiAgICAgaWYgKGNvbHVtbkNvdW50KCkgPD0gY29tcHV0ZWRDb2x1bW5D
b3VudCgpKSB7CiAgICAgICAgIC8vIFdpdGggdGhlIGN1cnJlbnQgY29sdW1uIGhlaWdodCwgdGhl
IGNvbnRlbnQgZml0cyB3aXRob3V0IGNyZWF0aW5nIG92ZXJmbG93aW5nIGNvbHVtbnMuIFdlJ3Jl
IGRvbmUuCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICBy
ZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwog
ICAgIH0KIAogICAgIGlmIChmb3JjZWRCcmVha3NDb3VudCgpID49IGNvbXB1dGVkQ29sdW1uQ291
bnQoKSkgewogICAgICAgICAvLyBUb28gbWFueSBmb3JjZWQgYnJlYWtzIHRvIGFsbG93IGFueSBp
bXBsaWNpdCBicmVha3MuIEluaXRpYWwgYmFsYW5jaW5nIHNob3VsZCBhbHJlYWR5CiAgICAgICAg
IC8vIGhhdmUgc2V0IGEgZ29vZCBoZWlnaHQuIFRoZXJlJ3Mgbm90aGluZyBtb3JlIHdlIHNob3Vs
ZCBkby4KLSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7CisgICAgICAgIHJl
dHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7CiAg
ICAgfQogCiAgICAgLy8gSWYgdGhlIGluaXRpYWwgZ3Vlc3NlZCBjb2x1bW4gaGVpZ2h0IHdhc24n
dCBlbm91Z2gsIHN0cmV0Y2ggaXQgbm93LiBTdHJldGNoIGJ5IHRoZSBsb3dlc3QKQEAgLTI1Miw5
ICsyNTQsMTAgQEAgTGF5b3V0VW5pdCBSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFs
YW5jZWRIZWlnaHQoYm9vbCBpbml0aWFsKSBjb25zdAogICAgIEFTU0VSVChtX21pblNwYWNlU2hv
cnRhZ2UgPiAwKTsgLy8gV2Ugc2hvdWxkIG5ldmVyIF9zaHJpbmtfIHRoZSBoZWlnaHQhCiAgICAg
Ly8gQVNTRVJUKG1fbWluU3BhY2VTaG9ydGFnZSAhPSBSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4
TG9naWNhbEhlaWdodCgpKTsgLy8gSWYgdGhpcyBoYXBwZW5zLCB3ZSBwcm9iYWJseSBoYXZlIGEg
YnVnLgogICAgIGlmIChtX21pblNwYWNlU2hvcnRhZ2UgPT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6
Om1heExvZ2ljYWxIZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWln
aHQ7IC8vIFNvIGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KKyAgICAg
ICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFn
ZTsgLy8gU28gYmFpbCBvdXQgcmF0aGVyIHRoYW4gbG9vcGluZyBpbmZpbml0ZWx5LgogCi0gICAg
cmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBtX21pblNwYWNlU2hvcnRhZ2U7CisgICAg
YXV0byB0b0FkZCA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KHNpemVDb250YWlubWVudFNob3J0YWdl
LCBtX21pblNwYWNlU2hvcnRhZ2UpOworICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0
ICsgdG9BZGQ7CiB9CiAKIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9yY2VkQnJl
YWtzKCkKQEAgLTM2NSw2ICszNjgsOCBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVw
YXJlRm9yTGF5b3V0KGJvb2wgaW5pdGlhbCkKICAgICAvLyBOdWtlIHByZXZpb3VzbHkgc3RvcmVk
IG1pbmltdW0gY29sdW1uIGhlaWdodC4gQ29udGVudHMgbWF5IGhhdmUgY2hhbmdlZCBmb3IgYWxs
IHdlIGtub3cuCiAgICAgbV9taW5pbXVtQ29sdW1uSGVpZ2h0ID0gMDsKIAorICAgIG1fc3BhY2VT
aG9ydGFnZUZvclNpemVDb250YWlubWVudCA9IDA7CisKICAgICAvLyBTdGFydCB3aXRoICJpbmZp
bml0ZSIgZmxvdyB0aHJlYWQgcG9ydGlvbiBoZWlnaHQgdW50aWwgaGVpZ2h0IGlzIGtub3duLgog
ICAgIHNldExvZ2ljYWxCb3R0b21JbkZyYWdtZW50ZWRGbG93KFJlbmRlckZyYWdtZW50ZWRGbG93
OjptYXhMb2dpY2FsSGVpZ2h0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtblNldC5oCmluZGV4IGY3M2JmOTBhMzE2ZTM4ZWE4MjVhNjllODY0Mjcz
NzZmNjBlNTRhNTkuLmM0OGFlMGE0Yzc1ODY1YTUzZmE1NWJmYmVmNzJkMWJiOTIyNzNkNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBA
IC04Myw2ICs4MywxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVNaW5pbXVtQ29sdW1uSGVp
Z2h0KExheW91dFVuaXQgaGVpZ2h0KSB7IG1fbWluaW11bUNvbHVtbkhlaWdodCA9IHN0ZDo6bWF4
KGhlaWdodCwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsgfQogICAgIExheW91dFVuaXQgbWluaW11
bUNvbHVtbkhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUNvbHVtbkhlaWdodDsgfQog
CisgICAgdm9pZCB1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KExheW91dFVu
aXQgc2hvcnRhZ2UpCisgICAgeworICAgICAgICBpZiAobV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNv
bnRhaW5tZW50IDw9IDApIHsKKyAgICAgICAgICAgIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250
YWlubWVudCA9IHNob3J0YWdlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA9IHN0ZDo6bWluKHNob3J0YWdl
LCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOworICAgIH0KKwogICAgIHVuc2ln
bmVkIGZvcmNlZEJyZWFrc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UnVucy5zaXpl
KCk7IH0KICAgICB2b2lkIGNsZWFyRm9yY2VkQnJlYWtzKCk7CiAgICAgdm9pZCBhZGRGb3JjZWRC
cmVhayhMYXlvdXRVbml0IG9mZnNldEZyb21GaXJzdFBhZ2UpOwpAQCAtMTk4LDYgKzIwNyw3IEBA
IHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBtX21heENvbHVtbkhlaWdodDsgLy8gTWF4aW11bSBj
b2x1bW4gaGVpZ2h0IGFsbG93ZWQuCiAgICAgTGF5b3V0VW5pdCBtX21pblNwYWNlU2hvcnRhZ2U7
IC8vIFRoZSBzbWFsbGVzdCBhbW91dCBvZiBzcGFjZSBzaG9ydGFnZSB0aGF0IGNhdXNlZCBhIGNv
bHVtbiBicmVhay4KICAgICBMYXlvdXRVbml0IG1fbWluaW11bUNvbHVtbkhlaWdodDsKKyAgICBM
YXlvdXRVbml0IG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudDsgLy8gVGhlIHNob3J0
YWdlIHNwYWNlIHRoYXQga2VlcHMgc2l6ZSBjb250YWlubWVudCBtb25vbGl0aGljLgogCiAgICAg
Ly8gQSBydW4gb2YgY29udGVudCB3aXRob3V0IGV4cGxpY2l0IChmb3JjZWQpIGJyZWFrczsgaS5l
LiBhIGZsb3cgdGhyZWFkIHBvcnRpb24gYmV0d2VlbiB0d28KICAgICAvLyBleHBsaWNpdCBicmVh
a3MsIGJldHdlZW4gZmxvdyB0aHJlYWQgc3RhcnQgYW5kIGFuIGV4cGxpY2l0IGJyZWFrLCBiZXR3
ZWVuIGFuIGV4cGxpY2l0IGJyZWFrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmpl
Y3QuY3BwCmluZGV4IDRiMDY5NTIzODE2ZDFlYTZhYmY3ZmY3OGE0NWM2NmQzOGVlODQ3MGIuLjVl
OGNlMTNhNjU5NjM2MzVlMmI4OWIyZDA0ZjBhNjA0MWE2YWQwYjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNDQ4LDMgKzI0NDgsOCBAQCBib29sIFdl
YkNvcmU6OnNob3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVy
T2JqZWN0JiByZW5kZXJlcgogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5z
TGF5b3V0KCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5s
aW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlz
VGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7CiB9CisKK2Jvb2wg
V2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVy
T2JqZWN0JiByZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWlu
c1NpemUoKSAmJiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxp
bmVMZXZlbEJveCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNU
YWJsZVBhcnQoKSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNU
YWJsZSgpOworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9i
amVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDdh
ZjEzNGIwNjdjMDU1ZGU5NmQ2MjIzYzhlNTU1NzVkNGM1OWM4YWYuLjMzMmRlYjMzZDhlMDAzYzRh
MGFkNzk1M2ViN2U5ODZiMzM4NjUzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmgKQEAgLTExOTEsNiArMTE5MSw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVyVHJl
ZUZvckxpdmVEb2N1bWVudHMoKTsKICNlbmRpZgogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0Q29u
dGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDg1NmJh
MjI3NTkzMDU1YzYwYjliNDcyOTBmZDJmNDBlMjdkYmM2OWEuLjVlMTRjNGY2YWE5YzNiMTQ0MmM1
ODdiZjQ4ZjY5YzJiZDkyYzBhYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmNwcApAQCAtMzg5LDcgKzM4OSw5IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6OnNl
dE5lZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVDaGFuZ2UoKQogdm9pZCBSZW5k
ZXJSZXBsYWNlZDo6Y29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3goUmVu
ZGVyQm94KiBjb250ZW50UmVuZGVyZXIsIEZsb2F0U2l6ZSYgY29uc3RyYWluZWRTaXplLCBkb3Vi
bGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIEZsb2F0U2l6ZSBpbnRyaW5zaWNTaXpl
OwotICAgIGlmIChjb250ZW50UmVuZGVyZXIpIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoKnRoaXMpKQorICAgICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNp
Y1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOworICAgIGVs
c2UgaWYgKGNvbnRlbnRSZW5kZXJlcikgewogICAgICAgICBjb250ZW50UmVuZGVyZXItPmNvbXB1
dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlv
KTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRp
b1R5cGU6OlJhdGlvIHx8IChzdHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlv
VHlwZTo6QXV0b0FuZFJhdGlvICYmICFpbnRyaW5zaWNSYXRpbykpCkBAIC00NzcsNyArNDc5LDcg
QEAgUm91bmRlZFJlY3QgUmVuZGVyUmVwbGFjZWQ6OnJvdW5kZWRDb250ZW50Qm94UmVjdCgpIGNv
bnN0CiB2b2lkIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlv
bihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0
CiB7CiAgICAgLy8gSWYgdGhlcmUncyBhbiBlbWJlZGRlZENvbnRlbnRCb3goKSBvZiBhIHJlbW90
ZSwgcmVmZXJlbmNlZCBkb2N1bWVudCBhdmFpbGFibGUsIHRoaXMgY29kZS1wYXRoIHNob3VsZCBu
ZXZlciBiZSB1c2VkLgotICAgIEFTU0VSVCghZW1iZWRkZWRDb250ZW50Qm94KCkpOworICAgIEFT
U0VSVCghZW1iZWRkZWRDb250ZW50Qm94KCkgfHwgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KnRoaXMpKTsKICAgICBpbnRyaW5zaWNTaXplID0gRmxvYXRTaXplKGludHJpbnNpY0xvZ2ljYWxX
aWR0aCgpLCBpbnRyaW5zaWNMb2dpY2FsSGVpZ2h0KCkpOwogCiAgICAgaWYgKHN0eWxlKCkuaGFz
QXNwZWN0UmF0aW8oKSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQu
aAppbmRleCBjMmUwNjk1YzAzOTM4MDkyNjVlYzE3NzA0N2YxM2NiNzIyM2ZmM2Y3Li5jMTllNDVh
ZmQyNTc3ZTg2M2NjM2ZjYTE5MzdmYzBiMGZjYWM1NTU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyUmVwbGFjZWQuaApAQCAtNDAsNyArNDAsMTIgQEAgcHVibGljOgogICAgIGJv
b2wgaGFzUmVwbGFjZWRMb2dpY2FsSGVpZ2h0KCkgY29uc3Q7CiAgICAgYm9vbCBzZXROZWVkc0xh
eW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCk7CiAKLSAgICBMYXlvdXRTaXpl
IGludHJpbnNpY1NpemUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2ludHJpbnNpY1NpemU7IH0K
KyAgICBMYXlvdXRTaXplIGludHJpbnNpY1NpemUoKSBjb25zdCBmaW5hbAorICAgIHsKKyAgICAg
ICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgICAgIHJl
dHVybiBMYXlvdXRTaXplKCk7CisgICAgICAgIHJldHVybiBtX2ludHJpbnNpY1NpemU7CisgICAg
fQogICAgIAogICAgIFJvdW5kZWRSZWN0IHJvdW5kZWRDb250ZW50Qm94UmVjdCgpIGNvbnN0Owog
ICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcAppbmRleCA0NzE2
OWVkZjk4ZTE0MjhjNGEwNzcwZjJmNGVmYzBiNThkODEzYzdiLi45ZTk0NGJlMDBiYjAyZTM4NTFh
NDNkNTY2NjYxOWY3YzQyOWE1ZDk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2xpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
U2xpZGVyLmNwcApAQCAtNjksNiArNjksOCBAQCBMYXlvdXRVbml0IFJlbmRlclNsaWRlcjo6YmFz
ZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUsIGJvb2wgLypmaXJzdExpbmUqLywgTGluZQogCiB2
b2lkIFJlbmRlclNsaWRlcjo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5p
dCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7
CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0
dXJuOwogICAgIG1heExvZ2ljYWxXaWR0aCA9IGRlZmF1bHRUcmFja0xlbmd0aCAqIHN0eWxlKCku
ZWZmZWN0aXZlWm9vbSgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2VudE9yQ2Fs
Y3VsYXRlZCgpKQogICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lkdGg7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAppbmRleCBk
YzA1OGQ1MzQ2N2FhM2NmYWJmODUyZjMzMWVmMDFmMzE1NTMyMWY0Li4yNDJhY2EzYTA2YjkxNTc0
YTc0OGIxM2VjZWZhODBjNjE3MmI5YzU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAgLTE1Niw2ICsxNTYsOCBAQCBmbG9hdCBSZW5kZXJU
ZXh0Q29udHJvbDo6c2NhbGVFbVRvVW5pdHMoaW50IHgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyVGV4
dENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxv
Z2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlm
IChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgIHJldHVybjsKICAg
ICAvLyBVc2UgYXZlcmFnZSBjaGFyYWN0ZXIgd2lkdGguIE1hdGNoZXMgSUUuCiAgICAgbWF4TG9n
aWNhbFdpZHRoID0gcHJlZmVycmVkQ29udGVudExvZ2ljYWxXaWR0aChjb25zdF9jYXN0PFJlbmRl
clRleHRDb250cm9sKj4odGhpcyktPmdldEF2ZXJhZ2VDaGFyV2lkdGgoKSk7CiAgICAgaWYgKFJl
bmRlckJveCogaW5uZXJUZXh0UmVuZGVyQm94ID0gaW5uZXJUZXh0RWxlbWVudCgpLT5yZW5kZXJC
b3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCmluZGV4IGM2ZDA0
NDE2NmNjZmQ1YmM3YzhmMTllMGFhYmMyMWM1ODAzODIxZjkuLjI5MjhkZDRkY2FmZWQyYTRjMDdi
YWQwZDE0YWU0MzM5MGU1OWNhOTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWRlby5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZp
ZGVvLmNwcApAQCAtMTIzLDYgKzEyMyw5IEBAIGJvb2wgUmVuZGVyVmlkZW86OnVwZGF0ZUludHJp
bnNpY1NpemUoKQogCiBMYXlvdXRTaXplIFJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNT
aXplKCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAg
ICAgICByZXR1cm4gTGF5b3V0U2l6ZSgpOworCiAgICAgLy8gU3BlYyB0ZXh0IGZyb20gNC44LjYK
ICAgICAvLwogICAgIC8vIFRoZSBpbnRyaW5zaWMgd2lkdGggb2YgYSB2aWRlbyBlbGVtZW50J3Mg
cGxheWJhY2sgYXJlYSBpcyB0aGUgaW50cmluc2ljIHdpZHRoIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaAppbmRleCAwNmY3MGE3MWJjMDUzNTJkN2MxNjk4
OTA5N2YwYjFhMDY3M2VmNzVhLi43YzM0YjExMTQ4M2U0ZmY4ZGFkMjYwNjM2OGY3YjJkZDJjMDYx
MDgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaApA
QCAtNTI1LDYgKzUyNSw3IEBAIHB1YmxpYzoKICAgICBib29sIGhhc0FzcGVjdFJhdGlvKCkgY29u
c3QgeyByZXR1cm4gYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8
fCBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbzsgfQog
ICAgIE9wdGlvblNldDxDb250YWlubWVudD4gY29udGFpbigpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW47IH0KICAgICBib29sIGNvbnRhaW5zTGF5b3V0KCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhD
b250YWlubWVudDo6TGF5b3V0KTsgfQorICAgIGJvb2wgY29udGFpbnNTaXplKCkgY29uc3QgeyBy
ZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbi5jb250YWlucyhDb250YWlubWVu
dDo6U2l6ZSk7IH0KICAgICBCb3hBbGlnbm1lbnQgYm94QWxpZ24oKSBjb25zdCB7IHJldHVybiBz
dGF0aWNfY2FzdDxCb3hBbGlnbm1lbnQ+KG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0
ZWRGbGV4aWJsZUJveC0+YWxpZ24pOyB9CiAgICAgQm94RGlyZWN0aW9uIGJveERpcmVjdGlvbigp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveERpcmVjdGlvbj4obV9pbmhlcml0ZWRGbGFn
cy5ib3hEaXJlY3Rpb24pOyB9CiAgICAgZmxvYXQgYm94RmxleCgpIGNvbnN0IHsgcmV0dXJuIG1f
cmFyZU5vbkluaGVyaXRlZERhdGEtPmRlcHJlY2F0ZWRGbGV4aWJsZUJveC0+ZmxleDsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKaW5kZXggMTQy
MjM1MDQ2MDllM2IxNWI1YmMzNjhhNDc4MDcwMDcwOTU2MjA4NS4uNWU0NmQzN2Y1MGZkZjg0YTky
M2I2ZDQwYTRkZDcwYjI5OTIyMjEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1JlbmRlclNWR1Jvb3QuY3BwCkBAIC03MCw2ICs3MCw4IEBAIFNWR1NWR0VsZW1lbnQmIFJl
bmRlclNWR1Jvb3Q6OnN2Z1NWR0VsZW1lbnQoKSBjb25zdAogCiB2b2lkIFJlbmRlclNWR1Jvb3Q6
OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6
ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKKyAgICBBU1NFUlQoIXNob3VsZEFw
cGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSk7CisKICAgICAvLyBTcGVjOiBodHRwOi8vd3d3Lncz
Lm9yZy9UUi9TVkcvY29vcmRzLmh0bWwjSW50cmluc2ljU2l6aW5nCiAgICAgLy8gU1ZHIG5lZWRz
IHRvIHNwZWNpZnkgaG93IHRvIGNhbGN1bGF0ZSBzb21lIGludHJpbnNpYyBzaXppbmcgcHJvcGVy
dGllcyB0byBlbmFibGUgaW5jbHVzaW9uIHdpdGhpbiBvdGhlciBsYW5ndWFnZXMuCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCBjYjFjMmZjNmU1ZTNjMTZkMmNkN2IwNTZiNjQ1Y2QwNmY3NDFiNzFmLi4xYzE5ZWIxZDFmODgw
MDdhYTU0NzJlMDUwYTQ3NjM3NGIzY2Y5Yjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEt
MDQtMTIgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtD
U1MgY29udGFpbl0gU3VwcG9ydCBjb250YWluOnNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0aGUgdGVzdCByZXN1bHQgZm9yIHNpemUg
Y29udGFpbm1lbnQuIEFkZGVkIGV4cGxhbmF0aW9ucyBmb3Igc2l6ZSBjb250YWlubWVudCB0ZXN0
cworICAgICAgICB0aGF0IGRlcGVuZGVkIG9uIG90aGVyIGZlYXR1cmVzLgorCisgICAgICAgICog
VGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wNC0xOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgTWlncmF0ZSBzb21lIFdlYlJUQyBlbmNvZGVkIHRyYW5zZm9y
bSB0ZXN0cyB0byBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDFhZjMyMzlk
MmUxOTk2NTRiMTNlYmNjNDEwYmVkMzM1MGJkYTAyZmQuLjM2NTYxZmQ4OTNkYjBjYzg3YWQ1Yzkz
YTg3M2M1MmQ3ODE4MjU5MzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDIxLTA0LTEyICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNv
bT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgt
aXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTE5ICBZb3Vlbm4g
RmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNaWdyYXRlIHNvbWUgV2ViUlRD
IGVuY29kZWQgdHJhbnNmb3JtIHRlc3RzIHRvIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmNm
YzY1NmMyYjQxMGY0NDU2ODY1YjM3MTNiYzI4MzQ5MTM0M2U0OC4uZGJlZDBhZGQ1ZTdiNGM0MWM2
ODYwNzQ5OTRmYzgyZWY0NTNmMTU4MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVj
dGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00NjczLDcgKzQ2
NzMsNiBAQCB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxNAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXSAjIFJlcXVpcmVzIGZhbGxiYWNrIChhdCBwYXJzZSB0
aW1lKSBzdXBwb3J0ICh1bmNsZWFyIGlmIHRoaXMgbWFrZXMgc2Vuc2UpCiAKICMgQ1NTIGNvbnRh
aW5tZW50IHRlc3RzIHRoYXQgZmFpbAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1hbmltYXRpb24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KQEAgLTQ2OTAsNyArNDY4OSw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50
LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLWxheW91dC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NzMyLDY4ICs0
NzMwLDggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0w
MDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtMDI3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLTA0Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
MDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLTA2Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYzLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWJsb2NrLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAyLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWJsb2NrLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYm9y
ZGVycy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnJlYWtzLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtZmllbGRzZXQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1mbGV4
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmxleGJveC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1ncmlkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDUuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWlubGluZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1m
bGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRoaWMtMDAyLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLW11bHRpY29sLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wt
MDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtcmVwbGFjZWQtMDAzYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVw
bGFjZWQtMDAzYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDA0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLXJlcGxhY2VkLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2Nyb2xsYmFy
cy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNjcm9sbGJhcnMtMDAyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
c2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1zZWxlY3QtZWxlbS0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXRhYmxlLWNh
cHRpb24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJp
Y3QtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00ODI1LDYg
KzQ3NjMsMzEgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vcXVvdGUtc2NvcGluZy0wMDIuaHRtbCBbIEltYWdlT24KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3RlLXNjb3BpbmctMDAzLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL3F1b3RlLXNjb3BpbmctMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBD
YW52YXMgZG9lc24ndCBnZXQgZGVmYXVsdCBhc3BlY3QtcmF0aW8gZm9yIHdpZHRoIGFuZCBoZWln
aHQgYXR0cmlidXRlcy4KK3dlYmtpdC5vcmcvYi8yMTc1MjkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvY2FudmFzLWNvbnRhaW4tc2l6ZS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCisKKyMgQ29udGVudCBpcyBwYWludGVkIG9uIHN2ZydzIHBhZGRpbmcg
YXJlYS4KK3dlYmtpdC5vcmcvYi80MjU4NjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCisKKyMgTXVsdGljb2x1bW4gZG9lcyBub3QgcGFpbnQgdGhlIGhvcml6b250
YWwgb3ZlcmZsb3cgYXJlYSBvZiBhIHJlbGF0aXZlIGNoaWxkLgord2Via2l0Lm9yZy9iLzQxNzk2
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1tb25vbGl0aGljLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgQnV0dG9u
cyB3aXRoIGF1dG8gd2lkdGggYW5kIGhlaWdodCBoYXMgZXh0cmEgbWFyZ2lucy4KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0
b24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KKworIyBTY3JvbGxiYXIgZGlzcGxheXMgYXJlIGRpZmZlcmVudC4K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9j
ay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIFNlbGVjdCB3aXRoIGVtcHR5IGNv
bnRlbnQgYWx3YXlzIGhhcyByb290IGxpbmVib3gsIHNvIHRoZSBoZWlnaHRzIGFyZSBkaWZmZXJl
bnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgQ1NTIHByb3BlcnR5IGNvbG9yIGlz
IG5vdCB3b3JraW5nIGluIHNlbGVjdCBlbGVtZW50cy4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCisKICMgVGVzdHMgdGhhdCBmYWlsIGJlY2F1c2UgdGhleSBhc3N1bWUgYSB2
ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gYHdyaXRpbmctbW9kZTogdmVydGljYWwtcmxgIGVsZW1lbnRz
IHdpbGwgYmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZQogd2Via2l0Lm9yZy9iLzIyNDM1NyBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtd3JpdGluZy1tb2Rlcy9zaXppbmct
b3J0aG9nLXZybC1pbi1odGItMDEzLnhodCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzIyNDM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L2Nzc29tLWdldEJvdW5kaW5nQ2xpZW50UmVjdC12ZXJ0aWNhbC1ybC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAppbmRleCBlMTZkNjdk
YmY3ZDQ1MjRhZjdmMzExMDMwOWY5NzgyOTkwNDFjMmQyLi41MWU4ZTIwMDJmZjdjYTc0MmM5NWUz
OTQ2ZmQxY2M4YmZmN2IxMWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQK
QEAgLTM2LDE5ICszNiw4IEBAIFBBU1MgLmdyaWQgMzQKIFBBU1MgLmdyaWQgMzUKIFBBU1MgLmdy
aWQgMzYKIFBBU1MgLmdyaWQgMzcKLUZBSUwgLmdyaWQgMzggYXNzZXJ0X2VxdWFsczoKLTxkaXYg
Y2xhc3M9ImdyaWQiIHN0eWxlPSJncmlkOiByZXBlYXQoYXV0by1maXQsIDc1cHgpIC8gcmVwZWF0
KGF1dG8tZml0LCAxMDBweCk7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCI+Ci0gICAgPGRpdj48L2Rpdj4KLSAgPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAw
IGJ1dCBnb3QgMTAwCi1GQUlMIC5ncmlkIDM5IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIiBzdHlsZT0iZ3JpZDogYXV0byA1MHB4IC8gMTAwcHggYXV0bzsiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj4KLSAgPGRpdiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1vZmZzZXQteD0i
MCIgZGF0YS1vZmZzZXQteT0iMCI+WDwvZGl2PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjQwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjEwMCIgZGF0YS1v
ZmZzZXQteT0iMCI+WFg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCIgZGF0YS1vZmZzZXQteD0iMCIgZGF0YS1vZmZzZXQteT0i
MTAiPlhYWDwvZGl2PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjQwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNTAiIGRhdGEtb2Zmc2V0LXg9IjEwMCIgZGF0YS1vZmZzZXQteT0iMTAiPlhY
WFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMTQwCitQQVNTIC5n
cmlkIDM4CitQQVNTIC5ncmlkIDM5CiAKIFgKIFhYCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVj
dGVkLnR4dAppbmRleCA3MGNkN2U2MTkxZDBmZmRiYTUyMjY0MjQ2YjhhODFjZjM0ODNkZjM4Li5l
MGExYzlkNTFmYmY0YjZhNTYyNGRmNDFiOWZiMjIxYzQ1ZWY2YmMyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1n
cmlkLTAwNC1leHBlY3RlZC50eHQKQEAgLTEsMzggKzEsMTggQEAKIAogUEFTUyAuZ3JpZCAxCi1G
QUlMIC5ncmlkIDIgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgcGVyY2VudCBtaW4t
Y29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAi
PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIw
Ij5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1Mg
LmdyaWQgMgogUEFTUyAuZ3JpZCAzCi1GQUlMIC5ncmlkIDQgYXNzZXJ0X2VxdWFsczoKLTxkaXYg
Y2xhc3M9ImdyaWQgcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVj
dGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNAogUEFTUyAuZ3JpZCA1CiBQQVNTIC5ncmlk
IDYKIFBBU1MgLmdyaWQgNwotRkFJTCAuZ3JpZCA4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNz
PSJncmlkIGNhbGMgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQg
MCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA4CiBQQVNTIC5ncmlkIDkKLUZBSUwgLmdyaWQgMTAg
YXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgY2FsYyBtYXgtY29udGVudCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+WFhYWDwvZGl2
PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDEwCiBQ
QVNTIC5ncmlkIDExCiBQQVNTIC5ncmlkIDEyCiBQQVNTIC5ncmlkIDEzCi1GQUlMIC5ncmlkIDE0
IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1p
bi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAxMDAK
K1BBU1MgLmdyaWQgMTQKIFBBU1MgLmdyaWQgMTUKIFBBU1MgLmdyaWQgMTYKIFBBU1MgLmdyaWQg
MTcKQEAgLTQwLDY3ICsyMCwzMSBAQCBQQVNTIC5ncmlkIDE4CiBQQVNTIC5ncmlkIDE5CiBQQVNT
IC5ncmlkIDIwCiBQQVNTIC5ncmlkIDIxCi1GQUlMIC5ncmlkIDIyIGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1maXhlZC1wZXJjZW50IG1heC1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgotICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+WFhYWDwv
ZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQg
MjIKIFBBU1MgLmdyaWQgMjMKIFBBU1MgLmdyaWQgMjQKIFBBU1MgLmdyaWQgMjUKLUZBSUwgLmdy
aWQgMjYgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtZmxl
eCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAK
K1BBU1MgLmdyaWQgMjYKIFBBU1MgLmdyaWQgMjcKLUZBSUwgLmdyaWQgMjggYXNzZXJ0X2VxdWFs
czoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtZmxleCBtYXgtY29udGVudCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+
Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMjgKIFBB
U1MgLmdyaWQgMjkKIFBBU1MgLmdyaWQgMzAKIFBBU1MgLmdyaWQgMzEKLUZBSUwgLmdyaWQgMzIg
YXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50
IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMw
MAorUEFTUyAuZ3JpZCAzMgogUEFTUyAuZ3JpZCAzMwotRkFJTCAuZ3JpZCAzNCBhc3NlcnRfZXF1
YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtaW50cmluc2ljLXBlcmNlbnQgbWF4LWNvbnRl
bnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAg
PGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+
WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5n
cmlkIDM0CiBQQVNTIC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1GQUlM
IC5ncmlkIDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50
LWludHJpbnNpYyBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0
IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzgKIFBBU1MgLmdyaWQgMzkKLUZBSUwgLmdyaWQgNDAgYXNz
ZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50cmluc2ljIG1h
eC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFT
UyAuZ3JpZCA0MAogUEFTUyAuZ3JpZCA0MQogUEFTUyAuZ3JpZCA0MgogUEFTUyAuZ3JpZCA0Mwot
RkFJTCAuZ3JpZCA0NCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBmaXQtY29udGVu
dCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAz
MDAKK1BBU1MgLmdyaWQgNDQKIFBBU1MgLmdyaWQgNDUKLUZBSUwgLmdyaWQgNDYgYXNzZXJ0X2Vx
dWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ2CiBQQVNT
IC5ncmlkIDQ3CiBQQVNTIC5ncmlkIDQ4CiBYWFhYCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1t
dWx0aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQudHh0CmluZGV4IDNlMTQwODY3YjdlNzIxNDYx
MWNjNTI5YWJiNDg1ZmQyZjhlMWI5NDcuLjNlNzk5MWMxYzA1MWE3NzY2M2RkNzU3MTIyOWEwM2Nh
NzFlMzI2YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0
ZW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0
ZW0tZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDUgQEAKIFRoZXJlIHNob3VsZCBiZSBhIGdyZWVu
IHNxdWFyZSBiZWxvdy4KIAogCi1GQUlMICNmbGV4IDEgYXNzZXJ0X2VxdWFsczoKLTxkaXYgaWQ9
ImZsZXgiPgotICA8ZGl2IGlkPSJtdWx0aWNvbCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIj4KLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoxMDAwcHg7
IGhlaWdodDoxcHg7Ij48L2Rpdj4KLSAgPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDEw
MCBidXQgZ290IDc4NAorUEFTUyAjZmxleCAxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1j
b250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmlj
dC1leHBlY3RlZC50eHQKaW5kZXggNzQ0ZGM0ZjYyYWYxMDIzMzg5NWZmYzhhYjZmZmQ0M2RlZGQ5
Yjg3MC4uY2MwYmFjNzU4YTg2NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFlZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZs
ZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxl
eC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKQEAgLTE3LDI4ICsxNywxMiBAQCBD
b2x1bW4KIAogUm93CiAKLUZBSUwgLmlubGluZS1mbGV4IDEgYXNzZXJ0X2VxdWFsczoKLTxkaXYg
Y2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWZsZXg7IGZsZXgtZGly
ZWN0aW9uOiBjb2x1bW47IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Db2x1bW48L2Rpdj4KLTwvZGl2Pgot
d2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDUyCi1GQUlMIC5pbmxpbmUtZmxleCAyIGFzc2VydF9l
cXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Um93PC9k
aXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAuaW5saW5lLWZs
ZXggMQorUEFTUyAuaW5saW5lLWZsZXggMgogUEFTUyAuaW5saW5lLWZsZXggMwogUEFTUyAuaW5s
aW5lLWZsZXggNAotRkFJTCAuaW5saW5lLWZsZXggNSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFz
cz0iaW5saW5lLWZsZXgiIHN0eWxlPSJmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVt
czogZmxleC1zdGFydDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPkNvbHVtbjwvZGl2PgotPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgNTIKLUZBSUwgLmlubGluZS1mbGV4IDYgYXNzZXJ0X2Vx
dWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iYWxpZ24taXRlbXM6IGZsZXgt
c3RhcnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+
Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Sb3c8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0
ZWQgMCBidXQgZ290IDMwCitQQVNTIC5pbmxpbmUtZmxleCA1CitQQVNTIC5pbmxpbmUtZmxleCA2
CiBQQVNTIC5pbmxpbmUtZmxleCA3CiBQQVNTIC5pbmxpbmUtZmxleCA4CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426537</attachid>
            <date>2021-04-20 04:29:16 -0700</date>
            <delta_ts>2021-04-20 06:35:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210420192914.patch</filename>
            <type>text/plain</type>
            <size>72754</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU5OWRiNzNjYzA3OTFj
YWZjYzIwYTc2MThiYTE5MmE0MDMwMGY5My4uYTM5ZDhiYzhhNDk4YTUzNWFjMzE3YmYxNjM1MTVi
NTRmYWM2NDcwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wNC0yMCAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWlu
XSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBicmluZ3MgaW5pdGlhbCBzdXBwb3J0IG9mIENTUyBj
b250YWluOnNpemUgYWNjb3JkaW5nIHRvIFsxXS4KKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgpIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBhIHNp
emUgY29udGFpbm1lbnQgYm94LgorICAgICAgICBUaGUgaW50cmluc2ljIHNpemVzIG9mIHNpemUg
Y29udGFpbm1lbnQgYm94IGFyZSBkZXRlcm1pbmVkIGFzIGlmIGl0IGhhZCBubyBjb250ZW50Lgor
ICAgICAgICBTbyB0aGUgaW1wbGVtZW50YXRpb24gbmVlZCB0byBjb29wZXJhdGUgd2l0aCB0aGUg
bGF5b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ29tcHV0aW5nIGxvZ2ljYWwgd2lkdGg6IFNpemUg
Y29udGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGlsZHJlbiB3aGlsZSBjb21wdXRpbmcg
bWluTG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExvZ2ljYWxXaWR0aCBpbiBjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocy4gU28gdGhlIGxvZ2ljYWwgd2lkdGggaXMgbm90IGFmZmVj
dGVkIGJ5IGNoaWxkcmVuLiAKKyAgICAgICAgICAtIExheW91dCBjaGlsZHJlbjogVGhlIGxvZ2lj
YWwgaGVpZ2h0IGlzIGNoYW5nZWQgYWZ0ZXIgbGF5b3V0IGFsbCBjaGlsZHJlbi4KKyAgICAgICAg
ICAtIENvbXB1dGluZyBsb2dpY2FsIGhlaWdodDogQXQgdGhlIGJlZ2lubmluZywgc2l6ZSBjb250
YWlubWVudCBib3hlcyBuZWVkIHRvIHJlc2V0IGxvZ2ljYWwgaGVpZ2h0IHRvIHRoZSBlbXB0eSBj
b250ZW50IGhlaWdodAorICAgICAgICAgIGlmIGl0IGlzIG5vdCByZW5kZXJHcmlkLiBTbyB0aGUg
bG9naWNhbCBoZWlnaHQgaXMgbm90IGFmZmVjdGVkIGJ5IGNoaWxkcmVuLgorICAgICAgICBXZSBh
bHNvIG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBzaXplcyBhY2NvcmRpbmcgdG8gdGhlIGxheW91dCBh
bGdvcml0aG1zLgorICAgICAgICAtIEdyaWQgbGF5b3V0OgorICAgICAgICAgIFRvIGNhbGN1bGF0
ZSB0aGUgbWluTG9naWNhbFdpZHRoIGFuZCBtYXhMb2dpY2FsV2lkdGggZm9yIGluZGVmaW5pdGUg
c2l6ZSBSZW5kZXJHcmlkLgorICAgICAgICAgIFRoZSB3aWR0aHMgYXJlIGNhbGN1bGF0ZWQgYnkg
R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOiBtX21pbkNvbnRlbnRTaXplIGFuZCBtX21heENvbnRl
bnRTaXplIHdoaWNoIGFyZSB0aGUgc3VtIG9mCisgICAgICAgICAgbV9iYXNlU2l6ZS9tX2dyb3d0
aExpbWl0IG9mIGFsbCBHcmlkVHJhY2tzLiBUaGUgc2l6ZSBjb250YWlubWVudCBSZW5kZXJHcmlk
IHNraXBzIGhhbmRsaW5nIGNvbnRlbnQgaW4gcmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMKKyAg
ICAgICAgICBhbmQgdGhlIG1fbWF4Q29udGVudFNpemUgd2lsbCBiZSB0aGUgc3VtIG9mIG1fYmFz
ZVNpemUuIFRoZSBsb2dpY2FsIGhlaWdodCBpcyBzYW1lIHRvIHdpZHRoLCBidXQgYWZ0ZXIgY2Fs
Y3VsYXRpbmcKKyAgICAgICAgICBSZW5kZXJHcmlkJ3MgbG9naWNhbCBoZWlnaHQsIGl0IG5lZWRz
IHRvIGNhbGN1bGF0ZSB0aGUgdHJhY2sgc2l6ZXMgYWdhaW4sIHRvIG1ha2Ugc3VyZSB0aGF0IHRo
ZXkgYXJlIGRpc3RyaWJ1dGVkIHByb3Blcmx5LgorICAgICAgICAgIFdlIHVzZSBjb21wdXRlVHJh
Y2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCkg
dG8gcmVjYWxjdWxhdGUgaXQuCisgICAgICAgIC0gTXVsdGlDb2x1bW4gbGF5b3V0OgorICAgICAg
ICAgIEFjY29yZGluZyB0byB0aGUgc3BlY2lmaWNhdGlvbiwgc2l6ZSBjb250YWlubWVudCBib3hl
cyBzaG91bGQgYmUgbW9ub2xpdGhpYywgc28gd2UgbmVlZCB0byBleHRlbmQgY29sdW1uIGhlaWdo
dAorICAgICAgICAgIGZvciBvdmVyZmxvdyBhbmQgcG9zaXRpb25lZCBzaXplIGNvbnRhaW5tZW50
IGJveGVzLiBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQoKSBpcyBhZGRlZCB0byBp
bmRpY2F0ZSB0aGUgc2hvcnRhZ2Ugc3BhY2UKKyAgICAgICAgICB0aGF0IG5lZWQgdG8gYmFsYW5j
ZSB0aGUgY29sdW1uIGhlaWdodHMuIGFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5h
dGlvbigpIHdpbGwgY2FsY3VsYXRlIHRoZSBzaG9ydGFnZS4KKworICAgICAgICBbMV0gaHR0cHM6
Ly93d3cudzMub3JnL1RSL2Nzcy1jb250YWluLTEvI2NvbnRhaW5tZW50LXNpemUKKworICAgICAg
ICAqIHJlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwOiBBZGQgaXNDb21wdXRp
bmdTaXplQ29udGFpbm1lbnQgdG8gaW5kaWNhdGUgaWYgaXQgaXMgY2FsY3VsYXRpbmcgc2l6ZXMK
KyAgICAgICAgICBmb3IgaW5kZWZpbml0ZSBzaXplIFJlbmRlckdyaWQgd2hpY2ggaXMgc2l6ZSBj
b250YWlubWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6
Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcyk6CisgICAgICAgICAgSXQgc2tpcHMg
cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMgaWYgaXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQs
IHNvIGdyb3d0aExpbWl0IG1pZ2h0IGJlIHVuZGVmaW5lZCwKKyAgICAgICAgICBpZiBzbywgdXNl
IHRyYWNrLmJhc2VTaXplKCkgaW5zdGVhZC4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1Np
emluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMpOiBTa2lwIHJlc29sdmUg
dGhlIGNvbnRlbnQgaWYgaXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKS4KKyAgICAgICAgKFdl
YkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6YWR2YW5jZU5leHRTdGF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJ1bik6IERvIG5vdCBzdHJl
dGNoIHRoZSB0cmFjayBzaXplcyBpZiBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpLgorICAg
ICAgICAqIHJlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6
OmxheW91dFBvc2l0aW9uZWRPYmplY3QpOiBDYWxjdWxhdGUgbV9zcGFjZVNob3J0YWdlRm9yU2l6
ZUNvbnRhaW5tZW50IGZvciBwb3NpdGlvbmVkIHNpemUgY29udGFpbm1lbnQKKyAgICAgICAgaW4g
YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogU2tp
cCBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzIGlmIHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyBjb25zdCk6IFNraXAgaGFuZGxpbmcgdGhlIGNoaWxkcmVuIGZvciBzaXplIGNvbnRhaW5t
ZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0QmxvY2tD
aGlsZEZvclBhZ2luYXRpb24pOiBDYWxjdWxhdGUgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRh
aW5tZW50IGZvciBjaGlsZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRq
dXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKTogbV9zcGFjZVNob3J0YWdlRm9y
U2l6ZUNvbnRhaW5tZW50ID0gY2hpbGRPdmVyZmxvd0hlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxI
ZWlnaHQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1
cGRhdGVMb2dpY2FsSGVpZ2h0KTogUmVzZXQgdGhlIGxvZ2ljYWwgaGVpZ2h0IHRvIGVtcHR5IGNv
bnRlbnQgaGVpZ2h0IGZvciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVGb3JQYWdpbmF0aW9uIGNvbnN0KTogU2l6ZSBjb250
YWlubWVudCBib3ggaXMgdW5zcGxpdHRhYmxlLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJE
ZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNv
bXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOiBJ
ZiBpdCBpcyBzaXplIGNvbnRhaW5tZW50IHdpdGggaW5maW5pdGVTaXplLCB1c2luZyB0cmFja0Jh
c2VkTG9naWNhbEhlaWdodAorICAgICAgICB0byBjb21wdXRlIHRyYWNrIHNpemVzIGFnYWluIHRv
IG1ha2Ugc3VyZSB0aGUgaGVpZ2h0IGlzIGRpc3RyaWJ1dGVkIHByb3Blcmx5LgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0ZUF1dG9SZXBlYXRUcmFja3NDb3VudCBjb25zdCk6
IEJlY2F1c2Ugc2l6ZSBjb250YWlubWVudCdzIGNvbnRlbnQgd2FzIGVtcHR5LAorICAgICAgICB0
aGUgcmVwZWF0IHRyYWNrcyBjb3VudCBpcyBhbHdheXMgMC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVySW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogVGhpcyBpcyBoYW5kbGVkIGluIFJlbmRl
clJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBpbnN0ZWFkLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxpc3RCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogVGhlIHdp
ZHRocyBvZiBzaXplIGNvbnRhaW5tZW50IGJveCBhcmUgb3B0aW9uc1NwYWNpbmdIb3Jpem9udGFs
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChSZW5k
ZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBUaGUgd2lk
dGhzIG9mIHNpemUgY29udGFpbm1lbnQgYm94IGFyZSB0aGVtZS5taW5pbXVtTWVudUxpc3RTaXpl
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9y
U2l6ZUNvbnRhaW5tZW50KTogU2V0IG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93Lmg6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlck11bHRpQ29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldCk6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQgY29uc3Qp
OiBBZGQgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IHRvIHRoZSBjb2x1bW4gaGVp
Z2h0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnByZXBhcmVGb3JM
YXlvdXQpOiBSZXNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQuCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250
YWlubWVudCk6IENoZWNrIGlmIHRoZSBvYmplY3QgaXMgYSBzaXplIGNvbnRhaW5tZW50IGJveC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3ggY29uc3QpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBs
YWNlZDo6Y29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3ggY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0lu
Zm9ybWF0aW9uIGNvbnN0KTogVXNlIHRoZSBlbXB0eSBpbnRyaW5zaWNTaXplLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOiBUaGUgaW50cmluc2ljU2l6ZSBvZiBzaXplIGNv
bnRhaW5tZW50IGlzICgwLCAwKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNsaWRlcjo6Y29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlclZpZGVvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxh
dGVJbnRyaW5zaWNTaXplKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTaXplIGNv
bnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRp
b24gY29uc3QpOiBIYW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0
aW9JbmZvcm1hdGlvbiBpbnN0ZWFkLgorCiAyMDIxLTA0LTIwICBDaHJpcyBMb3JkICA8Y2xvcmRA
aWdhbGlhLmNvbT4KIAogICAgICAgICBEb24ndCB1c2UgdGhlIGZ1bGwgQ1NTIHBhcnNlciBmb3Ig
Q1NTRm9udEZhY2VTZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Hcmlk
VHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRU
cmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDczNDM2NTdj
YWZmNDRmZGU0OTA1NS4uMjNlMGE4ZjYyMjNhNmYwZmQzNzJjODQ5N2U1ZDMyZWVmMTQ2YWRmYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0Fs
Z29yaXRobS5jcHAKQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29y
aXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcygpCiAKICAgICBWZWN0b3I8
R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKICAgICBmb3IgKGF1
dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFTU0VSVCghdHJhY2suaW5maW5pdGVH
cm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVChtX3N0cmF0ZWd5LT5pc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0ZUdyb3d0aFBvdGVudGlhbCgpKTsK
ICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5iYXNlU2l6ZSgpOwotICAgICAgICBt
X21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0KCk7CisgICAgICAgIG1fbWF4Q29u
dGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmluaXRlKCkgPyB0cmFjay5iYXNlU2l6
ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAgLy8gVGhlIGdyb3d0aCBsaW1pdCBj
YXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8gcHJvcGVybHkgc29ydAogICAgICAg
ICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBhbiBldmVudHVhbCAiTWF4aW1pemUg
VHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGltaXRDYXAoV1RGOjpudWxsb3B0KTsK
QEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBmaW5kVXNlZEZsZXhGcmFj
dGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgsIEdyaWRUcmFj
a1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNlKSBjb25zdCBv
dmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4RnJhY3Rpb25JZk5lZWRlZChkb3Vi
bGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxHcm93dGgpIGNvbnN0IG92ZXJyaWRl
OwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCpyZW5kZXJHcmlk
KCkpOyB9CiB9OwogCiB2b2lkIEluZGVmaW5pdGVTaXplU3RyYXRlZ3k6OmxheW91dEdyaWRJdGVt
Rm9yTWluU2l6ZUNvbXB1dGF0aW9uKFJlbmRlckJveCYgY2hpbGQsIGJvb2wgb3ZlcnJpZGVTaXpl
SGFzQ2hhbmdlZCkgY29uc3QKQEAgLTEwMzAsNiArMTAzMSw3IEBAIHByaXZhdGU6CiAgICAgTGF5
b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdCBvdmVycmlk
ZTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gmKSBjb25zdCBv
dmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxTaXplRm9yQ2hpbGQoUmVuZGVyQm94
JiwgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUsIE9wdGlvbmFsPExheW91dFVuaXQ+IGF2YWls
YWJsZVNpemUpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNDb21wdXRpbmdTaXplQ29udGFp
bm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAogTGF5b3V0VW5p
dCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNrc1N0
ZXAoKSBjb25zdApAQCAtMTE0NiwzNyArMTE0OCwzOSBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0Fs
Z29yaXRobTo6aW5pdGlhbGl6ZVRyYWNrU2l6ZXMoKQogCiB2b2lkIEdyaWRUcmFja1NpemluZ0Fs
Z29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMoKQogewotICAgIFZlY3RvcjxHcmlk
SXRlbVdpdGhTcGFuPiBpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW47Ci0gICAgSGFzaFNldDxS
ZW5kZXJCb3gqPiBpdGVtc1NldDsKICAgICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0g
dHJhY2tzKG1fZGlyZWN0aW9uKTsKLSAgICBpZiAobV9ncmlkLmhhc0dyaWRJdGVtcygpKSB7Ci0g
ICAgICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkg
ewotICAgICAgICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgbV9kaXJlY3Rpb24s
IHRyYWNrSW5kZXgpOwotICAgICAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9IGFsbFRyYWNrc1t0
cmFja0luZGV4XTsKLQotICAgICAgICAgICAgd2hpbGUgKGF1dG8qIGdyaWRJdGVtID0gaXRlcmF0
b3IubmV4dEdyaWRJdGVtKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoaXRlbXNTZXQuYWRkKGdy
aWRJdGVtKS5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IEdyaWRTcGFu
JiBzcGFuID0gbV9ncmlkLmdyaWRJdGVtU3BhbigqZ3JpZEl0ZW0sIG1fZGlyZWN0aW9uKTsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKHNwYW4uaW50ZWdlclNwYW4oKSA9PSAxKQotICAgICAgICAg
ICAgICAgICAgICAgICAgc2l6ZVRyYWNrVG9GaXROb25TcGFubmluZ0l0ZW0oc3BhbiwgKmdyaWRJ
dGVtLCB0cmFjayk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzcGFubmluZ0l0ZW1D
cm9zc2VzRmxleGlibGVTaXplZFRyYWNrcyhzcGFuKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5hcHBlbmQoR3JpZEl0ZW1XaXRoU3BhbigqZ3Jp
ZEl0ZW0sIHNwYW4pKTsKKyAgICBpZiAoIW1fc3RyYXRlZ3ktPmlzQ29tcHV0aW5nU2l6ZUNvbnRh
aW5tZW50KCkpIHsKKyAgICAgICAgVmVjdG9yPEdyaWRJdGVtV2l0aFNwYW4+IGl0ZW1zU29ydGVk
QnlJbmNyZWFzaW5nU3BhbjsKKyAgICAgICAgSGFzaFNldDxSZW5kZXJCb3gqPiBpdGVtc1NldDsK
KyAgICAgICAgaWYgKG1fZ3JpZC5oYXNHcmlkSXRlbXMoKSkgeworICAgICAgICAgICAgZm9yIChh
dXRvIHRyYWNrSW5kZXggOiBtX2NvbnRlbnRTaXplZFRyYWNrc0luZGV4KSB7CisgICAgICAgICAg
ICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgbV9kaXJlY3Rpb24sIHRyYWNrSW5k
ZXgpOworICAgICAgICAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSBhbGxUcmFja3NbdHJhY2tJ
bmRleF07CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoYXV0byogZ3JpZEl0ZW0gPSBpdGVyYXRv
ci5uZXh0R3JpZEl0ZW0oKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbXNTZXQuYWRk
KGdyaWRJdGVtKS5pc05ld0VudHJ5KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBH
cmlkU3BhbiYgc3BhbiA9IG1fZ3JpZC5ncmlkSXRlbVNwYW4oKmdyaWRJdGVtLCBtX2RpcmVjdGlv
bik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3Bhbi5pbnRlZ2VyU3BhbigpID09IDEp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZVRyYWNrVG9GaXROb25TcGFubmluZ0l0
ZW0oc3BhbiwgKmdyaWRJdGVtLCB0cmFjayk7CisgICAgICAgICAgICAgICAgICAgICAgICBlbHNl
IGlmICghc3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3Moc3BhbikpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmFwcGVu
ZChHcmlkSXRlbVdpdGhTcGFuKCpncmlkSXRlbSwgc3BhbikpOworICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAgc3RkOjpz
b3J0KGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5iZWdpbigpLCBpdGVtc1NvcnRlZEJ5SW5j
cmVhc2luZ1NwYW4uZW5kKCkpOwogICAgICAgICB9Ci0gICAgICAgIHN0ZDo6c29ydChpdGVtc1Nv
cnRlZEJ5SW5jcmVhc2luZ1NwYW4uYmVnaW4oKSwgaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFu
LmVuZCgpKTsKLSAgICB9CiAKLSAgICBhdXRvIGl0ID0gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdT
cGFuLmJlZ2luKCk7Ci0gICAgYXV0byBlbmQgPSBpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4u
ZW5kKCk7Ci0gICAgd2hpbGUgKGl0ICE9IGVuZCkgewotICAgICAgICBHcmlkSXRlbXNTcGFuR3Jv
dXBSYW5nZSBzcGFuR3JvdXBSYW5nZSA9IHsgaXQsIHN0ZDo6dXBwZXJfYm91bmQoaXQsIGVuZCwg
Kml0KSB9OwotICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8
UmVzb2x2ZUludHJpbnNpY01pbmltdW1zPihzcGFuR3JvdXBSYW5nZSk7Ci0gICAgICAgIGluY3Jl
YXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlQ29udGVudEJhc2VkTWlu
aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2Rh
dGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50TWluaW11bXM+KHNwYW5Hcm91cFJhbmdl
KTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29s
dmVJbnRyaW5zaWNNYXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpbmNyZWFzZVNp
emVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZU1heENvbnRlbnRNYXhpbXVtcz4o
c3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpdCA9IHNwYW5Hcm91cFJhbmdlLnJhbmdlRW5kOwor
ICAgICAgICBhdXRvIGl0ID0gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmJlZ2luKCk7Cisg
ICAgICAgIGF1dG8gZW5kID0gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmVuZCgpOworICAg
ICAgICB3aGlsZSAoaXQgIT0gZW5kKSB7CisgICAgICAgICAgICBHcmlkSXRlbXNTcGFuR3JvdXBS
YW5nZSBzcGFuR3JvdXBSYW5nZSA9IHsgaXQsIHN0ZDo6dXBwZXJfYm91bmQoaXQsIGVuZCwgKml0
KSB9OworICAgICAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1z
PFJlc29sdmVJbnRyaW5zaWNNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAg
aW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVDb250ZW50QmFz
ZWRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAgaW5jcmVhc2VTaXplc1Rv
QWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50TWluaW11bXM+KHNwYW5H
cm91cFJhbmdlKTsKKyAgICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5p
bmdJdGVtczxSZXNvbHZlSW50cmluc2ljTWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAg
ICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlTWF4
Q29udGVudE1heGltdW1zPihzcGFuR3JvdXBSYW5nZSk7CisgICAgICAgICAgICBpdCA9IHNwYW5H
cm91cFJhbmdlLnJhbmdlRW5kOworICAgICAgICB9CiAgICAgfQogCiAgICAgZm9yIChhdXRvIHRy
YWNrSW5kZXggOiBtX2NvbnRlbnRTaXplZFRyYWNrc0luZGV4KSB7CkBAIC0xMjM5LDcgKzEyNDMs
OCBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6YWR2YW5jZU5leHRTdGF0ZSgpCiAg
ICAgICAgIG1fc2l6aW5nU3RhdGUgPSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbjsKICAgICAgICAg
cmV0dXJuOwogICAgIGNhc2UgUm93U2l6aW5nRmlyc3RJdGVyYXRpb246Ci0gICAgICAgIG1fc2l6
aW5nU3RhdGUgPSBDb2x1bW5TaXppbmdTZWNvbmRJdGVyYXRpb247CisgICAgICAgIGlmICghbV9z
dHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgICAgIG1fc2l6
aW5nU3RhdGUgPSBDb2x1bW5TaXppbmdTZWNvbmRJdGVyYXRpb247CiAgICAgICAgIHJldHVybjsK
ICAgICBjYXNlIENvbHVtblNpemluZ1NlY29uZEl0ZXJhdGlvbjoKICAgICAgICAgbV9zaXppbmdT
dGF0ZSA9IFJvd1NpemluZ1NlY29uZEl0ZXJhdGlvbjsKQEAgLTEzNDYsNiArMTM1MSw4IEBAIHZv
aWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpydW4oKQogCiAgICAgLy8gU3RlcCAzLgogICAg
IG1fc3RyYXRlZ3ktPm1heGltaXplVHJhY2tzKHRyYWNrcyhtX2RpcmVjdGlvbiksIG1fZGlyZWN0
aW9uID09IEZvckNvbHVtbnMgPyBtX2ZyZWVTcGFjZUNvbHVtbnMgOiBtX2ZyZWVTcGFjZVJvd3Mp
OworICAgIGlmIChtX3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpKQorICAg
ICAgICByZXR1cm47CiAKICAgICAvLyBTdGVwIDQuCiAgICAgc3RyZXRjaEZsZXhpYmxlVHJhY2tz
KGluaXRpYWxGcmVlU3BhY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dy
aWRUcmFja1NpemluZ0FsZ29yaXRobS5oCmluZGV4IDAzMTEyNWRhOWJmZGI1ODhhOWE5MTk2MWEz
YjE1MjhlOTg3ZjQxNjIuLjI5NzMzMzI0YjQ4OTk3MDU5ODJlZTAwZGE4YmY2NmRmMzJlNDdjN2Qg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtLmgKQEAgLTI2MSw2ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBkb3VibGUg
ZmluZFVzZWRGbGV4RnJhY3Rpb24oVmVjdG9yPHVuc2lnbmVkPiYgZmxleGlibGVTaXplZFRyYWNr
c0luZGV4LCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIE9wdGlvbmFsPExheW91dFVuaXQ+IGlu
aXRpYWxGcmVlU3BhY2UpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVjb21wdXRlVXNl
ZEZsZXhGcmFjdGlvbklmTmVlZGVkKGRvdWJsZSYgZmxleEZyYWN0aW9uLCBMYXlvdXRVbml0JiB0
b3RhbEdyb3d0aCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBmcmVlU3BhY2VG
b3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlz
Q29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAg
R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3koR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGht
JiBhbGdvcml0aG0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRl
eCAxMTIwMmI5MTRjNjg4ODAxMDZhM2E5NTNhZWUzZmM1NjcxNDJkMWRkLi5iZjMzYmI3M2UxYWU3
Mjk5YTI0NWI2MGE2Y2VhMmQxMDdmYTFlYzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9jay5jcHAKQEAgLTEwNzMsNiArMTA3Myw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6Omxh
eW91dFBvc2l0aW9uZWRPYmplY3QoUmVuZGVyQm94JiByLCBib29sIHJlbGF5b3V0Q2hpbGRyZW4s
IGJvCiAgICAgICAgIHIuc2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKICAgICAgICAgci5s
YXlvdXRJZk5lZWRlZCgpOwogICAgIH0KKyAgICAKKyAgICBpZiAodmlldygpLmZyYW1lVmlldygp
LmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpLT5pc1BhZ2luYXRlZCgpICYmIGlzPFJlbmRl
ckJsb2NrRmxvdz4oKnRoaXMpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCp0
aGlzKS5hZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24ociwgci5sb2dpY2Fs
VG9wKCkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhi
b29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5KQpAQCAt
MjI4Miw4ICsyMjg1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6b2Zmc2V0Rm9yQ29udGVudHMoTGF5
b3V0UG9pbnQmIG9mZnNldCkgY29uc3QKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYg
bWF4TG9naWNhbFdpZHRoKSBjb25zdAogewogICAgIEFTU0VSVCghY2hpbGRyZW5JbmxpbmUoKSk7
Ci0gICAgCi0gICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpCisgICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMo
bWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCiAgICAgbWF4TG9naWNhbFdpZHRo
ID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDAzZTQ0NzA4Yzgy
ODAwNDhhOTE4Mzc3OGY0MmY4YjZlNWVkMmQwYmYuLjk2NGM1Y2IxY2FjMDFjZTAwZTIxOWUxNjI1
YjA5ZDdiMGExOWJmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwCkBAIC0zMzksMTAgKzMzOSwxMiBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRq
dXN0SW50cmluc2ljTG9naWNhbFdpZHRoc0ZvckNvbHVtbnMoTGF5b3V0VW5pdCYgbWluTG9naQog
CiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5
b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNv
bnN0CiB7Ci0gICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCi0gICAgICAgIGNvbXB1dGVJbmxpbmVQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsK
LSAgICBlbHNlCi0gICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWlu
TG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIGlmICghc2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQoKnRoaXMpKSB7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQorICAg
ICAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdp
ZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wdXRl
QmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdp
ZHRoKTsKKyAgICB9CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKQEAgLTE2NjIsNiArMTY2NCw5IEBAIExheW91dFVu
aXQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RCbG9ja0NoaWxkRm9yUGFnaW5hdGlvbihMYXlvdXRV
bml0IGxvZ2ljYWxUb3BBCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoY2hpbGQpKQorICAgICAgICBhZGp1c3RTaXplQ29udGFpbm1lbnRDaGls
ZEZvclBhZ2luYXRpb24oY2hpbGQsIHJlc3VsdCk7CisKICAgICAvLyBGb3IgcmVwbGFjZWQgZWxl
bWVudHMgYW5kIHNjcm9sbGVkIGVsZW1lbnRzLCB3ZSB3YW50IHRvIHNoaWZ0IHRoZW0gdG8gdGhl
IG5leHQgcGFnZSBpZiB0aGV5IGRvbid0IGZpdCBvbiB0aGUgY3VycmVudCBvbmUuCiAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsVG9wQmVmb3JlVW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9IHJlc3VsdDsK
ICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BBZnRlclVuc3BsaXR0YWJsZUFkanVzdG1lbnQgPSBh
ZGp1c3RGb3JVbnNwbGl0dGFibGVDaGlsZChjaGlsZCwgcmVzdWx0KTsKQEAgLTIwNDcsNiArMjA1
MiwyNCBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6bG9naWNhbEhlaWdodEZvckNoaWxk
Rm9yRnJhZ21lbnRhdGlvbihjb25zdCBSZW5kZXJCbwogICAgIHJldHVybiBsb2dpY2FsSGVpZ2h0
Rm9yQ2hpbGQoY2hpbGQpOwogfQogCit2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNv
bnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQg
b2Zmc2V0KQoreworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY2hpbGQpKQor
ICAgICAgICByZXR1cm47CisKKyAgICBMYXlvdXRVbml0IGNoaWxkT3ZlcmZsb3dIZWlnaHQgPSBj
aGlsZC5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY2hpbGQubGF5b3V0T3ZlcmZsb3dSZWN0
KCkubWF4WSgpIDogY2hpbGQubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WCgpOworICAgIExheW91
dFVuaXQgY2hpbGRMb2dpY2FsSGVpZ2h0ID0gc3RkOjptYXgoY2hpbGQubG9naWNhbEhlaWdodCgp
LCBjaGlsZE92ZXJmbG93SGVpZ2h0KTsKKworICAgIExheW91dFVuaXQgcmVtYWluaW5nTG9naWNh
bEhlaWdodCA9IHBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9mZnNldCwgRXhj
bHVkZVBhZ2VCb3VuZGFyeSk7CisKKyAgICBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2UgPSBjaGls
ZExvZ2ljYWxIZWlnaHQgLSByZW1haW5pbmdMb2dpY2FsSGVpZ2h0OworICAgIGlmIChzcGFjZVNo
b3J0YWdlIDw9IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChSZW5kZXJGcmFnbWVudGVk
RmxvdyogZnJhZ21lbnRlZEZsb3cgPSBlbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpKQorICAgICAg
ICBmcmFnbWVudGVkRmxvdy0+dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCh0
aGlzLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBvZmZzZXQsIHNwYWNlU2hv
cnRhZ2UpOworfQorCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TGluZUdyaWRCb3goKQog
ewogICAgIGlmIChzdHlsZSgpLmxpbmVHcmlkKCkgPT0gUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5l
R3JpZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxv
Y2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKaW5k
ZXggNDQ5ODU5ZDM4ODYwYTAzYTUyZGZkZWJmZTcwODZkYjVmZGNkNTEwMC4uYzdjOTQ2YmFmZDgx
NWE0NzRkNzIzODhiNzdlMjIzODlmNDQ2Y2NjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtMzk4LDYgKzM5OCw4IEBAIHB1YmxpYzoKICAgICAvLyBj
b2x1bW4gYmFsYW5jZXIgdG8gaGVscCBzZXQgYSBnb29kIG1pbmltdW0gY29sdW1uIGhlaWdodC4K
ICAgICB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KExheW91dFVuaXQgb2Zmc2V0LCBMYXlv
dXRVbml0IG1pbkhlaWdodCk7CiAKKyAgICB2b2lkIGFkanVzdFNpemVDb250YWlubWVudENoaWxk
Rm9yUGFnaW5hdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IG9mZnNldCk7CisKICAg
ICB2b2lkIGFkZEZsb2F0c1RvTmV3UGFyZW50KFJlbmRlckJsb2NrRmxvdyYgdG9CbG9ja0Zsb3cp
IGNvbnN0OwogICAgIAogICAgIExheW91dFVuaXQgZW5kUGFkZGluZ1dpZHRoRm9yQ2FyZXQoKSBj
b25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMTkyNDQwYjMz
ODgwOGEwM2VmMThjMTg5NjE2ZGU5YTliYmZlYmRlZC4uZTk4ZjBjMWU0YTRhNmI3OGEyZGRlZWMw
Nzc3YzBlNmRkOTk3ZWRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
QEAgLTI4NzYsNiArMjg3NiwxMiBAQCB2b2lkIFJlbmRlckJveDo6Y2FjaGVJbnRyaW5zaWNDb250
ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKExheW91dFVuaXQgaGVpZ2h0KQogCiB2b2lkIFJl
bmRlckJveDo6dXBkYXRlTG9naWNhbEhlaWdodCgpCiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KCp0aGlzKSAmJiAhaXNSZW5kZXJHcmlkKCkpIHsKKyAgICAgICAgLy8gYm9y
ZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQgY29udGFpbnMgaW50cmluc2ljQm9yZGVyRm9yRmll
bGRzZXQoKSB3aGljaCBhZGQgZXh0cmEgYm9yZGVyIGZvciBmaWVsZHNldCwgc28gd2UgY2FuJ3Qg
dXNlIGl0IGRpcmVjdGx5LgorICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGluZyA9IFJlbmRlckJv
eDo6Ym9yZGVyQmVmb3JlKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdCZWZvcmUoKSArIFJlbmRlckJv
eDo6Ym9yZGVyQWZ0ZXIoKSArIFJlbmRlckJveDo6cGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHNl
dExvZ2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkaW5nICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgp
KTsKKyAgICB9CisKICAgICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxl
eEl0ZW0oY29udGVudExvZ2ljYWxIZWlnaHQoKSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9
IGNvbXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAg
ICBzZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKQEAgLTQ4NTcsNyAr
NDg2Myw4IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBj
b25zdAogICAgIHJldHVybiBpc1JlcGxhY2VkKCkKICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxl
U2Nyb2xsaW5nT3ZlcmZsb3coKQogICAgICAgICB8fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9k
ZVJvb3QoKSkKLSAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgp
ID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkg
PiAwKTsKKyAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09
IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAw
KQorICAgICAgICB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIExh
eW91dFVuaXQgUmVuZGVyQm94OjpsaW5lSGVpZ2h0KGJvb2wgLypmaXJzdExpbmUqLywgTGluZURp
cmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2RlIC8qbGluZVBvc2l0aW9uTW9k
ZSovKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAppbmRleCA0ZjJkMWYzZGIxYjc5MDM1NGZmYzY4NTlm
YzNiZDcyNzc2MmZlMThlLi5jZWQwOGM3MDdkMWQ2ODViNTE5OTI1YTc2OWYyYzVkYzQzYTE4NzE5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZs
ZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94LmNwcApAQCAtMTg3LDI2ICsxODcsMjggQEAgdm9pZCBSZW5kZXJEZXBy
ZWNhdGVkRmxleGlibGVCb3g6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwg
Y29uc3QgUmUKIAogdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5p
dCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChoYXNNdWx0aXBsZUxpbmVzKCkg
fHwgaXNWZXJ0aWNhbCgpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0
Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAg
ICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCi0g
ICAgICAgICAgICAgICAgY29udGludWU7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpIHsKKyAgICAgICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1ZlcnRp
Y2FsKCkpIHsKKyAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRC
b3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQpKQorICAg
ICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJn
aW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKLSAgICAgICAgICAgIExheW91dFVuaXQg
d2lkdGggPSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47Ci0gICAg
ICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgbWluTG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hp
bGQoY2hpbGQpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQgd2lkdGggPSBjaGlsZC0+bWlu
UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAgbWluTG9n
aWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7CiAKLSAgICAgICAg
ICAgIHdpZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOwot
ICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1heExvZ2ljYWxX
aWR0aCk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBmb3IgKFJlbmRlckJveCog
Y2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0U2libGlu
Z0JveCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhp
bmcoY2hpbGQpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIHdp
ZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOworICAgICAg
ICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBtYXhMb2dpY2FsV2lk
dGgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgZm9yIChS
ZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+
bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZl
Y3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwog
Ci0gICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hpbGQoY2hp
bGQpOwotICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGNoaWxkLT5taW5QcmVmZXJyZWRM
b2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBj
aGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAg
ICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKKyAgICAg
ICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExvZ2ljYWxX
aWR0aCgpICsgbWFyZ2luOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBjaGls
ZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICB9CiAg
ICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCmluZGV4IDNkMTIzYzU0YjU2NGRhNTA0MTdiNGMwNzg5
NzI5ZjM5ZTMzYjE1ZGEuLjg3ODVmMjI5OWM4MGQzOTQ2ZThmZmQyMTY2MmQwMjkyMTk0NjMxZjcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29u
dHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRD
b250cm9sLmNwcApAQCAtMTk3LDYgKzE5Nyw4IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRy
b2w6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2luCiAK
IHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lk
dGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdp
ZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykp
CisgICAgICAgIHJldHVybjsKICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZpbGVuYW1l
IHNwYWNlIG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJzCiAgICAg
Ly8gKHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgIGNvbnN0IFVDaGFy
IGNoYXJhY3RlciA9ICcwJzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCmluZGV4IGRiODMyYTViMmVmMGU1NGRjMTI4ZTVhMTc1YjY5MTEwM2MwZmE2
OGQuLjg2MWFjZDVkMDhmYzA5NGEyYTUzZmZlOWVjM2Q1YWZlZjY5ZTcyNmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtODMsNjAgKzgz
LDYyIEBAIGNvbnN0IGNoYXIqIFJlbmRlckZsZXhpYmxlQm94OjpyZW5kZXJOYW1lKCkgY29uc3QK
IAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBjaGlsZE1pbldpZHRoOwotICAgIExheW91dFVuaXQg
Y2hpbGRNYXhXaWR0aDsKLSAgICBib29sIGhhZEV4Y2x1ZGVkQ2hpbGRyZW4gPSBjb21wdXRlUHJl
ZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJlbihjaGlsZE1pbldpZHRoLCBjaGlsZE1heFdp
ZHRoKTsKLQotICAgIC8vIEZJWE1FOiBXZSdyZSBpZ25vcmluZyBmbGV4LWJhc2lzIGhlcmUgYW5k
IHdlIHNob3VsZG4ndC4gV2UgY2FuJ3Qgc3RhcnQKLSAgICAvLyBob25vcmluZyBpdCB0aG91Z2gg
dW50aWwgdGhlIGZsZXggc2hvcnRoYW5kIHN0b3BzIHNldHRpbmcgaXQgdG8gMC4gU2VlCi0gICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjExNyBhbmQKLSAg
ICAvLyBodHRwczovL2NyYnVnLmNvbS8yNDA3NjUuCi0gICAgc2l6ZV90IG51bUl0ZW1zV2l0aE5v
cm1hbExheW91dCA9IDA7Ci0gICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJv
eCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAgICAgICBp
ZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0V4Y2x1ZGVkRnJv
bU5vcm1hbExheW91dCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICsrbnVtSXRl
bXNXaXRoTm9ybWFsTGF5b3V0OworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KnRoaXMpKSB7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRNaW5XaWR0aDsKKyAgICAgICAgTGF5
b3V0VW5pdCBjaGlsZE1heFdpZHRoOworICAgICAgICBib29sIGhhZEV4Y2x1ZGVkQ2hpbGRyZW4g
PSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJlbihjaGlsZE1pbldpZHRo
LCBjaGlsZE1heFdpZHRoKTsKKworICAgICAgICAvLyBGSVhNRTogV2UncmUgaWdub3JpbmcgZmxl
eC1iYXNpcyBoZXJlIGFuZCB3ZSBzaG91bGRuJ3QuIFdlIGNhbid0IHN0YXJ0CisgICAgICAgIC8v
IGhvbm9yaW5nIGl0IHRob3VnaCB1bnRpbCB0aGUgZmxleCBzaG9ydGhhbmQgc3RvcHMgc2V0dGlu
ZyBpdCB0byAwLiBTZWUKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTExNjExNyBhbmQKKyAgICAgICAgLy8gaHR0cHM6Ly9jcmJ1Zy5jb20vMjQwNzY1
LgorICAgICAgICBzaXplX3QgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID0gMDsKKyAgICAgICAg
Zm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgaWYgKGNoaWxkLT5pc091dE9m
Rmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkK
KyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICsrbnVtSXRlbXNXaXRoTm9y
bWFsTGF5b3V0OwogCi0gICAgICAgIExheW91dFVuaXQgbWFyZ2luID0gbWFyZ2luSW50cmluc2lj
TG9naWNhbFdpZHRoRm9yQ2hpbGQoKmNoaWxkKTsKLSAgICAgICAgCi0gICAgICAgIExheW91dFVu
aXQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICBMYXlvdXRVbml0IG1heFByZWZl
cnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgY29tcHV0ZUNoaWxkUHJlZmVycmVkTG9naWNhbFdp
ZHRocygqY2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoKTsKLSAgICAgICAgCi0gICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBt
YXJnaW47Ci0gICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47Ci0KLSAg
ICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSkgewotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRo
ICs9IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgICAgIGlmIChpc011bHRpbGlu
ZSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRm9yIG11bHRpbGluZSwgdGhlIG1pbiBwcmVmZXJy
ZWQgd2lkdGggaXMgaWYgeW91IHB1dCBhIGJyZWFrIGJldHdlZW4KLSAgICAgICAgICAgICAgICAv
LyBlYWNoIGl0ZW0uCi0gICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bWluTG9naWNhbFdpZHRoLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAgICAgICAg
fSBlbHNlCi0gICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IG1pblByZWZlcnJlZExv
Z2ljYWxXaWR0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWluTG9naWNhbFdpZHRoKTsK
LSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heFByZWZlcnJlZExvZ2lj
YWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgIExheW91dFVuaXQgbWFyZ2lu
ID0gbWFyZ2luSW50cmluc2ljTG9naWNhbFdpZHRoRm9yQ2hpbGQoKmNoaWxkKTsKKyAgICAgICAg
ICAgIAorICAgICAgICAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7Cisg
ICAgICAgICAgICBMYXlvdXRVbml0IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAg
ICAgIGNvbXB1dGVDaGlsZFByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKmNoaWxkLCBtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAgICAgICAK
KyAgICAgICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47CisgICAgICAg
ICAgICBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggKz0gbWFyZ2luOworCisgICAgICAgICAgICBp
ZiAoIWlzQ29sdW1uRmxvdygpKSB7CisgICAgICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9
IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgICAgICBpZiAoaXNNdWx0aWxp
bmUoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGb3IgbXVsdGlsaW5lLCB0aGUgbWluIHBy
ZWZlcnJlZCB3aWR0aCBpcyBpZiB5b3UgcHV0IGEgYnJlYWsgYmV0d2VlbgorICAgICAgICAgICAg
ICAgICAgICAvLyBlYWNoIGl0ZW0uCisgICAgICAgICAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0
aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoKTsK
KyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbWluTG9naWNhbFdp
ZHRoICs9IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluUHJlZmVycmVkTG9n
aWNhbFdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KIAotICAgIGlmICghaXNDb2x1bW5G
bG93KCkgJiYgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID4gMSkgewotICAgICAgICBMYXlvdXRV
bml0IGlubGluZUdhcFNpemUgPSAobnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0IC0gMSkgKiBjb21w
dXRlR2FwKEdhcFR5cGU6OkJldHdlZW5JdGVtcyk7Ci0gICAgICAgIG1heExvZ2ljYWxXaWR0aCAr
PSBpbmxpbmVHYXBTaXplOwotICAgICAgICBpZiAoIWlzTXVsdGlsaW5lKCkpCi0gICAgICAgICAg
ICBtaW5Mb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKLSAgICB9CisgICAgICAgIGlmICgh
aXNDb2x1bW5GbG93KCkgJiYgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID4gMSkgeworICAgICAg
ICAgICAgTGF5b3V0VW5pdCBpbmxpbmVHYXBTaXplID0gKG51bUl0ZW1zV2l0aE5vcm1hbExheW91
dCAtIDEpICogY29tcHV0ZUdhcChHYXBUeXBlOjpCZXR3ZWVuSXRlbXMpOworICAgICAgICAgICAg
bWF4TG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7CisgICAgICAgICAgICBpZiAoIWlzTXVs
dGlsaW5lKCkpCisgICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNp
emU7CisgICAgICAgIH0KIAotICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2lj
YWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLSAgICAKLSAgICAvLyBEdWUgdG8gbmVnYXRpdmUg
bWFyZ2lucywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBjYWxjdWxhdGVkIGEgbmVnYXRpdmUKLSAg
ICAvLyBpbnRyaW5zaWMgd2lkdGguIE1ha2Ugc3VyZSB0aGF0IHdlIG5ldmVyIHJldHVybiBhIG5l
Z2F0aXZlIHdpZHRoLgotICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUsIG1pbkxv
Z2ljYWxXaWR0aCk7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgoMF9sdSwgbWF4TG9n
aWNhbFdpZHRoKTsKLSAgICAKLSAgICBpZiAoaGFkRXhjbHVkZWRDaGlsZHJlbikgewotICAgICAg
ICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIGNoaWxkTWluV2lk
dGgpOwotICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhMb2dpY2FsV2lkdGgs
IGNoaWxkTWF4V2lkdGgpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5M
b2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgIAorICAgICAgICAvLyBEdWUg
dG8gbmVnYXRpdmUgbWFyZ2lucywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBjYWxjdWxhdGVkIGEg
bmVnYXRpdmUKKyAgICAgICAgLy8gaW50cmluc2ljIHdpZHRoLiBNYWtlIHN1cmUgdGhhdCB3ZSBu
ZXZlciByZXR1cm4gYSBuZWdhdGl2ZSB3aWR0aC4KKyAgICAgICAgbWluTG9naWNhbFdpZHRoID0g
c3RkOjptYXgoMF9sdSwgbWluTG9naWNhbFdpZHRoKTsKKyAgICAgICAgbWF4TG9naWNhbFdpZHRo
ID0gc3RkOjptYXgoMF9sdSwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAgCisgICAgICAgIGlm
IChoYWRFeGNsdWRlZENoaWxkcmVuKSB7CisgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBz
dGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIGNoaWxkTWluV2lkdGgpOworICAgICAgICAgICAgbWF4
TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWF4TG9naWNhbFdpZHRoLCBjaGlsZE1heFdpZHRoKTsK
KyAgICAgICAgfQogICAgIH0KIAogICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgoc2Nyb2xs
YmFyTG9naWNhbFdpZHRoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckZyYWdtZW50ZWRGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RnJhZ21lbnRlZEZsb3cuaAppbmRleCBmYWNlYjE5NmQ5YmY3N2NkNjI4NTU0ZTMzNTEwMDBlOTk4
OTNhZDYzLi5iNzNiZTJiMWIwZTQ4MjdlZGFlNjAyN2FhNmUzNWZjYjE3MWQ2MzYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaApAQCAtMTAy
LDYgKzEwMiw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0
IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qc3BhY2VT
aG9ydGFnZSovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQo
Y29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQgLypt
aW5IZWlnaHQqLykgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3BhY2VTaG9ydGFnZUZv
clNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgLypvZmZzZXQq
LywgTGF5b3V0VW5pdCAvKnNob3J0YWdlKi8pIHsgfQorCiAgICAgdmlydHVhbCBSZW5kZXJGcmFn
bWVudENvbnRhaW5lciogZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCosIExh
eW91dFVuaXQsIGJvb2wgZXh0ZW5kTGFzdEZyYWdtZW50ID0gZmFsc2UpIGNvbnN0OwogCiAgICAg
Ym9vbCBmcmFnbWVudHNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1f
ZnJhZ21lbnRzSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJHcmlkLmNwcAppbmRleCA2ZGNhZmExZTViMTg3Nzg5ZjMyOTk2OWEzZDhjMzdlZTU4
NjZkNWRjLi44NTI0ODVjOTY0ODdiOGY4MGRlOGYzMmZmMWQxNmY1NGU4ZDA0MDcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0yNTAsMTEgKzI1MCwxNyBAQCB2
b2lkIFJlbmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0
VW5pdCkKIAogICAgICAgICAvLyAyLSBOZXh0LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobSBy
ZXNvbHZlcyB0aGUgc2l6ZXMgb2YgdGhlIGdyaWQgcm93cywKICAgICAgICAgLy8gdXNpbmcgdGhl
IGdyaWQgY29sdW1uIHNpemVzIGNhbGN1bGF0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAuCi0gICAg
ICAgIGlmICghaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KQorICAgICAgICBib29sIHNob3VsZFJl
Y29tcHV0ZUhlaWdodCA9IGZhbHNlOworICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9naWNhbEhl
aWdodCkgewogICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JJbmRlZmluaXRlU2l6ZSht
X3RyYWNrU2l6aW5nQWxnb3JpdGhtLCBGb3JSb3dzKTsKLSAgICAgICAgZWxzZQorICAgICAgICAg
ICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgICAgICAg
ICBzaG91bGRSZWNvbXB1dGVIZWlnaHQgPSB0cnVlOworICAgICAgICB9IGVsc2UKICAgICAgICAg
ICAgIGNvbXB1dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIGF2YWlsYWJsZUxv
Z2ljYWxIZWlnaHQoRXhjbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcpKTsKICAgICAgICAgTGF5b3V0
VW5pdCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCA9IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY29t
cHV0ZVRyYWNrQmFzZWRTaXplKCkgKyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpICsg
c2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOworICAgICAgICBpZiAoc2hvdWxkUmVjb21wdXRlSGVp
Z2h0KQorICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93
cywgdHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpOworCiAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQo
dHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpOwogCiAgICAgICAgIExheW91dFVuaXQgb2xkQ2xpZW50
QWZ0ZXJFZGdlID0gY2xpZW50TG9naWNhbEJvdHRvbSgpOwpAQCAtNDU1LDYgKzQ2MSwxMSBAQCB1
bnNpZ25lZCBSZW5kZXJHcmlkOjpjb21wdXRlQXV0b1JlcGVhdFRyYWNrc0NvdW50KEdyaWRUcmFj
a1NpemluZ0RpcmVjdGlvbiBkaXJlYwogewogICAgIEFTU0VSVCghYXZhaWxhYmxlU2l6ZSB8fCBh
dmFpbGFibGVTaXplLnZhbHVlKCkgIT0gLTEpOwogICAgIGJvb2wgaXNSb3dBeGlzID0gZGlyZWN0
aW9uID09IEZvckNvbHVtbnM7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0
aGlzKQorICAgICAgICAmJiAoKGlzUm93QXhpcyAmJiBzdHlsZSgpLmdyaWRBdXRvUmVwZWF0Q29s
dW1uc1R5cGUoKSA9PSBBdXRvUmVwZWF0VHlwZTo6Rml0KQorICAgICAgICAgICAgfHwgKCFpc1Jv
d0F4aXMgJiYgc3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJvd3NUeXBlKCkgPT0gQXV0b1JlcGVhdFR5
cGU6OkZpdCkpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIGNvbnN0IGF1dG8mIGF1dG9SZXBl
YXRUcmFja3MgPSBpc1Jvd0F4aXMgPyBzdHlsZSgpLmdyaWRBdXRvUmVwZWF0Q29sdW1ucygpIDog
c3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJvd3MoKTsKICAgICB1bnNpZ25lZCBhdXRvUmVwZWF0VHJh
Y2tMaXN0TGVuZ3RoID0gYXV0b1JlcGVhdFRyYWNrcy5zaXplKCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IDc4MzAxZTYwYzkxNTE3ZTc0N2I5YzhmMThk
OGJiYmQ0NzhhNTc0OTEuLmNiY2MxMTExOTJlNGEzYjczMTEzZDc4YzJmNjhkMDBiN2ZhMTljNGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtODQ0LDYgKzg0
NCw3IEBAIHZvaWQgUmVuZGVySW1hZ2U6OmxheW91dFNoYWRvd0NvbnRlbnQoY29uc3QgTGF5b3V0
U2l6ZSYgb2xkU2l6ZSkKIAogdm9pZCBSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlv
SW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1Jh
dGlvKSBjb25zdAogeworICAgIEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRo
aXMpKTsKICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRp
b24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAgLy8gT3VyIGludHJpbnNp
Y1NpemUgaXMgZW1wdHkgaWYgd2UncmUgcmVuZGVyaW5nIGdlbmVyYXRlZCBpbWFnZXMgd2l0aCBy
ZWxhdGl2ZSB3aWR0aC9oZWlnaHQuIEZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGludHJpbnNpYyBzaXpl
IHRvIHVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRl
eCAwZWRmMjZhN2M3N2Q3Y2IxOGEzOThjNTBkYjRiMjZjNjNmNzIyYmRiLi45ZGFkNTE3MTA3OGZj
NjIzZWQ4Y2IxYWYwYWM2NGNiY2E0M2VjOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RCb3guY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94
OjpzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpCiAKIHZvaWQgUmVuZGVyTGlzdEJveDo6Y29tcHV0
ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlv
dXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0g
bV9vcHRpb25zV2lkdGggKyAyICogb3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsOworICAgIG1heExv
Z2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/IDIgKiBvcHRp
b25zU3BhY2luZ0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2lu
Z0hvcml6b250YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9
IG1fdkJhci0+d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNh
bGN1bGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
ZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3Bw
CmluZGV4IGYzOTRiZDYzMzZlNDQ0ODIyN2YxNmFlOTk5NmRlNTVmMjRjY2Y4ZWQuLjc3MzIzM2Mx
NGZjMjFiNGUyODJjMWIxOWYyNTRiZjE5ZmIyNTIxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcgKzMxNSw4IEBAIExheW91dFJlY3Qg
UmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRp
b25hbE9mZnNldCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dp
Y2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9vcHRp
b25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSkgKyBtX2lubmVy
QmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdodCgpOworICAg
IG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/IHRo
ZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSA6IHN0ZDo6bWF4KG1fb3B0aW9uc1dp
ZHRoLCB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkpOworICAgIG1heExvZ2lj
YWxXaWR0aCArPSBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBh
ZGRpbmdSaWdodCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2VudE9yQ2FsY3Vs
YXRlZCgpKQogICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lkdGg7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3Bw
CmluZGV4IDYxODVlNDcyNjM4YmQ3OWVlZDEwYTUwOTdiYTY1NWIwODI2YzgzNmEuLmJkYmU0YTcx
NGQwYzZjN2E2M2RjY2M4MzU3MmJiMWY4NzA4ZTZhMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCkBAIC0yMDMsNiArMjAzLDEy
IEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChj
b25zdCBSZW5kZXJCbG9jayogYmxvY2ssIExhCiAgICAgICAgIG11bHRpY29sU2V0LT51cGRhdGVN
aW5pbXVtQ29sdW1uSGVpZ2h0KG1pbkhlaWdodCk7CiB9CiAKK3ZvaWQgUmVuZGVyTXVsdGlDb2x1
bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRl
ckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpCit7
CisgICAgaWYgKGF1dG8qIG11bHRpY29sU2V0ID0gZG93bmNhc3Q8UmVuZGVyTXVsdGlDb2x1bW5T
ZXQ+KGZyYWdtZW50QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0KSkpCisgICAgICAgIG11bHRp
Y29sU2V0LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHNob3J0YWdlKTsK
K30KKwogUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11bHRpQ29sdW1uRmxvdzo6ZnJh
Z21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogYm94LCBMYXlvdXRVbml0IG9mZnNl
dCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2luTGF5b3V0
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5o
CmluZGV4IDBjODM5MThmOGVkYjZkMjAxMjU4ZjkwMGEyYmUxOGQzOWYxM2U3NmQuLmViNmYwODg3
OTQ1ODVlODI1NWRiN2MwYzg1ODhkMDJkYzFhNWVmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKQEAgLTEwOCw2ICsxMDgsNyBAQCBw
cml2YXRlOgogICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxXaWR0aCgpIGNvbnN0IG92ZXJy
aWRlOwogICAgIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5p
dCBvZmZzZXQsIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1
cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgb2Zm
c2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1cGRhdGVTcGFj
ZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5p
dCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIFJlbmRlckZyYWdt
ZW50Q29udGFpbmVyKiBmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5
b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Qgb3ZlcnJpZGU7
CiAgICAgdm9pZCBzZXRGcmFnbWVudFJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCYsIFJlbmRl
ckZyYWdtZW50Q29udGFpbmVyKiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKSBvdmVycmlkZTsK
ICAgICBib29sIGFkZEZvcmNlZEZyYWdtZW50QnJlYWsoY29uc3QgUmVuZGVyQmxvY2sqLCBMYXlv
dXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUsIExheW91dFVuaXQq
IG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXggZDU1NmY3ZDBlZTFh
MjM1M2M1NjNiMzI2NzkxNTY5OGVlNGJhYzFlOS4uNjA3MmJiNTY2ZmRkMGRjMjUxMTFjOWMzZmIy
MjM0YzA4YTZhYWJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5TZXQuY3BwCkBAIC01MCw2ICs1MCw3IEBAIFJlbmRlck11bHRpQ29sdW1uU2V0
OjpSZW5kZXJNdWx0aUNvbHVtblNldChSZW5kZXJGcmFnbWVudGVkRmxvdyYgZnJhZ21lbnRlZEZs
b3csCiAgICAgLCBtX21heENvbHVtbkhlaWdodChSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9n
aWNhbEhlaWdodCgpKQogICAgICwgbV9taW5TcGFjZVNob3J0YWdlKFJlbmRlckZyYWdtZW50ZWRG
bG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5IZWlnaHQoMCkK
KyAgICAsIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgwKQogewogfQogCkBAIC0y
MzUsMTUgKzIzNiwxNiBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0OjpjYWxjdWxh
dGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdGQ6
Om1heDxMYXlvdXRVbml0PihtX2NvbnRlbnRSdW5zW2luZGV4XS5jb2x1bW5Mb2dpY2FsSGVpZ2h0
KHN0YXJ0T2Zmc2V0KSwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKICAgICB9CiAKKyAgICBMYXlv
dXRVbml0IHNpemVDb250YWlubWVudFNob3J0YWdlID0gc3RkOjptYXg8TGF5b3V0VW5pdD4oTGF5
b3V0VW5pdCgpLCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOwogICAgIGlmIChj
b2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewogICAgICAgICAvLyBXaXRo
IHRoZSBjdXJyZW50IGNvbHVtbiBoZWlnaHQsIHRoZSBjb250ZW50IGZpdHMgd2l0aG91dCBjcmVh
dGluZyBvdmVyZmxvd2luZyBjb2x1bW5zLiBXZSdyZSBkb25lLgotICAgICAgICByZXR1cm4gbV9j
b21wdXRlZENvbHVtbkhlaWdodDsKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWln
aHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsKICAgICB9CiAKICAgICBpZiAoZm9yY2VkQnJl
YWtzQ291bnQoKSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAgLy8gVG9vIG1h
bnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJbml0aWFsIGJh
bGFuY2luZyBzaG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZlIHNldCBhIGdvb2QgaGVpZ2h0
LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0gICAgICAgIHJldHVybiBtX2Nv
bXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdo
dCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAgIC8vIElmIHRoZSBpbml0
aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNoIGl0IG5vdy4g
U3RyZXRjaCBieSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEwIEBAIExheW91dFVuaXQgUmVu
ZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkg
Y29uc3QKICAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdlIHNob3VsZCBu
ZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VSVChtX21pblNwYWNlU2hvcnRh
Z2UgIT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSk7IC8vIElmIHRo
aXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAgICBpZiAobV9taW5TcGFjZVNo
b3J0YWdlID09IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCi0gICAg
ICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBTbyBiYWlsIG91dCByYXRoZXIg
dGhhbiBsb29waW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1u
SGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNvIGJhaWwgb3V0IHJhdGhlciB0
aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVp
Z2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9BZGQgPSBzdGQ6Om1heDxMYXlv
dXRVbml0PihzaXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5TcGFjZVNob3J0YWdlKTsKKyAg
ICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRkOwogfQogCiB2b2lkIFJlbmRl
ck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBAIC0zNjUsNiArMzY4LDggQEAg
dm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91dChib29sIGluaXRpYWwp
CiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBoZWlnaHQuIENv
bnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1fbWluaW11bUNv
bHVtbkhlaWdodCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQg
PSAwOworCiAgICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZsb3cgdGhyZWFkIHBvcnRpb24g
aGVpZ2h0IHVudGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRMb2dpY2FsQm90dG9tSW5GcmFn
bWVudGVkRmxvdyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdodCgpKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAppbmRl
eCBmNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5Li5jNDhhZTBhNGM3NTg2
NWE1M2ZhNTViZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiArODMsMTUgQEAgcHVibGljOgog
ICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhlaWdodCkgeyBt
X21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11bUNvbHVtbkhl
aWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBjb25zdCB7IHJl
dHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZvaWQgdXBkYXRlU3BhY2VTaG9y
dGFnZUZvclNpemVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0YWdlKQorICAgIHsKKyAgICAg
ICAgaWYgKG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA8PSAwKSB7CisgICAgICAg
ICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzaG9ydGFnZTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXpl
Q29udGFpbm1lbnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNv
bnRhaW5tZW50KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3JjZWRCcmVha3NDb3VudCgpIGNv
bnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAgICAgdm9pZCBjbGVhckZvcmNl
ZEJyZWFrcygpOwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBvZmZzZXRGcm9t
Rmlyc3RQYWdlKTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQg
bV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxvd2VkLgogICAg
IExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3QgYW1vdXQgb2Yg
c3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAgTGF5b3V0VW5p
dCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5pdCBtX3NwYWNlU2hvcnRhZ2VG
b3JTaXplQ29udGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFjZSB0aGF0IGtlZXBzIHNpemUg
Y29udGFpbm1lbnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVuIG9mIGNvbnRlbnQgd2l0aG91
dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93IHRocmVhZCBwb3J0aW9uIGJl
dHdlZW4gdHdvCiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3ZWVuIGZsb3cgdGhyZWFkIHN0
YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBleHBsaWNpdCBicmVhawpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA0YjA2OTUyMzgxNmQx
ZWE2YWJmN2ZmNzhhNDVjNjZkMzhlZTg0NzBiLi41ZThjZTEzYTY1OTYzNjM1ZTJiODliMmQwNGYw
YTYwNDFhNmFkMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cApAQCAtMjQ0OCwzICsyNDQ4LDggQEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseUxheW91dENv
bnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIKIHsKICAgICBy
ZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc0xheW91dCgpICYmICghcmVuZGVyZXIuaXNJ
bmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJl
ci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlz
UmVuZGVyQmxvY2tGbG93KCkpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAg
cmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lu
bGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVy
LmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNU
YWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA3YWYxMzRiMDY3YzA1NWRlOTZkNjIyM2M4ZTU1
NTc1ZDRjNTljOGFmLi5iZTJlMzVlY2MxYjQ5ODQ0NGM0YWY2NTA1ZGM0NWQyZTA0ZmQ5ZjA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yMDMsNyArMjAzLDcg
QEAgcHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJJbmxpbmUoKSBjb25zdDsKICAgICBib29sIGlz
UmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpIGNvbnN0OwogCi0gICAgaW5saW5lIGJvb2wgaXNBdG9t
aWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0OworICAgIGJvb2wgaXNBdG9taWNJbmxpbmVMZXZlbEJv
eCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzQ291bnRlcigpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBjb25zdCB7IHJldHVybiBmYWxz
ZTsgfQpAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgaW5saW5lIFJlbmRlck9iamVjdCogUmVuZGVyT2Jq
ZWN0OjpuZXh0SW5GbG93U2libGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG5leHRTaWJsaW5nOwog
fQogCi1ib29sIFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0Citp
bmxpbmUgYm9vbCBSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSBjb25zdAog
ewogICAgIHJldHVybiBzdHlsZSgpLmlzRGlzcGxheUlubGluZVR5cGUoKSAmJiAhKHN0eWxlKCku
ZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmUgJiYgIWlzUmVwbGFjZWQoKSk7CiB9CkBA
IC0xMTkxLDYgKzExOTEsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9j
dW1lbnRzKCk7CiAjZW5kaWYKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNv
bnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25z
dCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA4NTZiYTIyNzU5MzA1NWM2
MGI5YjQ3MjkwZmQyZjQwZTI3ZGJjNjlhLi41ZTE0YzRmNmFhOWMzYjE0NDJjNTg3YmY0OGY2OWMy
YmQ5MmMwYWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAKQEAgLTM4OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVkc0xheW91
dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6
OmNvbXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRlckJveCogY29u
dGVudFJlbmRlcmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91YmxlJiBpbnRyaW5z
aWNSYXRpbykgY29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsKLSAgICBpZiAo
Y29udGVudFJlbmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0
aGlzKSkKKyAgICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9y
bWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICBlbHNlIGlmIChjb250
ZW50UmVuZGVyZXIpIHsKICAgICAgICAgY29udGVudFJlbmRlcmVyLT5jb21wdXRlSW50cmluc2lj
UmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAgICAg
ICAgaWYgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRp
byB8fCAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9B
bmRSYXRpbyAmJiAhaW50cmluc2ljUmF0aW8pKQpAQCAtNDc3LDcgKzQ3OSw3IEBAIFJvdW5kZWRS
ZWN0IFJlbmRlclJlcGxhY2VkOjpyb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdAogdm9pZCBS
ZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXpl
JiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIC8v
IElmIHRoZXJlJ3MgYW4gZW1iZWRkZWRDb250ZW50Qm94KCkgb2YgYSByZW1vdGUsIHJlZmVyZW5j
ZWQgZG9jdW1lbnQgYXZhaWxhYmxlLCB0aGlzIGNvZGUtcGF0aCBzaG91bGQgbmV2ZXIgYmUgdXNl
ZC4KLSAgICBBU1NFUlQoIWVtYmVkZGVkQ29udGVudEJveCgpKTsKKyAgICBBU1NFUlQoIWVtYmVk
ZGVkQ29udGVudEJveCgpIHx8IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSk7CiAg
ICAgaW50cmluc2ljU2l6ZSA9IEZsb2F0U2l6ZShpbnRyaW5zaWNMb2dpY2FsV2lkdGgoKSwgaW50
cmluc2ljTG9naWNhbEhlaWdodCgpKTsKIAogICAgIGlmIChzdHlsZSgpLmhhc0FzcGVjdFJhdGlv
KCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggYzJl
MDY5NWMwMzkzODA5MjY1ZWMxNzcwNDdmMTNjYjcyMjNmZjNmNy4uYzE5ZTQ1YWZkMjU3N2U4NjNj
YzNmY2ExOTM3ZmMwYjBmY2FjNTU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clJlcGxhY2VkLmgKQEAgLTQwLDcgKzQwLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGhhc1JlcGxh
Y2VkTG9naWNhbEhlaWdodCgpIGNvbnN0OwogICAgIGJvb2wgc2V0TmVlZHNMYXlvdXRJZk5lZWRl
ZEFmdGVySW50cmluc2ljU2l6ZUNoYW5nZSgpOwogCi0gICAgTGF5b3V0U2l6ZSBpbnRyaW5zaWNT
aXplKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRyaW5zaWNTaXplOyB9CisgICAgTGF5b3V0
U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIGlmIChzaG91
bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgICAgICByZXR1cm4gTGF5b3V0
U2l6ZSgpOworICAgICAgICByZXR1cm4gbV9pbnRyaW5zaWNTaXplOworICAgIH0KICAgICAKICAg
ICBSb3VuZGVkUmVjdCByb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKICAgICAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKaW5kZXggNDcxNjllZGY5OGUxNDI4
YzRhMDc3MGYyZjRlZmMwYjU4ZDgxM2M3Yi4uOWU5NDRiZTAwYmIwMmUzODUxYTQzZDU2NjY2MTlm
N2M0MjlhNWQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNs
aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAK
QEAgLTY5LDYgKzY5LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJTbGlkZXI6OmJhc2VsaW5lUG9zaXRp
b24oRm9udEJhc2VsaW5lLCBib29sIC8qZmlyc3RMaW5lKi8sIExpbmUKIAogdm9pZCBSZW5kZXJT
bGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2lj
YWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChz
aG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgIHJldHVybjsKICAgICBt
YXhMb2dpY2FsV2lkdGggPSBkZWZhdWx0VHJhY2tMZW5ndGggKiBzdHlsZSgpLmVmZmVjdGl2ZVpv
b20oKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkK
ICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gbWF4TG9naWNhbFdpZHRoOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKaW5kZXggZGMwNThkNTM0Njdh
YTNjZmFiZjg1MmYzMzFlZjAxZjMxNTUzMjFmNC4uMjQyYWNhM2EwNmI5MTU3NGE3NDhiMTNlY2Vm
YTgwYzYxNzJiOWM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clRleHRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwCkBAIC0xNTYsNiArMTU2LDggQEAgZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6
OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBjb25zdAogCiB2b2lkIFJlbmRlclRleHRDb250cm9sOjpj
b21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgs
IExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gVXNlIGF2
ZXJhZ2UgY2hhcmFjdGVyIHdpZHRoLiBNYXRjaGVzIElFLgogICAgIG1heExvZ2ljYWxXaWR0aCA9
IHByZWZlcnJlZENvbnRlbnRMb2dpY2FsV2lkdGgoY29uc3RfY2FzdDxSZW5kZXJUZXh0Q29udHJv
bCo+KHRoaXMpLT5nZXRBdmVyYWdlQ2hhcldpZHRoKCkpOwogICAgIGlmIChSZW5kZXJCb3gqIGlu
bmVyVGV4dFJlbmRlckJveCA9IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAppbmRleCBjNmQwNDQxNjZjY2ZkNWJj
N2M4ZjE5ZTBhYWJjMjFjNTgwMzgyMWY5Li4yOTI4ZGQ0ZGNhZmVkMmE0YzA3YmFkMGQxNGFlNDMz
OTBlNTljYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKQEAg
LTEyMyw2ICsxMjMsOSBAQCBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkK
IAogTGF5b3V0U2l6ZSBSZW5kZXJWaWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSgpCiB7Cisg
ICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0dXJu
IExheW91dFNpemUoKTsKKwogICAgIC8vIFNwZWMgdGV4dCBmcm9tIDQuOC42CiAgICAgLy8KICAg
ICAvLyBUaGUgaW50cmluc2ljIHdpZHRoIG9mIGEgdmlkZW8gZWxlbWVudCdzIHBsYXliYWNrIGFy
ZWEgaXMgdGhlIGludHJpbnNpYyB3aWR0aCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0
eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMDZmNzBhNzFiYzA1MzUyZDdjMTY5ODkwOTdmMGIxYTA2
NzNlZjc1YS4uN2MzNGIxMTE0ODNlNGZmOGRhZDI2MDYzNjhmN2IyZGQyYzA2MTA4MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyNSw2ICs1
MjUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJu
IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0
aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25T
ZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9vbCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0
dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6
OkxheW91dCk7IH0KKyAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFy
ZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9
CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8
Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVC
b3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0
aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhl
cml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDE0MjIzNTA0NjA5ZTNi
MTViNWJjMzY4YTQ3ODA3MDA3MDk1NjIwODUuLjVlNDZkMzdmNTBmZGY4NGE5MjNiNmQ0MGE0ZGQ3
MGIyOTkyMjIxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVu
ZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJT
VkdSb290LmNwcApAQCAtNzAsNiArNzAsOCBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJTVkdSb290
OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIAogdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYg
aW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNpemVDb250
YWlubWVudCgqdGhpcykpOworCiAgICAgLy8gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZH
L2Nvb3Jkcy5odG1sI0ludHJpbnNpY1NpemluZwogICAgIC8vIFNWRyBuZWVkcyB0byBzcGVjaWZ5
IGhvdyB0byBjYWxjdWxhdGUgc29tZSBpbnRyaW5zaWMgc2l6aW5nIHByb3BlcnRpZXMgdG8gZW5h
YmxlIGluY2x1c2lvbiB3aXRoaW4gb3RoZXIgbGFuZ3VhZ2VzLgogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzU3YTBjYmY4
ZTAzNGZmYmY0YjBlMGVkM2MxN2FlZWI4NzJmNGZiZC4uNTQxMDEzMDRjNGI2NGE0YWY3OWQ4NjAy
ZjYyNTc0YWM4YzBmYjg2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTIwICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5d
IFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGUgdGhlIHRlc3QgcmVzdWx0IGZvciBzaXplIGNvbnRhaW5tZW50
LiBBZGRlZCBleHBsYW5hdGlvbnMgZm9yIHNpemUgY29udGFpbm1lbnQgdGVzdHMKKyAgICAgICAg
dGhhdCBkZXBlbmRlZCBvbiBvdGhlciBmZWF0dXJlcy4KKworICAgICAgICAqIFRlc3RFeHBlY3Rh
dGlvbnM6CisKIDIwMjEtMDQtMjAgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFVwZGF0ZSBodG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRy
aWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvIHRlc3RzIGZyb20gV1BUCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlZjUwMTFiM2Y0NmFhODk4MTdlMDQzZDYz
MzE5MDEwZDc1OWY2MzA2Li4zMjQ0NTM3MGY0YmIwNWQxNDM0NjBmNWNkNGMwYTg3ZTJiMGRkNDVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0w
NC0yMCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NT
UyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3Ry
aWN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNC0yMCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVu
QGlnYWxpYS5jb20+CiAKICAgICAgICAgVXBkYXRlIGh0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVs
ZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy8gdGVzdHMg
ZnJvbSBXUFQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDZlOTIzMjc2MGViMTE1N2Q5ZjE2NjI3YmMx
MDQ2ZDQzY2NhNjI3ZWUuLmEyY2IwNzhmOTgxMzM2NzJkNGNhMWE1YjZiMWEwMWE4NmQ4NWVjMWIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDY3Niw3ICs0Njc2LDYgQEAgd2Via2l0Lm9yZy9iLzIy
MDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVm
aW5lZC0wMTQKIHdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRlZmluZWQtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0gIyBSZXF1aXJlcyBmYWxsYmFjayAoYXQgcGFyc2UgdGltZSkgc3VwcG9ydCAodW5jbGVhciBp
ZiB0aGlzIG1ha2VzIHNlbnNlKQogCiAjIENTUyBjb250YWlubWVudCB0ZXN0cyB0aGF0IGZhaWwK
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
YW5pbWF0aW9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAjIHdlYmtpdC1ydWJ5LXRl
eHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NjkzLDcgKzQ2
OTIsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJp
bGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlz
aWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQt
dmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtc2l6ZS0wMDMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDczNSw2OCArNDczMyw4IEBAIGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmct
Y29udGV4dC0wCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAxYi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRh
YmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDExLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS0wMjUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyNy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtMDQxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0w
NDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA1Ni5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtMDYxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtMDY0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJvcmRlcnMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWJyZWFrcy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJ1
dHRvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJ1dHRvbi0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtZmllbGRzZXQtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1m
aWVsZHNldC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmxleC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWZsZXhib3gtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1n
cmlkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1pbmxpbmUtYmxvY2stMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxp
bmUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2st
MDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDA0Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtZmxleC0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLW1vbm9saXRoaWMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1tb25vbGl0aGljLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGlj
b2wtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtcmVwbGFjZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1y
ZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwM2Eu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwM2IuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwM2MuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLXJlcGxhY2VkLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFj
ZWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDYuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNjcm9sbGJhcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtc2Nyb2xsYmFycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtc2VsZWN0LWVsZW0tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1z
ZWxlY3QtZWxlbS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVt
LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA1Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS10YWJsZS1jYXB0aW9uLTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3Qt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3Vu
dGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDgyOCw2ICs0NzY2LDMxIEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3RlLXNjb3BpbmctMDAyLmh0
bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9xdW90ZS1zY29waW5nLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAw
NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKKyMgQ2FudmFzIGRvZXNuJ3QgZ2V0IGRlZmF1
bHQgYXNwZWN0LXJhdGlvIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMuCit3ZWJraXQu
b3JnL2IvMjE3NTI5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4
Ym94L2NhbnZhcy1jb250YWluLXNpemUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENv
bnRlbnQgaXMgcGFpbnRlZCBvbiBzdmcncyBwYWRkaW5nIGFyZWEuCit3ZWJraXQub3JnL2IvNDI1
ODY4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIE11bHRp
Y29sdW1uIGRvZXMgbm90IHBhaW50IHRoZSBob3Jpem9udGFsIG92ZXJmbG93IGFyZWEgb2YgYSBy
ZWxhdGl2ZSBjaGlsZC4KK3dlYmtpdC5vcmcvYi80MTc5NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIEJ1dHRvbnMgd2l0aCBhdXRvIHdpZHRoIGFuZCBo
ZWlnaHQgaGFzIGV4dHJhIG1hcmdpbnMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMg
U2Nyb2xsYmFyIGRpc3BsYXlzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KKworIyBTZWxlY3Qgd2l0aCBlbXB0eSBjb250ZW50IGFsd2F5cyBoYXMgcm9vdCBs
aW5lYm94LCBzbyB0aGUgaGVpZ2h0cyBhcmUgZGlmZmVyZW50LgoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQorCisjIENTUyBwcm9wZXJ0eSBjb2xvciBpcyBub3Qgd29ya2luZyBpbiBzZWxlY3Qg
ZWxlbWVudHMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
K2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCiAjIFRlc3Rz
IHRoYXQgZmFpbCBiZWNhdXNlIHRoZXkgYXNzdW1lIGEgdmVydGljYWwgc2Nyb2xsYmFyIGluIGB3
cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsYCBlbGVtZW50cyB3aWxsIGJlIG9uIHRoZSByaWdodC1o
YW5kIHNpZGUKIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvc2l6aW5nLW9ydGhvZy12cmwtaW4taHRiLTAxMy54
aHQgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9jc3NvbS1nZXRCb3VuZGluZ0NsaWVu
dFJlY3QtdmVydGljYWwtcmwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1n
cmlkLTAwMy1leHBlY3RlZC50eHQKaW5kZXggZTE2ZDY3ZGJmN2Q0NTI0YWY3ZjMxMTAzMDlmOTc4
Mjk5MDQxYzJkMi4uNTFlOGUyMDAyZmY3Y2E3NDJjOTVlMzk0NmZkMWNjOGJmZjdiMTFmNCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0zNiwxOSArMzYsOCBAQCBQQVNT
IC5ncmlkIDM0CiBQQVNTIC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1G
QUlMIC5ncmlkIDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3Jp
ZDogcmVwZWF0KGF1dG8tZml0LCA3NXB4KSAvIHJlcGVhdChhdXRvLWZpdCwgMTAwcHgpOyIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICAgIDxkaXY+
PC9kaXY+Ci0gIDwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDEwMAotRkFJTCAuZ3Jp
ZCAzOSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCIgc3R5bGU9ImdyaWQ6IGF1dG8g
NTBweCAvIDEwMHB4IGF1dG87IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSI1MCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjAiPlg8
L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjEwIiBkYXRhLW9mZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjAiPlhYPC9kaXY+Ci0g
IDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAi
IGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFg8L2Rpdj4KLSAgPGRpdiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRhLW9m
ZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRo
IGV4cGVjdGVkIDEwMCBidXQgZ290IDE0MAorUEFTUyAuZ3JpZCAzOAorUEFTUyAuZ3JpZCAzOQog
CiBYCiBYWApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQKaW5kZXggNzBjZDdlNjE5
MWQwZmZkYmE1MjI2NDI0NmI4YTgxY2YzNDgzZGYzOC4uZTBhMWM5ZDUxZmJmNGI2YTU2MjRkZjQx
YjlmYjIyMWM0NWVmNmJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CkBA
IC0xLDM4ICsxLDE4IEBACiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVh
bHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwot
RkFJTCAuZ3JpZCA0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4
LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIw
Ij4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNT
IC5ncmlkIDQKIFBBU1MgLmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwg
LmdyaWQgOCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxk
aXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5Y
WFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdy
aWQgOAogUEFTUyAuZ3JpZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNs
YXNzPSJncmlkIGNhbGMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0
ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3Jp
ZCAxMgogUEFTUyAuZ3JpZCAxMwotRkFJTCAuZ3JpZCAxNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBj
bGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9k
aXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCitQQVNTIC5ncmlkIDE0CiBQQVNTIC5n
cmlkIDE1CiBQQVNTIC5ncmlkIDE2CiBQQVNTIC5ncmlkIDE3CkBAIC00MCw2NyArMjAsMzEgQEAg
UEFTUyAuZ3JpZCAxOAogUEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3JpZCAy
MQotRkFJTCAuZ3JpZCAyMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgt
Zml4ZWQtcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhw
ZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQQVNT
IC5ncmlkIDI0CiBQQVNTIC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9k
aXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNTIC5n
cmlkIDI3Ci1GQUlMIC5ncmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1p
bm1heC1wZXJjZW50LWZsZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI4CiBQQVNTIC5ncmlkIDI5CiBQQVNTIC5ncmlk
IDMwCiBQQVNTIC5ncmlkIDMxCi1GQUlMIC5ncmlkIDMyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNs
YXNzPSJncmlkIG1pbm1heC1pbnRyaW5zaWMtcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08
L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzIKIFBBU1Mg
LmdyaWQgMzMKLUZBSUwgLmdyaWQgMzQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQg
bWlubWF4LWludHJpbnNpYy1wZXJjZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWln
aHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lk
dGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzNAogUEFTUyAuZ3JpZCAzNQog
UEFTUyAuZ3JpZCAzNgogUEFTUyAuZ3JpZCAzNwotRkFJTCAuZ3JpZCAzOCBhc3NlcnRfZXF1YWxz
OgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1pbnRyaW5zaWMgbWluLWNvbnRlbnQi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRp
diBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwv
ZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDM4
CiBQQVNTIC5ncmlkIDM5Ci1GQUlMIC5ncmlkIDQwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNz
PSJncmlkIG1pbm1heC1wZXJjZW50LWludHJpbnNpYyBtYXgtY29udGVudCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4K
LXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQg
NDEKIFBBU1MgLmdyaWQgNDIKIFBBU1MgLmdyaWQgNDMKLUZBSUwgLmdyaWQgNDQgYXNzZXJ0X2Vx
dWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ0CiBQQVNT
IC5ncmlkIDQ1Ci1GQUlMIC5ncmlkIDQ2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlk
IGZpdC1jb250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQg
MCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0NgogUEFTUyAuZ3JpZCA0NwogUEFTUyAuZ3JpZCA0
OAogWFhYWApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRl
bS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4
cGVjdGVkLnR4dAppbmRleCAzZTE0MDg2N2I3ZTcyMTQ2MTFjYzUyOWFiYjQ4NWZkMmY4ZTFiOTQ3
Li4zZTc5OTFjMWMwNTFhNzc2NjNkZDc1NzEyMjlhMDNjYTcxZTMyNmIyIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwx
MSArMSw1IEBACiBUaGVyZSBzaG91bGQgYmUgYSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJ
TCAjZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVs
dGljb2wiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEw
MCI+Ci0gICAgPGRpdiBzdHlsZT0id2lkdGg6MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0g
IDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2Zs
ZXggMQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IDc0
NGRjNGY2MmFmMTAyMzM4OTVmZmM4YWI2ZmZkNDNkZWRkOWI4NzAuLmNjMGJhYzc1OGE4NjZkNGFl
ZWM3NWFjZThlZTdkODMzYmYxZGMxZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlu
cy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3Qt
ZXhwZWN0ZWQudHh0CkBAIC0xNywyOCArMTcsMTIgQEAgQ29sdW1uCiAKIFJvdwogCi1GQUlMIC5p
bmxpbmUtZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5
bGU9ImRpc3BsYXk6IGlubGluZS1mbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxl
PSJjb250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCI+Q29sdW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdv
dCA1MgotRkFJTCAuaW5saW5lLWZsZXggMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5s
aW5lLWZsZXgiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
Ij4KLSAgPGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPlJvdzwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMzAKK1BBU1MgLmlubGluZS1mbGV4IDEKK1BBU1MgLmlubGluZS1mbGV4
IDIKIFBBU1MgLmlubGluZS1mbGV4IDMKIFBBU1MgLmlubGluZS1mbGV4IDQKLUZBSUwgLmlubGlu
ZS1mbGV4IDUgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0i
ZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9
ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIj5Db2x1bW48L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290
IDUyCi1GQUlMIC5pbmxpbmUtZmxleCA2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxp
bmUtZmxleCIgc3R5bGU9ImFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWlu
OiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCI+Um93PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAu
aW5saW5lLWZsZXggNQorUEFTUyAuaW5saW5lLWZsZXggNgogUEFTUyAuaW5saW5lLWZsZXggNwog
UEFTUyAuaW5saW5lLWZsZXggOAogCg==
</data>
<flag name="commit-queue"
          id="446851"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426543</attachid>
            <date>2021-04-20 06:29:51 -0700</date>
            <delta_ts>2021-05-04 08:07:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210420212947.patch</filename>
            <type>text/plain</type>
            <size>75633</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2Mjk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGU5OWRiNzNjYzA3OTFj
YWZjYzIwYTc2MThiYTE5MmE0MDMwMGY5My4uNjZjMzk3OTMzODhlNTM3ZmQzMDllZDM1ZDJhOGVj
ZTMyYzVmM2VjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDIxLTA0LTIwICBDYXRo
aWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5d
IFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUaGlzIHBhdGNoIGJyaW5ncyBpbml0aWFsIHN1cHBvcnQgb2YgQ1NTIGNv
bnRhaW46c2l6ZSBhY2NvcmRpbmcgdG8gWzFdLgorICAgICAgICBJdCBhZGRzIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KCkgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgb2JqZWN0IGlzIGEgc2l6
ZSBjb250YWlubWVudCBib3guCisgICAgICAgIFRoZSBpbnRyaW5zaWMgc2l6ZXMgb2Ygc2l6ZSBj
b250YWlubWVudCBib3ggYXJlIGRldGVybWluZWQgYXMgaWYgaXQgaGFkIG5vIGNvbnRlbnQuCisg
ICAgICAgIFNvIHRoZSBpbXBsZW1lbnRhdGlvbiBuZWVkIHRvIGNvb3BlcmF0ZSB3aXRoIHRoZSBs
YXlvdXQgc3RlcHM6CisgICAgICAgICAgLSBDb21wdXRpbmcgbG9naWNhbCB3aWR0aDogU2l6ZSBj
b250YWlubWVudCBib3hlcyBza2lwIGhhbmRsaW5nIGNoaWxkcmVuIHdoaWxlIGNvbXB1dGluZyBt
aW5Mb2dpY2FsV2lkdGgKKyAgICAgICAgICBhbmQgbWF4TG9naWNhbFdpZHRoIGluIGNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzLiBTbyB0aGUgbG9naWNhbCB3aWR0aCBpcyBub3QgYWZmZWN0
ZWQgYnkgY2hpbGRyZW4uIAorICAgICAgICAgIC0gTGF5b3V0IGNoaWxkcmVuOiBUaGUgbG9naWNh
bCBoZWlnaHQgaXMgY2hhbmdlZCBhZnRlciBsYXlvdXQgYWxsIGNoaWxkcmVuLgorICAgICAgICAg
IC0gQ29tcHV0aW5nIGxvZ2ljYWwgaGVpZ2h0OiBBdCB0aGUgYmVnaW5uaW5nLCBzaXplIGNvbnRh
aW5tZW50IGJveGVzIG5lZWQgdG8gcmVzZXQgbG9naWNhbCBoZWlnaHQgdG8gdGhlIGVtcHR5IGNv
bnRlbnQgaGVpZ2h0CisgICAgICAgICAgaWYgaXQgaXMgbm90IHJlbmRlckdyaWQuIFNvIHRoZSBs
b2dpY2FsIGhlaWdodCBpcyBub3QgYWZmZWN0ZWQgYnkgY2hpbGRyZW4uCisgICAgICAgIFdlIGFs
c28gbmVlZCB0byBjYWxjdWxhdGUgdGhlIHNpemVzIGFjY29yZGluZyB0byB0aGUgbGF5b3V0IGFs
Z29yaXRobXMuCisgICAgICAgIC0gR3JpZCBsYXlvdXQ6CisgICAgICAgICAgVG8gY2FsY3VsYXRl
IHRoZSBtaW5Mb2dpY2FsV2lkdGggYW5kIG1heExvZ2ljYWxXaWR0aCBmb3IgaW5kZWZpbml0ZSBz
aXplIFJlbmRlckdyaWQuCisgICAgICAgICAgVGhlIHdpZHRocyBhcmUgY2FsY3VsYXRlZCBieSBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06IG1fbWluQ29udGVudFNpemUgYW5kIG1fbWF4Q29udGVu
dFNpemUgd2hpY2ggYXJlIHRoZSBzdW0gb2YKKyAgICAgICAgICBtX2Jhc2VTaXplL21fZ3Jvd3Ro
TGltaXQgb2YgYWxsIEdyaWRUcmFja3MuIFRoZSBzaXplIGNvbnRhaW5tZW50IFJlbmRlckdyaWQg
c2tpcHMgaGFuZGxpbmcgY29udGVudCBpbiByZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcworICAg
ICAgICAgIGFuZCB0aGUgbV9tYXhDb250ZW50U2l6ZSB3aWxsIGJlIHRoZSBzdW0gb2YgbV9iYXNl
U2l6ZS4gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIHNhbWUgdG8gd2lkdGgsIGJ1dCBhZnRlciBjYWxj
dWxhdGluZworICAgICAgICAgIFJlbmRlckdyaWQncyBsb2dpY2FsIGhlaWdodCwgaXQgbmVlZHMg
dG8gY2FsY3VsYXRlIHRoZSB0cmFjayBzaXplcyBhZ2FpbiwgdG8gbWFrZSBzdXJlIHRoYXQgdGhl
eSBhcmUgZGlzdHJpYnV0ZWQgcHJvcGVybHkuCisgICAgICAgICAgV2UgdXNlIGNvbXB1dGVUcmFj
a1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KSB0
byByZWNhbGN1bGF0ZSBpdC4KKyAgICAgICAgLSBNdWx0aUNvbHVtbiBsYXlvdXQ6CisgICAgICAg
ICAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uLCBzaXplIGNvbnRhaW5tZW50IGJveGVz
IHNob3VsZCBiZSBtb25vbGl0aGljLCBzbyB3ZSBuZWVkIHRvIGV4dGVuZCBjb2x1bW4gaGVpZ2h0
CisgICAgICAgICAgZm9yIG92ZXJmbG93IGFuZCBwb3NpdGlvbmVkIHNpemUgY29udGFpbm1lbnQg
Ym94ZXMuIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgpIGlzIGFkZGVkIHRvIGlu
ZGljYXRlIHRoZSBzaG9ydGFnZSBzcGFjZQorICAgICAgICAgIHRoYXQgbmVlZCB0byBiYWxhbmNl
IHRoZSBjb2x1bW4gaGVpZ2h0cy4gYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0
aW9uKCkgd2lsbCBjYWxjdWxhdGUgdGhlIHNob3J0YWdlLgorCisgICAgICAgIFsxXSBodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvbnRhaW4tMS8jY29udGFpbm1lbnQtc2l6ZQorCisgICAgICAg
ICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHA6IEFkZCBpc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCB0byBpbmRpY2F0ZSBpZiBpdCBpcyBjYWxjdWxhdGluZyBzaXplcwor
ICAgICAgICAgIGZvciBpbmRlZmluaXRlIHNpemUgUmVuZGVyR3JpZCB3aGljaCBpcyBzaXplIGNv
bnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpj
b21wdXRlR3JpZENvbnRhaW5lckludHJpbnNpY1NpemVzKToKKyAgICAgICAgICBJdCBza2lwcyBy
ZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcyBpZiBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCwg
c28gZ3Jvd3RoTGltaXQgbWlnaHQgYmUgdW5kZWZpbmVkLAorICAgICAgICAgIGlmIHNvLCB1c2Ug
dHJhY2suYmFzZVNpemUoKSBpbnN0ZWFkLgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcyk6IFNraXAgcmVzb2x2ZSB0
aGUgY29udGVudCBpZiBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpLgorICAgICAgICAoV2Vi
Q29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjphZHZhbmNlTmV4dFN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cnVuKTogRG8gbm90IHN0cmV0
Y2ggdGhlIHRyYWNrIHNpemVzIGlmIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkuCisgICAg
ICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6
bGF5b3V0UG9zaXRpb25lZE9iamVjdCk6IENhbGN1bGF0ZSBtX3NwYWNlU2hvcnRhZ2VGb3JTaXpl
Q29udGFpbm1lbnQgZm9yIHBvc2l0aW9uZWQgc2l6ZSBjb250YWlubWVudC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6
IFNraXAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyBpZiBzaG91bGRBcHBseVNp
emVDb250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMgY29uc3QpOiBTa2lwIGhhbmRsaW5nIHRoZSBjaGlsZHJlbiBmb3Igc2l6ZSBjb250
YWlubWVudCBib3guCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEJs
b2NrQ2hpbGRGb3JQYWdpbmF0aW9uKTogQ2FsY3VsYXRlIG1fc3BhY2VTaG9ydGFnZUZvclNpemVD
b250YWlubWVudCBmb3IgY2hpbGQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
OmFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbik6IG1fc3BhY2VTaG9ydGFn
ZUZvclNpemVDb250YWlubWVudCA9IGNoaWxkT3ZlcmZsb3dIZWlnaHQgLSByZW1haW5pbmdMb2dp
Y2FsSGVpZ2h0LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaDoKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6dXBkYXRlTG9naWNhbEhlaWdodCk6IFJlc2V0IHRoZSBsb2dpY2FsIGhlaWdodCB0byBlbXB0
eSBjb250ZW50IGhlaWdodCBmb3Igc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3g6OmlzVW5zcGxpdHRhYmxlRm9yUGFnaW5hdGlvbiBjb25zdCk6IFNpemUg
Y29udGFpbm1lbnQgYm94IGlzIHVuc3BsaXR0YWJsZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckRl
cHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3Qp
OiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94
Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmxheW91dEJsb2Nr
KTogSWYgaXQgaXMgc2l6ZSBjb250YWlubWVudCB3aXRoIGluZmluaXRlU2l6ZSwgdXNpbmcgdHJh
Y2tCYXNlZExvZ2ljYWxIZWlnaHQKKyAgICAgICAgdG8gY29tcHV0ZSB0cmFjayBzaXplcyBhZ2Fp
biB0byBtYWtlIHN1cmUgdGhlIGhlaWdodCBpcyBkaXN0cmlidXRlZCBwcm9wZXJseS4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVBdXRvUmVwZWF0VHJhY2tzQ291bnQgY29u
c3QpOiBCZWNhdXNlIHNpemUgY29udGFpbm1lbnQncyBjb250ZW50IHdhcyBlbXB0eSwKKyAgICAg
ICAgdGhlIHJlcGVhdCB0cmFja3MgY291bnQgaXMgYWx3YXlzIDAuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpjb21w
dXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6IFRoaXMgaXMgaGFuZGxlZCBpbiBS
ZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gaW5zdGVhZC4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFRo
ZSB3aWR0aHMgb2Ygc2l6ZSBjb250YWlubWVudCBib3hlcyBhcmUgb3B0aW9uc1NwYWNpbmdIb3Jp
em9udGFsLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAg
IChSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBU
aGUgd2lkdGhzIG9mIHNpemUgY29udGFpbm1lbnQgYm94IGFyZSB0aGVtZS5taW5pbXVtTWVudUxp
c3RTaXplLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0
YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTogU2V0IG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlu
bWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93Lmg6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldCk6CisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQg
Y29uc3QpOiBBZGQgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IHRvIHRoZSBjb2x1
bW4gaGVpZ2h0LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnByZXBh
cmVGb3JMYXlvdXQpOiBSZXNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0Lmg6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVNp
emVDb250YWlubWVudCk6IENoZWNrIGlmIHRoZSBvYmplY3QgaXMgYSBzaXplIGNvbnRhaW5tZW50
IGJveC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3ggY29uc3QpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJSZXBsYWNlZDo6Y29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3ggY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNS
YXRpb0luZm9ybWF0aW9uIGNvbnN0KTogVXNlIHRoZSBlbXB0eSBpbnRyaW5zaWNTaXplLgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oOiBUaGUgaW50cmluc2ljU2l6ZSBvZiBz
aXplIGNvbnRhaW5tZW50IGlzICgwLCAwKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2xp
ZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNsaWRlcjo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
VGV4dENvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmNv
bXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpj
YWxjdWxhdGVJbnRyaW5zaWNTaXplKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNT
aXplIGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5m
b3JtYXRpb24gY29uc3QpOiBIYW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbiBpbnN0ZWFkLgorCiAyMDIxLTA0LTIwICBDaHJpcyBMb3JkICA8
Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBEb24ndCB1c2UgdGhlIGZ1bGwgQ1NTIHBhcnNl
ciBmb3IgQ1NTRm9udEZhY2VTZXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDcz
NDM2NTdjYWZmNDRmZGU0OTA1NS4uMjNlMGE4ZjYyMjNhNmYwZmQzNzJjODQ5N2U1ZDMyZWVmMTQ2
YWRmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Npemlu
Z0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1Np
emluZ0FsZ29yaXRobS5jcHAKQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lkIEdyaWRUcmFja1Npemlu
Z0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcygpCiAKICAgICBW
ZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKICAgICBm
b3IgKGF1dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFTU0VSVCghdHJhY2suaW5m
aW5pdGVHcm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVChtX3N0cmF0ZWd5LT5pc0Nv
bXB1dGluZ1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0ZUdyb3d0aFBvdGVudGlh
bCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5iYXNlU2l6ZSgpOwotICAg
ICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0KCk7CisgICAgICAgIG1f
bWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmluaXRlKCkgPyB0cmFjay5i
YXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAgLy8gVGhlIGdyb3d0aCBs
aW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8gcHJvcGVybHkgc29ydAog
ICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBhbiBldmVudHVhbCAiTWF4
aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGltaXRDYXAoV1RGOjpudWxs
b3B0KTsKQEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBmaW5kVXNlZEZs
ZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgsIEdy
aWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNlKSBj
b25zdCBvdmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4RnJhY3Rpb25JZk5lZWRl
ZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxHcm93dGgpIGNvbnN0IG92
ZXJyaWRlOwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVw
KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCpyZW5k
ZXJHcmlkKCkpOyB9CiB9OwogCiB2b2lkIEluZGVmaW5pdGVTaXplU3RyYXRlZ3k6OmxheW91dEdy
aWRJdGVtRm9yTWluU2l6ZUNvbXB1dGF0aW9uKFJlbmRlckJveCYgY2hpbGQsIGJvb2wgb3ZlcnJp
ZGVTaXplSGFzQ2hhbmdlZCkgY29uc3QKQEAgLTEwMzAsNiArMTAzMSw3IEBAIHByaXZhdGU6CiAg
ICAgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdCBv
dmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGlsZChSZW5kZXJCb3gmKSBj
b25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxTaXplRm9yQ2hpbGQoUmVu
ZGVyQm94JiwgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUsIE9wdGlvbmFsPExheW91dFVuaXQ+
IGF2YWlsYWJsZVNpemUpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNDb21wdXRpbmdTaXpl
Q29udGFpbm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogfTsKIAogTGF5
b3V0VW5pdCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1Ry
YWNrc1N0ZXAoKSBjb25zdApAQCAtMTE0NiwzNyArMTE0OCwzOSBAQCB2b2lkIEdyaWRUcmFja1Np
emluZ0FsZ29yaXRobTo6aW5pdGlhbGl6ZVRyYWNrU2l6ZXMoKQogCiB2b2lkIEdyaWRUcmFja1Np
emluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMoKQogewotICAgIFZlY3Rv
cjxHcmlkSXRlbVdpdGhTcGFuPiBpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW47Ci0gICAgSGFz
aFNldDxSZW5kZXJCb3gqPiBpdGVtc1NldDsKICAgICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJh
Y2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKLSAgICBpZiAobV9ncmlkLmhhc0dyaWRJdGVtcygp
KSB7Ci0gICAgICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJ
bmRleCkgewotICAgICAgICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgbV9kaXJl
Y3Rpb24sIHRyYWNrSW5kZXgpOwotICAgICAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9IGFsbFRy
YWNrc1t0cmFja0luZGV4XTsKLQotICAgICAgICAgICAgd2hpbGUgKGF1dG8qIGdyaWRJdGVtID0g
aXRlcmF0b3IubmV4dEdyaWRJdGVtKCkpIHsKLSAgICAgICAgICAgICAgICBpZiAoaXRlbXNTZXQu
YWRkKGdyaWRJdGVtKS5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAgICAgICAgIGNvbnN0IEdy
aWRTcGFuJiBzcGFuID0gbV9ncmlkLmdyaWRJdGVtU3BhbigqZ3JpZEl0ZW0sIG1fZGlyZWN0aW9u
KTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW4uaW50ZWdlclNwYW4oKSA9PSAxKQotICAg
ICAgICAgICAgICAgICAgICAgICAgc2l6ZVRyYWNrVG9GaXROb25TcGFubmluZ0l0ZW0oc3Bhbiwg
KmdyaWRJdGVtLCB0cmFjayk7Ci0gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzcGFubmlu
Z0l0ZW1Dcm9zc2VzRmxleGlibGVTaXplZFRyYWNrcyhzcGFuKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5hcHBlbmQoR3JpZEl0ZW1XaXRoU3Bh
bigqZ3JpZEl0ZW0sIHNwYW4pKTsKKyAgICBpZiAoIW1fc3RyYXRlZ3ktPmlzQ29tcHV0aW5nU2l6
ZUNvbnRhaW5tZW50KCkpIHsKKyAgICAgICAgVmVjdG9yPEdyaWRJdGVtV2l0aFNwYW4+IGl0ZW1z
U29ydGVkQnlJbmNyZWFzaW5nU3BhbjsKKyAgICAgICAgSGFzaFNldDxSZW5kZXJCb3gqPiBpdGVt
c1NldDsKKyAgICAgICAgaWYgKG1fZ3JpZC5oYXNHcmlkSXRlbXMoKSkgeworICAgICAgICAgICAg
Zm9yIChhdXRvIHRyYWNrSW5kZXggOiBtX2NvbnRlbnRTaXplZFRyYWNrc0luZGV4KSB7CisgICAg
ICAgICAgICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9yKG1fZ3JpZCwgbV9kaXJlY3Rpb24sIHRy
YWNrSW5kZXgpOworICAgICAgICAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSBhbGxUcmFja3Nb
dHJhY2tJbmRleF07CisKKyAgICAgICAgICAgICAgICB3aGlsZSAoYXV0byogZ3JpZEl0ZW0gPSBp
dGVyYXRvci5uZXh0R3JpZEl0ZW0oKSkgeworICAgICAgICAgICAgICAgICAgICBpZiAoaXRlbXNT
ZXQuYWRkKGdyaWRJdGVtKS5pc05ld0VudHJ5KSB7CisgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBHcmlkU3BhbiYgc3BhbiA9IG1fZ3JpZC5ncmlkSXRlbVNwYW4oKmdyaWRJdGVtLCBtX2Rp
cmVjdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3Bhbi5pbnRlZ2VyU3Bhbigp
ID09IDEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZVRyYWNrVG9GaXROb25TcGFu
bmluZ0l0ZW0oc3BhbiwgKmdyaWRJdGVtLCB0cmFjayk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBlbHNlIGlmICghc3Bhbm5pbmdJdGVtQ3Jvc3Nlc0ZsZXhpYmxlU2l6ZWRUcmFja3Moc3Bhbikp
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFu
LmFwcGVuZChHcmlkSXRlbVdpdGhTcGFuKCpncmlkSXRlbSwgc3BhbikpOworICAgICAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQorICAgICAgICAgICAg
c3RkOjpzb3J0KGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5iZWdpbigpLCBpdGVtc1NvcnRl
ZEJ5SW5jcmVhc2luZ1NwYW4uZW5kKCkpOwogICAgICAgICB9Ci0gICAgICAgIHN0ZDo6c29ydChp
dGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYmVnaW4oKSwgaXRlbXNTb3J0ZWRCeUluY3JlYXNp
bmdTcGFuLmVuZCgpKTsKLSAgICB9CiAKLSAgICBhdXRvIGl0ID0gaXRlbXNTb3J0ZWRCeUluY3Jl
YXNpbmdTcGFuLmJlZ2luKCk7Ci0gICAgYXV0byBlbmQgPSBpdGVtc1NvcnRlZEJ5SW5jcmVhc2lu
Z1NwYW4uZW5kKCk7Ci0gICAgd2hpbGUgKGl0ICE9IGVuZCkgewotICAgICAgICBHcmlkSXRlbXNT
cGFuR3JvdXBSYW5nZSBzcGFuR3JvdXBSYW5nZSA9IHsgaXQsIHN0ZDo6dXBwZXJfYm91bmQoaXQs
IGVuZCwgKml0KSB9OwotICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5n
SXRlbXM8UmVzb2x2ZUludHJpbnNpY01pbmltdW1zPihzcGFuR3JvdXBSYW5nZSk7Ci0gICAgICAg
IGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlQ29udGVudEJh
c2VkTWluaW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNj
b21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50TWluaW11bXM+KHNwYW5Hcm91
cFJhbmdlKTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1z
PFJlc29sdmVJbnRyaW5zaWNNYXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpbmNy
ZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZU1heENvbnRlbnRNYXhp
bXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpdCA9IHNwYW5Hcm91cFJhbmdlLnJhbmdl
RW5kOworICAgICAgICBhdXRvIGl0ID0gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmJlZ2lu
KCk7CisgICAgICAgIGF1dG8gZW5kID0gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuLmVuZCgp
OworICAgICAgICB3aGlsZSAoaXQgIT0gZW5kKSB7CisgICAgICAgICAgICBHcmlkSXRlbXNTcGFu
R3JvdXBSYW5nZSBzcGFuR3JvdXBSYW5nZSA9IHsgaXQsIHN0ZDo6dXBwZXJfYm91bmQoaXQsIGVu
ZCwgKml0KSB9OworICAgICAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmlu
Z0l0ZW1zPFJlc29sdmVJbnRyaW5zaWNNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAg
ICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVDb250
ZW50QmFzZWRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAgaW5jcmVhc2VT
aXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVNYXhDb250ZW50TWluaW11bXM+
KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRl
U3Bhbm5pbmdJdGVtczxSZXNvbHZlSW50cmluc2ljTWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsK
KyAgICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNv
bHZlTWF4Q29udGVudE1heGltdW1zPihzcGFuR3JvdXBSYW5nZSk7CisgICAgICAgICAgICBpdCA9
IHNwYW5Hcm91cFJhbmdlLnJhbmdlRW5kOworICAgICAgICB9CiAgICAgfQogCiAgICAgZm9yIChh
dXRvIHRyYWNrSW5kZXggOiBtX2NvbnRlbnRTaXplZFRyYWNrc0luZGV4KSB7CkBAIC0xMjM5LDcg
KzEyNDMsOCBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6YWR2YW5jZU5leHRTdGF0
ZSgpCiAgICAgICAgIG1fc2l6aW5nU3RhdGUgPSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbjsKICAg
ICAgICAgcmV0dXJuOwogICAgIGNhc2UgUm93U2l6aW5nRmlyc3RJdGVyYXRpb246Ci0gICAgICAg
IG1fc2l6aW5nU3RhdGUgPSBDb2x1bW5TaXppbmdTZWNvbmRJdGVyYXRpb247CisgICAgICAgIGlm
ICghbV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgICAg
IG1fc2l6aW5nU3RhdGUgPSBDb2x1bW5TaXppbmdTZWNvbmRJdGVyYXRpb247CiAgICAgICAgIHJl
dHVybjsKICAgICBjYXNlIENvbHVtblNpemluZ1NlY29uZEl0ZXJhdGlvbjoKICAgICAgICAgbV9z
aXppbmdTdGF0ZSA9IFJvd1NpemluZ1NlY29uZEl0ZXJhdGlvbjsKQEAgLTEzNDYsNiArMTM1MSw4
IEBAIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpydW4oKQogCiAgICAgLy8gU3RlcCAz
LgogICAgIG1fc3RyYXRlZ3ktPm1heGltaXplVHJhY2tzKHRyYWNrcyhtX2RpcmVjdGlvbiksIG1f
ZGlyZWN0aW9uID09IEZvckNvbHVtbnMgPyBtX2ZyZWVTcGFjZUNvbHVtbnMgOiBtX2ZyZWVTcGFj
ZVJvd3MpOworICAgIGlmIChtX3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgp
KQorICAgICAgICByZXR1cm47CiAKICAgICAvLyBTdGVwIDQuCiAgICAgc3RyZXRjaEZsZXhpYmxl
VHJhY2tzKGluaXRpYWxGcmVlU3BhY2UpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCmluZGV4IDAzMTEyNWRhOWJmZGI1ODhhOWE5
MTk2MWEzYjE1MjhlOTg3ZjQxNjIuLjI5NzMzMzI0YjQ4OTk3MDU5ODJlZTAwZGE4YmY2NmRmMzJl
NDdjN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtLmgKQEAgLTI2MSw2ICsyNjEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBk
b3VibGUgZmluZFVzZWRGbGV4RnJhY3Rpb24oVmVjdG9yPHVuc2lnbmVkPiYgZmxleGlibGVTaXpl
ZFRyYWNrc0luZGV4LCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIE9wdGlvbmFsPExheW91dFVu
aXQ+IGluaXRpYWxGcmVlU3BhY2UpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVjb21w
dXRlVXNlZEZsZXhGcmFjdGlvbklmTmVlZGVkKGRvdWJsZSYgZmxleEZyYWN0aW9uLCBMYXlvdXRV
bml0JiB0b3RhbEdyb3d0aCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBmcmVl
U3BhY2VGb3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBi
b29sIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6
CiAgICAgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3koR3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtJiBhbGdvcml0aG0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNw
cAppbmRleCAxMTIwMmI5MTRjNjg4ODAxMDZhM2E5NTNhZWUzZmM1NjcxNDJkMWRkLi5iZjMzYmI3
M2UxYWU3Mjk5YTI0NWI2MGE2Y2VhMmQxMDdmYTFlYzcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTEwNzMsNiArMTA3Myw5IEBAIHZvaWQgUmVuZGVyQmxv
Y2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3QoUmVuZGVyQm94JiByLCBib29sIHJlbGF5b3V0Q2hp
bGRyZW4sIGJvCiAgICAgICAgIHIuc2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKICAgICAg
ICAgci5sYXlvdXRJZk5lZWRlZCgpOwogICAgIH0KKyAgICAKKyAgICBpZiAodmlldygpLmZyYW1l
VmlldygpLmxheW91dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpLT5pc1BhZ2luYXRlZCgpICYmIGlz
PFJlbmRlckJsb2NrRmxvdz4oKnRoaXMpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJCbG9ja0Zs
b3c+KCp0aGlzKS5hZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24ociwgci5s
b2dpY2FsVG9wKCkpOwogfQogCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2Jq
ZWN0cyhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5
KQpAQCAtMjI4Miw4ICsyMjg1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6b2Zmc2V0Rm9yQ29udGVu
dHMoTGF5b3V0UG9pbnQmIG9mZnNldCkgY29uc3QKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJ
bnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0
VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewogICAgIEFTU0VSVCghY2hpbGRyZW5Jbmxp
bmUoKSk7Ci0gICAgCi0gICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5M
b2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgqdGhpcykpCisgICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxX
aWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCiAgICAgbWF4TG9naWNh
bFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDAzZTQ0
NzA4YzgyODAwNDhhOTE4Mzc3OGY0MmY4YjZlNWVkMmQwYmYuLjk2NGM1Y2IxY2FjMDFjZTAwZTIx
OWUxNjI1YjA5ZDdiMGExOWJmY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuY3BwCkBAIC0zMzksMTAgKzMzOSwxMiBAQCB2b2lkIFJlbmRlckJsb2NrRmxv
dzo6YWRqdXN0SW50cmluc2ljTG9naWNhbFdpZHRoc0ZvckNvbHVtbnMoTGF5b3V0VW5pdCYgbWlu
TG9naQogCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0
aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lk
dGgpIGNvbnN0CiB7Ci0gICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCi0gICAgICAgIGNvbXB1dGVJ
bmxpbmVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdp
ZHRoKTsKLSAgICBlbHNlCi0gICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0
aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIGlmICghc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKSB7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgp
KQorICAgICAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9n
aWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBj
b21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9n
aWNhbFdpZHRoKTsKKyAgICB9CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5M
b2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKQEAgLTE2NjIsNiArMTY2NCw5IEBAIExh
eW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RCbG9ja0NoaWxkRm9yUGFnaW5hdGlvbihM
YXlvdXRVbml0IGxvZ2ljYWxUb3BBCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoY2hpbGQpKQorICAgICAgICBhZGp1c3RTaXplQ29udGFpbm1l
bnRDaGlsZEZvclBhZ2luYXRpb24oY2hpbGQsIHJlc3VsdCk7CisKICAgICAvLyBGb3IgcmVwbGFj
ZWQgZWxlbWVudHMgYW5kIHNjcm9sbGVkIGVsZW1lbnRzLCB3ZSB3YW50IHRvIHNoaWZ0IHRoZW0g
dG8gdGhlIG5leHQgcGFnZSBpZiB0aGV5IGRvbid0IGZpdCBvbiB0aGUgY3VycmVudCBvbmUuCiAg
ICAgTGF5b3V0VW5pdCBsb2dpY2FsVG9wQmVmb3JlVW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9IHJl
c3VsdDsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BBZnRlclVuc3BsaXR0YWJsZUFkanVzdG1l
bnQgPSBhZGp1c3RGb3JVbnNwbGl0dGFibGVDaGlsZChjaGlsZCwgcmVzdWx0KTsKQEAgLTIwNDcs
NiArMjA1MiwyNCBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6bG9naWNhbEhlaWdodEZv
ckNoaWxkRm9yRnJhZ21lbnRhdGlvbihjb25zdCBSZW5kZXJCbwogICAgIHJldHVybiBsb2dpY2Fs
SGVpZ2h0Rm9yQ2hpbGQoY2hpbGQpOwogfQogCit2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0
U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91
dFVuaXQgb2Zmc2V0KQoreworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY2hp
bGQpKQorICAgICAgICByZXR1cm47CisKKyAgICBMYXlvdXRVbml0IGNoaWxkT3ZlcmZsb3dIZWln
aHQgPSBjaGlsZC5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY2hpbGQubGF5b3V0T3ZlcmZs
b3dSZWN0KCkubWF4WSgpIDogY2hpbGQubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WCgpOworICAg
IExheW91dFVuaXQgY2hpbGRMb2dpY2FsSGVpZ2h0ID0gc3RkOjptYXgoY2hpbGQubG9naWNhbEhl
aWdodCgpLCBjaGlsZE92ZXJmbG93SGVpZ2h0KTsKKworICAgIExheW91dFVuaXQgcmVtYWluaW5n
TG9naWNhbEhlaWdodCA9IHBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9mZnNl
dCwgRXhjbHVkZVBhZ2VCb3VuZGFyeSk7CisKKyAgICBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2Ug
PSBjaGlsZExvZ2ljYWxIZWlnaHQgLSByZW1haW5pbmdMb2dpY2FsSGVpZ2h0OworICAgIGlmIChz
cGFjZVNob3J0YWdlIDw9IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChSZW5kZXJGcmFn
bWVudGVkRmxvdyogZnJhZ21lbnRlZEZsb3cgPSBlbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpKQor
ICAgICAgICBmcmFnbWVudGVkRmxvdy0+dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlu
bWVudCh0aGlzLCBvZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBvZmZzZXQsIHNw
YWNlU2hvcnRhZ2UpOworfQorCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TGluZUdyaWRC
b3goKQogewogICAgIGlmIChzdHlsZSgpLmxpbmVHcmlkKCkgPT0gUmVuZGVyU3R5bGU6OmluaXRp
YWxMaW5lR3JpZCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmgKaW5kZXggNDQ5ODU5ZDM4ODYwYTAzYTUyZGZkZWJmZTcwODZkYjVmZGNkNTEwMC4uYzdjOTQ2
YmFmZDgxNWE0NzRkNzIzODhiNzdlMjIzODlmNDQ2Y2NjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApAQCAtMzk4LDYgKzM5OCw4IEBAIHB1YmxpYzoKICAg
ICAvLyBjb2x1bW4gYmFsYW5jZXIgdG8gaGVscCBzZXQgYSBnb29kIG1pbmltdW0gY29sdW1uIGhl
aWdodC4KICAgICB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KExheW91dFVuaXQgb2Zmc2V0
LCBMYXlvdXRVbml0IG1pbkhlaWdodCk7CiAKKyAgICB2b2lkIGFkanVzdFNpemVDb250YWlubWVu
dENoaWxkRm9yUGFnaW5hdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IG9mZnNldCk7
CisKICAgICB2b2lkIGFkZEZsb2F0c1RvTmV3UGFyZW50KFJlbmRlckJsb2NrRmxvdyYgdG9CbG9j
a0Zsb3cpIGNvbnN0OwogICAgIAogICAgIExheW91dFVuaXQgZW5kUGFkZGluZ1dpZHRoRm9yQ2Fy
ZXQoKSBjb25zdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMTky
NDQwYjMzODgwOGEwM2VmMThjMTg5NjE2ZGU5YTliYmZlYmRlZC4uZTk4ZjBjMWU0YTRhNmI3OGEy
ZGRlZWMwNzc3YzBlNmRkOTk3ZWRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKQEAgLTI4NzYsNiArMjg3NiwxMiBAQCB2b2lkIFJlbmRlckJveDo6Y2FjaGVJbnRyaW5z
aWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKExheW91dFVuaXQgaGVpZ2h0KQogCiB2
b2lkIFJlbmRlckJveDo6dXBkYXRlTG9naWNhbEhlaWdodCgpCiB7CisgICAgaWYgKHNob3VsZEFw
cGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSAmJiAhaXNSZW5kZXJHcmlkKCkpIHsKKyAgICAgICAg
Ly8gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQgY29udGFpbnMgaW50cmluc2ljQm9yZGVy
Rm9yRmllbGRzZXQoKSB3aGljaCBhZGQgZXh0cmEgYm9yZGVyIGZvciBmaWVsZHNldCwgc28gd2Ug
Y2FuJ3QgdXNlIGl0IGRpcmVjdGx5LgorICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGluZyA9IFJl
bmRlckJveDo6Ym9yZGVyQmVmb3JlKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdCZWZvcmUoKSArIFJl
bmRlckJveDo6Ym9yZGVyQWZ0ZXIoKSArIFJlbmRlckJveDo6cGFkZGluZ0FmdGVyKCk7CisgICAg
ICAgIHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkaW5nICsgc2Nyb2xsYmFyTG9naWNhbEhl
aWdodCgpKTsKKyAgICB9CisKICAgICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0
Rm9yRmxleEl0ZW0oY29udGVudExvZ2ljYWxIZWlnaHQoKSk7CiAgICAgYXV0byBjb21wdXRlZFZh
bHVlcyA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSwgbG9naWNhbFRvcCgp
KTsKICAgICBzZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKQEAgLTQ4
NTcsNyArNDg2Myw4IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRp
b24oKSBjb25zdAogICAgIHJldHVybiBpc1JlcGxhY2VkKCkKICAgICAgICAgfHwgaGFzVW5zcGxp
dHRhYmxlU2Nyb2xsaW5nT3ZlcmZsb3coKQogICAgICAgICB8fCAocGFyZW50KCkgJiYgaXNXcml0
aW5nTW9kZVJvb3QoKSkKLSAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxl
VHlwZSgpID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJE
cm9wKCkgPiAwKTsKKyAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlw
ZSgpID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9w
KCkgPiAwKQorICAgICAgICB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcyk7CiB9
CiAKIExheW91dFVuaXQgUmVuZGVyQm94OjpsaW5lSGVpZ2h0KGJvb2wgLypmaXJzdExpbmUqLywg
TGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2RlIC8qbGluZVBvc2l0
aW9uTW9kZSovKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAppbmRleCA0ZjJkMWYzZGIxYjc5MDM1NGZm
YzY4NTlmYzNiZDcyNzc2MmZlMThlLi5jZWQwOGM3MDdkMWQ2ODViNTE5OTI1YTc2OWYyYzVkYzQz
YTE4NzE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcApAQCAtMTg3LDI2ICsxODcsMjggQEAgdm9pZCBSZW5k
ZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2Ug
ZGlmZiwgY29uc3QgUmUKIAogdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1
dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5
b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChoYXNNdWx0aXBsZUxp
bmVzKCkgfHwgaXNWZXJ0aWNhbCgpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9
IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkp
IHsKLSAgICAgICAgICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGls
ZCkpCi0gICAgICAgICAgICAgICAgY29udGludWU7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBp
c1ZlcnRpY2FsKCkpIHsKKyAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0
Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hpbGQp
KQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgTGF5b3V0VW5p
dCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKLSAgICAgICAgICAgIExheW91
dFVuaXQgd2lkdGggPSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47
Ci0gICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgbWluTG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRo
Rm9yQ2hpbGQoY2hpbGQpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQgd2lkdGggPSBjaGls
ZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAgICAg
bWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7CiAKLSAg
ICAgICAgICAgIHdpZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFy
Z2luOwotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1heExv
Z2ljYWxXaWR0aCk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBmb3IgKFJlbmRl
ckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0
U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhP
ckZsZXhpbmcoY2hpbGQpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIHdpZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOwor
ICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBtYXhMb2dp
Y2FsV2lkdGgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Zm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBj
aGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChjaGlsZERvZXNO
b3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAgICAgIGNvbnRp
bnVlOwogCi0gICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9yQ2hp
bGQoY2hpbGQpOwotICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGNoaWxkLT5taW5QcmVm
ZXJyZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0
aCArPSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAg
ICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsK
KyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gY2hpbGQtPm1pblByZWZlcnJlZExv
Z2ljYWxXaWR0aCgpICsgbWFyZ2luOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCAr
PSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAg
ICB9CiAgICAgICAgIH0KICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCmluZGV4IDNkMTIzYzU0YjU2NGRhNTA0MTdi
NGMwNzg5NzI5ZjM5ZTMzYjE1ZGEuLjg3ODVmMjI5OWM4MGQzOTQ2ZThmZmQyMTY2MmQwMjkyMTk0
NjMxZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBs
b2FkQ29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmNwcApAQCAtMTk3LDYgKzE5Nyw4IEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2w6OnBhaW50T2JqZWN0KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQ
b2luCiAKIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9n
aWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgq
dGhpcykpCisgICAgICAgIHJldHVybjsKICAgICAvLyBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIGZp
bGVuYW1lIHNwYWNlIG5lZWRzIHRvIGJlIGZvciBhIGdpdmVuIG51bWJlciBvZiBjaGFyYWN0ZXJz
CiAgICAgLy8gKHVzaW5nICIwIiBhcyB0aGUgbm9taW5hbCBjaGFyYWN0ZXIpLgogICAgIGNvbnN0
IFVDaGFyIGNoYXJhY3RlciA9ICcwJzsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guY3BwCmluZGV4IGRiODMyYTViMmVmMGU1NGRjMTI4ZTVhMTc1YjY5MTEw
M2MwZmE2OGQuLjg2MWFjZDVkMDhmYzA5NGEyYTUzZmZlOWVjM2Q1YWZlZjY5ZTcyNmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcApAQCAtODMs
NjAgKzgzLDYyIEBAIGNvbnN0IGNoYXIqIFJlbmRlckZsZXhpYmxlQm94OjpyZW5kZXJOYW1lKCkg
Y29uc3QKIAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxX
aWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2Fs
V2lkdGgpIGNvbnN0CiB7Ci0gICAgTGF5b3V0VW5pdCBjaGlsZE1pbldpZHRoOwotICAgIExheW91
dFVuaXQgY2hpbGRNYXhXaWR0aDsKLSAgICBib29sIGhhZEV4Y2x1ZGVkQ2hpbGRyZW4gPSBjb21w
dXRlUHJlZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJlbihjaGlsZE1pbldpZHRoLCBjaGls
ZE1heFdpZHRoKTsKLQotICAgIC8vIEZJWE1FOiBXZSdyZSBpZ25vcmluZyBmbGV4LWJhc2lzIGhl
cmUgYW5kIHdlIHNob3VsZG4ndC4gV2UgY2FuJ3Qgc3RhcnQKLSAgICAvLyBob25vcmluZyBpdCB0
aG91Z2ggdW50aWwgdGhlIGZsZXggc2hvcnRoYW5kIHN0b3BzIHNldHRpbmcgaXQgdG8gMC4gU2Vl
Ci0gICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNjExNyBh
bmQKLSAgICAvLyBodHRwczovL2NyYnVnLmNvbS8yNDA3NjUuCi0gICAgc2l6ZV90IG51bUl0ZW1z
V2l0aE5vcm1hbExheW91dCA9IDA7Ci0gICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RD
aGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewotICAg
ICAgICBpZiAoY2hpbGQtPmlzT3V0T2ZGbG93UG9zaXRpb25lZCgpIHx8IGNoaWxkLT5pc0V4Y2x1
ZGVkRnJvbU5vcm1hbExheW91dCgpKQotICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICsr
bnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0OworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKnRoaXMpKSB7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRNaW5XaWR0aDsKKyAgICAg
ICAgTGF5b3V0VW5pdCBjaGlsZE1heFdpZHRoOworICAgICAgICBib29sIGhhZEV4Y2x1ZGVkQ2hp
bGRyZW4gPSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJlbihjaGlsZE1p
bldpZHRoLCBjaGlsZE1heFdpZHRoKTsKKworICAgICAgICAvLyBGSVhNRTogV2UncmUgaWdub3Jp
bmcgZmxleC1iYXNpcyBoZXJlIGFuZCB3ZSBzaG91bGRuJ3QuIFdlIGNhbid0IHN0YXJ0CisgICAg
ICAgIC8vIGhvbm9yaW5nIGl0IHRob3VnaCB1bnRpbCB0aGUgZmxleCBzaG9ydGhhbmQgc3RvcHMg
c2V0dGluZyBpdCB0byAwLiBTZWUKKyAgICAgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExNjExNyBhbmQKKyAgICAgICAgLy8gaHR0cHM6Ly9jcmJ1Zy5jb20v
MjQwNzY1LgorICAgICAgICBzaXplX3QgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID0gMDsKKyAg
ICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hp
bGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgaWYgKGNoaWxkLT5p
c091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGlsZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlv
dXQoKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICsrbnVtSXRlbXNX
aXRoTm9ybWFsTGF5b3V0OwogCi0gICAgICAgIExheW91dFVuaXQgbWFyZ2luID0gbWFyZ2luSW50
cmluc2ljTG9naWNhbFdpZHRoRm9yQ2hpbGQoKmNoaWxkKTsKLSAgICAgICAgCi0gICAgICAgIExh
eW91dFVuaXQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICBMYXlvdXRVbml0IG1h
eFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgY29tcHV0ZUNoaWxkUHJlZmVycmVkTG9n
aWNhbFdpZHRocygqY2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4UHJlZmVycmVk
TG9naWNhbFdpZHRoKTsKLSAgICAgICAgCi0gICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCArPSBtYXJnaW47Ci0gICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47
Ci0KLSAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSkgewotICAgICAgICAgICAgbWF4TG9naWNh
bFdpZHRoICs9IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgICAgIGlmIChpc011
bHRpbGluZSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRm9yIG11bHRpbGluZSwgdGhlIG1pbiBw
cmVmZXJyZWQgd2lkdGggaXMgaWYgeW91IHB1dCBhIGJyZWFrIGJldHdlZW4KLSAgICAgICAgICAg
ICAgICAvLyBlYWNoIGl0ZW0uCi0gICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobWluTG9naWNhbFdpZHRoLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgpOwotICAgICAg
ICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IG1pblByZWZl
cnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIG1pbkxvZ2lj
YWxXaWR0aCA9IHN0ZDo6bWF4KG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWluTG9naWNhbFdp
ZHRoKTsKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heFByZWZlcnJl
ZExvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAgICAgIExheW91dFVuaXQg
bWFyZ2luID0gbWFyZ2luSW50cmluc2ljTG9naWNhbFdpZHRoRm9yQ2hpbGQoKmNoaWxkKTsKKyAg
ICAgICAgICAgIAorICAgICAgICAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGg7CisgICAgICAgICAgICBMYXlvdXRVbml0IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAg
ICAgICAgICAgIGNvbXB1dGVDaGlsZFByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKmNoaWxkLCBtaW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7CisgICAgICAg
ICAgICAKKyAgICAgICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47Cisg
ICAgICAgICAgICBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGggKz0gbWFyZ2luOworCisgICAgICAg
ICAgICBpZiAoIWlzQ29sdW1uRmxvdygpKSB7CisgICAgICAgICAgICAgICAgbWF4TG9naWNhbFdp
ZHRoICs9IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgICAgICBpZiAoaXNN
dWx0aWxpbmUoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBGb3IgbXVsdGlsaW5lLCB0aGUg
bWluIHByZWZlcnJlZCB3aWR0aCBpcyBpZiB5b3UgcHV0IGEgYnJlYWsgYmV0d2VlbgorICAgICAg
ICAgICAgICAgICAgICAvLyBlYWNoIGl0ZW0uCisgICAgICAgICAgICAgICAgICAgIG1pbkxvZ2lj
YWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbWluTG9n
aWNhbFdpZHRoICs9IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIH0gZWxz
ZSB7CisgICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluUHJlZmVy
cmVkTG9naWNhbFdpZHRoLCBtaW5Mb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIG1heExv
Z2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4TG9naWNh
bFdpZHRoKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgIH0KIAotICAgIGlmICghaXND
b2x1bW5GbG93KCkgJiYgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID4gMSkgewotICAgICAgICBM
YXlvdXRVbml0IGlubGluZUdhcFNpemUgPSAobnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0IC0gMSkg
KiBjb21wdXRlR2FwKEdhcFR5cGU6OkJldHdlZW5JdGVtcyk7Ci0gICAgICAgIG1heExvZ2ljYWxX
aWR0aCArPSBpbmxpbmVHYXBTaXplOwotICAgICAgICBpZiAoIWlzTXVsdGlsaW5lKCkpCi0gICAg
ICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKLSAgICB9CisgICAgICAg
IGlmICghaXNDb2x1bW5GbG93KCkgJiYgbnVtSXRlbXNXaXRoTm9ybWFsTGF5b3V0ID4gMSkgewor
ICAgICAgICAgICAgTGF5b3V0VW5pdCBpbmxpbmVHYXBTaXplID0gKG51bUl0ZW1zV2l0aE5vcm1h
bExheW91dCAtIDEpICogY29tcHV0ZUdhcChHYXBUeXBlOjpCZXR3ZWVuSXRlbXMpOworICAgICAg
ICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7CisgICAgICAgICAgICBpZiAo
IWlzTXVsdGlsaW5lKCkpCisgICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGlubGlu
ZUdhcFNpemU7CisgICAgICAgIH0KIAotICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1p
bkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLSAgICAKLSAgICAvLyBEdWUgdG8gbmVn
YXRpdmUgbWFyZ2lucywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBjYWxjdWxhdGVkIGEgbmVnYXRp
dmUKLSAgICAvLyBpbnRyaW5zaWMgd2lkdGguIE1ha2Ugc3VyZSB0aGF0IHdlIG5ldmVyIHJldHVy
biBhIG5lZ2F0aXZlIHdpZHRoLgotICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KDBfbHUs
IG1pbkxvZ2ljYWxXaWR0aCk7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgoMF9sdSwg
bWF4TG9naWNhbFdpZHRoKTsKLSAgICAKLSAgICBpZiAoaGFkRXhjbHVkZWRDaGlsZHJlbikgewot
ICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIGNoaWxk
TWluV2lkdGgpOwotICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhMb2dpY2Fs
V2lkdGgsIGNoaWxkTWF4V2lkdGgpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1h
eChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgIAorICAgICAgICAv
LyBEdWUgdG8gbmVnYXRpdmUgbWFyZ2lucywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBjYWxjdWxh
dGVkIGEgbmVnYXRpdmUKKyAgICAgICAgLy8gaW50cmluc2ljIHdpZHRoLiBNYWtlIHN1cmUgdGhh
dCB3ZSBuZXZlciByZXR1cm4gYSBuZWdhdGl2ZSB3aWR0aC4KKyAgICAgICAgbWluTG9naWNhbFdp
ZHRoID0gc3RkOjptYXgoMF9sdSwgbWluTG9naWNhbFdpZHRoKTsKKyAgICAgICAgbWF4TG9naWNh
bFdpZHRoID0gc3RkOjptYXgoMF9sdSwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAgCisgICAg
ICAgIGlmIChoYWRFeGNsdWRlZENoaWxkcmVuKSB7CisgICAgICAgICAgICBtaW5Mb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIGNoaWxkTWluV2lkdGgpOworICAgICAgICAg
ICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWF4TG9naWNhbFdpZHRoLCBjaGlsZE1heFdp
ZHRoKTsKKyAgICAgICAgfQogICAgIH0KIAogICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgo
c2Nyb2xsYmFyTG9naWNhbFdpZHRoKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyRnJhZ21lbnRlZEZsb3cuaAppbmRleCBmYWNlYjE5NmQ5YmY3N2NkNjI4NTU0ZTMzNTEw
MDBlOTk4OTNhZDYzLi5iNzNiZTJiMWIwZTQ4MjdlZGFlNjAyN2FhNmUzNWZjYjE3MWQ2MzYxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaApA
QCAtMTAyLDYgKzEwMiw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZUJyZWFr
KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8q
c3BhY2VTaG9ydGFnZSovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VI
ZWlnaHQoY29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVu
aXQgLyptaW5IZWlnaHQqLykgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3BhY2VTaG9y
dGFnZUZvclNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgLypv
ZmZzZXQqLywgTGF5b3V0VW5pdCAvKnNob3J0YWdlKi8pIHsgfQorCiAgICAgdmlydHVhbCBSZW5k
ZXJGcmFnbWVudENvbnRhaW5lciogZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJv
eCosIExheW91dFVuaXQsIGJvb2wgZXh0ZW5kTGFzdEZyYWdtZW50ID0gZmFsc2UpIGNvbnN0Owog
CiAgICAgYm9vbCBmcmFnbWVudHNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fZnJhZ21lbnRzSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGg7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmNwcAppbmRleCA2ZGNhZmExZTViMTg3Nzg5ZjMyOTk2OWEzZDhj
MzdlZTU4NjZkNWRjLi44NTI0ODVjOTY0ODdiOGY4MGRlOGYzMmZmMWQxNmY1NGU4ZDA0MDcwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0yNTAsMTEgKzI1MCwx
NyBAQCB2b2lkIFJlbmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwg
TGF5b3V0VW5pdCkKIAogICAgICAgICAvLyAyLSBOZXh0LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29y
aXRobSByZXNvbHZlcyB0aGUgc2l6ZXMgb2YgdGhlIGdyaWQgcm93cywKICAgICAgICAgLy8gdXNp
bmcgdGhlIGdyaWQgY29sdW1uIHNpemVzIGNhbGN1bGF0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAu
Ci0gICAgICAgIGlmICghaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KQorICAgICAgICBib29sIHNo
b3VsZFJlY29tcHV0ZUhlaWdodCA9IGZhbHNlOworICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9n
aWNhbEhlaWdodCkgewogICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JJbmRlZmluaXRl
U2l6ZShtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLCBGb3JSb3dzKTsKLSAgICAgICAgZWxzZQorICAg
ICAgICAgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAg
ICAgICAgICBzaG91bGRSZWNvbXB1dGVIZWlnaHQgPSB0cnVlOworICAgICAgICB9IGVsc2UKICAg
ICAgICAgICAgIGNvbXB1dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIGF2YWls
YWJsZUxvZ2ljYWxIZWlnaHQoRXhjbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcpKTsKICAgICAgICAg
TGF5b3V0VW5pdCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCA9IG1fdHJhY2tTaXppbmdBbGdvcml0
aG0uY29tcHV0ZVRyYWNrQmFzZWRTaXplKCkgKyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdo
dCgpICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOworICAgICAgICBpZiAoc2hvdWxkUmVjb21w
dXRlSGVpZ2h0KQorICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUo
Rm9yUm93cywgdHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpOworCiAgICAgICAgIHNldExvZ2ljYWxI
ZWlnaHQodHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQpOwogCiAgICAgICAgIExheW91dFVuaXQgb2xk
Q2xpZW50QWZ0ZXJFZGdlID0gY2xpZW50TG9naWNhbEJvdHRvbSgpOwpAQCAtNDU1LDYgKzQ2MSwx
MSBAQCB1bnNpZ25lZCBSZW5kZXJHcmlkOjpjb21wdXRlQXV0b1JlcGVhdFRyYWNrc0NvdW50KEdy
aWRUcmFja1NpemluZ0RpcmVjdGlvbiBkaXJlYwogewogICAgIEFTU0VSVCghYXZhaWxhYmxlU2l6
ZSB8fCBhdmFpbGFibGVTaXplLnZhbHVlKCkgIT0gLTEpOwogICAgIGJvb2wgaXNSb3dBeGlzID0g
ZGlyZWN0aW9uID09IEZvckNvbHVtbnM7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KCp0aGlzKQorICAgICAgICAmJiAoKGlzUm93QXhpcyAmJiBzdHlsZSgpLmdyaWRBdXRvUmVw
ZWF0Q29sdW1uc1R5cGUoKSA9PSBBdXRvUmVwZWF0VHlwZTo6Rml0KQorICAgICAgICAgICAgfHwg
KCFpc1Jvd0F4aXMgJiYgc3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJvd3NUeXBlKCkgPT0gQXV0b1Jl
cGVhdFR5cGU6OkZpdCkpKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIGNvbnN0IGF1dG8mIGF1
dG9SZXBlYXRUcmFja3MgPSBpc1Jvd0F4aXMgPyBzdHlsZSgpLmdyaWRBdXRvUmVwZWF0Q29sdW1u
cygpIDogc3R5bGUoKS5ncmlkQXV0b1JlcGVhdFJvd3MoKTsKICAgICB1bnNpZ25lZCBhdXRvUmVw
ZWF0VHJhY2tMaXN0TGVuZ3RoID0gYXV0b1JlcGVhdFRyYWNrcy5zaXplKCk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCmluZGV4IDc4MzAxZTYwYzkxNTE3ZTc0N2I5
YzhmMThkOGJiYmQ0NzhhNTc0OTEuLmNiY2MxMTExOTJlNGEzYjczMTEzZDc4YzJmNjhkMDBiN2Zh
MTljNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcApAQCAtODQ0
LDYgKzg0NCw3IEBAIHZvaWQgUmVuZGVySW1hZ2U6OmxheW91dFNoYWRvd0NvbnRlbnQoY29uc3Qg
TGF5b3V0U2l6ZSYgb2xkU2l6ZSkKIAogdm9pZCBSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNp
Y1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJp
bnNpY1JhdGlvKSBjb25zdAogeworICAgIEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKnRoaXMpKTsKICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5m
b3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAgLy8gT3VyIGlu
dHJpbnNpY1NpemUgaXMgZW1wdHkgaWYgd2UncmUgcmVuZGVyaW5nIGdlbmVyYXRlZCBpbWFnZXMg
d2l0aCByZWxhdGl2ZSB3aWR0aC9oZWlnaHQuIEZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGludHJpbnNp
YyBzaXplIHRvIHVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNw
cAppbmRleCAwZWRmMjZhN2M3N2Q3Y2IxOGEzOThjNTBkYjRiMjZjNjNmNzIyYmRiLi45ZGFkNTE3
MTA3OGZjNjIzZWQ4Y2IxYWYwYWM2NGNiY2E0M2VjOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBSZW5kZXJM
aXN0Qm94OjpzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpCiAKIHZvaWQgUmVuZGVyTGlzdEJveDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRo
LCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdp
ZHRoID0gbV9vcHRpb25zV2lkdGggKyAyICogb3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsOworICAg
IG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/IDIg
KiBvcHRpb25zU3BhY2luZ0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25z
U3BhY2luZ0hvcml6b250YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAgICAgbWF4TG9naWNhbFdp
ZHRoICs9IG1fdkJhci0+d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNl
bnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxp
c3QuY3BwCmluZGV4IGYzOTRiZDYzMzZlNDQ0ODIyN2YxNmFlOTk5NmRlNTVmMjRjY2Y4ZWQuLjc3
MzIzM2MxNGZjMjFiNGUyODJjMWIxOWYyNTRiZjE5ZmIyNTIxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcgKzMxNSw4IEBAIExheW91
dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYg
YWRkaXRpb25hbE9mZnNldCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBt
YXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgo
bV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSkgKyBt
X2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdodCgp
OworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlz
KSA/IHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSA6IHN0ZDo6bWF4KG1fb3B0
aW9uc1dpZHRoLCB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkpOworICAgIG1h
eExvZ2ljYWxXaWR0aCArPSBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxv
Y2stPnBhZGRpbmdSaWdodCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2VudE9y
Q2FsY3VsYXRlZCgpKQogICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lkdGg7
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZs
b3cuY3BwCmluZGV4IDYxODVlNDcyNjM4YmQ3OWVlZDEwYTUwOTdiYTY1NWIwODI2YzgzNmEuLmJk
YmU0YTcxNGQwYzZjN2E2M2RjY2M4MzU3MmJiMWY4NzA4ZTZhMGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCkBAIC0yMDMsNiAr
MjAzLDEyIEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVNaW5pbXVtUGFnZUhl
aWdodChjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIExhCiAgICAgICAgIG11bHRpY29sU2V0LT51
cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KG1pbkhlaWdodCk7CiB9CiAKK3ZvaWQgUmVuZGVyTXVs
dGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0
IFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRh
Z2UpCit7CisgICAgaWYgKGF1dG8qIG11bHRpY29sU2V0ID0gZG93bmNhc3Q8UmVuZGVyTXVsdGlD
b2x1bW5TZXQ+KGZyYWdtZW50QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0KSkpCisgICAgICAg
IG11bHRpY29sU2V0LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHNob3J0
YWdlKTsKK30KKwogUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11bHRpQ29sdW1uRmxv
dzo6ZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogYm94LCBMYXlvdXRVbml0
IG9mZnNldCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2lu
TGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1u
Rmxvdy5oCmluZGV4IDBjODM5MThmOGVkYjZkMjAxMjU4ZjkwMGEyYmUxOGQzOWYxM2U3NmQuLmVi
NmYwODg3OTQ1ODVlODI1NWRiN2MwYzg1ODhkMDJkYzFhNWVmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKQEAgLTEwOCw2ICsxMDgs
NyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxXaWR0aCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5
b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkgb3ZlcnJpZGU7CiAgICAg
dm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVu
aXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1cGRh
dGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5
b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIFJlbmRl
ckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94
KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Qgb3Zl
cnJpZGU7CiAgICAgdm9pZCBzZXRGcmFnbWVudFJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCYs
IFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKSBvdmVy
cmlkZTsKICAgICBib29sIGFkZEZvcmNlZEZyYWdtZW50QnJlYWsoY29uc3QgUmVuZGVyQmxvY2sq
LCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUsIExheW91
dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXggZDU1NmY3
ZDBlZTFhMjM1M2M1NjNiMzI2NzkxNTY5OGVlNGJhYzFlOS4uNjA3MmJiNTY2ZmRkMGRjMjUxMTFj
OWMzZmIyMjM0YzA4YTZhYWJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCkBAIC01MCw2ICs1MCw3IEBAIFJlbmRlck11bHRpQ29s
dW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldChSZW5kZXJGcmFnbWVudGVkRmxvdyYgZnJhZ21l
bnRlZEZsb3csCiAgICAgLCBtX21heENvbHVtbkhlaWdodChSZW5kZXJGcmFnbWVudGVkRmxvdzo6
bWF4TG9naWNhbEhlaWdodCgpKQogICAgICwgbV9taW5TcGFjZVNob3J0YWdlKFJlbmRlckZyYWdt
ZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5IZWln
aHQoMCkKKyAgICAsIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgwKQogewogfQog
CkBAIC0yMzUsMTUgKzIzNiwxNiBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0Ojpj
YWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0CiAgICAgICAgIHJldHVy
biBzdGQ6Om1heDxMYXlvdXRVbml0PihtX2NvbnRlbnRSdW5zW2luZGV4XS5jb2x1bW5Mb2dpY2Fs
SGVpZ2h0KHN0YXJ0T2Zmc2V0KSwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKICAgICB9CiAKKyAg
ICBMYXlvdXRVbml0IHNpemVDb250YWlubWVudFNob3J0YWdlID0gc3RkOjptYXg8TGF5b3V0VW5p
dD4oTGF5b3V0VW5pdCgpLCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOwogICAg
IGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewogICAgICAgICAv
LyBXaXRoIHRoZSBjdXJyZW50IGNvbHVtbiBoZWlnaHQsIHRoZSBjb250ZW50IGZpdHMgd2l0aG91
dCBjcmVhdGluZyBvdmVyZmxvd2luZyBjb2x1bW5zLiBXZSdyZSBkb25lLgotICAgICAgICByZXR1
cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1
bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsKICAgICB9CiAKICAgICBpZiAoZm9y
Y2VkQnJlYWtzQ291bnQoKSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAgLy8g
VG9vIG1hbnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJbml0
aWFsIGJhbGFuY2luZyBzaG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZlIHNldCBhIGdvb2Qg
aGVpZ2h0LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0gICAgICAgIHJldHVy
biBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVt
bkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAgIC8vIElmIHRo
ZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNoIGl0
IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEwIEBAIExheW91dFVu
aXQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5p
dGlhbCkgY29uc3QKICAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdlIHNo
b3VsZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VSVChtX21pblNwYWNl
U2hvcnRhZ2UgIT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSk7IC8v
IElmIHRoaXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAgICBpZiAobV9taW5T
cGFjZVNob3J0YWdlID09IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkp
Ci0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBTbyBiYWlsIG91dCBy
YXRoZXIgdGhhbiBsb29waW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVybiBtX2NvbXB1dGVk
Q29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNvIGJhaWwgb3V0IHJh
dGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBtX2NvbXB1dGVkQ29s
dW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9BZGQgPSBzdGQ6Om1h
eDxMYXlvdXRVbml0PihzaXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5TcGFjZVNob3J0YWdl
KTsKKyAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRkOwogfQogCiB2b2lk
IFJlbmRlck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBAIC0zNjUsNiArMzY4
LDggQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91dChib29sIGlu
aXRpYWwpCiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBoZWln
aHQuIENvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1fbWlu
aW11bUNvbHVtbkhlaWdodCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFp
bm1lbnQgPSAwOworCiAgICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZsb3cgdGhyZWFkIHBv
cnRpb24gaGVpZ2h0IHVudGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRMb2dpY2FsQm90dG9t
SW5GcmFnbWVudGVkRmxvdyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdodCgp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQu
aAppbmRleCBmNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5Li5jNDhhZTBh
NGM3NTg2NWE1M2ZhNTViZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiArODMsMTUgQEAgcHVi
bGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhlaWdo
dCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11bUNv
bHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBjb25z
dCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZvaWQgdXBkYXRlU3Bh
Y2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0YWdlKQorICAgIHsK
KyAgICAgICAgaWYgKG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA8PSAwKSB7Cisg
ICAgICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzaG9ydGFnZTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NwYWNlU2hvcnRhZ2VG
b3JTaXplQ29udGFpbm1lbnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFjZVNob3J0YWdlRm9y
U2l6ZUNvbnRhaW5tZW50KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3JjZWRCcmVha3NDb3Vu
dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAgICAgdm9pZCBjbGVh
ckZvcmNlZEJyZWFrcygpOwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBvZmZz
ZXRGcm9tRmlyc3RQYWdlKTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIExheW91
dFVuaXQgbV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxvd2Vk
LgogICAgIExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3QgYW1v
dXQgb2Ygc3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAgTGF5
b3V0VW5pdCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5pdCBtX3NwYWNlU2hv
cnRhZ2VGb3JTaXplQ29udGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFjZSB0aGF0IGtlZXBz
IHNpemUgY29udGFpbm1lbnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVuIG9mIGNvbnRlbnQg
d2l0aG91dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93IHRocmVhZCBwb3J0
aW9uIGJldHdlZW4gdHdvCiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3ZWVuIGZsb3cgdGhy
ZWFkIHN0YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBleHBsaWNpdCBicmVh
awpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCA0YjA2OTUy
MzgxNmQxZWE2YWJmN2ZmNzhhNDVjNjZkMzhlZTg0NzBiLi41ZThjZTEzYTY1OTYzNjM1ZTJiODli
MmQwNGYwYTYwNDFhNmFkMGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcApAQCAtMjQ0OCwzICsyNDQ4LDggQEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseUxh
eW91dENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIKIHsK
ICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc0xheW91dCgpICYmICghcmVuZGVy
ZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFy
ZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRl
cmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7
CisgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJl
ci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJl
bmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVy
ZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCA3YWYxMzRiMDY3YzA1NWRlOTZkNjIy
M2M4ZTU1NTc1ZDRjNTljOGFmLi5iZTJlMzVlY2MxYjQ5ODQ0NGM0YWY2NTA1ZGM0NWQyZTA0ZmQ5
ZjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yMDMsNyAr
MjAzLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJJbmxpbmUoKSBjb25zdDsKICAgICBi
b29sIGlzUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpIGNvbnN0OwogCi0gICAgaW5saW5lIGJvb2wg
aXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0OworICAgIGJvb2wgaXNBdG9taWNJbmxpbmVM
ZXZlbEJveCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzQ291bnRlcigpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQpAQCAtMTE3Nyw3ICsxMTc3LDcgQEAgaW5saW5lIFJlbmRlck9iamVjdCogUmVu
ZGVyT2JqZWN0OjpuZXh0SW5GbG93U2libGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG5leHRTaWJs
aW5nOwogfQogCi1ib29sIFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNv
bnN0CitpbmxpbmUgYm9vbCBSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSBj
b25zdAogewogICAgIHJldHVybiBzdHlsZSgpLmlzRGlzcGxheUlubGluZVR5cGUoKSAmJiAhKHN0
eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmUgJiYgIWlzUmVwbGFjZWQoKSk7
CiB9CkBAIC0xMTkxLDYgKzExOTEsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JM
aXZlRG9jdW1lbnRzKCk7CiAjZW5kaWYKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5t
ZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVu
dChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA4NTZiYTIyNzU5
MzA1NWM2MGI5YjQ3MjkwZmQyZjQwZTI3ZGJjNjlhLi41ZTE0YzRmNmFhOWMzYjE0NDJjNTg3YmY0
OGY2OWMyYmQ5MmMwYWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5jcHAKQEAgLTM4OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVk
c0xheW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVyUmVw
bGFjZWQ6OmNvbXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRlckJv
eCogY29udGVudFJlbmRlcmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91YmxlJiBp
bnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsKLSAg
ICBpZiAoY29udGVudFJlbmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5t
ZW50KCp0aGlzKSkKKyAgICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRp
b0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICBlbHNlIGlm
IChjb250ZW50UmVuZGVyZXIpIHsKICAgICAgICAgY29udGVudFJlbmRlcmVyLT5jb21wdXRlSW50
cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAK
ICAgICAgICAgaWYgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBl
OjpSYXRpbyB8fCAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6
OkF1dG9BbmRSYXRpbyAmJiAhaW50cmluc2ljUmF0aW8pKQpAQCAtNDc3LDcgKzQ3OSw3IEBAIFJv
dW5kZWRSZWN0IFJlbmRlclJlcGxhY2VkOjpyb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdAog
dm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxv
YXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewog
ICAgIC8vIElmIHRoZXJlJ3MgYW4gZW1iZWRkZWRDb250ZW50Qm94KCkgb2YgYSByZW1vdGUsIHJl
ZmVyZW5jZWQgZG9jdW1lbnQgYXZhaWxhYmxlLCB0aGlzIGNvZGUtcGF0aCBzaG91bGQgbmV2ZXIg
YmUgdXNlZC4KLSAgICBBU1NFUlQoIWVtYmVkZGVkQ29udGVudEJveCgpKTsKKyAgICBBU1NFUlQo
IWVtYmVkZGVkQ29udGVudEJveCgpIHx8IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlz
KSk7CiAgICAgaW50cmluc2ljU2l6ZSA9IEZsb2F0U2l6ZShpbnRyaW5zaWNMb2dpY2FsV2lkdGgo
KSwgaW50cmluc2ljTG9naWNhbEhlaWdodCgpKTsKIAogICAgIGlmIChzdHlsZSgpLmhhc0FzcGVj
dFJhdGlvKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5k
ZXggYzJlMDY5NWMwMzkzODA5MjY1ZWMxNzcwNDdmMTNjYjcyMjNmZjNmNy4uYzE5ZTQ1YWZkMjU3
N2U4NjNjYzNmY2ExOTM3ZmMwYjBmY2FjNTU1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmgKQEAgLTQwLDcgKzQwLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGhh
c1JlcGxhY2VkTG9naWNhbEhlaWdodCgpIGNvbnN0OwogICAgIGJvb2wgc2V0TmVlZHNMYXlvdXRJ
Zk5lZWRlZEFmdGVySW50cmluc2ljU2l6ZUNoYW5nZSgpOwogCi0gICAgTGF5b3V0U2l6ZSBpbnRy
aW5zaWNTaXplKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9pbnRyaW5zaWNTaXplOyB9CisgICAg
TGF5b3V0U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIGlm
IChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgICAgICByZXR1cm4g
TGF5b3V0U2l6ZSgpOworICAgICAgICByZXR1cm4gbV9pbnRyaW5zaWNTaXplOworICAgIH0KICAg
ICAKICAgICBSb3VuZGVkUmVjdCByb3VuZGVkQ29udGVudEJveFJlY3QoKSBjb25zdDsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKaW5kZXggNDcxNjllZGY5
OGUxNDI4YzRhMDc3MGYyZjRlZmMwYjU4ZDgxM2M3Yi4uOWU5NDRiZTAwYmIwMmUzODUxYTQzZDU2
NjY2MTlmN2M0MjlhNWQ5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNsaWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRl
ci5jcHAKQEAgLTY5LDYgKzY5LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJTbGlkZXI6OmJhc2VsaW5l
UG9zaXRpb24oRm9udEJhc2VsaW5lLCBib29sIC8qZmlyc3RMaW5lKi8sIExpbmUKIAogdm9pZCBS
ZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1p
bkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAg
IGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgIHJldHVybjsK
ICAgICBtYXhMb2dpY2FsV2lkdGggPSBkZWZhdWx0VHJhY2tMZW5ndGggKiBzdHlsZSgpLmVmZmVj
dGl2ZVpvb20oKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0
ZWQoKSkKICAgICAgICAgbWluTG9naWNhbFdpZHRoID0gbWF4TG9naWNhbFdpZHRoOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKaW5kZXggZGMwNThk
NTM0NjdhYTNjZmFiZjg1MmYzMzFlZjAxZjMxNTUzMjFmNC4uMjQyYWNhM2EwNmI5MTU3NGE3NDhi
MTNlY2VmYTgwYzYxNzJiOWM1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0xNTYsNiArMTU2LDggQEAgZmxvYXQgUmVuZGVyVGV4dENv
bnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBjb25zdAogCiB2b2lkIFJlbmRlclRleHRDb250
cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2Fs
V2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICByZXR1cm47CiAgICAgLy8g
VXNlIGF2ZXJhZ2UgY2hhcmFjdGVyIHdpZHRoLiBNYXRjaGVzIElFLgogICAgIG1heExvZ2ljYWxX
aWR0aCA9IHByZWZlcnJlZENvbnRlbnRMb2dpY2FsV2lkdGgoY29uc3RfY2FzdDxSZW5kZXJUZXh0
Q29udHJvbCo+KHRoaXMpLT5nZXRBdmVyYWdlQ2hhcldpZHRoKCkpOwogICAgIGlmIChSZW5kZXJC
b3gqIGlubmVyVGV4dFJlbmRlckJveCA9IGlubmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAppbmRleCBjNmQwNDQxNjZj
Y2ZkNWJjN2M4ZjE5ZTBhYWJjMjFjNTgwMzgyMWY5Li4yOTI4ZGQ0ZGNhZmVkMmE0YzA3YmFkMGQx
NGFlNDMzOTBlNTljYTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5j
cHAKQEAgLTEyMyw2ICsxMjMsOSBAQCBib29sIFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNT
aXplKCkKIAogTGF5b3V0U2l6ZSBSZW5kZXJWaWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSgp
CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAg
cmV0dXJuIExheW91dFNpemUoKTsKKwogICAgIC8vIFNwZWMgdGV4dCBmcm9tIDQuOC42CiAgICAg
Ly8KICAgICAvLyBUaGUgaW50cmluc2ljIHdpZHRoIG9mIGEgdmlkZW8gZWxlbWVudCdzIHBsYXli
YWNrIGFyZWEgaXMgdGhlIGludHJpbnNpYyB3aWR0aCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXggMDZmNzBhNzFiYzA1MzUyZDdjMTY5ODkwOTdm
MGIxYTA2NzNlZjc1YS4uN2MzNGIxMTE0ODNlNGZmOGRhZDI2MDYzNjhmN2IyZGQyYzA2MTA4MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUy
NSw2ICs1MjUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsg
cmV0dXJuIGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNw
ZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBP
cHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25J
bmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAgYm9vbCBjb250YWluc0xheW91dCgpIGNvbnN0
IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFp
bm1lbnQ6OkxheW91dCk7IH0KKyAgICBib29sIGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlNp
emUpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGlj
X2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxl
eGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25z
dCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94
RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCmluZGV4IDE0MjIzNTA0
NjA5ZTNiMTViNWJjMzY4YTQ3ODA3MDA3MDk1NjIwODUuLjVlNDZkMzdmNTBmZGY4NGE5MjNiNmQ0
MGE0ZGQ3MGIyOTkyMjIxMGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcApAQCAtNzAsNiArNzAsOCBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJT
VkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QKIAogdm9pZCBSZW5kZXJTVkdSb290Ojpjb21w
dXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRv
dWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgqdGhpcykpOworCiAgICAgLy8gU3BlYzogaHR0cDovL3d3dy53My5vcmcv
VFIvU1ZHL2Nvb3Jkcy5odG1sI0ludHJpbnNpY1NpemluZwogICAgIC8vIFNWRyBuZWVkcyB0byBz
cGVjaWZ5IGhvdyB0byBjYWxjdWxhdGUgc29tZSBpbnRyaW5zaWMgc2l6aW5nIHByb3BlcnRpZXMg
dG8gZW5hYmxlIGluY2x1c2lvbiB3aXRoaW4gb3RoZXIgbGFuZ3VhZ2VzLgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNzU3
YTBjYmY4ZTAzNGZmYmY0YjBlMGVkM2MxN2FlZWI4NzJmNGZiZC4uNTQxMDEzMDRjNGI2NGE0YWY3
OWQ4NjAyZjYyNTc0YWM4YzBmYjg2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA0LTIw
ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNv
bnRhaW5dIFN1cHBvcnQgY29udGFpbjpzaXplCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhlIHRlc3QgcmVzdWx0IGZvciBzaXplIGNvbnRh
aW5tZW50LiBBZGRlZCBleHBsYW5hdGlvbnMgZm9yIHNpemUgY29udGFpbm1lbnQgdGVzdHMKKyAg
ICAgICAgdGhhdCBkZXBlbmRlZCBvbiBvdGhlciBmZWF0dXJlcy4KKworICAgICAgICAqIFRlc3RF
eHBlY3RhdGlvbnM6CisKIDIwMjEtMDQtMjAgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIFVwZGF0ZSBodG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50
cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvIHRlc3RzIGZyb20g
V1BUCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCBlZjUwMTFiM2Y0NmFhODk4MTdl
MDQzZDYzMzE5MDEwZDc1OWY2MzA2Li41ZTdlMzY4YThhZmFjNGU5ZGJlYzJlYmI2ZjQ5N2IxMTgz
YmE4NDdkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAor
MjAyMS0wNC0yMCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgPGNhbnZhcz4gYW5kIDx2aWRlbz4gZG9uJ3Qg
c3VwcG9ydCBjb21wdXRpbmcgYXNwZWN0IHJhdGlvIGZyb20gd2lkdGggYW5kIGhlaWdodCBhdHRy
aWJ1dGVzIHlldCwKKyAgICAgICAgc28gdGhlIGhlaWdodHMgYXJlIHplcm8gd2hlbiB0aGV5IGFy
ZSB3aXRoICJjb250YWluOiBzaXplIi4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlk
LTAwNC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1j
b250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRl
ZC1jb250ZW50LWFuZC1pbWFnZXMvY2FudmFzLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1l
bnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3Bl
Y3QtcmF0aW8tZXhwZWN0ZWQudHh0OgorCiAyMDIxLTA0LTIwICBDYXRoaWUgQ2hlbiAgPGNhdGhp
ZWNoZW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBVcGRhdGUgaHRtbC9yZW5kZXJpbmcvcmVwbGFj
ZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzLyB0
ZXN0cyBmcm9tIFdQVApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNmU5MjMyNzYwZWIxMTU3ZDlmMTY2
MjdiYzEwNDZkNDNjY2E2MjdlZS4uYTJjYjA3OGY5ODEzMzY3MmQ0Y2ExYTViNmIxYTAxYTg2ZDg1
ZWMxYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlv
dXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC00Njc2LDcgKzQ2NzYsNiBAQCB3ZWJraXQub3Jn
L2IvMjIwOTI4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9w
cmVkZWZpbmVkLTAxNAogd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXSAjIFJlcXVpcmVzIGZhbGxiYWNrIChhdCBwYXJzZSB0aW1lKSBzdXBwb3J0ICh1bmNs
ZWFyIGlmIHRoaXMgbWFrZXMgc2Vuc2UpCiAKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQg
ZmFpbAotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1hbmltYXRpb24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgd2Via2l0LXJ1
YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1sYXlvdXQtMDE3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liaWxpdHktMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ2OTMs
NyArNDY5Miw2IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12
aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYmlsaXR5LTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29u
dGVudC12aXNpYmlsaXR5LTAyMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC1zaXpl
LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NzM1LDY4ICs0NzMzLDggQEAgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFj
a2luZy1jb250ZXh0LTAKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtdGFibGUtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
MDIxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjMuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLTAyNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDI3Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLTA0Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDU2Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS0wNjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2Mi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS0wNjQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2Nr
LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYm9yZGVycy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtYnJlYWtzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtYnV0dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWZpZWxkc2V0LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQt
MDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtZmxleGJveC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWdyaWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLWlubGluZS1ibG9jay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWlubGluZS1ibG9jay0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1i
bG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDQu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1mbGV4LTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLW1vbm9saXRoaWMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1t
dWx0aWNvbC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtMDAzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLXJlcGxhY2VkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQt
MDAzYS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtcmVwbGFjZWQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1y
ZXBsYWNlZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2Nyb2xsYmFycy0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXNjcm9sbGJhcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS1zY3JvbGxiYXJzLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2Vs
ZWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLXNlbGVjdC1lbGVtLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0
LWVsZW0tMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXRhYmxlLWNhcHRpb24tMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0
cmljdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAzLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc3RyaWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxl
LWNvdW50ZXJzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00ODI4LDYgKzQ3NjYsMzEgQEAgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0w
MDIuaHRtbCBbIEltYWdlT24KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL3F1b3RlLXNjb3BpbmctMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3RlLXNjb3Bp
bmctMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIAorIyBDYW52YXMgZG9lc24ndCBnZXQg
ZGVmYXVsdCBhc3BlY3QtcmF0aW8gZm9yIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcy4KK3dl
YmtpdC5vcmcvYi8yMTc1MjkgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWZsZXhib3gvY2FudmFzLWNvbnRhaW4tc2l6ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisK
KyMgQ29udGVudCBpcyBwYWludGVkIG9uIHN2ZydzIHBhZGRpbmcgYXJlYS4KK3dlYmtpdC5vcmcv
Yi80MjU4NjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLXJlcGxhY2VkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMg
TXVsdGljb2x1bW4gZG9lcyBub3QgcGFpbnQgdGhlIGhvcml6b250YWwgb3ZlcmZsb3cgYXJlYSBv
ZiBhIHJlbGF0aXZlIGNoaWxkLgord2Via2l0Lm9yZy9iLzQxNzk2IGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tb25vbGl0aGljLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgQnV0dG9ucyB3aXRoIGF1dG8gd2lkdGgg
YW5kIGhlaWdodCBoYXMgZXh0cmEgbWFyZ2lucy4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1idXR0b24tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
KworIyBTY3JvbGxiYXIgZGlzcGxheXMgYXJlIGRpZmZlcmVudC4KK2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQorCisjIFNlbGVjdCB3aXRoIGVtcHR5IGNvbnRlbnQgYWx3YXlzIGhhcyBy
b290IGxpbmVib3gsIHNvIHRoZSBoZWlnaHRzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCisKKyMgQ1NTIHByb3BlcnR5IGNvbG9yIGlzIG5vdCB3b3JraW5nIGluIHNl
bGVjdCBlbGVtZW50cy4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKICMg
VGVzdHMgdGhhdCBmYWlsIGJlY2F1c2UgdGhleSBhc3N1bWUgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIg
aW4gYHdyaXRpbmctbW9kZTogdmVydGljYWwtcmxgIGVsZW1lbnRzIHdpbGwgYmUgb24gdGhlIHJp
Z2h0LWhhbmQgc2lkZQogd2Via2l0Lm9yZy9iLzIyNDM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3Mtd3JpdGluZy1tb2Rlcy9zaXppbmctb3J0aG9nLXZybC1pbi1odGIt
MDEzLnhodCBbIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9yZy9iLzIyNDM1NyBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2Nzc29tLWdldEJvdW5kaW5n
Q2xpZW50UmVjdC12ZXJ0aWNhbC1ybC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAppbmRleCBlMTZkNjdkYmY3ZDQ1MjRhZjdmMzExMDMw
OWY5NzgyOTkwNDFjMmQyLi41MWU4ZTIwMDJmZjdjYTc0MmM5NWUzOTQ2ZmQxY2M4YmZmN2IxMWY0
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQKQEAgLTM2LDE5ICszNiw4IEBA
IFBBU1MgLmdyaWQgMzQKIFBBU1MgLmdyaWQgMzUKIFBBU1MgLmdyaWQgMzYKIFBBU1MgLmdyaWQg
MzcKLUZBSUwgLmdyaWQgMzggYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQiIHN0eWxl
PSJncmlkOiByZXBlYXQoYXV0by1maXQsIDc1cHgpIC8gcmVwZWF0KGF1dG8tZml0LCAxMDBweCk7
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gICAg
PGRpdj48L2Rpdj4KLSAgPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCi1GQUlM
IC5ncmlkIDM5IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDog
YXV0byA1MHB4IC8gMTAwcHggYXV0bzsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjUwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIgZGF0YS1vZmZzZXQteD0iMCIgZGF0YS1vZmZzZXQteT0i
MCI+WDwvZGl2PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjQwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjEwMCIgZGF0YS1vZmZzZXQteT0iMCI+WFg8L2Rp
dj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSI1MCIgZGF0YS1vZmZzZXQteD0iMCIgZGF0YS1vZmZzZXQteT0iMTAiPlhYWDwvZGl2PgotICA8
ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjQwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRh
dGEtb2Zmc2V0LXg9IjEwMCIgZGF0YS1vZmZzZXQteT0iMTAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgot
d2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMTQwCitQQVNTIC5ncmlkIDM4CitQQVNTIC5ncmlk
IDM5CiAKIFgKIFhYCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dAppbmRleCA3MGNk
N2U2MTkxZDBmZmRiYTUyMjY0MjQ2YjhhODFjZjM0ODNkZjM4Li5lMGExYzlkNTFmYmY0YjZhNTYy
NGRmNDFiOWZiMjIxYzQ1ZWY2YmMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0w
MDQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50
eHQKQEAgLTEsMzggKzEsMTggQEAKIAogUEFTUyAuZ3JpZCAxCi1GQUlMIC5ncmlkIDIgYXNzZXJ0
X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rp
dj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMgogUEFTUyAuZ3Jp
ZCAzCi1GQUlMIC5ncmlkIDQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgcGVyY2Vu
dCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAK
K1BBU1MgLmdyaWQgNAogUEFTUyAuZ3JpZCA1CiBQQVNTIC5ncmlkIDYKIFBBU1MgLmdyaWQgNwot
RkFJTCAuZ3JpZCA4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGNhbGMgbWluLWNv
bnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIx
MDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFT
UyAuZ3JpZCA4CiBQQVNTIC5ncmlkIDkKLUZBSUwgLmdyaWQgMTAgYXNzZXJ0X2VxdWFsczoKLTxk
aXYgY2xhc3M9ImdyaWQgY2FsYyBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIx
MDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBl
eHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDEwCiBQQVNTIC5ncmlkIDExCiBQQVNT
IC5ncmlkIDEyCiBQQVNTIC5ncmlkIDEzCi1GQUlMIC5ncmlkIDE0IGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZpeGVkIG1pbi1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+
Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAxMDAKK1BBU1MgLmdyaWQgMTQKIFBB
U1MgLmdyaWQgMTUKIFBBU1MgLmdyaWQgMTYKIFBBU1MgLmdyaWQgMTcKQEAgLTQwLDY3ICsyMCwz
MSBAQCBQQVNTIC5ncmlkIDE4CiBQQVNTIC5ncmlkIDE5CiBQQVNTIC5ncmlkIDIwCiBQQVNTIC5n
cmlkIDIxCi1GQUlMIC5ncmlkIDIyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1p
bm1heC1maXhlZC1wZXJjZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0
aCBleHBlY3RlZCAxMDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMjIKIFBBU1MgLmdyaWQgMjMK
IFBBU1MgLmdyaWQgMjQKIFBBU1MgLmdyaWQgMjUKLUZBSUwgLmdyaWQgMjYgYXNzZXJ0X2VxdWFs
czoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtZmxleCBtaW4tY29udGVudCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+
Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMjYKIFBB
U1MgLmdyaWQgMjcKLUZBSUwgLmdyaWQgMjggYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9Imdy
aWQgbWlubWF4LXBlcmNlbnQtZmxleCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4
cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMjgKIFBBU1MgLmdyaWQgMjkKIFBBU1Mg
LmdyaWQgMzAKIFBBU1MgLmdyaWQgMzEKLUZBSUwgLmdyaWQgMzIgYXNzZXJ0X2VxdWFsczoKLTxk
aXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50IG1pbi1jb250ZW50IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rp
dj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzMgog
UEFTUyAuZ3JpZCAzMwotRkFJTCAuZ3JpZCAzNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0i
Z3JpZCBtaW5tYXgtaW50cmluc2ljLXBlcmNlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+
Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDM0CiBQQVNTIC5ncmlk
IDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1GQUlMIC5ncmlkIDM4IGFzc2VydF9l
cXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWludHJpbnNpYyBtaW4tY29u
dGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgot
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5Y
WFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdy
aWQgMzgKIFBBU1MgLmdyaWQgMzkKLUZBSUwgLmdyaWQgNDAgYXNzZXJ0X2VxdWFsczoKLTxkaXYg
Y2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtaW50cmluc2ljIG1heC1jb250ZW50IiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwv
ZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0MAogUEFTUyAu
Z3JpZCA0MQogUEFTUyAuZ3JpZCA0MgogUEFTUyAuZ3JpZCA0MwotRkFJTCAuZ3JpZCA0NCBhc3Nl
cnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBmaXQtY29udGVudCBtaW4tY29udGVudCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9k
aXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNDQK
IFBBU1MgLmdyaWQgNDUKLUZBSUwgLmdyaWQgNDYgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9
ImdyaWQgZml0LWNvbnRlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ2CiBQQVNTIC5ncmlkIDQ3CiBQQVNTIC5n
cmlkIDQ4CiBYWFhYCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxl
eC1pdGVtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0
ZW0tZXhwZWN0ZWQudHh0CmluZGV4IDNlMTQwODY3YjdlNzIxNDYxMWNjNTI5YWJiNDg1ZmQyZjhl
MWI5NDcuLjNlNzk5MWMxYzA1MWE3NzY2M2RkNzU3MTIyOWEwM2NhNzFlMzI2YjIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQudHh0CkBA
IC0xLDExICsxLDUgQEAKIFRoZXJlIHNob3VsZCBiZSBhIGdyZWVuIHNxdWFyZSBiZWxvdy4KIAog
Ci1GQUlMICNmbGV4IDEgYXNzZXJ0X2VxdWFsczoKLTxkaXYgaWQ9ImZsZXgiPgotICA8ZGl2IGlk
PSJtdWx0aWNvbCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMTAwIj4KLSAgICA8ZGl2IHN0eWxlPSJ3aWR0aDoxMDAwcHg7IGhlaWdodDoxcHg7Ij48L2Rp
dj4KLSAgPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDEwMCBidXQgZ290IDc4NAorUEFT
UyAjZmxleCAxCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5k
ZXggNzQ0ZGM0ZjYyYWYxMDIzMzg5NWZmYzhhYjZmZmQ0M2RlZGQ5Yjg3MC4uY2MwYmFjNzU4YTg2
NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFkYzFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNv
bnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0
cmljdC1leHBlY3RlZC50eHQKQEAgLTE3LDI4ICsxNywxMiBAQCBDb2x1bW4KIAogUm93CiAKLUZB
SUwgLmlubGluZS1mbGV4IDEgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4
IiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYg
c3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIj5Db2x1bW48L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDUyCi1GQUlMIC5pbmxpbmUtZmxleCAyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNz
PSJpbmxpbmUtZmxleCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Um93PC9kaXY+Ci08L2Rpdj4KLXdpZHRo
IGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAuaW5saW5lLWZsZXggMQorUEFTUyAuaW5saW5l
LWZsZXggMgogUEFTUyAuaW5saW5lLWZsZXggMwogUEFTUyAuaW5saW5lLWZsZXggNAotRkFJTCAu
aW5saW5lLWZsZXggNSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIHN0
eWxlPSJmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBz
dHlsZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjAiPkNvbHVtbjwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1
dCBnb3QgNTIKLUZBSUwgLmlubGluZS1mbGV4IDYgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9
ImlubGluZS1mbGV4IiBzdHlsZT0iYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNv
bnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIj5Sb3c8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwCitQ
QVNTIC5pbmxpbmUtZmxleCA1CitQQVNTIC5pbmxpbmUtZmxleCA2CiBQQVNTIC5pbmxpbmUtZmxl
eCA3CiBQQVNTIC5pbmxpbmUtZmxleCA4CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVu
dHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3Bl
Y3QtcmF0aW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZv
ci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvY2FudmFzLWFzcGVjdC1yYXRpby1leHBlY3Rl
ZC50eHQKaW5kZXggOWExM2I1MDYwNTVmNTczYTM1ZTBjNTdjM2E4Mzg1ZGQ2NDVjMDAxOC4uOWQz
NDRiYjQ4NzIxYmY1N2IwODk2ODY5NTkxODhhM2I1NzIxZjQ3YiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBs
YWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMv
Y2FudmFzLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50
cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvY2FudmFzLWFzcGVj
dC1yYXRpby1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIAotUEFTUyBDYW52YXMgd2lk
dGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIGFyZSB1c2VkIGFzIHRoZSBzdXJmYWNlIHNpemUgd2l0
aCBjb250YWluOnNpemUKK0ZBSUwgQ2FudmFzIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBh
cmUgdXNlZCBhcyB0aGUgc3VyZmFjZSBzaXplIHdpdGggY29udGFpbjpzaXplIGFzc2VydF9hcHBy
b3hfZXF1YWxzOiBleHBlY3RlZCAyLjUgKy8tIDAuMDAxIGJ1dCBnb3QgSW5maW5pdHkKIFBBU1Mg
Q2FudmFzIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgdXNlZCBhcyB0aGUgc3VyZmFj
ZSBzaXplCiBGQUlMIGNhbnZhcyB3aXRoIHsid2lkdGgiOiIxMCIsImhlaWdodCI6IjIwIn0gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMTAgLyAyMCIgYnV0IGdvdCAiYXV0byIKIFBBU1Mg
Y2FudmFzIHdpdGggeyJ3aWR0aCI6IjAiLCJoZWlnaHQiOiIxIn0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVw
bGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2Vz
L3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0
dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0
aW8tZXhwZWN0ZWQudHh0CmluZGV4IDQzMDExMDdjZTExZTBlMzU2NzRiMGRiZTQ1YzE4MTI2MDM1
Yzc1ZDkuLmIwMjI3Mjg5ZmVjODYwYmIyNmYxMjM5ZjhjNTVkNzg2MDY2OTk4YzAgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5k
ZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1h
bmQtaW1hZ2VzL3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNl
ZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvdmlk
ZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIAogCi1GQUlMIFZp
ZGVvIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgbm90IHVzZWQgdG8gaW5mZXIgYXNw
ZWN0LXJhdGlvIGFzc2VydF9hcHByb3hfZXF1YWxzOiBleHBlY3RlZCAyLjUgKy8tIDAuMDAxIGJ1
dCBnb3QgMgorRkFJTCBWaWRlbyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIG5vdCB1
c2VkIHRvIGluZmVyIGFzcGVjdC1yYXRpbyBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQg
Mi41ICsvLSAwLjAwMSBidXQgZ290IEluZmluaXR5CiBGQUlMIHZpZGVvIHdpdGggeyJ3aWR0aCI6
IjEwIiwiaGVpZ2h0IjoiMjAifSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYXV0byAxMCAvIDIw
IiBidXQgZ290ICJhdXRvIgogRkFJTCB2aWRlbyB3aXRoIHsid2lkdGgiOiIwLjUiLCJoZWlnaHQi
OiIxLjUifSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYXV0byAwLjUgLyAxLjUiIGJ1dCBnb3Qg
ImF1dG8iCiBQQVNTIHZpZGVvIHdpdGggeyJ3aWR0aCI6IjAiLCJoZWlnaHQiOiIxIn0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427668</attachid>
            <date>2021-05-04 08:07:17 -0700</date>
            <delta_ts>2021-05-05 01:21:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210504230714.patch</filename>
            <type>text/plain</type>
            <size>77709</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE0ZGFjNDkwNjcxZjg4
MzI4ODhiNjBmY2I1ZGRiMzYxNGNlZGNlNS4uNmQ4ZWFiZDQyNTRiYTQxOWNmZTY2NzQwN2NhYTc1
ZDFjMzE0YmRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wNS0wNCAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWlu
XSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBicmluZ3MgaW5pdGlhbCBzdXBwb3J0IG9mIENTUyBj
b250YWluOnNpemUgYWNjb3JkaW5nIHRvIFsxXS4KKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgpIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBhIHNp
emUgY29udGFpbm1lbnQgYm94LgorICAgICAgICBUaGUgaW50cmluc2ljIHNpemVzIG9mIHNpemUg
Y29udGFpbm1lbnQgYm94IGFyZSBkZXRlcm1pbmVkIGFzIGlmIGl0IGhhZCBubyBjb250ZW50Lgor
ICAgICAgICBTbyB0aGUgaW1wbGVtZW50YXRpb24gbmVlZCB0byBjb29wZXJhdGUgd2l0aCB0aGUg
bGF5b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ29tcHV0aW5nIGxvZ2ljYWwgd2lkdGg6IFNpemUg
Y29udGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGlsZHJlbiB3aGlsZSBjb21wdXRpbmcg
bWluTG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExvZ2ljYWxXaWR0aCBpbiBjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocy4gU28gdGhlIGxvZ2ljYWwgd2lkdGggaXMgbm90IGFmZmVj
dGVkIGJ5IGNoaWxkcmVuLgorICAgICAgICAgIC0gTGF5b3V0IGNoaWxkcmVuOiBUaGUgbG9naWNh
bCBoZWlnaHQgaXMgY2hhbmdlZCBhZnRlciBsYXlvdXQgYWxsIGNoaWxkcmVuLgorICAgICAgICAg
IC0gQ29tcHV0aW5nIGxvZ2ljYWwgaGVpZ2h0OiBBdCB0aGUgYmVnaW5uaW5nLCBzaXplIGNvbnRh
aW5tZW50IGJveGVzIG5lZWQgdG8gcmVzZXQgbG9naWNhbCBoZWlnaHQgdG8gdGhlIGVtcHR5IGNv
bnRlbnQgaGVpZ2h0CisgICAgICAgICAgaWYgaXQgaXMgbm90IHJlbmRlckdyaWQuIFNvIHRoZSBs
b2dpY2FsIGhlaWdodCBpcyBub3QgYWZmZWN0ZWQgYnkgY2hpbGRyZW4uCisgICAgICAgIFdlIGFs
c28gbmVlZCB0byBjYWxjdWxhdGUgdGhlIHNpemVzIGFjY29yZGluZyB0byB0aGUgbGF5b3V0IGFs
Z29yaXRobXMuCisgICAgICAgIC0gR3JpZCBsYXlvdXQ6CisgICAgICAgICAgVG8gY2FsY3VsYXRl
IHRoZSBtaW5Mb2dpY2FsV2lkdGggYW5kIG1heExvZ2ljYWxXaWR0aCBmb3IgaW5kZWZpbml0ZSBz
aXplIFJlbmRlckdyaWQuCisgICAgICAgICAgVGhlIHdpZHRocyBhcmUgY2FsY3VsYXRlZCBieSBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06IG1fbWluQ29udGVudFNpemUgYW5kIG1fbWF4Q29udGVu
dFNpemUgd2hpY2ggYXJlIHRoZSBzdW0gb2YKKyAgICAgICAgICBtX2Jhc2VTaXplL21fZ3Jvd3Ro
TGltaXQgb2YgYWxsIEdyaWRUcmFja3MuIFRoZSBzaXplIGNvbnRhaW5tZW50IFJlbmRlckdyaWQg
c2tpcHMgaGFuZGxpbmcgY29udGVudCBpbiByZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcworICAg
ICAgICAgIGFuZCB0aGUgbV9tYXhDb250ZW50U2l6ZSB3aWxsIGJlIHRoZSBzdW0gb2YgbV9iYXNl
U2l6ZS4gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIHNhbWUgdG8gd2lkdGgsIGJ1dCBhZnRlciBjYWxj
dWxhdGluZworICAgICAgICAgIFJlbmRlckdyaWQncyBsb2dpY2FsIGhlaWdodCwgaXQgbmVlZHMg
dG8gY2FsY3VsYXRlIHRoZSB0cmFjayBzaXplcyBhZ2FpbiwgdG8gbWFrZSBzdXJlIHRoYXQgdGhl
eSBhcmUgZGlzdHJpYnV0ZWQgcHJvcGVybHkuCisgICAgICAgICAgV2UgdXNlIGNvbXB1dGVUcmFj
a1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KSB0
byByZWNhbGN1bGF0ZSBpdC4KKyAgICAgICAgLSBNdWx0aUNvbHVtbiBsYXlvdXQ6CisgICAgICAg
ICAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uLCBzaXplIGNvbnRhaW5tZW50IGJveGVz
IHNob3VsZCBiZSBtb25vbGl0aGljLCBzbyB3ZSBuZWVkIHRvIGV4dGVuZCBjb2x1bW4gaGVpZ2h0
CisgICAgICAgICAgZm9yIG92ZXJmbG93IGFuZCBwb3NpdGlvbmVkIHNpemUgY29udGFpbm1lbnQg
Ym94ZXMuIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgpIGlzIGFkZGVkIHRvIGlu
ZGljYXRlIHRoZSBzaG9ydGFnZSBzcGFjZQorICAgICAgICAgIHRoYXQgbmVlZCB0byBiYWxhbmNl
IHRoZSBjb2x1bW4gaGVpZ2h0cy4gYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0
aW9uKCkgd2lsbCBjYWxjdWxhdGUgdGhlIHNob3J0YWdlLgorCisgICAgICAgIFsxXSBodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvbnRhaW4tMS8jY29udGFpbm1lbnQtc2l6ZQorCisgICAgICAg
ICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHA6IEFkZCBpc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCB0byBpbmRpY2F0ZSBpZiBpdCBpcyBjYWxjdWxhdGluZyBzaXplcwor
ICAgICAgICAgIGZvciBpbmRlZmluaXRlIHNpemUgUmVuZGVyR3JpZCB3aGljaCBpcyBzaXplIGNv
bnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpn
cmlkQXJlYUJyZWFkdGhGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMpOgor
ICAgICAgICAgIEl0IHNraXBzIHJlc29sdmVJbnRyaW5zaWNUcmFja1NpemVzIGlmIGlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50LCBzbyBncm93dGhMaW1pdCBtaWdodCBiZSB1bmRlZmluZWQsCisg
ICAgICAgICAgaWYgc28sIHVzZSB0cmFjay5iYXNlU2l6ZSgpIGluc3RlYWQuCisgICAgICAgIChX
ZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJlc29sdmVJbnRyaW5zaWNUcmFja1Np
emVzKTogU2tpcCByZXNvbHZlIHRoZSBjb250ZW50IGlmIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5t
ZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFu
Y2VOZXh0U3RhdGUpOiBBZGRlZCBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlu
bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6aXNWYWxp
ZFRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtOjpydW4pOiBEbyBub3Qgc3RyZXRjaCB0aGUgdHJhY2sgc2l6ZXMgaWYgaXNDb21wdXRp
bmdTaXplQ29udGFpbm1lbnQoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0KTogQ2FsY3Vs
YXRlIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCBmb3IgcG9zaXRpb25lZCBzaXpl
IGNvbnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogU2tpcCBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzIGlmIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFNraXAgaGFuZGxpbmcg
dGhlIGNoaWxkcmVuIGZvciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0QmxvY2tDaGlsZEZvclBhZ2luYXRpb24pOiBDYWxjdWxh
dGUgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IGZvciBjaGlsZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQ
YWdpbmF0aW9uKTogbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50ID0gY2hpbGRPdmVy
Zmxvd0hlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KTogUmVzZXQg
dGhlIGxvZ2ljYWwgaGVpZ2h0IHRvIGVtcHR5IGNvbnRlbnQgaGVpZ2h0IGZvciBzaXplIGNvbnRh
aW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVG
b3JQYWdpbmF0aW9uIGNvbnN0KTogU2l6ZSBjb250YWlubWVudCBib3ggaXMgdW5zcGxpdHRhYmxl
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxl
VXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOiBJZiBpdCBpcyBzaXplIGNvbnRhaW5tZW50IHdp
dGggaW5maW5pdGVTaXplLCB1c2luZyB0cmFja0Jhc2VkTG9naWNhbEhlaWdodAorICAgICAgICB0
byBjb21wdXRlIHRyYWNrIHNpemVzIGFnYWluIHRvIG1ha2Ugc3VyZSB0aGUgaGVpZ2h0IGlzIGRp
c3RyaWJ1dGVkIHByb3Blcmx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0
ZUVtcHR5VHJhY2tzRm9yQXV0b1JlcGVhdCBjb25zdCk6IENvbGxhcHNlIGlmIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3Jt
YXRpb24gY29uc3QpOiBUaGlzIGlzIGhhbmRsZWQgaW4gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGluc3RlYWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29tcHV0
ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBUaGUgd2lkdGhzIG9mIHNpemUgY29udGFp
bm1lbnQgYm94ZXMgYXJlIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoUmVuZGVyTWVudUxpc3Q6OmNvbXB1
dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogVGhlIHdpZHRocyBvZiBzaXplIGNvbnRh
aW5tZW50IGJveCBhcmUgdGhlbWUubWluaW11bU1lbnVMaXN0U2l6ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck11bHRpQ29sdW1uRmxvdzo6dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCk6
IFNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNl
dDo6UmVuZGVyTXVsdGlDb2x1bW5TZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlD
b2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0IGNvbnN0KTogQWRkIG1fc3BhY2VTaG9y
dGFnZUZvclNpemVDb250YWlubWVudCB0byB0aGUgY29sdW1uIGhlaWdodC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVwYXJlRm9yTGF5b3V0KTogUmVzZXQgbV9z
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQpOiBDaGVjayBp
ZiB0aGUgb2JqZWN0IGlzIGEgc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc0F0
b21pY0lubGluZUxldmVsQm94IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVBc3Bl
Y3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6
IFVzZSB0aGUgZW1wdHkgaW50cmluc2ljU2l6ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuaDogVGhlIGludHJpbnNpY1NpemUgb2Ygc2l6ZSBjb250YWlubWVudCBpcyAoMCwg
MCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTog
RGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogSGFuZGxl
ZCBpbiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gaW5z
dGVhZC4KKwogMjAyMS0wNS0wMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgRGVjb2RpbmcgYW4gU1ZHIG9mZiB0aGUgbWFpbiB0aHJlYWQgY2F1c2VzIGEgY3Jhc2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDczNDM2NTdjYWZmNDRmZGU0OTA1NS4u
YzdkYzUyMGMzYWQyNTQ2NGVmNjA1NDA0OGFlNmUxYmYzODg0MTBmNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAg
LTU4MCw3ICs1ODAsNyBAQCBPcHRpb25hbDxMYXlvdXRVbml0PiBHcmlkVHJhY2tTaXppbmdBbGdv
cml0aG06OmVzdGltYXRlZEdyaWRBcmVhQnJlYWR0aEZvckNoaWxkKAogT3B0aW9uYWw8TGF5b3V0
VW5pdD4gR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpncmlkQXJlYUJyZWFkdGhGb3JDaGlsZChj
b25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9u
KSBjb25zdAogewogICAgIGJvb2wgYWRkQ29udGVudEFsaWdubWVudE9mZnNldCA9Ci0gICAgICAg
IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIG1fc2l6aW5nU3RhdGUgPT0gUm93U2l6aW5nRmly
c3RJdGVyYXRpb247CisgICAgICAgIGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIChtX3Npemlu
Z1N0YXRlID09IFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uIHx8IG1fc2l6aW5nU3RhdGUgPT0gUm93
U2l6aW5nRXh0cmFJdGVyYXRpb25Gb3JTaXplQ29udGFpbm1lbnQpOwogICAgIC8vIFRvIGRldGVy
bWluZSB0aGUgY29sdW1uIHRyYWNrJ3Mgc2l6ZSBiYXNlZCBvbiBhbiBvcnRob2dvbmFsIGdyaWQg
aXRlbSB3ZSBuZWVkIGl0J3MgbG9naWNhbAogICAgIC8vIGhlaWdodCwgd2hpY2ggbWF5IGRlcGVu
ZCBvbiB0aGUgcm93IHRyYWNrJ3Mgc2l6ZS4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSByb3cgdHJh
Y2tzIHNpemluZwogICAgIC8vIGxvZ2ljIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgeWV0LCBzbyB3
ZSB3aWxsIG5lZWQgdG8gZG8gYW4gZXN0aW1hdGlvbi4KQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lk
IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNT
aXplcygpCiAKICAgICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGly
ZWN0aW9uKTsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFT
U0VSVCghdHJhY2suaW5maW5pdGVHcm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVCht
X3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0
ZUdyb3d0aFBvdGVudGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5i
YXNlU2l6ZSgpOwotICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0
KCk7CisgICAgICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmlu
aXRlKCkgPyB0cmFjay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAg
Ly8gVGhlIGdyb3d0aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8g
cHJvcGVybHkgc29ydAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBh
biBldmVudHVhbCAiTWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGlt
aXRDYXAoV1RGOjpudWxsb3B0KTsKQEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRv
dWJsZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVk
VHJhY2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5p
dD4gZnJlZVNwYWNlKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4
RnJhY3Rpb25JZk5lZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxH
cm93dGgpIGNvbnN0IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRj
aEF1dG9UcmFja3NTdGVwKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1Np
emVDb250YWlubWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCpyZW5kZXJHcmlkKCkpOyB9CiB9OwogCiB2b2lkIEluZGVmaW5pdGVTaXplU3Ry
YXRlZ3k6OmxheW91dEdyaWRJdGVtRm9yTWluU2l6ZUNvbXB1dGF0aW9uKFJlbmRlckJveCYgY2hp
bGQsIGJvb2wgb3ZlcnJpZGVTaXplSGFzQ2hhbmdlZCkgY29uc3QKQEAgLTEwMzAsNiArMTAzMSw3
IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNr
c1N0ZXAoKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGls
ZChSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxT
aXplRm9yQ2hpbGQoUmVuZGVyQm94JiwgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUsIE9wdGlv
bmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wg
aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogfTsKIAogTGF5b3V0VW5pdCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmcmVlU3BhY2VG
b3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdApAQCAtMTE0NiwzOCArMTE0OCw0MyBAQCB2
b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6aW5pdGlhbGl6ZVRyYWNrU2l6ZXMoKQogCiB2
b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMo
KQogewotICAgIFZlY3RvcjxHcmlkSXRlbVdpdGhTcGFuPiBpdGVtc1NvcnRlZEJ5SW5jcmVhc2lu
Z1NwYW47Ci0gICAgSGFzaFNldDxSZW5kZXJCb3gqPiBpdGVtc1NldDsKICAgICBWZWN0b3I8R3Jp
ZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsKLSAgICBpZiAobV9ncmlk
Lmhhc0dyaWRJdGVtcygpKSB7Ci0gICAgICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogbV9jb250
ZW50U2l6ZWRUcmFja3NJbmRleCkgewotICAgICAgICAgICAgR3JpZEl0ZXJhdG9yIGl0ZXJhdG9y
KG1fZ3JpZCwgbV9kaXJlY3Rpb24sIHRyYWNrSW5kZXgpOwotICAgICAgICAgICAgR3JpZFRyYWNr
JiB0cmFjayA9IGFsbFRyYWNrc1t0cmFja0luZGV4XTsKLQotICAgICAgICAgICAgd2hpbGUgKGF1
dG8qIGdyaWRJdGVtID0gaXRlcmF0b3IubmV4dEdyaWRJdGVtKCkpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoaXRlbXNTZXQuYWRkKGdyaWRJdGVtKS5pc05ld0VudHJ5KSB7Ci0gICAgICAgICAgICAg
ICAgICAgIGNvbnN0IEdyaWRTcGFuJiBzcGFuID0gbV9ncmlkLmdyaWRJdGVtU3BhbigqZ3JpZEl0
ZW0sIG1fZGlyZWN0aW9uKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKHNwYW4uaW50ZWdlclNw
YW4oKSA9PSAxKQotICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZVRyYWNrVG9GaXROb25TcGFu
bmluZ0l0ZW0oc3BhbiwgKmdyaWRJdGVtLCB0cmFjayk7Ci0gICAgICAgICAgICAgICAgICAgIGVs
c2UgaWYgKCFzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGlibGVTaXplZFRyYWNrcyhzcGFuKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5hcHBlbmQo
R3JpZEl0ZW1XaXRoU3BhbigqZ3JpZEl0ZW0sIHNwYW4pKTsKKyAgICBhdXRvIHJlc29sdmVJbnRy
aW5zaWNUcmFja1NpemVzRnJvbUNoaWxkcmVuID0gWyZdKCkgeworICAgICAgICBWZWN0b3I8R3Jp
ZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFuOworICAgICAgICBIYXNo
U2V0PFJlbmRlckJveCo+IGl0ZW1zU2V0OworICAgICAgICBpZiAobV9ncmlkLmhhc0dyaWRJdGVt
cygpKSB7CisgICAgICAgICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVk
VHJhY2tzSW5kZXgpIHsKKyAgICAgICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3IobV9n
cmlkLCBtX2RpcmVjdGlvbiwgdHJhY2tJbmRleCk7CisgICAgICAgICAgICAgICAgR3JpZFRyYWNr
JiB0cmFjayA9IGFsbFRyYWNrc1t0cmFja0luZGV4XTsKKworICAgICAgICAgICAgICAgIHdoaWxl
IChhdXRvKiBncmlkSXRlbSA9IGl0ZXJhdG9yLm5leHRHcmlkSXRlbSgpKSB7CisgICAgICAgICAg
ICAgICAgICAgIGlmIChpdGVtc1NldC5hZGQoZ3JpZEl0ZW0pLmlzTmV3RW50cnkpIHsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0IEdyaWRTcGFuJiBzcGFuID0gbV9ncmlkLmdyaWRJdGVt
U3BhbigqZ3JpZEl0ZW0sIG1fZGlyZWN0aW9uKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlm
IChzcGFuLmludGVnZXJTcGFuKCkgPT0gMSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
aXplVHJhY2tUb0ZpdE5vblNwYW5uaW5nSXRlbShzcGFuLCAqZ3JpZEl0ZW0sIHRyYWNrKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKCFzcGFubmluZ0l0ZW1Dcm9zc2VzRmxleGli
bGVTaXplZFRyYWNrcyhzcGFuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtc1Nv
cnRlZEJ5SW5jcmVhc2luZ1NwYW4uYXBwZW5kKEdyaWRJdGVtV2l0aFNwYW4oKmdyaWRJdGVtLCBz
cGFuKSk7CisgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CiAgICAgICAg
ICAgICB9CisgICAgICAgICAgICBzdGQ6OnNvcnQoaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdTcGFu
LmJlZ2luKCksIGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5lbmQoKSk7CiAgICAgICAgIH0K
LSAgICAgICAgc3RkOjpzb3J0KGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5iZWdpbigpLCBp
dGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uZW5kKCkpOwotICAgIH0KIAotICAgIGF1dG8gaXQg
PSBpdGVtc1NvcnRlZEJ5SW5jcmVhc2luZ1NwYW4uYmVnaW4oKTsKLSAgICBhdXRvIGVuZCA9IGl0
ZW1zU29ydGVkQnlJbmNyZWFzaW5nU3Bhbi5lbmQoKTsKLSAgICB3aGlsZSAoaXQgIT0gZW5kKSB7
Ci0gICAgICAgIEdyaWRJdGVtc1NwYW5Hcm91cFJhbmdlIHNwYW5Hcm91cFJhbmdlID0geyBpdCwg
c3RkOjp1cHBlcl9ib3VuZChpdCwgZW5kLCAqaXQpIH07Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNU
b0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlSW50cmluc2ljTWluaW11bXM+KHNwYW5H
cm91cFJhbmdlKTsKLSAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0
ZW1zPFJlc29sdmVDb250ZW50QmFzZWRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAg
ICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZU1heENvbnRl
bnRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwotICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2Nv
bW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2ZUludHJpbnNpY01heGltdW1zPihzcGFuR3JvdXBS
YW5nZSk7Ci0gICAgICAgIGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxS
ZXNvbHZlTWF4Q29udGVudE1heGltdW1zPihzcGFuR3JvdXBSYW5nZSk7Ci0gICAgICAgIGl0ID0g
c3Bhbkdyb3VwUmFuZ2UucmFuZ2VFbmQ7Ci0gICAgfQorICAgICAgICBhdXRvIGl0ID0gaXRlbXNT
b3J0ZWRCeUluY3JlYXNpbmdTcGFuLmJlZ2luKCk7CisgICAgICAgIGF1dG8gZW5kID0gaXRlbXNT
b3J0ZWRCeUluY3JlYXNpbmdTcGFuLmVuZCgpOworICAgICAgICB3aGlsZSAoaXQgIT0gZW5kKSB7
CisgICAgICAgICAgICBHcmlkSXRlbXNTcGFuR3JvdXBSYW5nZSBzcGFuR3JvdXBSYW5nZSA9IHsg
aXQsIHN0ZDo6dXBwZXJfYm91bmQoaXQsIGVuZCwgKml0KSB9OworICAgICAgICAgICAgaW5jcmVh
c2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29sdmVJbnRyaW5zaWNNaW5pbXVt
cz4oc3Bhbkdyb3VwUmFuZ2UpOworICAgICAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2Rh
dGVTcGFubmluZ0l0ZW1zPFJlc29sdmVDb250ZW50QmFzZWRNaW5pbXVtcz4oc3Bhbkdyb3VwUmFu
Z2UpOworICAgICAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1z
PFJlc29sdmVNYXhDb250ZW50TWluaW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAgICAgICAg
IGluY3JlYXNlU2l6ZXNUb0FjY29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlSW50cmluc2lj
TWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKKyAgICAgICAgICAgIGluY3JlYXNlU2l6ZXNUb0Fj
Y29tbW9kYXRlU3Bhbm5pbmdJdGVtczxSZXNvbHZlTWF4Q29udGVudE1heGltdW1zPihzcGFuR3Jv
dXBSYW5nZSk7CisgICAgICAgICAgICBpdCA9IHNwYW5Hcm91cFJhbmdlLnJhbmdlRW5kOworICAg
ICAgICB9CisgICAgfTsKKworICAgIGlmICghbV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29u
dGFpbm1lbnQoKSkKKyAgICAgICAgcmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXNGcm9tQ2hpbGRy
ZW4oKTsKIAogICAgIGZvciAoYXV0byB0cmFja0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJ
bmRleCkgewogICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0gYWxsVHJhY2tzW3RyYWNrSW5kZXhd
OwpAQCAtMTIzOSw2ICsxMjQ2LDkgQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFk
dmFuY2VOZXh0U3RhdGUoKQogICAgICAgICBtX3NpemluZ1N0YXRlID0gUm93U2l6aW5nRmlyc3RJ
dGVyYXRpb247CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIFJvd1NpemluZ0ZpcnN0SXRlcmF0
aW9uOgorICAgICAgICBtX3NpemluZ1N0YXRlID0gbV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXpl
Q29udGFpbm1lbnQoKSA/IFJvd1NpemluZ0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50
IDogQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOworICAgICAgICByZXR1cm47CisgICAgY2Fz
ZSBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlubWVudDoKICAgICAgICAgbV9z
aXppbmdTdGF0ZSA9IENvbHVtblNpemluZ1NlY29uZEl0ZXJhdGlvbjsKICAgICAgICAgcmV0dXJu
OwogICAgIGNhc2UgQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOgpAQCAtMTI1OSw2ICsxMjY5
LDcgQEAgYm9vbCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmlzVmFsaWRUcmFuc2l0aW9uKCkg
Y29uc3QKICAgICBjYXNlIENvbHVtblNpemluZ1NlY29uZEl0ZXJhdGlvbjoKICAgICAgICAgcmV0
dXJuIG1fZGlyZWN0aW9uID09IEZvckNvbHVtbnM7CiAgICAgY2FzZSBSb3dTaXppbmdGaXJzdEl0
ZXJhdGlvbjoKKyAgICBjYXNlIFJvd1NpemluZ0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5t
ZW50OgogICAgIGNhc2UgUm93U2l6aW5nU2Vjb25kSXRlcmF0aW9uOgogICAgICAgICByZXR1cm4g
bV9kaXJlY3Rpb24gPT0gRm9yUm93czsKICAgICB9CkBAIC0xMzQ2LDYgKzEzNTcsOCBAQCB2b2lk
IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cnVuKCkKIAogICAgIC8vIFN0ZXAgMy4KICAgICBt
X3N0cmF0ZWd5LT5tYXhpbWl6ZVRyYWNrcyh0cmFja3MobV9kaXJlY3Rpb24pLCBtX2RpcmVjdGlv
biA9PSBGb3JDb2x1bW5zID8gbV9mcmVlU3BhY2VDb2x1bW5zIDogbV9mcmVlU3BhY2VSb3dzKTsK
KyAgICBpZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkKKyAgICAg
ICAgcmV0dXJuOwogCiAgICAgLy8gU3RlcCA0LgogICAgIHN0cmV0Y2hGbGV4aWJsZVRyYWNrcyhp
bml0aWFsRnJlZVNwYWNlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9H
cmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Hcmlk
VHJhY2tTaXppbmdBbGdvcml0aG0uaAppbmRleCAwMzExMjVkYTliZmRiNTg4YTlhOTE5NjFhM2Ix
NTI4ZTk4N2Y0MTYyLi42Yjc5N2VhODc4NTQwOWRkZWIxOGEwNTlmNDE2MGQ1NWQ2NWQ1OGZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3Jp
dGhtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5oCkBAIC0yMjQsNiArMjI0LDcgQEAgcHJpdmF0ZToKICAgICBlbnVtIFNpemluZ1N0YXRl
IHsKICAgICAgICAgQ29sdW1uU2l6aW5nRmlyc3RJdGVyYXRpb24sCiAgICAgICAgIFJvd1Npemlu
Z0ZpcnN0SXRlcmF0aW9uLAorICAgICAgICBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVD
b250YWlubWVudCwKICAgICAgICAgQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uLAogICAgICAg
ICBSb3dTaXppbmdTZWNvbmRJdGVyYXRpb24KICAgICB9OwpAQCAtMjYxLDYgKzI2Miw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5z
aWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlv
biwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gaW5pdGlhbEZyZWVTcGFjZSkgY29uc3QgPSAwOwogICAg
IHZpcnR1YWwgYm9vbCByZWNvbXB1dGVVc2VkRmxleEZyYWN0aW9uSWZOZWVkZWQoZG91YmxlJiBm
bGV4RnJhY3Rpb24sIExheW91dFVuaXQmIHRvdGFsR3Jvd3RoKSBjb25zdCA9IDA7CiAgICAgdmly
dHVhbCBMYXlvdXRVbml0IGZyZWVTcGFjZUZvclN0cmV0Y2hBdXRvVHJhY2tzU3RlcCgpIGNvbnN0
ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25z
dCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVn
eShHcmlkVHJhY2tTaXppbmdBbGdvcml0aG0mIGFsZ29yaXRobSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDUzMjY4ZGY1ZThhN2U5MWU3NGY3YjQzYzMyYjY3
OWFhYTE5YWFiMDUuLmZmMjVlZmYyNTE3MmM4OTQzOGNjYzg2ZmMzYmNmNGVjYjNmZGFkZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcApAQCAtMTA3Myw2ICsxMDcz
LDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdChSZW5kZXJCb3gm
IHIsIGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm8KICAgICAgICAgci5zZXROZWVkc0xheW91dChN
YXJrT25seVRoaXMpOwogICAgICAgICByLmxheW91dElmTmVlZGVkKCk7CiAgICAgfQorICAgIAor
ICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCkt
PmlzUGFnaW5hdGVkKCkgJiYgaXM8UmVuZGVyQmxvY2tGbG93PigqdGhpcykpCisgICAgICAgIGRv
d25jYXN0PFJlbmRlckJsb2NrRmxvdz4oKnRoaXMpLmFkanVzdFNpemVDb250YWlubWVudENoaWxk
Rm9yUGFnaW5hdGlvbihyLCByLmxvZ2ljYWxUb3AoKSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6
OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhl
ZFBvc2l0aW9uT2JqZWN0c09ubHkpCkBAIC0yMjgyLDggKzIyODUsOCBAQCB2b2lkIFJlbmRlckJs
b2NrOjpvZmZzZXRGb3JDb250ZW50cyhMYXlvdXRQb2ludCYgb2Zmc2V0KSBjb25zdAogdm9pZCBS
ZW5kZXJCbG9jazo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWlu
TG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKCFjaGlsZHJlbklubGluZSgpKTsKLSAgICAKLSAgICBjb21wdXRlQmxvY2tQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICBp
ZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgY29tcHV0ZUJs
b2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0
aCk7CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1h
eExvZ2ljYWxXaWR0aCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKaW5kZXggOTZjNjdmNTYxZTUwMWY5ZmI1YjI2MDdhNDE1ZjZjNTg2YTFjNjM3Mi4u
MTRhYmY2YmViZGNhOWMwMjlhZWQ1MGU4N2QxNzI3NWIzNTMyNTQ1MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKQEAgLTMzOSwxMCArMzM5LDEyIEBA
IHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RJbnRyaW5zaWNMb2dpY2FsV2lkdGhzRm9yQ29s
dW1ucyhMYXlvdXRVbml0JiBtaW5Mb2dpCiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91
dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBpZiAoY2hpbGRyZW5JbmxpbmUo
KSkKLSAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNh
bFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIGVsc2UKLSAgICAgICAgY29tcHV0ZUJsb2Nr
UHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7
CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAg
aWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAgICBjb21wdXRlSW5saW5lUHJlZmVycmVk
TG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWlu
TG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIH0KIAogICAgIG1heExvZ2ljYWxX
aWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKIApAQCAt
MTY2Miw2ICsxNjY0LDkgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEJsb2Nr
Q2hpbGRGb3JQYWdpbmF0aW9uKExheW91dFVuaXQgbG9naWNhbFRvcEEKICAgICAgICAgfQogICAg
IH0KIAorICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAg
IGFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbihjaGlsZCwgcmVzdWx0KTsK
KwogICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBhbmQgc2Nyb2xsZWQgZWxlbWVudHMsIHdl
IHdhbnQgdG8gc2hpZnQgdGhlbSB0byB0aGUgbmV4dCBwYWdlIGlmIHRoZXkgZG9uJ3QgZml0IG9u
IHRoZSBjdXJyZW50IG9uZS4KICAgICBMYXlvdXRVbml0IGxvZ2ljYWxUb3BCZWZvcmVVbnNwbGl0
dGFibGVBZGp1c3RtZW50ID0gcmVzdWx0OwogICAgIExheW91dFVuaXQgbG9naWNhbFRvcEFmdGVy
VW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9IGFkanVzdEZvclVuc3BsaXR0YWJsZUNoaWxkKGNoaWxk
LCByZXN1bHQpOwpAQCAtMjA0Nyw2ICsyMDUyLDI0IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tG
bG93Ojpsb2dpY2FsSGVpZ2h0Rm9yQ2hpbGRGb3JGcmFnbWVudGF0aW9uKGNvbnN0IFJlbmRlckJv
CiAgICAgcmV0dXJuIGxvZ2ljYWxIZWlnaHRGb3JDaGlsZChjaGlsZCk7CiB9CiAKK3ZvaWQgUmVu
ZGVyQmxvY2tGbG93OjphZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24oUmVu
ZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBvZmZzZXQpCit7CisgICAgaWYgKCFzaG91bGRBcHBs
eVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFVu
aXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9IGNoaWxkLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZKCkgOiBjaGlsZC5sYXlvdXRPdmVyZmxv
d1JlY3QoKS5tYXhYKCk7CisgICAgTGF5b3V0VW5pdCBjaGlsZExvZ2ljYWxIZWlnaHQgPSBzdGQ6
Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0KCksIGNoaWxkT3ZlcmZsb3dIZWlnaHQpOworCisgICAg
TGF5b3V0VW5pdCByZW1haW5pbmdMb2dpY2FsSGVpZ2h0ID0gcGFnZVJlbWFpbmluZ0xvZ2ljYWxI
ZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBFeGNsdWRlUGFnZUJvdW5kYXJ5KTsKKworICAgIExheW91
dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNoaWxkTG9naWNhbEhlaWdodCAtIHJlbWFpbmluZ0xvZ2lj
YWxIZWlnaHQ7CisgICAgaWYgKHNwYWNlU2hvcnRhZ2UgPD0gMCkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgaWYgKFJlbmRlckZyYWdtZW50ZWRGbG93KiBmcmFnbWVudGVkRmxvdyA9IGVuY2xvc2lu
Z0ZyYWdtZW50ZWRGbG93KCkpCisgICAgICAgIGZyYWdtZW50ZWRGbG93LT51cGRhdGVTcGFjZVNo
b3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJz
dFBhZ2UoKSArIG9mZnNldCwgc3BhY2VTaG9ydGFnZSk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tG
bG93OjpsYXlvdXRMaW5lR3JpZEJveCgpCiB7CiAgICAgaWYgKHN0eWxlKCkubGluZUdyaWQoKSA9
PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCA0NDk4NTlkMzg4NjBhMDNhNTJkZmRlYmZlNzA4
NmRiNWZkY2Q1MTAwLi5jN2M5NDZiYWZkODE1YTQ3NGQ3MjM4OGI3N2UyMjM4OWY0NDZjY2M0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zOTgsNiAr
Mzk4LDggQEAgcHVibGljOgogICAgIC8vIGNvbHVtbiBiYWxhbmNlciB0byBoZWxwIHNldCBhIGdv
b2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0LgogICAgIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWln
aHQoTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWluSGVpZ2h0KTsKIAorICAgIHZvaWQg
YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQs
IExheW91dFVuaXQgb2Zmc2V0KTsKKwogICAgIHZvaWQgYWRkRmxvYXRzVG9OZXdQYXJlbnQoUmVu
ZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxvdykgY29uc3Q7CiAgICAgCiAgICAgTGF5b3V0VW5pdCBl
bmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAppbmRleCBkNzQ4MDZhYzlmZTYzOWI3ZTM2ZTlhMjg0NjIzM2ZiMDFmNzBhMWIz
Li4wYWI4YzM4YWI2OWMyMTFjZWY1Mjg2YTRiOTQ1MzY3YjkzOWExNDc4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjg2MCw2ICsyODYwLDEyIEBAIHZvaWQgUmVu
ZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5
b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQgUmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkK
IHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpICYmICFpc1JlbmRl
ckdyaWQoKSkgeworICAgICAgICAvLyBJZiBpdCBpcyBSZW5kZXJCbG9jaywgYm9yZGVyQW5kUGFk
ZGluZ0xvZ2ljYWxIZWlnaHQoKSBjb250YWlucyBpbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCgp
IHdoaWNoIGFkZHMgZXh0cmEgYm9yZGVyIGZvciBmaWVsZHNldCwgc28gd2UgY2FuJ3QgdXNlIGl0
IGRpcmVjdGx5LgorICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGluZyA9IFJlbmRlckJveDo6Ym9y
ZGVyQmVmb3JlKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdCZWZvcmUoKSArIFJlbmRlckJveDo6Ym9y
ZGVyQWZ0ZXIoKSArIFJlbmRlckJveDo6cGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHNldExvZ2lj
YWxIZWlnaHQoYm9yZGVyQW5kUGFkaW5nICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAg
ICB9CisKICAgICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0o
Y29udGVudExvZ2ljYWxIZWlnaHQoKSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNvbXB1
dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBzZXRM
b2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKQEAgLTQ4NDksNyArNDg1NSw4
IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBjb25zdAog
ICAgIHJldHVybiBpc1JlcGxhY2VkKCkKICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxlU2Nyb2xs
aW5nT3ZlcmZsb3coKQogICAgICAgICB8fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9kZVJvb3Qo
KSkKLSAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBz
ZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKTsK
KyAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVk
b0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQorICAg
ICAgICB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIExheW91dFVu
aXQgUmVuZGVyQm94OjpsaW5lSGVpZ2h0KGJvb2wgLypmaXJzdExpbmUqLywgTGluZURpcmVjdGlv
bk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2RlIC8qbGluZVBvc2l0aW9uTW9kZSovKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94LmNwcAppbmRleCA0ZjJkMWYzZGIxYjc5MDM1NGZmYzY4NTlmYzNiZDcy
Nzc2MmZlMThlLi41MTNiODQ3OTY5ZmM1YWQ5NmMzNTE3ZDRjZWE5M2E3ZDQ2ZWExNjhjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxl
Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZs
ZXhpYmxlQm94LmNwcApAQCAtMTg3LDI4ICsxODcsMzMgQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVk
RmxleGlibGVCb3g6OnN0eWxlV2lsbENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3Qg
UmUKIAogdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNM
b2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4
TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIGlmIChoYXNNdWx0aXBsZUxpbmVzKCkgfHwgaXNW
ZXJ0aWNhbCgpKSB7Ci0gICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZpcnN0Q2hpbGRC
b3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsKLSAgICAgICAg
ICAgIGlmIChjaGlsZERvZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCi0gICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgYXV0byBjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRo
c0Zyb21DaGlsZHJlbiA9IFsmXSgpIHsKKyAgICAgICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8
fCBpc1ZlcnRpY2FsKCkpIHsKKyAgICAgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZp
cnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsK
KyAgICAgICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhPckZsZXhpbmcoY2hp
bGQpKQorICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICAgICAgTGF5b3V0
VW5pdCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxkKTsKLSAgICAgICAgICAgIExh
eW91dFVuaXQgd2lkdGggPSBjaGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJn
aW47Ci0gICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1heCh3aWR0aCwgbWluTG9n
aWNhbFdpZHRoKTsKKyAgICAgICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldp
ZHRoRm9yQ2hpbGQoY2hpbGQpOworICAgICAgICAgICAgICAgIExheW91dFVuaXQgd2lkdGggPSBj
aGlsZC0+bWluUHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAgICAgICAg
ICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7CiAK
LSAgICAgICAgICAgIHdpZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsg
bWFyZ2luOwotICAgICAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgod2lkdGgsIG1h
eExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIH0KLSAgICB9IGVsc2UgewotICAgICAgICBmb3IgKFJl
bmRlckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5u
ZXh0U2libGluZ0JveCgpKSB7Ci0gICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lk
dGhPckZsZXhpbmcoY2hpbGQpKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgICAgIHdpZHRoID0gY2hpbGQtPm1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2lu
OworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KHdpZHRoLCBtYXhM
b2dpY2FsV2lkdGgpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQg
PSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChjaGlsZERv
ZXNOb3RBZmZlY3RXaWR0aE9yRmxleGluZyhjaGlsZCkpCisgICAgICAgICAgICAgICAgICAgIGNv
bnRpbnVlOwogCi0gICAgICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbldpZHRoRm9y
Q2hpbGQoY2hpbGQpOwotICAgICAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IGNoaWxkLT5taW5Q
cmVmZXJyZWRMb2dpY2FsV2lkdGgoKSArIG1hcmdpbjsKLSAgICAgICAgICAgIG1heExvZ2ljYWxX
aWR0aCArPSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAg
ICAgICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5XaWR0aEZvckNoaWxkKGNoaWxk
KTsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gY2hpbGQtPm1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCgpICsgbWFyZ2luOworICAgICAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0
aCArPSBjaGlsZC0+bWF4UHJlZmVycmVkTG9naWNhbFdpZHRoKCkgKyBtYXJnaW47CisgICAgICAg
ICAgICB9CiAgICAgICAgIH0KLSAgICB9CisgICAgfTsKKworICAgIGlmICghc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICBjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRoc0Zyb21DaGlsZHJlbigpOwogCiAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWlu
TG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAppbmRleCAzZDEyM2M1NGI1
NjRkYTUwNDE3YjRjMDc4OTcyOWYzOWUzM2IxNWRhLi44Nzg1ZjIyOTljODBkMzk0NmU4ZmZkMjE2
NjJkMDI5MjE5NDYzMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKQEAgLTE5Nyw2ICsxOTcsOCBAQCB2b2lkIFJlbmRl
ckZpbGVVcGxvYWRDb250cm9sOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50SW5mbywgY29u
c3QgTGF5b3V0UG9pbgogCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVu
aXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoKnRoaXMpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gRmlndXJlIG91dCBob3cg
YmlnIHRoZSBmaWxlbmFtZSBzcGFjZSBuZWVkcyB0byBiZSBmb3IgYSBnaXZlbiBudW1iZXIgb2Yg
Y2hhcmFjdGVycwogICAgIC8vICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hhcmFjdGVyKS4K
ICAgICBjb25zdCBVQ2hhciBjaGFyYWN0ZXIgPSAnMCc7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAyMjliNjkzZGYxOTdmZmNiZTI2OTAx
Yjg4YWIyNTlhYzMwMDUxZjI1Li43YWFkYmQyMmUwMmMyOGI0M2JlNTUwZGE1MTVlMTNkYmM5ZTJi
YTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVC
b3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5j
cHAKQEAgLTgzLDYxICs4Myw2NiBAQCBjb25zdCBjaGFyKiBSZW5kZXJGbGV4aWJsZUJveDo6cmVu
ZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYg
bWF4TG9naWNhbFdpZHRoKSBjb25zdAogewotICAgIExheW91dFVuaXQgY2hpbGRNaW5XaWR0aDsK
LSAgICBMYXlvdXRVbml0IGNoaWxkTWF4V2lkdGg7Ci0gICAgYm9vbCBoYWRFeGNsdWRlZENoaWxk
cmVuID0gY29tcHV0ZVByZWZlcnJlZFdpZHRoc0ZvckV4Y2x1ZGVkQ2hpbGRyZW4oY2hpbGRNaW5X
aWR0aCwgY2hpbGRNYXhXaWR0aCk7Ci0KLSAgICAvLyBGSVhNRTogV2UncmUgaWdub3JpbmcgZmxl
eC1iYXNpcyBoZXJlIGFuZCB3ZSBzaG91bGRuJ3QuIFdlIGNhbid0IHN0YXJ0Ci0gICAgLy8gaG9u
b3JpbmcgaXQgdGhvdWdoIHVudGlsIHRoZSBmbGV4IHNob3J0aGFuZCBzdG9wcyBzZXR0aW5nIGl0
IHRvIDAuIFNlZQotICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMTYxMTcgYW5kCi0gICAgLy8gaHR0cHM6Ly9jcmJ1Zy5jb20vMjQwNzY1LgotICAgIHNpemVf
dCBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgPSAwOwotICAgIGZvciAoUmVuZGVyQm94KiBjaGls
ZCA9IGZpcnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94
KCkpIHsKLSAgICAgICAgaWYgKGNoaWxkLT5pc091dE9mRmxvd1Bvc2l0aW9uZWQoKSB8fCBjaGls
ZC0+aXNFeGNsdWRlZEZyb21Ob3JtYWxMYXlvdXQoKSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICArK251bUl0ZW1zV2l0aE5vcm1hbExheW91dDsKKyAgICBhdXRvIGNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzRnJvbUNoaWxkcmVuID0gWyZdKCkgeworICAgICAgICBMYXlvdXRV
bml0IGNoaWxkTWluV2lkdGg7CisgICAgICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKKyAg
ICAgICAgYm9vbCBoYWRFeGNsdWRlZENoaWxkcmVuID0gY29tcHV0ZVByZWZlcnJlZFdpZHRoc0Zv
ckV4Y2x1ZGVkQ2hpbGRyZW4oY2hpbGRNaW5XaWR0aCwgY2hpbGRNYXhXaWR0aCk7CisKKyAgICAg
ICAgLy8gRklYTUU6IFdlJ3JlIGlnbm9yaW5nIGZsZXgtYmFzaXMgaGVyZSBhbmQgd2Ugc2hvdWxk
bid0LiBXZSBjYW4ndCBzdGFydAorICAgICAgICAvLyBob25vcmluZyBpdCB0aG91Z2ggdW50aWwg
dGhlIGZsZXggc2hvcnRoYW5kIHN0b3BzIHNldHRpbmcgaXQgdG8gMC4gU2VlCisgICAgICAgIC8v
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTYxMTcgYW5kCisgICAg
ICAgIC8vIGh0dHBzOi8vY3JidWcuY29tLzI0MDc2NS4KKyAgICAgICAgc2l6ZV90IG51bUl0ZW1z
V2l0aE5vcm1hbExheW91dCA9IDA7CisgICAgICAgIGZvciAoUmVuZGVyQm94KiBjaGlsZCA9IGZp
cnN0Q2hpbGRCb3goKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5leHRTaWJsaW5nQm94KCkpIHsK
KyAgICAgICAgICAgIGlmIChjaGlsZC0+aXNPdXRPZkZsb3dQb3NpdGlvbmVkKCkgfHwgY2hpbGQt
PmlzRXhjbHVkZWRGcm9tTm9ybWFsTGF5b3V0KCkpCisgICAgICAgICAgICAgICAgY29udGludWU7
CisgICAgICAgICAgICArK251bUl0ZW1zV2l0aE5vcm1hbExheW91dDsKKworICAgICAgICAgICAg
TGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgq
Y2hpbGQpOworICAgICAgICAgICAgCisgICAgICAgICAgICBMYXlvdXRVbml0IG1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aDsKKyAgICAgICAgICAgIExheW91dFVuaXQgbWF4UHJlZmVycmVkTG9naWNh
bFdpZHRoOworICAgICAgICAgICAgY29tcHV0ZUNoaWxkUHJlZmVycmVkTG9naWNhbFdpZHRocygq
Y2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
KTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoICs9
IG1hcmdpbjsKKyAgICAgICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47
CisKKyAgICAgICAgICAgIGlmICghaXNDb2x1bW5GbG93KCkpIHsKKyAgICAgICAgICAgICAgICBt
YXhMb2dpY2FsV2lkdGggKz0gbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOworICAgICAgICAgICAg
ICAgIGlmIChpc011bHRpbGluZSgpKSB7CisgICAgICAgICAgICAgICAgICAgIC8vIEZvciBtdWx0
aWxpbmUsIHRoZSBtaW4gcHJlZmVycmVkIHdpZHRoIGlzIGlmIHlvdSBwdXQgYSBicmVhayBiZXR3
ZWVuCisgICAgICAgICAgICAgICAgICAgIC8vIGVhY2ggaXRlbS4KKyAgICAgICAgICAgICAgICAg
ICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgICAg
ICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBzdGQ6Om1h
eChtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1pbkxvZ2ljYWxXaWR0aCk7CisgICAgICAgICAg
ICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobWF4UHJlZmVycmVkTG9naWNhbFdpZHRo
LCBtYXhMb2dpY2FsV2lkdGgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAg
aWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgPiAxKSB7Cisg
ICAgICAgICAgICBMYXlvdXRVbml0IGlubGluZUdhcFNpemUgPSAobnVtSXRlbXNXaXRoTm9ybWFs
TGF5b3V0IC0gMSkgKiBjb21wdXRlR2FwKEdhcFR5cGU6OkJldHdlZW5JdGVtcyk7CisgICAgICAg
ICAgICBtYXhMb2dpY2FsV2lkdGggKz0gaW5saW5lR2FwU2l6ZTsKKyAgICAgICAgICAgIGlmICgh
aXNNdWx0aWxpbmUoKSkKKyAgICAgICAgICAgICAgICBtaW5Mb2dpY2FsV2lkdGggKz0gaW5saW5l
R2FwU2l6ZTsKKyAgICAgICAgfQogCi0gICAgICAgIExheW91dFVuaXQgbWFyZ2luID0gbWFyZ2lu
SW50cmluc2ljTG9naWNhbFdpZHRoRm9yQ2hpbGQoKmNoaWxkKTsKKyAgICAgICAgbWF4TG9naWNh
bFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogICAg
ICAgICAKLSAgICAgICAgTGF5b3V0VW5pdCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGg7Ci0gICAg
ICAgIExheW91dFVuaXQgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoOwotICAgICAgICBjb21wdXRl
Q2hpbGRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCpjaGlsZCwgbWluUHJlZmVycmVkTG9naWNhbFdp
ZHRoLCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGgpOworICAgICAgICAvLyBEdWUgdG8gbmVnYXRp
dmUgbWFyZ2lucywgaXQgaXMgcG9zc2libGUgdGhhdCB3ZSBjYWxjdWxhdGVkIGEgbmVnYXRpdmUK
KyAgICAgICAgLy8gaW50cmluc2ljIHdpZHRoLiBNYWtlIHN1cmUgdGhhdCB3ZSBuZXZlciByZXR1
cm4gYSBuZWdhdGl2ZSB3aWR0aC4KKyAgICAgICAgbWluTG9naWNhbFdpZHRoID0gc3RkOjptYXgo
MF9sdSwgbWluTG9naWNhbFdpZHRoKTsKKyAgICAgICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjpt
YXgoMF9sdSwgbWF4TG9naWNhbFdpZHRoKTsKICAgICAgICAgCi0gICAgICAgIG1pblByZWZlcnJl
ZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47Ci0gICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0
aCArPSBtYXJnaW47Ci0KLSAgICAgICAgaWYgKCFpc0NvbHVtbkZsb3coKSkgewotICAgICAgICAg
ICAgbWF4TG9naWNhbFdpZHRoICs9IG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAg
ICAgIGlmIChpc011bHRpbGluZSgpKSB7Ci0gICAgICAgICAgICAgICAgLy8gRm9yIG11bHRpbGlu
ZSwgdGhlIG1pbiBwcmVmZXJyZWQgd2lkdGggaXMgaWYgeW91IHB1dCBhIGJyZWFrIGJldHdlZW4K
LSAgICAgICAgICAgICAgICAvLyBlYWNoIGl0ZW0uCi0gICAgICAgICAgICAgICAgbWluTG9naWNh
bFdpZHRoID0gc3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lk
dGgpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAgbWluTG9naWNhbFdpZHRo
ICs9IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg
ICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwg
bWluTG9naWNhbFdpZHRoKTsKLSAgICAgICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4
KG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICAgICAgaWYg
KGhhZEV4Y2x1ZGVkQ2hpbGRyZW4pIHsKKyAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0
ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwgY2hpbGRNaW5XaWR0aCk7CisgICAgICAgICAgICBtYXhM
b2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhMb2dpY2FsV2lkdGgsIGNoaWxkTWF4V2lkdGgpOwog
ICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFpc0NvbHVtbkZsb3coKSAmJiBudW1JdGVtc1dp
dGhOb3JtYWxMYXlvdXQgPiAxKSB7Ci0gICAgICAgIExheW91dFVuaXQgaW5saW5lR2FwU2l6ZSA9
IChudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQgLSAxKSAqIGNvbXB1dGVHYXAoR2FwVHlwZTo6QmV0
d2Vlbkl0ZW1zKTsKLSAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IGlubGluZUdhcFNpemU7Ci0g
ICAgICAgIGlmICghaXNNdWx0aWxpbmUoKSkKLSAgICAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCAr
PSBpbmxpbmVHYXBTaXplOwotICAgIH0KKyAgICB9OwogCi0gICAgbWF4TG9naWNhbFdpZHRoID0g
c3RkOjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIAotICAgIC8v
IER1ZSB0byBuZWdhdGl2ZSBtYXJnaW5zLCBpdCBpcyBwb3NzaWJsZSB0aGF0IHdlIGNhbGN1bGF0
ZWQgYSBuZWdhdGl2ZQotICAgIC8vIGludHJpbnNpYyB3aWR0aC4gTWFrZSBzdXJlIHRoYXQgd2Ug
bmV2ZXIgcmV0dXJuIGEgbmVnYXRpdmUgd2lkdGguCi0gICAgbWluTG9naWNhbFdpZHRoID0gc3Rk
OjptYXgoMF9sdSwgbWluTG9naWNhbFdpZHRoKTsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6
Om1heCgwX2x1LCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIAotICAgIGlmIChoYWRFeGNsdWRlZENo
aWxkcmVuKSB7Ci0gICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxX
aWR0aCwgY2hpbGRNaW5XaWR0aCk7Ci0gICAgICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4
KG1heExvZ2ljYWxXaWR0aCwgY2hpbGRNYXhXaWR0aCk7Ci0gICAgfQorICAgIGlmICghc2hvdWxk
QXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICBjb21wdXRlSW50cmluc2ljTG9n
aWNhbFdpZHRoc0Zyb21DaGlsZHJlbigpOwogCiAgICAgTGF5b3V0VW5pdCBzY3JvbGxiYXJXaWR0
aChzY3JvbGxiYXJMb2dpY2FsV2lkdGgoKSk7CiAgICAgbWF4TG9naWNhbFdpZHRoICs9IHNjcm9s
bGJhcldpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZy
YWdtZW50ZWRGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRl
ZEZsb3cuaAppbmRleCBmYWNlYjE5NmQ5YmY3N2NkNjI4NTU0ZTMzNTEwMDBlOTk4OTNhZDYzLi5i
NzNiZTJiMWIwZTQ4MjdlZGFlNjAyN2FhNmUzNWZjYjE3MWQ2MzYxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaApAQCAtMTAyLDYgKzEwMiw4
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRlckJs
b2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qc3BhY2VTaG9ydGFnZSov
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoY29uc3QgUmVu
ZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQgLyptaW5IZWlnaHQq
LykgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250
YWlubWVudChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgLypvZmZzZXQqLywgTGF5b3V0
VW5pdCAvKnNob3J0YWdlKi8pIHsgfQorCiAgICAgdmlydHVhbCBSZW5kZXJGcmFnbWVudENvbnRh
aW5lciogZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCosIExheW91dFVuaXQs
IGJvb2wgZXh0ZW5kTGFzdEZyYWdtZW50ID0gZmFsc2UpIGNvbnN0OwogCiAgICAgYm9vbCBmcmFn
bWVudHNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhZ21lbnRz
SGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJH
cmlkLmNwcAppbmRleCBkMjBiYjU3ZDViMGMxZmE5NmE1NWIxN2M0NGQwYjAwMjZhMzU1MzA5Li42
NmJlZWRkMjExZGIwMzZjNGIwMzkzYWQyZTY2NTY1YzcwZmY0YWU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0yNTAsMTEgKzI1MCwxNyBAQCB2b2lkIFJlbmRl
ckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkKIAog
ICAgICAgICAvLyAyLSBOZXh0LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobSByZXNvbHZlcyB0
aGUgc2l6ZXMgb2YgdGhlIGdyaWQgcm93cywKICAgICAgICAgLy8gdXNpbmcgdGhlIGdyaWQgY29s
dW1uIHNpemVzIGNhbGN1bGF0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAuCi0gICAgICAgIGlmICgh
aGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KQorICAgICAgICBib29sIHNob3VsZFJlY29tcHV0ZUhl
aWdodCA9IGZhbHNlOworICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9naWNhbEhlaWdodCkgewog
ICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JJbmRlZmluaXRlU2l6ZShtX3RyYWNrU2l6
aW5nQWxnb3JpdGhtLCBGb3JSb3dzKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYgKHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgICAgICAgICBzaG91bGRS
ZWNvbXB1dGVIZWlnaHQgPSB0cnVlOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGNvbXB1
dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIGF2YWlsYWJsZUxvZ2ljYWxIZWln
aHQoRXhjbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcpKTsKICAgICAgICAgTGF5b3V0VW5pdCB0cmFj
a0Jhc2VkTG9naWNhbEhlaWdodCA9IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY29tcHV0ZVRyYWNr
QmFzZWRTaXplKCkgKyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpICsgc2Nyb2xsYmFy
TG9naWNhbEhlaWdodCgpOworICAgICAgICBpZiAoc2hvdWxkUmVjb21wdXRlSGVpZ2h0KQorICAg
ICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93cywgdHJhY2tC
YXNlZExvZ2ljYWxIZWlnaHQpOworCiAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQodHJhY2tCYXNl
ZExvZ2ljYWxIZWlnaHQpOwogCiAgICAgICAgIExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJFZGdl
ID0gY2xpZW50TG9naWNhbEJvdHRvbSgpOwpAQCAtNTQ4LDcgKzU1NCw3IEBAIHN0ZDo6dW5pcXVl
X3B0cjxPcmRlcmVkVHJhY2tJbmRleFNldD4gUmVuZGVyR3JpZDo6Y29tcHV0ZUVtcHR5VHJhY2tz
Rm9yQXV0b1JlcGVhCiAgICAgdW5zaWduZWQgZmlyc3RBdXRvUmVwZWF0VHJhY2sgPSBpbnNlcnRp
b25Qb2ludCArIGdyaWQuZXhwbGljaXRHcmlkU3RhcnQoZGlyZWN0aW9uKTsKICAgICB1bnNpZ25l
ZCBsYXN0QXV0b1JlcGVhdFRyYWNrID0gZmlyc3RBdXRvUmVwZWF0VHJhY2sgKyBncmlkLmF1dG9S
ZXBlYXRUcmFja3MoZGlyZWN0aW9uKTsKIAotICAgIGlmICghZ3JpZC5oYXNHcmlkSXRlbXMoKSkg
eworICAgIGlmICghZ3JpZC5oYXNHcmlkSXRlbXMoKSB8fCBzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpIHsKICAgICAgICAgZW1wdHlUcmFja0luZGV4ZXMgPSBtYWtlVW5pcXVlPE9y
ZGVyZWRUcmFja0luZGV4U2V0PigpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIHRyYWNrSW5kZXgg
PSBmaXJzdEF1dG9SZXBlYXRUcmFjazsgdHJhY2tJbmRleCA8IGxhc3RBdXRvUmVwZWF0VHJhY2s7
ICsrdHJhY2tJbmRleCkKICAgICAgICAgICAgIGVtcHR5VHJhY2tJbmRleGVzLT5hZGQodHJhY2tJ
bmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA0MjU0
NDNlZTAzYTY2YzMyNzgxMmZjNWIxZjZmMmJiOTNmZjA1ZDcxLi5iYmRiYzVhNDNlOGRmYjgzOGY0
ZTgzZjdlMmI5NTEzNzM4NTk2NzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJ
bWFnZS5jcHAKQEAgLTg1MCw2ICs4NTAsNyBAQCBib29sIFJlbmRlckltYWdlOjpjYW5NYXBXaWR0
aEhlaWdodFRvQXNwZWN0UmF0aW8oKSBjb25zdAogCiB2b2lkIFJlbmRlckltYWdlOjpjb21wdXRl
SW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJs
ZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgqdGhpcykpOwogICAgIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2lj
UmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAgICAv
LyBPdXIgaW50cmluc2ljU2l6ZSBpcyBlbXB0eSBpZiB3ZSdyZSByZW5kZXJpbmcgZ2VuZXJhdGVk
IGltYWdlcyB3aXRoIHJlbGF0aXZlIHdpZHRoL2hlaWdodC4gRmlndXJlIG91dCB0aGUgcmlnaHQg
aW50cmluc2ljIHNpemUgdG8gdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwCmluZGV4IDBlZGYyNmE3Yzc3ZDdjYjE4YTM5OGM1MGRiNGIyNmM2M2Y3MjJiZGIu
LjlkYWQ1MTcxMDc4ZmM2MjNlZDhjYjFhZjBhYzY0Y2JjYTQzZWM5OTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2b2lk
IFJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCkKIAogdm9pZCBSZW5kZXJM
aXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dp
Y2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBtYXhM
b2dpY2FsV2lkdGggPSBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250
YWw7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRo
aXMpID8gMiAqIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCA6IG1fb3B0aW9uc1dpZHRoICsgMiAq
IG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbDsKICAgICBpZiAobV92QmFyKQogICAgICAgICBtYXhM
b2dpY2FsV2lkdGggKz0gbV92QmFyLT53aWR0aCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgp
LmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNZW51TGlzdC5jcHAKaW5kZXggZjM5NGJkNjMzNmU0NDQ4MjI3ZjE2YWU5OTk2ZGU1NWYyNGNj
ZjhlZC4uNzczMjMzYzE0ZmMyMWI0ZTI4MmMxYjE5ZjI1NGJmMTlmYjI1MjFiNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCkBAIC0zMTUsNyArMzE1LDgg
QEAgTGF5b3V0UmVjdCBSZW5kZXJNZW51TGlzdDo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExheW91
dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KQogCiB2b2lkIFJlbmRlck1lbnVMaXN0Ojpjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91
dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBtYXhMb2dpY2FsV2lkdGggPSBz
dGQ6Om1heChtX29wdGlvbnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxl
KCkpKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSArIG1faW5uZXJCbG9jay0+cGFkZGlu
Z1JpZ2h0KCk7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKnRoaXMpID8gdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxlKCkpIDogc3RkOjpt
YXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSk7
CisgICAgbWF4TG9naWNhbFdpZHRoICs9IG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSArIG1f
aW5uZXJCbG9jay0+cGFkZGluZ1JpZ2h0KCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRoKCkuaXNQ
ZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1heExvZ2lj
YWxXaWR0aDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uRmxvdy5jcHAKaW5kZXggNjE4NWU0NzI2MzhiZDc5ZWVkMTBhNTA5N2JhNjU1YjA4MjZj
ODM2YS4uYmRiZTRhNzE0ZDBjNmM3YTYzZGNjYzgzNTcyYmIxZjg3MDhlNmEwZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAKQEAg
LTIwMyw2ICsyMDMsMTIgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnVwZGF0ZU1pbmlt
dW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGEKICAgICAgICAgbXVsdGlj
b2xTZXQtPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobWluSGVpZ2h0KTsKIH0KIAordm9pZCBS
ZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1l
bnQoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5p
dCBzaG9ydGFnZSkKK3sKKyAgICBpZiAoYXV0byogbXVsdGljb2xTZXQgPSBkb3duY2FzdDxSZW5k
ZXJNdWx0aUNvbHVtblNldD4oZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGJsb2NrLCBvZmZzZXQpKSkK
KyAgICAgICAgbXVsdGljb2xTZXQtPnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1l
bnQoc2hvcnRhZ2UpOworfQorCiBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogUmVuZGVyTXVsdGlD
b2x1bW5GbG93OjpmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiBib3gsIExh
eW91dFVuaXQgb2Zmc2V0LCBib29sIGV4dGVuZExhc3RGcmFnbWVudCkgY29uc3QKIHsKICAgICBp
ZiAoIW1faW5MYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5GbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5GbG93LmgKaW5kZXggMGM4MzkxOGY4ZWRiNmQyMDEyNThmOTAwYTJiZTE4ZDM5ZjEz
ZTc2ZC4uZWI2ZjA4ODc5NDU4NWU4MjU1ZGI3YzBjODU4OGQwMmRjMWE1ZWY5NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApAQCAtMTA4
LDYgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBpbml0aWFsTG9naWNhbFdpZHRo
KCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRQYWdlQnJlYWsoY29uc3QgUmVuZGVyQmxv
Y2sqLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBzcGFjZVNob3J0YWdlKSBvdmVycmlk
ZTsKICAgICB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiwg
TGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWluSGVpZ2h0KSBvdmVycmlkZTsKKyAgICB2
b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyQmxv
Y2sqLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBzaG9ydGFnZSkgb3ZlcnJpZGU7CiAg
ICAgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW50QXRCbG9ja09mZnNldChjb25zdCBS
ZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29sIGV4dGVuZExhc3RGcmFnbWVudCA9IGZhbHNlKSBj
b25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldEZyYWdtZW50UmFuZ2VGb3JCb3goY29uc3QgUmVu
ZGVyQm94JiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqLCBSZW5kZXJGcmFnbWVudENvbnRhaW5l
ciopIG92ZXJyaWRlOwogICAgIGJvb2wgYWRkRm9yY2VkRnJhZ21lbnRCcmVhayhjb25zdCBSZW5k
ZXJCbG9jayosIExheW91dFVuaXQsIFJlbmRlckJveCogYnJlYWtDaGlsZCwgYm9vbCBpc0JlZm9y
ZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJlYWtBZGp1c3RtZW50ID0gMCkgb3ZlcnJpZGU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAppbmRl
eCA1MmQxODQ1YTJmN2U3YzNmYmM2NmY3ZGUxN2IwOTMzOTlhNGVjYWIwLi4wZWZkNTkzNTliNGNi
MjA0YzdkNTYzNzY3OTQ1ZTE5NzlmYjNjMzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKQEAgLTUwLDYgKzUwLDcgQEAgUmVuZGVy
TXVsdGlDb2x1bW5TZXQ6OlJlbmRlck11bHRpQ29sdW1uU2V0KFJlbmRlckZyYWdtZW50ZWRGbG93
JiBmcmFnbWVudGVkRmxvdywKICAgICAsIG1fbWF4Q29sdW1uSGVpZ2h0KFJlbmRlckZyYWdtZW50
ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pblNwYWNlU2hvcnRhZ2UoUmVu
ZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSkKICAgICAsIG1fbWluaW11bUNv
bHVtbkhlaWdodCgwKQorICAgICwgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KDAp
CiB7CiB9CiAKQEAgLTIzNSwxNSArMjM2LDE2IEBAIExheW91dFVuaXQgUmVuZGVyTXVsdGlDb2x1
bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkgY29uc3QKICAgICAg
ICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KG1fY29udGVudFJ1bnNbaW5kZXhdLmNvbHVt
bkxvZ2ljYWxIZWlnaHQoc3RhcnRPZmZzZXQpLCBtX21pbmltdW1Db2x1bW5IZWlnaHQpOwogICAg
IH0KIAorICAgIExheW91dFVuaXQgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2UgPSBzdGQ6Om1heDxM
YXlvdXRVbml0PihMYXlvdXRVbml0KCksIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVu
dCk7CiAgICAgaWYgKGNvbHVtbkNvdW50KCkgPD0gY29tcHV0ZWRDb2x1bW5Db3VudCgpKSB7CiAg
ICAgICAgIC8vIFdpdGggdGhlIGN1cnJlbnQgY29sdW1uIGhlaWdodCwgdGhlIGNvbnRlbnQgZml0
cyB3aXRob3V0IGNyZWF0aW5nIG92ZXJmbG93aW5nIGNvbHVtbnMuIFdlJ3JlIGRvbmUuCi0gICAg
ICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21w
dXRlZENvbHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAg
IGlmIChmb3JjZWRCcmVha3NDb3VudCgpID49IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewogICAg
ICAgICAvLyBUb28gbWFueSBmb3JjZWQgYnJlYWtzIHRvIGFsbG93IGFueSBpbXBsaWNpdCBicmVh
a3MuIEluaXRpYWwgYmFsYW5jaW5nIHNob3VsZCBhbHJlYWR5CiAgICAgICAgIC8vIGhhdmUgc2V0
IGEgZ29vZCBoZWlnaHQuIFRoZXJlJ3Mgbm90aGluZyBtb3JlIHdlIHNob3VsZCBkby4KLSAgICAg
ICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7CisgICAgICAgIHJldHVybiBtX2NvbXB1
dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7CiAgICAgfQogCiAgICAg
Ly8gSWYgdGhlIGluaXRpYWwgZ3Vlc3NlZCBjb2x1bW4gaGVpZ2h0IHdhc24ndCBlbm91Z2gsIHN0
cmV0Y2ggaXQgbm93LiBTdHJldGNoIGJ5IHRoZSBsb3dlc3QKQEAgLTI1Miw5ICsyNTQsMTAgQEAg
TGF5b3V0VW5pdCBSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQo
Ym9vbCBpbml0aWFsKSBjb25zdAogICAgIEFTU0VSVChtX21pblNwYWNlU2hvcnRhZ2UgPiAwKTsg
Ly8gV2Ugc2hvdWxkIG5ldmVyIF9zaHJpbmtfIHRoZSBoZWlnaHQhCiAgICAgLy8gQVNTRVJUKG1f
bWluU3BhY2VTaG9ydGFnZSAhPSBSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdo
dCgpKTsgLy8gSWYgdGhpcyBoYXBwZW5zLCB3ZSBwcm9iYWJseSBoYXZlIGEgYnVnLgogICAgIGlm
IChtX21pblNwYWNlU2hvcnRhZ2UgPT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxI
ZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7IC8vIFNvIGJh
aWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KKyAgICAgICAgcmV0dXJuIG1f
Y29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsgLy8gU28gYmFp
bCBvdXQgcmF0aGVyIHRoYW4gbG9vcGluZyBpbmZpbml0ZWx5LgogCi0gICAgcmV0dXJuIG1fY29t
cHV0ZWRDb2x1bW5IZWlnaHQgKyBtX21pblNwYWNlU2hvcnRhZ2U7CisgICAgYXV0byB0b0FkZCA9
IHN0ZDo6bWF4PExheW91dFVuaXQ+KHNpemVDb250YWlubWVudFNob3J0YWdlLCBtX21pblNwYWNl
U2hvcnRhZ2UpOworICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgdG9BZGQ7CiB9
CiAKIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9yY2VkQnJlYWtzKCkKQEAgLTM2
NSw2ICszNjgsOCBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVwYXJlRm9yTGF5b3V0
KGJvb2wgaW5pdGlhbCkKICAgICAvLyBOdWtlIHByZXZpb3VzbHkgc3RvcmVkIG1pbmltdW0gY29s
dW1uIGhlaWdodC4gQ29udGVudHMgbWF5IGhhdmUgY2hhbmdlZCBmb3IgYWxsIHdlIGtub3cuCiAg
ICAgbV9taW5pbXVtQ29sdW1uSGVpZ2h0ID0gMDsKIAorICAgIG1fc3BhY2VTaG9ydGFnZUZvclNp
emVDb250YWlubWVudCA9IDA7CisKICAgICAvLyBTdGFydCB3aXRoICJpbmZpbml0ZSIgZmxvdyB0
aHJlYWQgcG9ydGlvbiBoZWlnaHQgdW50aWwgaGVpZ2h0IGlzIGtub3duLgogICAgIHNldExvZ2lj
YWxCb3R0b21JbkZyYWdtZW50ZWRGbG93KFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2Fs
SGVpZ2h0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNv
bHVtblNldC5oCmluZGV4IGY3M2JmOTBhMzE2ZTM4ZWE4MjVhNjllODY0MjczNzZmNjBlNTRhNTku
LmM0OGFlMGE0Yzc1ODY1YTUzZmE1NWJmYmVmNzJkMWJiOTIyNzNkNzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBAIC04Myw2ICs4Mywx
NSBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KExheW91dFVu
aXQgaGVpZ2h0KSB7IG1fbWluaW11bUNvbHVtbkhlaWdodCA9IHN0ZDo6bWF4KGhlaWdodCwgbV9t
aW5pbXVtQ29sdW1uSGVpZ2h0KTsgfQogICAgIExheW91dFVuaXQgbWluaW11bUNvbHVtbkhlaWdo
dCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUNvbHVtbkhlaWdodDsgfQogCisgICAgdm9pZCB1
cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KExheW91dFVuaXQgc2hvcnRhZ2Up
CisgICAgeworICAgICAgICBpZiAobV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IDw9
IDApIHsKKyAgICAgICAgICAgIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA9IHNo
b3J0YWdlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1fc3BhY2VT
aG9ydGFnZUZvclNpemVDb250YWlubWVudCA9IHN0ZDo6bWluKHNob3J0YWdlLCBtX3NwYWNlU2hv
cnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOworICAgIH0KKwogICAgIHVuc2lnbmVkIGZvcmNlZEJy
ZWFrc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UnVucy5zaXplKCk7IH0KICAgICB2
b2lkIGNsZWFyRm9yY2VkQnJlYWtzKCk7CiAgICAgdm9pZCBhZGRGb3JjZWRCcmVhayhMYXlvdXRV
bml0IG9mZnNldEZyb21GaXJzdFBhZ2UpOwpAQCAtMTk4LDYgKzIwNyw3IEBAIHByaXZhdGU6CiAg
ICAgTGF5b3V0VW5pdCBtX21heENvbHVtbkhlaWdodDsgLy8gTWF4aW11bSBjb2x1bW4gaGVpZ2h0
IGFsbG93ZWQuCiAgICAgTGF5b3V0VW5pdCBtX21pblNwYWNlU2hvcnRhZ2U7IC8vIFRoZSBzbWFs
bGVzdCBhbW91dCBvZiBzcGFjZSBzaG9ydGFnZSB0aGF0IGNhdXNlZCBhIGNvbHVtbiBicmVhay4K
ICAgICBMYXlvdXRVbml0IG1fbWluaW11bUNvbHVtbkhlaWdodDsKKyAgICBMYXlvdXRVbml0IG1f
c3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudDsgLy8gVGhlIHNob3J0YWdlIHNwYWNlIHRo
YXQga2VlcHMgc2l6ZSBjb250YWlubWVudCBtb25vbGl0aGljLgogCiAgICAgLy8gQSBydW4gb2Yg
Y29udGVudCB3aXRob3V0IGV4cGxpY2l0IChmb3JjZWQpIGJyZWFrczsgaS5lLiBhIGZsb3cgdGhy
ZWFkIHBvcnRpb24gYmV0d2VlbiB0d28KICAgICAvLyBleHBsaWNpdCBicmVha3MsIGJldHdlZW4g
ZmxvdyB0aHJlYWQgc3RhcnQgYW5kIGFuIGV4cGxpY2l0IGJyZWFrLCBiZXR3ZWVuIGFuIGV4cGxp
Y2l0IGJyZWFrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmluZGV4
IGU1NGVkOWYzYWIzN2ZmMWJkMzc5ZmE4NTdmZjQ0YThhZTNhZGMzODQuLmM1OGI5MWJjNGUzYmQ1
ZjJiYTg2NTgzODc3OWQxNmFmMTM1OGY1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwCkBAIC0yNDk4LDMgKzI0OTgsOCBAQCBib29sIFdlYkNvcmU6OnNob3Vs
ZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5k
ZXJlcgogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkgJiYg
KCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3go
KSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkg
fHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6c2hv
dWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5k
ZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1NpemUoKSAmJiAo
IXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJveCgp
KSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQoKSB8
fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgpOworfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDMxZjBmMDdkNTQ3Mjdl
OGM1NDZjNTQ3YzU3ZDMwNDUxZTE5MjMyYzYuLjg2ZmI1M2M5ZWU0MWVmNmFlNWZlYzExZGQ1YmUw
NTM0ZDYzZDRjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAg
LTIwMSw3ICsyMDEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlbmRlcklubGluZSgpIGNvbnN0
OwogICAgIGJvb2wgaXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCkgY29uc3Q7CiAKLSAgICBpbmxp
bmUgYm9vbCBpc0F0b21pY0lubGluZUxldmVsQm94KCkgY29uc3Q7CisgICAgYm9vbCBpc0F0b21p
Y0lubGluZUxldmVsQm94KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNDb3VudGVyKCkg
Y29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xMTczLDcgKzExNzMsNyBAQCBpbmxpbmUgUmVuZGVyT2Jq
ZWN0KiBSZW5kZXJPYmplY3Q6Om5leHRJbkZsb3dTaWJsaW5nKCkgY29uc3QKICAgICByZXR1cm4g
bmV4dFNpYmxpbmc7CiB9CiAKLWJvb2wgUmVuZGVyT2JqZWN0Ojppc0F0b21pY0lubGluZUxldmVs
Qm94KCkgY29uc3QKK2lubGluZSBib29sIFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVMZXZl
bEJveCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0eWxlKCkuaXNEaXNwbGF5SW5saW5lVHlwZSgp
ICYmICEoc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OklubGluZSAmJiAhaXNSZXBs
YWNlZCgpKTsKIH0KQEAgLTExODcsNiArMTE4Nyw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xheWVy
VHJlZUZvckxpdmVEb2N1bWVudHMoKTsKICNlbmRpZgogCiBib29sIHNob3VsZEFwcGx5TGF5b3V0
Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4IDlm
NDVmZjRkNmQ0ZGM3MmM1YThjMjU4YjlhMGE2ZTZjZjc5MzNmZDguLmMyYTRhMzcxNmE1MzE1YWNh
ZDMwNDI0NmIyODA0ZjE1ODczZjM3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclJlcGxhY2VkLmNwcApAQCAtMzg5LDcgKzM4OSw5IEBAIGJvb2wgUmVuZGVyUmVwbGFjZWQ6
OnNldE5lZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVDaGFuZ2UoKQogdm9pZCBS
ZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3go
UmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIsIEZsb2F0U2l6ZSYgY29uc3RyYWluZWRTaXplLCBk
b3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIEZsb2F0U2l6ZSBpbnRyaW5zaWNT
aXplOwotICAgIGlmIChjb250ZW50UmVuZGVyZXIpIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJp
bnNpY1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOworICAg
IGVsc2UgaWYgKGNvbnRlbnRSZW5kZXJlcikgewogICAgICAgICBjb250ZW50UmVuZGVyZXItPmNv
bXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1Jh
dGlvKTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RS
YXRpb1R5cGU6OlJhdGlvIHx8IChzdHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJh
dGlvVHlwZTo6QXV0b0FuZFJhdGlvICYmICFpbnRyaW5zaWNSYXRpbykpCkBAIC00OTQsNyArNDk2
LDcgQEAgT3B0aW9uYWw8ZG91YmxlPiBSZW5kZXJSZXBsYWNlZDo6aW50cmluc2ljQXNwZWN0UmF0
aW9Gcm9tV2lkdGhIZWlnaHQoKSBjb25zdAogdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUlu
dHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUm
IGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIC8vIElmIHRoZXJlJ3MgYW4gZW1iZWRkZWRD
b250ZW50Qm94KCkgb2YgYSByZW1vdGUsIHJlZmVyZW5jZWQgZG9jdW1lbnQgYXZhaWxhYmxlLCB0
aGlzIGNvZGUtcGF0aCBzaG91bGQgbmV2ZXIgYmUgdXNlZC4KLSAgICBBU1NFUlQoIWVtYmVkZGVk
Q29udGVudEJveCgpKTsKKyAgICBBU1NFUlQoIWVtYmVkZGVkQ29udGVudEJveCgpIHx8IHNob3Vs
ZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSk7CiAgICAgaW50cmluc2ljU2l6ZSA9IEZsb2F0
U2l6ZShpbnRyaW5zaWNMb2dpY2FsV2lkdGgoKSwgaW50cmluc2ljTG9naWNhbEhlaWdodCgpKTsK
IAogICAgIGlmIChzdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggM2I2MWY0OWQ1YTE3MGJiMjM1MGJkZjY3MGM2
MTk4MDA1OTZkYzUxZi4uOTliYWEwOWY4OGY5NTJiZGQ1YjU3OGM2MmIzZmRmYmU1YWViZmMwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTQwLDcgKzQw
LDEyIEBAIHB1YmxpYzoKICAgICBib29sIGhhc1JlcGxhY2VkTG9naWNhbEhlaWdodCgpIGNvbnN0
OwogICAgIGJvb2wgc2V0TmVlZHNMYXlvdXRJZk5lZWRlZEFmdGVySW50cmluc2ljU2l6ZUNoYW5n
ZSgpOwogCi0gICAgTGF5b3V0U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gbV9pbnRyaW5zaWNTaXplOyB9CisgICAgTGF5b3V0U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29u
c3QgZmluYWwKKyAgICB7CisgICAgICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgq
dGhpcykpCisgICAgICAgICAgICByZXR1cm4gTGF5b3V0U2l6ZSgpOworICAgICAgICByZXR1cm4g
bV9pbnRyaW5zaWNTaXplOworICAgIH0KICAgICAKICAgICBSb3VuZGVkUmVjdCByb3VuZGVkQ29u
dGVudEJveFJlY3QoKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clNsaWRlci5jcHAKaW5kZXggNDcxNjllZGY5OGUxNDI4YzRhMDc3MGYyZjRlZmMwYjU4ZDgxM2M3
Yi4uOWU5NDRiZTAwYmIwMmUzODUxYTQzZDU2NjY2MTlmN2M0MjlhNWQ5NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTY5LDYgKzY5LDggQEAgTGF5b3V0
VW5pdCBSZW5kZXJTbGlkZXI6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBib29sIC8q
Zmlyc3RMaW5lKi8sIExpbmUKIAogdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNM
b2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4
TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgqdGhpcykpCisgICAgICAgIHJldHVybjsKICAgICBtYXhMb2dpY2FsV2lkdGggPSBkZWZhdWx0
VHJhY2tMZW5ndGggKiBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKTsKICAgICBpZiAoIXN0eWxlKCku
d2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgbWluTG9naWNhbFdpZHRo
ID0gbWF4TG9naWNhbFdpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbC5jcHAKaW5kZXggZGMwNThkNTM0NjdhYTNjZmFiZjg1MmYzMzFlZjAxZjMxNTUz
MjFmNC4uMjQyYWNhM2EwNmI5MTU3NGE3NDhiMTNlY2VmYTgwYzYxNzJiOWM1OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0xNTYsNiAr
MTU2LDggQEAgZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4KSBj
b25zdAogCiB2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxX
aWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMp
KQorICAgICAgICByZXR1cm47CiAgICAgLy8gVXNlIGF2ZXJhZ2UgY2hhcmFjdGVyIHdpZHRoLiBN
YXRjaGVzIElFLgogICAgIG1heExvZ2ljYWxXaWR0aCA9IHByZWZlcnJlZENvbnRlbnRMb2dpY2Fs
V2lkdGgoY29uc3RfY2FzdDxSZW5kZXJUZXh0Q29udHJvbCo+KHRoaXMpLT5nZXRBdmVyYWdlQ2hh
cldpZHRoKCkpOwogICAgIGlmIChSZW5kZXJCb3gqIGlubmVyVGV4dFJlbmRlckJveCA9IGlubmVy
VGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZGVvLmNwcAppbmRleCBjNmQwNDQxNjZjY2ZkNWJjN2M4ZjE5ZTBhYWJjMjFjNTgwMzgyMWY5
Li4yOTI4ZGQ0ZGNhZmVkMmE0YzA3YmFkMGQxNGFlNDMzOTBlNTljYTkzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKQEAgLTEyMyw2ICsxMjMsOSBAQCBib29sIFJl
bmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIAogTGF5b3V0U2l6ZSBSZW5kZXJWaWRl
bzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSgpCiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKwogICAgIC8v
IFNwZWMgdGV4dCBmcm9tIDQuOC42CiAgICAgLy8KICAgICAvLyBUaGUgaW50cmluc2ljIHdpZHRo
IG9mIGEgdmlkZW8gZWxlbWVudCdzIHBsYXliYWNrIGFyZWEgaXMgdGhlIGludHJpbnNpYyB3aWR0
aCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5kZXgg
ZGY1NWVlNjIyZTZlMTAzYTU4MjhkNDZhNTllOTM5ZWIwN2M4ZDg3My4uMGE1NjhmY2JjMzQ0Yzk1
MDUxMWI2ZDM5YzRmYTBmNGMyMDU1ZWFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyNyw2ICs1MjcsNyBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvVHlwZSgpID09IEFz
cGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9U
eXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRhaW4o
KSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAgICAg
Ym9vbCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERh
dGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KKyAgICBib29sIGNv
bnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNvbnRh
aW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CiAgICAgQm94QWxpZ25tZW50IGJveEFs
aWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVOb25J
bmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJveERp
cmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hEaXJl
Y3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJveEZs
ZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxl
eGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRl
clNWR1Jvb3QuY3BwCmluZGV4IDE0MjIzNTA0NjA5ZTNiMTViNWJjMzY4YTQ3ODA3MDA3MDk1NjIw
ODUuLjVlNDZkMzdmNTBmZGY4NGE5MjNiNmQ0MGE0ZGQ3MGIyOTkyMjIxMGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtNzAsNiArNzAs
OCBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJTVkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29uc3QK
IAogdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihG
bG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7
CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpOworCiAgICAg
Ly8gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL2Nvb3Jkcy5odG1sI0ludHJpbnNpY1Np
emluZwogICAgIC8vIFNWRyBuZWVkcyB0byBzcGVjaWZ5IGhvdyB0byBjYWxjdWxhdGUgc29tZSBp
bnRyaW5zaWMgc2l6aW5nIHByb3BlcnRpZXMgdG8gZW5hYmxlIGluY2x1c2lvbiB3aXRoaW4gb3Ro
ZXIgbGFuZ3VhZ2VzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMWUzNmI5MGI0NDg5NTkzYmNjNjRmYjQyYTQzOTYzNmMy
N2YzYWU3Ny4uZTAxOGRmMzE2OGUzNmY5ZTVlYzE3MzU0ZjgwZTFkZGY0MTUzZDMyNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDIxLTA1LTA0ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5AaWdh
bGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzaXplCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhl
IHRlc3QgcmVzdWx0IGZvciBzaXplIGNvbnRhaW5tZW50LiBBZGRlZCBleHBsYW5hdGlvbnMgZm9y
IHNpemUgY29udGFpbm1lbnQgdGVzdHMKKyAgICAgICAgdGhhdCBkZXBlbmRlZCBvbiBvdGhlciBm
ZWF0dXJlcy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDUtMDMgIENo
cmlzIExvcmQgIDxjbG9yZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIERlY29kaW5nIGFuIFNWRyBv
ZmYgdGhlIG1haW4gdGhyZWFkIGNhdXNlcyBhIGNyYXNoCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZwppbmRleCA0ZTIxZTdiNmNiZjViNjZjMDk5Y2Q2YTI5ZTM4YmZjOTE4ZTUzNjRjLi44NDVj
MjhjNzJiOTI2N2Q2MGQ5OGI5Njc5ZGQ5YzExYzY0NzM4MDg1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0wNS0wNCAgQ2F0aGllIENoZW4gIDxj
YXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNv
bnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgPGNhbnZhcz4gYW5kIDx2aWRlbz4gZG9uJ3Qgc3VwcG9ydCBjb21wdXRpbmcgYXNwZWN0IHJh
dGlvIGZyb20gd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIHlldCwKKyAgICAgICAgc28gdGhl
IGhlaWdodHMgYXJlIHplcm8gd2hlbiB0aGV5IGFyZSB3aXRoICJjb250YWluOiBzaXplIi4KKwor
ICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWdyaWQtMDAzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGlj
b2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1l
bGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvY2FudmFz
LWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVk
LWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0OgorCiAy
MDIxLTA1LTAzICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBEZWNv
ZGluZyBhbiBTVkcgb2ZmIHRoZSBtYWluIHRocmVhZCBjYXVzZXMgYSBjcmFzaApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZDhhMzEzNjhmN2U5NWFkZGYwNWQ5YmFjMWM3Y2YzOTJkYzVlZTY3NS4uOTg5
ZjI5ODAwYzQzZGU0YjM0N2VjYThlNzk4OGE5MDVhOGJkNWQ1OCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC00NTg5LDcgKzQ1ODksNiBAQCB3ZWJraXQub3JnL2IvMjIwOTI4IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb2xvci9wcmVkZWZpbmVkLTAxNAogd2Via2l0Lm9y
Zy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3Iv
cHJlZGVmaW5lZC0wMTUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXSAjIFJlcXVpcmVzIGZhbGxi
YWNrIChhdCBwYXJzZSB0aW1lKSBzdXBwb3J0ICh1bmNsZWFyIGlmIHRoaXMgbWFrZXMgc2Vuc2Up
CiAKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1hbmltYXRpb24tMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ2MDYsNyArNDYwNSw2IEBAIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9j
b250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CkBAIC00NjQ4LDY4ICs0NjQ2LDggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAKIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3Rh
Y2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAx
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyNS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtMDI3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS0wNDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA0Mi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtMDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtMDYzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjQuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtYm9yZGVycy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnJlYWtz
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtZmllbGRzZXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNl
dC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwMy5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmxleGJv
eC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtZ3JpZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0w
MDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLWlubGluZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9u
b2xpdGhpYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRoaWMtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtbXVsdGljb2wtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNl
ZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwMi5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtcmVwbGFjZWQtMDAzYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
cmVwbGFjZWQtMDAzYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDA0
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtc2Nyb2xsYmFycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNjcm9s
bGJhcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAwMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
c2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxl
bS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLXRhYmxlLWNhcHRpb24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0
LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zdHJpY3QtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAx
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCkBAIC00NzQxLDYgKzQ2NzksMzEgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDIuaHRtbCBbIEltYWdlT24KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3RlLXNjb3Bpbmct
MDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3RlLXNjb3BpbmctMDA0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KIAorIyBDYW52YXMgZG9lc24ndCBnZXQgZGVmYXVsdCBhc3BlY3QtcmF0aW8gZm9y
IHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcy4KK3dlYmtpdC5vcmcvYi8yMTc1MjkgaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvY2FudmFzLWNvbnRhaW4t
c2l6ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgQ29udGVudCBpcyBwYWludGVkIG9u
IHN2ZydzIHBhZGRpbmcgYXJlYS4KK3dlYmtpdC5vcmcvYi80MjU4NjggaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgTXVsdGljb2x1bW4gZG9lcyBub3QgcGFp
bnQgdGhlIGhvcml6b250YWwgb3ZlcmZsb3cgYXJlYSBvZiBhIHJlbGF0aXZlIGNoaWxkLgord2Vi
a2l0Lm9yZy9iLzQxNzk2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1tb25vbGl0aGljLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCisKKyMgQnV0dG9ucyB3aXRoIGF1dG8gd2lkdGggYW5kIGhlaWdodCBoYXMgZXh0cmEgbWFy
Z2lucy4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1idXR0b24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1idXR0
b24tMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBTY3JvbGxiYXIgZGlzcGxheXMg
YXJlIGRpZmZlcmVudC4KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIFNlbGVj
dCB3aXRoIGVtcHR5IGNvbnRlbnQgYWx3YXlzIGhhcyByb290IGxpbmVib3gsIHNvIHRoZSBoZWln
aHRzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgQ1NTIHBy
b3BlcnR5IGNvbG9yIGlzIG5vdCB3b3JraW5nIGluIHNlbGVjdCBlbGVtZW50cy4KK2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxl
Y3QtZWxlbS0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKICMgVGVzdHMgdGhhdCBmYWlsIGJlY2F1c2Ug
dGhleSBhc3N1bWUgYSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gYHdyaXRpbmctbW9kZTogdmVydGlj
YWwtcmxgIGVsZW1lbnRzIHdpbGwgYmUgb24gdGhlIHJpZ2h0LWhhbmQgc2lkZQogd2Via2l0Lm9y
Zy9iLzIyNDM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mtd3JpdGlu
Zy1tb2Rlcy9zaXppbmctb3J0aG9nLXZybC1pbi1odGItMDEzLnhodCBbIEltYWdlT25seUZhaWx1
cmUgXQogd2Via2l0Lm9yZy9iLzIyNDM1NyBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L2Nzc29tLWdldEJvdW5kaW5nQ2xpZW50UmVjdC12ZXJ0aWNhbC1ybC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3Jp
ZC0wMDMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4
dAppbmRleCBlMTZkNjdkYmY3ZDQ1MjRhZjdmMzExMDMwOWY5NzgyOTkwNDFjMmQyLi41MWU4ZTIw
MDJmZjdjYTc0MmM5NWUzOTQ2ZmQxY2M4YmZmN2IxMWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAw
My1leHBlY3RlZC50eHQKQEAgLTM2LDE5ICszNiw4IEBAIFBBU1MgLmdyaWQgMzQKIFBBU1MgLmdy
aWQgMzUKIFBBU1MgLmdyaWQgMzYKIFBBU1MgLmdyaWQgMzcKLUZBSUwgLmdyaWQgMzggYXNzZXJ0
X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQiIHN0eWxlPSJncmlkOiByZXBlYXQoYXV0by1maXQs
IDc1cHgpIC8gcmVwZWF0KGF1dG8tZml0LCAxMDBweCk7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gICAgPGRpdj48L2Rpdj4KLSAgPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCi1GQUlMIC5ncmlkIDM5IGFzc2VydF9lcXVhbHM6
Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDogYXV0byA1MHB4IC8gMTAwcHggYXV0bzsi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIj4KLSAg
PGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMCIg
ZGF0YS1vZmZzZXQteD0iMCIgZGF0YS1vZmZzZXQteT0iMCI+WDwvZGl2PgotICA8ZGl2IGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjQwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0
LXg9IjEwMCIgZGF0YS1vZmZzZXQteT0iMCI+WFg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCIgZGF0YS1vZmZzZXQteD0iMCIg
ZGF0YS1vZmZzZXQteT0iMTAiPlhYWDwvZGl2PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjQwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRhdGEtb2Zmc2V0LXg9IjEwMCIgZGF0YS1v
ZmZzZXQteT0iMTAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBn
b3QgMTQwCitQQVNTIC5ncmlkIDM4CitQQVNTIC5ncmlkIDM5CiAKIFgKIFhYCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWdyaWQtMDA0LWV4cGVjdGVkLnR4dAppbmRleCA3MGNkN2U2MTkxZDBmZmRiYTUyMjY0MjQ2Yjhh
ODFjZjM0ODNkZjM4Li5lMGExYzlkNTFmYmY0YjZhNTYyNGRmNDFiOWZiMjIxYzQ1ZWY2YmMyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQKQEAgLTEsMzggKzEsMTggQEAKIAog
UEFTUyAuZ3JpZCAxCi1GQUlMIC5ncmlkIDIgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9Imdy
aWQgcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0
IGdvdCAzMDAKK1BBU1MgLmdyaWQgMgogUEFTUyAuZ3JpZCAzCi1GQUlMIC5ncmlkIDQgYXNzZXJ0
X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rp
dj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNAogUEFTUyAuZ3Jp
ZCA1CiBQQVNTIC5ncmlkIDYKIFBBU1MgLmdyaWQgNwotRkFJTCAuZ3JpZCA4IGFzc2VydF9lcXVh
bHM6Ci08ZGl2IGNsYXNzPSJncmlkIGNhbGMgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgot
d2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA4CiBQQVNTIC5ncmlkIDkK
LUZBSUwgLmdyaWQgMTAgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgY2FsYyBtYXgt
Y29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAi
PgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjEwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQ
QVNTIC5ncmlkIDEwCiBQQVNTIC5ncmlkIDExCiBQQVNTIC5ncmlkIDEyCiBQQVNTIC5ncmlkIDEz
Ci1GQUlMIC5ncmlkIDE0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1w
ZXJjZW50LWZpeGVkIG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVk
IDAgYnV0IGdvdCAxMDAKK1BBU1MgLmdyaWQgMTQKIFBBU1MgLmdyaWQgMTUKIFBBU1MgLmdyaWQg
MTYKIFBBU1MgLmdyaWQgMTcKQEAgLTQwLDY3ICsyMCwzMSBAQCBQQVNTIC5ncmlkIDE4CiBQQVNT
IC5ncmlkIDE5CiBQQVNTIC5ncmlkIDIwCiBQQVNTIC5ncmlkIDIxCi1GQUlMIC5ncmlkIDIyIGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1maXhlZC1wZXJjZW50IG1heC1j
b250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIx
MDAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIxMDAiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjEwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdvdCAz
MDAKK1BBU1MgLmdyaWQgMjIKIFBBU1MgLmdyaWQgMjMKIFBBU1MgLmdyaWQgMjQKIFBBU1MgLmdy
aWQgMjUKLUZBSUwgLmdyaWQgMjYgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlu
bWF4LXBlcmNlbnQtZmxleCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVk
IDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMjYKIFBBU1MgLmdyaWQgMjcKLUZBSUwgLmdyaWQg
MjggYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNlbnQtZmxleCBt
YXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9
IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRo
PSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BB
U1MgLmdyaWQgMjgKIFBBU1MgLmdyaWQgMjkKIFBBU1MgLmdyaWQgMzAKIFBBU1MgLmdyaWQgMzEK
LUZBSUwgLmdyaWQgMzIgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWlu
dHJpbnNpYy1wZXJjZW50IG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0
ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzMgogUEFTUyAuZ3JpZCAzMwotRkFJTCAuZ3Jp
ZCAzNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtaW50cmluc2ljLXBl
cmNlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBn
b3QgMzAwCitQQVNTIC5ncmlkIDM0CiBQQVNTIC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNT
IC5ncmlkIDM3Ci1GQUlMIC5ncmlkIDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlk
IG1pbm1heC1wZXJjZW50LWludHJpbnNpYyBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRo
IGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzgKIFBBU1MgLmdyaWQgMzkKLUZB
SUwgLmdyaWQgNDAgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LXBlcmNl
bnQtaW50cmluc2ljIG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0MAogUEFTUyAuZ3JpZCA0MQogUEFTUyAuZ3JpZCA0Mgog
UEFTUyAuZ3JpZCA0MwotRkFJTCAuZ3JpZCA0NCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0i
Z3JpZCBmaXQtY29udGVudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRh
dGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVj
dGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNDQKIFBBU1MgLmdyaWQgNDUKLUZBSUwgLmdy
aWQgNDYgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgbWF4LWNv
bnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMw
MCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNT
IC5ncmlkIDQ2CiBQQVNTIC5ncmlkIDQ3CiBQQVNTIC5ncmlkIDQ4CiBYWFhYCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQudHh0CmluZGV4IDNl
MTQwODY3YjdlNzIxNDYxMWNjNTI5YWJiNDg1ZmQyZjhlMWI5NDcuLjNlNzk5MWMxYzA1MWE3NzY2
M2RkNzU3MTIyOWEwM2NhNzFlMzI2YjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0
aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0
aWNvbC1hcy1mbGV4LWl0ZW0tZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDUgQEAKIFRoZXJlIHNo
b3VsZCBiZSBhIGdyZWVuIHNxdWFyZSBiZWxvdy4KIAogCi1GQUlMICNmbGV4IDEgYXNzZXJ0X2Vx
dWFsczoKLTxkaXYgaWQ9ImZsZXgiPgotICA8ZGl2IGlkPSJtdWx0aWNvbCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIj4KLSAgICA8ZGl2IHN0eWxl
PSJ3aWR0aDoxMDAwcHg7IGhlaWdodDoxcHg7Ij48L2Rpdj4KLSAgPC9kaXY+Ci08L2Rpdj4KLXdp
ZHRoIGV4cGVjdGVkIDEwMCBidXQgZ290IDc4NAorUEFTUyAjZmxleCAxCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4
Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVt
LWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKaW5kZXggNzQ0ZGM0ZjYyYWYxMDIzMzg5NWZm
YzhhYjZmZmQ0M2RlZGQ5Yjg3MC4uY2MwYmFjNzU4YTg2NmQ0YWVlYzc1YWNlOGVlN2Q4MzNiZjFk
YzFlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWZsZXhib3gvZmxleC1pdGVtLWNvbnRhaW5zLXN0cmljdC1leHBlY3RlZC50eHQKQEAgLTE3
LDI4ICsxNywxMiBAQCBDb2x1bW4KIAogUm93CiAKLUZBSUwgLmlubGluZS1mbGV4IDEgYXNzZXJ0
X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iZGlzcGxheTogaW5saW5l
LWZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Db2x1bW48
L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDUyCi1GQUlMIC5pbmxpbmUt
ZmxleCAyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJj
b250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMCI+Um93PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAor
UEFTUyAuaW5saW5lLWZsZXggMQorUEFTUyAuaW5saW5lLWZsZXggMgogUEFTUyAuaW5saW5lLWZs
ZXggMwogUEFTUyAuaW5saW5lLWZsZXggNAotRkFJTCAuaW5saW5lLWZsZXggNSBhc3NlcnRfZXF1
YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIHN0eWxlPSJmbGV4LWRpcmVjdGlvbjogY29s
dW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPkNvbHVtbjwv
ZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgNTIKLUZBSUwgLmlubGluZS1m
bGV4IDYgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iYWxp
Z24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Sb3c8L2Rpdj4KLTwvZGl2
Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwCitQQVNTIC5pbmxpbmUtZmxleCA1CitQQVNT
IC5pbmxpbmUtZmxleCA2CiBQQVNTIC5pbmxpbmUtZmxleCA3CiBQQVNTIC5pbmxpbmUtZmxleCA4
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRk
ZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmlu
Zy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1p
bWFnZXMvY2FudmFzLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQKaW5kZXggYWJjYmEwMzA4NTU1
ZTZkZWNlNDI3Y2UxYWIzZmE1NjBjNGYzN2QwNS4uZTZmY2U5NjkwNDk1M2ViZmI2YzU4NzYxNmU4
YmVlOTViZmEwYWQwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVz
LWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvY2FudmFzLWFzcGVjdC1yYXRpby1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRl
ZC1jb250ZW50LWFuZC1pbWFnZXMvY2FudmFzLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQKQEAg
LTEsNiArMSw2IEBACiAKIAotUEFTUyBDYW52YXMgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVz
IGFyZSB1c2VkIGFzIHRoZSBzdXJmYWNlIHNpemUgd2l0aCBjb250YWluOnNpemUKK0ZBSUwgQ2Fu
dmFzIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgdXNlZCBhcyB0aGUgc3VyZmFjZSBz
aXplIHdpdGggY29udGFpbjpzaXplIGFzc2VydF9hcHByb3hfZXF1YWxzOiBleHBlY3RlZCAyLjUg
Ky8tIDAuMDAxIGJ1dCBnb3QgSW5maW5pdHkKIFBBU1MgQ2FudmFzIHdpZHRoIGFuZCBoZWlnaHQg
YXR0cmlidXRlcyBhcmUgdXNlZCBhcyB0aGUgc3VyZmFjZSBzaXplCiBGQUlMIENvbXB1dGVkIHN0
eWxlIHRlc3Q6IGNhbnZhcyB3aXRoIHsid2lkdGgiOiIxMCIsImhlaWdodCI6IjIwIn0gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMTAgLyAyMCIgYnV0IGdvdCAiYXV0byIKIFBBU1MgQ29t
cHV0ZWQgc3R5bGUgdGVzdDogY2FudmFzIHdpdGggeyJ3aWR0aCI6IjAiLCJoZWlnaHQiOiIxIn0K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQt
Y29udGVudC1hbmQtaW1hZ2VzL3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3Jl
cGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdl
cy92aWRlby1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CmluZGV4IDFhNjA0NDFlNGQzNjg1ZTEy
OTJlZTIwYTIzNmNlODUyYmY4NTNlNWEuLjNjNDVjN2U0MzZmMDhhNDZiZGE4MmZkYjQ2MDA2MTM4
MGM5MWFiZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3It
ZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250
ZW50LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsx
LDYgQEAKIAogCi1GQUlMIFZpZGVvIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgbm90
IHVzZWQgdG8gaW5mZXIgYXNwZWN0LXJhdGlvIGFzc2VydF9hcHByb3hfZXF1YWxzOiBleHBlY3Rl
ZCAyLjUgKy8tIDAuMDAxIGJ1dCBnb3QgMgorRkFJTCBWaWRlbyB3aWR0aCBhbmQgaGVpZ2h0IGF0
dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIHRvIGluZmVyIGFzcGVjdC1yYXRpbyBhc3NlcnRfYXBwcm94
X2VxdWFsczogZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290IEluZmluaXR5CiBGQUlMIENv
bXB1dGVkIHN0eWxlIHRlc3Q6IHZpZGVvIHdpdGggeyJ3aWR0aCI6IjEwIiwiaGVpZ2h0IjoiMjAi
fSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYXV0byAxMCAvIDIwIiBidXQgZ290ICJhdXRvIgog
RkFJTCBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRlbyB3aXRoIHsid2lkdGgiOiIwLjUiLCJoZWln
aHQiOiIxLjUifSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAiYXV0byAwLjUgLyAxLjUiIGJ1dCBn
b3QgImF1dG8iCiBQQVNTIENvbXB1dGVkIHN0eWxlIHRlc3Q6IHZpZGVvIHdpdGggeyJ3aWR0aCI6
IjAiLCJoZWlnaHQiOiIxIn0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427740</attachid>
            <date>2021-05-05 01:21:49 -0700</date>
            <delta_ts>2021-05-05 01:49:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210505162144.patch</filename>
            <type>text/plain</type>
            <size>69895</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE0ZGFjNDkwNjcxZjg4
MzI4ODhiNjBmY2I1ZGRiMzYxNGNlZGNlNS4uNmQ4ZWFiZDQyNTRiYTQxOWNmZTY2NzQwN2NhYTc1
ZDFjMzE0YmRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wNS0wNCAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWlu
XSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBicmluZ3MgaW5pdGlhbCBzdXBwb3J0IG9mIENTUyBj
b250YWluOnNpemUgYWNjb3JkaW5nIHRvIFsxXS4KKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgpIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBhIHNp
emUgY29udGFpbm1lbnQgYm94LgorICAgICAgICBUaGUgaW50cmluc2ljIHNpemVzIG9mIHNpemUg
Y29udGFpbm1lbnQgYm94IGFyZSBkZXRlcm1pbmVkIGFzIGlmIGl0IGhhZCBubyBjb250ZW50Lgor
ICAgICAgICBTbyB0aGUgaW1wbGVtZW50YXRpb24gbmVlZCB0byBjb29wZXJhdGUgd2l0aCB0aGUg
bGF5b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ29tcHV0aW5nIGxvZ2ljYWwgd2lkdGg6IFNpemUg
Y29udGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGlsZHJlbiB3aGlsZSBjb21wdXRpbmcg
bWluTG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExvZ2ljYWxXaWR0aCBpbiBjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocy4gU28gdGhlIGxvZ2ljYWwgd2lkdGggaXMgbm90IGFmZmVj
dGVkIGJ5IGNoaWxkcmVuLgorICAgICAgICAgIC0gTGF5b3V0IGNoaWxkcmVuOiBUaGUgbG9naWNh
bCBoZWlnaHQgaXMgY2hhbmdlZCBhZnRlciBsYXlvdXQgYWxsIGNoaWxkcmVuLgorICAgICAgICAg
IC0gQ29tcHV0aW5nIGxvZ2ljYWwgaGVpZ2h0OiBBdCB0aGUgYmVnaW5uaW5nLCBzaXplIGNvbnRh
aW5tZW50IGJveGVzIG5lZWQgdG8gcmVzZXQgbG9naWNhbCBoZWlnaHQgdG8gdGhlIGVtcHR5IGNv
bnRlbnQgaGVpZ2h0CisgICAgICAgICAgaWYgaXQgaXMgbm90IHJlbmRlckdyaWQuIFNvIHRoZSBs
b2dpY2FsIGhlaWdodCBpcyBub3QgYWZmZWN0ZWQgYnkgY2hpbGRyZW4uCisgICAgICAgIFdlIGFs
c28gbmVlZCB0byBjYWxjdWxhdGUgdGhlIHNpemVzIGFjY29yZGluZyB0byB0aGUgbGF5b3V0IGFs
Z29yaXRobXMuCisgICAgICAgIC0gR3JpZCBsYXlvdXQ6CisgICAgICAgICAgVG8gY2FsY3VsYXRl
IHRoZSBtaW5Mb2dpY2FsV2lkdGggYW5kIG1heExvZ2ljYWxXaWR0aCBmb3IgaW5kZWZpbml0ZSBz
aXplIFJlbmRlckdyaWQuCisgICAgICAgICAgVGhlIHdpZHRocyBhcmUgY2FsY3VsYXRlZCBieSBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06IG1fbWluQ29udGVudFNpemUgYW5kIG1fbWF4Q29udGVu
dFNpemUgd2hpY2ggYXJlIHRoZSBzdW0gb2YKKyAgICAgICAgICBtX2Jhc2VTaXplL21fZ3Jvd3Ro
TGltaXQgb2YgYWxsIEdyaWRUcmFja3MuIFRoZSBzaXplIGNvbnRhaW5tZW50IFJlbmRlckdyaWQg
c2tpcHMgaGFuZGxpbmcgY29udGVudCBpbiByZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcworICAg
ICAgICAgIGFuZCB0aGUgbV9tYXhDb250ZW50U2l6ZSB3aWxsIGJlIHRoZSBzdW0gb2YgbV9iYXNl
U2l6ZS4gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIHNhbWUgdG8gd2lkdGgsIGJ1dCBhZnRlciBjYWxj
dWxhdGluZworICAgICAgICAgIFJlbmRlckdyaWQncyBsb2dpY2FsIGhlaWdodCwgaXQgbmVlZHMg
dG8gY2FsY3VsYXRlIHRoZSB0cmFjayBzaXplcyBhZ2FpbiwgdG8gbWFrZSBzdXJlIHRoYXQgdGhl
eSBhcmUgZGlzdHJpYnV0ZWQgcHJvcGVybHkuCisgICAgICAgICAgV2UgdXNlIGNvbXB1dGVUcmFj
a1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KSB0
byByZWNhbGN1bGF0ZSBpdC4KKyAgICAgICAgLSBNdWx0aUNvbHVtbiBsYXlvdXQ6CisgICAgICAg
ICAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uLCBzaXplIGNvbnRhaW5tZW50IGJveGVz
IHNob3VsZCBiZSBtb25vbGl0aGljLCBzbyB3ZSBuZWVkIHRvIGV4dGVuZCBjb2x1bW4gaGVpZ2h0
CisgICAgICAgICAgZm9yIG92ZXJmbG93IGFuZCBwb3NpdGlvbmVkIHNpemUgY29udGFpbm1lbnQg
Ym94ZXMuIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgpIGlzIGFkZGVkIHRvIGlu
ZGljYXRlIHRoZSBzaG9ydGFnZSBzcGFjZQorICAgICAgICAgIHRoYXQgbmVlZCB0byBiYWxhbmNl
IHRoZSBjb2x1bW4gaGVpZ2h0cy4gYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0
aW9uKCkgd2lsbCBjYWxjdWxhdGUgdGhlIHNob3J0YWdlLgorCisgICAgICAgIFsxXSBodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvbnRhaW4tMS8jY29udGFpbm1lbnQtc2l6ZQorCisgICAgICAg
ICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHA6IEFkZCBpc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCB0byBpbmRpY2F0ZSBpZiBpdCBpcyBjYWxjdWxhdGluZyBzaXplcwor
ICAgICAgICAgIGZvciBpbmRlZmluaXRlIHNpemUgUmVuZGVyR3JpZCB3aGljaCBpcyBzaXplIGNv
bnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpn
cmlkQXJlYUJyZWFkdGhGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMpOgor
ICAgICAgICAgIEl0IHNraXBzIHJlc29sdmVJbnRyaW5zaWNUcmFja1NpemVzIGlmIGlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50LCBzbyBncm93dGhMaW1pdCBtaWdodCBiZSB1bmRlZmluZWQsCisg
ICAgICAgICAgaWYgc28sIHVzZSB0cmFjay5iYXNlU2l6ZSgpIGluc3RlYWQuCisgICAgICAgIChX
ZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJlc29sdmVJbnRyaW5zaWNUcmFja1Np
emVzKTogU2tpcCByZXNvbHZlIHRoZSBjb250ZW50IGlmIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5t
ZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFu
Y2VOZXh0U3RhdGUpOiBBZGRlZCBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlu
bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6aXNWYWxp
ZFRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtOjpydW4pOiBEbyBub3Qgc3RyZXRjaCB0aGUgdHJhY2sgc2l6ZXMgaWYgaXNDb21wdXRp
bmdTaXplQ29udGFpbm1lbnQoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0KTogQ2FsY3Vs
YXRlIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCBmb3IgcG9zaXRpb25lZCBzaXpl
IGNvbnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogU2tpcCBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzIGlmIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFNraXAgaGFuZGxpbmcg
dGhlIGNoaWxkcmVuIGZvciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0QmxvY2tDaGlsZEZvclBhZ2luYXRpb24pOiBDYWxjdWxh
dGUgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IGZvciBjaGlsZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQ
YWdpbmF0aW9uKTogbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50ID0gY2hpbGRPdmVy
Zmxvd0hlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KTogUmVzZXQg
dGhlIGxvZ2ljYWwgaGVpZ2h0IHRvIGVtcHR5IGNvbnRlbnQgaGVpZ2h0IGZvciBzaXplIGNvbnRh
aW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVG
b3JQYWdpbmF0aW9uIGNvbnN0KTogU2l6ZSBjb250YWlubWVudCBib3ggaXMgdW5zcGxpdHRhYmxl
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxl
VXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOiBJZiBpdCBpcyBzaXplIGNvbnRhaW5tZW50IHdp
dGggaW5maW5pdGVTaXplLCB1c2luZyB0cmFja0Jhc2VkTG9naWNhbEhlaWdodAorICAgICAgICB0
byBjb21wdXRlIHRyYWNrIHNpemVzIGFnYWluIHRvIG1ha2Ugc3VyZSB0aGUgaGVpZ2h0IGlzIGRp
c3RyaWJ1dGVkIHByb3Blcmx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0
ZUVtcHR5VHJhY2tzRm9yQXV0b1JlcGVhdCBjb25zdCk6IENvbGxhcHNlIGlmIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3Jt
YXRpb24gY29uc3QpOiBUaGlzIGlzIGhhbmRsZWQgaW4gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGluc3RlYWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29tcHV0
ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBUaGUgd2lkdGhzIG9mIHNpemUgY29udGFp
bm1lbnQgYm94ZXMgYXJlIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoUmVuZGVyTWVudUxpc3Q6OmNvbXB1
dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogVGhlIHdpZHRocyBvZiBzaXplIGNvbnRh
aW5tZW50IGJveCBhcmUgdGhlbWUubWluaW11bU1lbnVMaXN0U2l6ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck11bHRpQ29sdW1uRmxvdzo6dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCk6
IFNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNl
dDo6UmVuZGVyTXVsdGlDb2x1bW5TZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlD
b2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0IGNvbnN0KTogQWRkIG1fc3BhY2VTaG9y
dGFnZUZvclNpemVDb250YWlubWVudCB0byB0aGUgY29sdW1uIGhlaWdodC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVwYXJlRm9yTGF5b3V0KTogUmVzZXQgbV9z
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQpOiBDaGVjayBp
ZiB0aGUgb2JqZWN0IGlzIGEgc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc0F0
b21pY0lubGluZUxldmVsQm94IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVBc3Bl
Y3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6
IFVzZSB0aGUgZW1wdHkgaW50cmluc2ljU2l6ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuaDogVGhlIGludHJpbnNpY1NpemUgb2Ygc2l6ZSBjb250YWlubWVudCBpcyAoMCwg
MCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTog
RGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogSGFuZGxl
ZCBpbiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gaW5z
dGVhZC4KKwogMjAyMS0wNS0wMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgRGVjb2RpbmcgYW4gU1ZHIG9mZiB0aGUgbWFpbiB0aHJlYWQgY2F1c2VzIGEgY3Jhc2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDczNDM2NTdjYWZmNDRmZGU0OTA1NS4u
YTI3MGRiOGJkNmY4NGNkNzkwZGFmMjExNzY2OGY1ZWMyZGQyNjZmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAg
LTU4MCw3ICs1ODAsNyBAQCBPcHRpb25hbDxMYXlvdXRVbml0PiBHcmlkVHJhY2tTaXppbmdBbGdv
cml0aG06OmVzdGltYXRlZEdyaWRBcmVhQnJlYWR0aEZvckNoaWxkKAogT3B0aW9uYWw8TGF5b3V0
VW5pdD4gR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpncmlkQXJlYUJyZWFkdGhGb3JDaGlsZChj
b25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9u
KSBjb25zdAogewogICAgIGJvb2wgYWRkQ29udGVudEFsaWdubWVudE9mZnNldCA9Ci0gICAgICAg
IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIG1fc2l6aW5nU3RhdGUgPT0gUm93U2l6aW5nRmly
c3RJdGVyYXRpb247CisgICAgICAgIGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIChtX3Npemlu
Z1N0YXRlID09IFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uIHx8IG1fc2l6aW5nU3RhdGUgPT0gUm93
U2l6aW5nRXh0cmFJdGVyYXRpb25Gb3JTaXplQ29udGFpbm1lbnQpOwogICAgIC8vIFRvIGRldGVy
bWluZSB0aGUgY29sdW1uIHRyYWNrJ3Mgc2l6ZSBiYXNlZCBvbiBhbiBvcnRob2dvbmFsIGdyaWQg
aXRlbSB3ZSBuZWVkIGl0J3MgbG9naWNhbAogICAgIC8vIGhlaWdodCwgd2hpY2ggbWF5IGRlcGVu
ZCBvbiB0aGUgcm93IHRyYWNrJ3Mgc2l6ZS4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSByb3cgdHJh
Y2tzIHNpemluZwogICAgIC8vIGxvZ2ljIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgeWV0LCBzbyB3
ZSB3aWxsIG5lZWQgdG8gZG8gYW4gZXN0aW1hdGlvbi4KQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lk
IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNT
aXplcygpCiAKICAgICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGly
ZWN0aW9uKTsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFT
U0VSVCghdHJhY2suaW5maW5pdGVHcm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVCht
X3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0
ZUdyb3d0aFBvdGVudGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5i
YXNlU2l6ZSgpOwotICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0
KCk7CisgICAgICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmlu
aXRlKCkgPyB0cmFjay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAg
Ly8gVGhlIGdyb3d0aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8g
cHJvcGVybHkgc29ydAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBh
biBldmVudHVhbCAiTWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGlt
aXRDYXAoV1RGOjpudWxsb3B0KTsKQEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRv
dWJsZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVk
VHJhY2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5p
dD4gZnJlZVNwYWNlKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4
RnJhY3Rpb25JZk5lZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxH
cm93dGgpIGNvbnN0IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRj
aEF1dG9UcmFja3NTdGVwKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1Np
emVDb250YWlubWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCpyZW5kZXJHcmlkKCkpOyB9CiB9OwogCiB2b2lkIEluZGVmaW5pdGVTaXplU3Ry
YXRlZ3k6OmxheW91dEdyaWRJdGVtRm9yTWluU2l6ZUNvbXB1dGF0aW9uKFJlbmRlckJveCYgY2hp
bGQsIGJvb2wgb3ZlcnJpZGVTaXplSGFzQ2hhbmdlZCkgY29uc3QKQEAgLTEwMzAsNiArMTAzMSw3
IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNr
c1N0ZXAoKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGls
ZChSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxT
aXplRm9yQ2hpbGQoUmVuZGVyQm94JiwgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUsIE9wdGlv
bmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wg
aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogfTsKIAogTGF5b3V0VW5pdCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmcmVlU3BhY2VG
b3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdApAQCAtMTE0Niw5ICsxMTQ4LDIyIEBAIHZv
aWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjppbml0aWFsaXplVHJhY2tTaXplcygpCiAKIHZv
aWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcygp
CiB7CisgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlv
bik7CisgICAgYXV0byBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0ID0gWyZdKCkgeworICAgICAg
ICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKKyAg
ICAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSBhbGxUcmFja3NbdHJhY2tJbmRleF07CisgICAg
ICAgICAgICBpZiAodHJhY2suZ3Jvd3RoTGltaXQoKSA9PSBpbmZpbml0eSkKKyAgICAgICAgICAg
ICAgICB0cmFjay5zZXRHcm93dGhMaW1pdCh0cmFjay5iYXNlU2l6ZSgpKTsKKyAgICAgICAgfQor
ICAgIH07CisKKyAgICBpZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQo
KSkgeworICAgICAgICBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0KCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKICAgICBWZWN0b3I8R3JpZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUlu
Y3JlYXNpbmdTcGFuOwogICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4gaXRlbXNTZXQ7Ci0gICAgVmVj
dG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlvbik7CiAgICAgaWYg
KG1fZ3JpZC5oYXNHcmlkSXRlbXMoKSkgewogICAgICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6
IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKICAgICAgICAgICAgIEdyaWRJdGVyYXRvciBp
dGVyYXRvcihtX2dyaWQsIG1fZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKQEAgLTExNzgsMTIgKzEx
OTMsNyBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1Ry
YWNrU2l6ZXMoKQogICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRl
bXM8UmVzb2x2ZU1heENvbnRlbnRNYXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwogICAgICAgICBp
dCA9IHNwYW5Hcm91cFJhbmdlLnJhbmdlRW5kOwogICAgIH0KLQotICAgIGZvciAoYXV0byB0cmFj
a0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgewotICAgICAgICBHcmlkVHJhY2sm
IHRyYWNrID0gYWxsVHJhY2tzW3RyYWNrSW5kZXhdOwotICAgICAgICBpZiAodHJhY2suZ3Jvd3Ro
TGltaXQoKSA9PSBpbmZpbml0eSkKLSAgICAgICAgICAgIHRyYWNrLnNldEdyb3d0aExpbWl0KHRy
YWNrLmJhc2VTaXplKCkpOwotICAgIH0KKyAgICBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0KCk7
CiB9CiAKIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpzdHJldGNoRmxleGlibGVUcmFj
a3MoT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNlKQpAQCAtMTIzOSw2ICsxMjQ5LDkgQEAg
dm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFuY2VOZXh0U3RhdGUoKQogICAgICAg
ICBtX3NpemluZ1N0YXRlID0gUm93U2l6aW5nRmlyc3RJdGVyYXRpb247CiAgICAgICAgIHJldHVy
bjsKICAgICBjYXNlIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uOgorICAgICAgICBtX3NpemluZ1N0
YXRlID0gbV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSA/IFJvd1Npemlu
Z0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50IDogQ29sdW1uU2l6aW5nU2Vjb25kSXRl
cmF0aW9uOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBSb3dTaXppbmdFeHRyYUl0ZXJhdGlv
bkZvclNpemVDb250YWlubWVudDoKICAgICAgICAgbV9zaXppbmdTdGF0ZSA9IENvbHVtblNpemlu
Z1NlY29uZEl0ZXJhdGlvbjsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ29sdW1uU2l6aW5n
U2Vjb25kSXRlcmF0aW9uOgpAQCAtMTI1OSw2ICsxMjcyLDcgQEAgYm9vbCBHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG06OmlzVmFsaWRUcmFuc2l0aW9uKCkgY29uc3QKICAgICBjYXNlIENvbHVtblNp
emluZ1NlY29uZEl0ZXJhdGlvbjoKICAgICAgICAgcmV0dXJuIG1fZGlyZWN0aW9uID09IEZvckNv
bHVtbnM7CiAgICAgY2FzZSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbjoKKyAgICBjYXNlIFJvd1Np
emluZ0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50OgogICAgIGNhc2UgUm93U2l6aW5n
U2Vjb25kSXRlcmF0aW9uOgogICAgICAgICByZXR1cm4gbV9kaXJlY3Rpb24gPT0gRm9yUm93czsK
ICAgICB9CkBAIC0xMzQ2LDYgKzEzNjAsOCBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRo
bTo6cnVuKCkKIAogICAgIC8vIFN0ZXAgMy4KICAgICBtX3N0cmF0ZWd5LT5tYXhpbWl6ZVRyYWNr
cyh0cmFja3MobV9kaXJlY3Rpb24pLCBtX2RpcmVjdGlvbiA9PSBGb3JDb2x1bW5zID8gbV9mcmVl
U3BhY2VDb2x1bW5zIDogbV9mcmVlU3BhY2VSb3dzKTsKKyAgICBpZiAobV9zdHJhdGVneS0+aXND
b21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gU3Rl
cCA0LgogICAgIHN0cmV0Y2hGbGV4aWJsZVRyYWNrcyhpbml0aWFsRnJlZVNwYWNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0u
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApp
bmRleCAwMzExMjVkYTliZmRiNTg4YTlhOTE5NjFhM2IxNTI4ZTk4N2Y0MTYyLi42Yjc5N2VhODc4
NTQwOWRkZWIxOGEwNTlmNDE2MGQ1NWQ2NWQ1OGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCkBAIC0yMjQsNiArMjI0LDcg
QEAgcHJpdmF0ZToKICAgICBlbnVtIFNpemluZ1N0YXRlIHsKICAgICAgICAgQ29sdW1uU2l6aW5n
Rmlyc3RJdGVyYXRpb24sCiAgICAgICAgIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uLAorICAgICAg
ICBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlubWVudCwKICAgICAgICAgQ29s
dW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uLAogICAgICAgICBSb3dTaXppbmdTZWNvbmRJdGVyYXRp
b24KICAgICB9OwpAQCAtMjYxLDYgKzI2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJs
ZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJh
Y2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4g
aW5pdGlhbEZyZWVTcGFjZSkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCByZWNvbXB1dGVV
c2VkRmxleEZyYWN0aW9uSWZOZWVkZWQoZG91YmxlJiBmbGV4RnJhY3Rpb24sIExheW91dFVuaXQm
IHRvdGFsR3Jvd3RoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGZyZWVTcGFj
ZUZvclN0cmV0Y2hBdXRvVHJhY2tzU3RlcCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAg
ICBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVneShHcmlkVHJhY2tTaXppbmdBbGdvcml0
aG0mIGFsZ29yaXRobSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmlu
ZGV4IDUzMjY4ZGY1ZThhN2U5MWU3NGY3YjQzYzMyYjY3OWFhYTE5YWFiMDUuLmZmMjVlZmYyNTE3
MmM4OTQzOGNjYzg2ZmMzYmNmNGVjYjNmZGFkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtMTA3Myw2ICsxMDczLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6
bGF5b3V0UG9zaXRpb25lZE9iamVjdChSZW5kZXJCb3gmIHIsIGJvb2wgcmVsYXlvdXRDaGlsZHJl
biwgYm8KICAgICAgICAgci5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogICAgICAgICBy
LmxheW91dElmTmVlZGVkKCk7CiAgICAgfQorICAgIAorICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3
KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCktPmlzUGFnaW5hdGVkKCkgJiYgaXM8UmVu
ZGVyQmxvY2tGbG93PigqdGhpcykpCisgICAgICAgIGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4o
KnRoaXMpLmFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbihyLCByLmxvZ2lj
YWxUb3AoKSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3Rz
KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpCkBA
IC0yMjgyLDggKzIyODUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpvZmZzZXRGb3JDb250ZW50cyhM
YXlvdXRQb2ludCYgb2Zmc2V0KSBjb25zdAogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUludHJp
bnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0
JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFjaGlsZHJlbklubGluZSgp
KTsKLSAgICAKLSAgICBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2lj
YWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICBpZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KCp0aGlzKSkKKyAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRo
cyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKICAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggOTZjNjdmNTYx
ZTUwMWY5ZmI1YjI2MDdhNDE1ZjZjNTg2YTFjNjM3Mi4uMTRhYmY2YmViZGNhOWMwMjlhZWQ1MGU4
N2QxNzI3NWIzNTMyNTQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAKQEAgLTMzOSwxMCArMzM5LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RJbnRyaW5zaWNMb2dpY2FsV2lkdGhzRm9yQ29sdW1ucyhMYXlvdXRVbml0JiBtaW5Mb2dp
CiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhM
YXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkg
Y29uc3QKIHsKLSAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKLSAgICAgICAgY29tcHV0ZUlubGlu
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgp
OwotICAgIGVsc2UKLSAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyht
aW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisg
ICAgICAgICAgICBjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXB1
dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2Fs
V2lkdGgpOworICAgIH0KIAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2lj
YWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKIApAQCAtMTY2Miw2ICsxNjY0LDkgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEJsb2NrQ2hpbGRGb3JQYWdpbmF0aW9uKExheW91
dFVuaXQgbG9naWNhbFRvcEEKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChzaG91bGRBcHBs
eVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAgIGFkanVzdFNpemVDb250YWlubWVudENo
aWxkRm9yUGFnaW5hdGlvbihjaGlsZCwgcmVzdWx0KTsKKwogICAgIC8vIEZvciByZXBsYWNlZCBl
bGVtZW50cyBhbmQgc2Nyb2xsZWQgZWxlbWVudHMsIHdlIHdhbnQgdG8gc2hpZnQgdGhlbSB0byB0
aGUgbmV4dCBwYWdlIGlmIHRoZXkgZG9uJ3QgZml0IG9uIHRoZSBjdXJyZW50IG9uZS4KICAgICBM
YXlvdXRVbml0IGxvZ2ljYWxUb3BCZWZvcmVVbnNwbGl0dGFibGVBZGp1c3RtZW50ID0gcmVzdWx0
OwogICAgIExheW91dFVuaXQgbG9naWNhbFRvcEFmdGVyVW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9
IGFkanVzdEZvclVuc3BsaXR0YWJsZUNoaWxkKGNoaWxkLCByZXN1bHQpOwpAQCAtMjA0Nyw2ICsy
MDUyLDI0IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojpsb2dpY2FsSGVpZ2h0Rm9yQ2hp
bGRGb3JGcmFnbWVudGF0aW9uKGNvbnN0IFJlbmRlckJvCiAgICAgcmV0dXJuIGxvZ2ljYWxIZWln
aHRGb3JDaGlsZChjaGlsZCk7CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RTaXpl
Q29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24oUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5p
dCBvZmZzZXQpCit7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudChjaGlsZCkp
CisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFVuaXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9
IGNoaWxkLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjaGlsZC5sYXlvdXRPdmVyZmxvd1Jl
Y3QoKS5tYXhZKCkgOiBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhYKCk7CisgICAgTGF5
b3V0VW5pdCBjaGlsZExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0
KCksIGNoaWxkT3ZlcmZsb3dIZWlnaHQpOworCisgICAgTGF5b3V0VW5pdCByZW1haW5pbmdMb2dp
Y2FsSGVpZ2h0ID0gcGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBF
eGNsdWRlUGFnZUJvdW5kYXJ5KTsKKworICAgIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNo
aWxkTG9naWNhbEhlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQ7CisgICAgaWYgKHNwYWNl
U2hvcnRhZ2UgPD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKFJlbmRlckZyYWdtZW50
ZWRGbG93KiBmcmFnbWVudGVkRmxvdyA9IGVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpCisgICAg
ICAgIGZyYWdtZW50ZWRGbG93LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
KHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSArIG9mZnNldCwgc3BhY2VT
aG9ydGFnZSk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRMaW5lR3JpZEJveCgp
CiB7CiAgICAgaWYgKHN0eWxlKCkubGluZUdyaWQoKSA9PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExp
bmVHcmlkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApp
bmRleCA0NDk4NTlkMzg4NjBhMDNhNTJkZmRlYmZlNzA4NmRiNWZkY2Q1MTAwLi5jN2M5NDZiYWZk
ODE1YTQ3NGQ3MjM4OGI3N2UyMjM4OWY0NDZjY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zOTgsNiArMzk4LDggQEAgcHVibGljOgogICAgIC8v
IGNvbHVtbiBiYWxhbmNlciB0byBoZWxwIHNldCBhIGdvb2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0
LgogICAgIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoTGF5b3V0VW5pdCBvZmZzZXQsIExh
eW91dFVuaXQgbWluSGVpZ2h0KTsKIAorICAgIHZvaWQgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hp
bGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgb2Zmc2V0KTsKKwog
ICAgIHZvaWQgYWRkRmxvYXRzVG9OZXdQYXJlbnQoUmVuZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxv
dykgY29uc3Q7CiAgICAgCiAgICAgTGF5b3V0VW5pdCBlbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBkNzQ4MDZh
YzlmZTYzOWI3ZTM2ZTlhMjg0NjIzM2ZiMDFmNzBhMWIzLi4wYWI4YzM4YWI2OWMyMTFjZWY1Mjg2
YTRiOTQ1MzY3YjkzOWExNDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjg2MCw2ICsyODYwLDEyIEBAIHZvaWQgUmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0Nv
bnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQg
UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnRoaXMpICYmICFpc1JlbmRlckdyaWQoKSkgeworICAgICAgICAvLyBJ
ZiBpdCBpcyBSZW5kZXJCbG9jaywgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKSBjb250
YWlucyBpbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCgpIHdoaWNoIGFkZHMgZXh0cmEgYm9yZGVy
IGZvciBmaWVsZHNldCwgc28gd2UgY2FuJ3QgdXNlIGl0IGRpcmVjdGx5LgorICAgICAgICBhdXRv
IGJvcmRlckFuZFBhZGluZyA9IFJlbmRlckJveDo6Ym9yZGVyQmVmb3JlKCkgKyBSZW5kZXJCb3g6
OnBhZGRpbmdCZWZvcmUoKSArIFJlbmRlckJveDo6Ym9yZGVyQWZ0ZXIoKSArIFJlbmRlckJveDo6
cGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkaW5n
ICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAgICB9CisKICAgICBjYWNoZUludHJpbnNp
Y0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oY29udGVudExvZ2ljYWxIZWlnaHQoKSk7
CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxI
ZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBzZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFs
dWVzLm1fZXh0ZW50KTsKQEAgLTQ4NDksNyArNDg1NSw4IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vu
c3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBjb25zdAogICAgIHJldHVybiBpc1JlcGxhY2VkKCkK
ICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxlU2Nyb2xsaW5nT3ZlcmZsb3coKQogICAgICAgICB8
fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9kZVJvb3QoKSkKLSAgICAgICAgfHwgKGlzRmxvYXRp
bmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBz
dHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKTsKKyAgICAgICAgfHwgKGlzRmxvYXRpbmco
KSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHls
ZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQorICAgICAgICB8fCBzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgqdGhpcyk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94OjpsaW5lSGVpZ2h0
KGJvb2wgLypmaXJzdExpbmUqLywgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9z
aXRpb25Nb2RlIC8qbGluZVBvc2l0aW9uTW9kZSovKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAppbmRl
eCA0ZjJkMWYzZGIxYjc5MDM1NGZmYzY4NTlmYzNiZDcyNzc2MmZlMThlLi45N2M5MDUwMjJhNjQw
NTQ3MjFiM2M1NmNjNWFiNWVlMmUxYjkwZjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcApAQCAtMTg3LDYg
KzE4NywxNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6c3R5bGVXaWxsQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZQogCiB2b2lkIFJlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Cisg
ICAgYXV0byBoYW5kbGVTY3JvbGxiYXJXaWR0aCA9IFsmXSgpIHsKKyAgICAgICAgTGF5b3V0VW5p
dCBzY3JvbGxiYXJXaWR0aCA9IGludHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aCgpOworICAg
ICAgICBtYXhMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFyV2lkdGg7CisgICAgICAgIG1pbkxvZ2lj
YWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICB9OworCisgICAgaWYgKHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBoYW5kbGVTY3JvbGxiYXJXaWR0aCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8
fCBpc1ZlcnRpY2FsKCkpIHsKICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RD
aGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAg
ICAgICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkKQEAg
LTIxMSwxMCArMjIyLDcgQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1
dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkwKICAgICB9CiAKICAgICBt
YXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0
aCk7Ci0KLSAgICBMYXlvdXRVbml0IHNjcm9sbGJhcldpZHRoID0gaW50cmluc2ljU2Nyb2xsYmFy
TG9naWNhbFdpZHRoKCk7Ci0gICAgbWF4TG9naWNhbFdpZHRoICs9IHNjcm9sbGJhcldpZHRoOwot
ICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICBoYW5kbGVTY3JvbGxi
YXJXaWR0aCgpOwogfQogCiB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXggM2QxMjNjNTRiNTY0ZGE1MDQx
N2I0YzA3ODk3MjlmMzllMzNiMTVkYS4uODc4NWYyMjk5YzgwZDM5NDZlOGZmZDIxNjYyZDAyOTIx
OTQ2MzFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVV
cGxvYWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmls
ZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0xOTcsNiArMTk3LDggQEAgdm9pZCBSZW5kZXJGaWxlVXBs
b2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91
dFBvaW4KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xv
Z2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhM
b2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KCp0aGlzKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUg
ZmlsZW5hbWUgc3BhY2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3Rl
cnMKICAgICAvLyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNoYXJhY3RlcikuCiAgICAgY29u
c3QgVUNoYXIgY2hhcmFjdGVyID0gJzAnOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMjI5YjY5M2RmMTk3ZmZjYmUyNjkwMWI4OGFiMjU5
YWMzMDA1MWYyNS4uYTEyNjI0ZWU0YmMyN2IxNzQxOTZjMGE5MjBhNWQxNjI3Y2EwNDgxOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC04
Myw2ICs4MywxNyBAQCBjb25zdCBjaGFyKiBSZW5kZXJGbGV4aWJsZUJveDo6cmVuZGVyTmFtZSgp
IGNvbnN0CiAKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2Fs
V2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNh
bFdpZHRoKSBjb25zdAogeworICAgIGF1dG8gaGFuZGxlU2Nyb2xsYmFyV2lkdGggPSBbJl0oKSB7
CisgICAgICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgoc2Nyb2xsYmFyTG9naWNhbFdpZHRo
KCkpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFyV2lkdGg7CisgICAgICAg
IG1pbkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICB9OworCisgICAgaWYgKHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBoYW5kbGVTY3JvbGxi
YXJXaWR0aCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgTGF5b3V0VW5pdCBjaGls
ZE1pbldpZHRoOwogICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKICAgICBib29sIGhhZEV4
Y2x1ZGVkQ2hpbGRyZW4gPSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJl
bihjaGlsZE1pbldpZHRoLCBjaGlsZE1heFdpZHRoKTsKQEAgLTk4LDExICsxMDksMTEgQEAgdm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0
VW5pdCYgbWluTG9naWNhbFdpZHQKICAgICAgICAgKytudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQ7
CiAKICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lk
dGhGb3JDaGlsZCgqY2hpbGQpOwotICAgICAgICAKKwogICAgICAgICBMYXlvdXRVbml0IG1pblBy
ZWZlcnJlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhQcmVmZXJyZWRMb2dp
Y2FsV2lkdGg7CiAgICAgICAgIGNvbXB1dGVDaGlsZFByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKmNo
aWxkLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7
Ci0gICAgICAgIAorCiAgICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47
CiAgICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47CiAKQEAgLTEzOSw5
ICsxNTAsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdAogICAgICAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtYXhMb2dpY2FsV2lkdGgsIGNoaWxkTWF4V2lkdGgpOwogICAgIH0KIAot
ICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgoc2Nyb2xsYmFyTG9naWNhbFdpZHRoKCkpOwot
ICAgIG1heExvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKLSAgICBtaW5Mb2dpY2FsV2lk
dGggKz0gc2Nyb2xsYmFyV2lkdGg7CisgICAgaGFuZGxlU2Nyb2xsYmFyV2lkdGgoKTsKIH0KIAog
TGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxp
bmUsIGJvb2wsIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVu
dGVkRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
LmgKaW5kZXggZmFjZWIxOTZkOWJmNzdjZDYyODU1NGUzMzUxMDAwZTk5ODkzYWQ2My4uYjczYmUy
YjFiMGU0ODI3ZWRhZTYwMjdhYTZlMzVmY2IxNzFkNjM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKQEAgLTEwMiw2ICsxMDIsOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5kZXJCbG9jayos
IExheW91dFVuaXQgLypvZmZzZXQqLywgTGF5b3V0VW5pdCAvKnNwYWNlU2hvcnRhZ2UqLykgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJs
b2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qbWluSGVpZ2h0Ki8pIHsg
fQogCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1l
bnQoY29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQg
LypzaG9ydGFnZSovKSB7IH0KKwogICAgIHZpcnR1YWwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIq
IGZyYWdtZW50QXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29s
IGV4dGVuZExhc3RGcmFnbWVudCA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJvb2wgZnJhZ21lbnRz
SGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZyYWdtZW50c0hhdmVV
bmlmb3JtTG9naWNhbFdpZHRoOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5j
cHAKaW5kZXggZDIwYmI1N2Q1YjBjMWZhOTZhNTViMTdjNDRkMGIwMDI2YTM1NTMwOS4uNjZiZWVk
ZDIxMWRiMDM2YzRiMDM5M2FkMmU2NjU2NWM3MGZmNGFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMjUwLDExICsyNTAsMTcgQEAgdm9pZCBSZW5kZXJHcmlk
OjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiAKICAgICAg
ICAgLy8gMi0gTmV4dCwgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0gcmVzb2x2ZXMgdGhlIHNp
emVzIG9mIHRoZSBncmlkIHJvd3MsCiAgICAgICAgIC8vIHVzaW5nIHRoZSBncmlkIGNvbHVtbiBz
aXplcyBjYWxjdWxhdGVkIGluIHRoZSBwcmV2aW91cyBzdGVwLgotICAgICAgICBpZiAoIWhhc0Rl
ZmluaXRlTG9naWNhbEhlaWdodCkKKyAgICAgICAgYm9vbCBzaG91bGRSZWNvbXB1dGVIZWlnaHQg
PSBmYWxzZTsKKyAgICAgICAgaWYgKCFoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQpIHsKICAgICAg
ICAgICAgIGNvbXB1dGVUcmFja1NpemVzRm9ySW5kZWZpbml0ZVNpemUobV90cmFja1NpemluZ0Fs
Z29yaXRobSwgRm9yUm93cyk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChzaG91bGRB
cHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgICAgICAgICAgc2hvdWxkUmVjb21w
dXRlSGVpZ2h0ID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBjb21wdXRlVHJh
Y2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCBhdmFpbGFibGVMb2dpY2FsSGVpZ2h0KEV4
Y2x1ZGVNYXJnaW5Cb3JkZXJQYWRkaW5nKSk7CiAgICAgICAgIExheW91dFVuaXQgdHJhY2tCYXNl
ZExvZ2ljYWxIZWlnaHQgPSBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNvbXB1dGVUcmFja0Jhc2Vk
U2l6ZSgpICsgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKSArIHNjcm9sbGJhckxvZ2lj
YWxIZWlnaHQoKTsKKyAgICAgICAgaWYgKHNob3VsZFJlY29tcHV0ZUhlaWdodCkKKyAgICAgICAg
ICAgIGNvbXB1dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRM
b2dpY2FsSGVpZ2h0KTsKKwogICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KHRyYWNrQmFzZWRMb2dp
Y2FsSGVpZ2h0KTsKIAogICAgICAgICBMYXlvdXRVbml0IG9sZENsaWVudEFmdGVyRWRnZSA9IGNs
aWVudExvZ2ljYWxCb3R0b20oKTsKQEAgLTU0OCw3ICs1NTQsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8
T3JkZXJlZFRyYWNrSW5kZXhTZXQ+IFJlbmRlckdyaWQ6OmNvbXB1dGVFbXB0eVRyYWNrc0ZvckF1
dG9SZXBlYQogICAgIHVuc2lnbmVkIGZpcnN0QXV0b1JlcGVhdFRyYWNrID0gaW5zZXJ0aW9uUG9p
bnQgKyBncmlkLmV4cGxpY2l0R3JpZFN0YXJ0KGRpcmVjdGlvbik7CiAgICAgdW5zaWduZWQgbGFz
dEF1dG9SZXBlYXRUcmFjayA9IGZpcnN0QXV0b1JlcGVhdFRyYWNrICsgZ3JpZC5hdXRvUmVwZWF0
VHJhY2tzKGRpcmVjdGlvbik7CiAKLSAgICBpZiAoIWdyaWQuaGFzR3JpZEl0ZW1zKCkpIHsKKyAg
ICBpZiAoIWdyaWQuaGFzR3JpZEl0ZW1zKCkgfHwgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KnRoaXMpKSB7CiAgICAgICAgIGVtcHR5VHJhY2tJbmRleGVzID0gbWFrZVVuaXF1ZTxPcmRlcmVk
VHJhY2tJbmRleFNldD4oKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCB0cmFja0luZGV4ID0gZmly
c3RBdXRvUmVwZWF0VHJhY2s7IHRyYWNrSW5kZXggPCBsYXN0QXV0b1JlcGVhdFRyYWNrOyArK3Ry
YWNrSW5kZXgpCiAgICAgICAgICAgICBlbXB0eVRyYWNrSW5kZXhlcy0+YWRkKHRyYWNrSW5kZXgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggNDI1NDQzZWUw
M2E2NmMzMjc4MTJmYzViMWY2ZjJiYjkzZmYwNWQ3MS4uYmJkYmM1YTQzZThkZmI4MzhmNGU4M2Y3
ZTJiOTUxMzczODU5NjczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2Uu
Y3BwCkBAIC04NTAsNiArODUwLDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6Y2FuTWFwV2lkdGhIZWln
aHRUb0FzcGVjdFJhdGlvKCkgY29uc3QKIAogdm9pZCBSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJp
bnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGlu
dHJpbnNpY1JhdGlvKSBjb25zdAogeworICAgIEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKnRoaXMpKTsKICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlv
SW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAgLy8gT3Vy
IGludHJpbnNpY1NpemUgaXMgZW1wdHkgaWYgd2UncmUgcmVuZGVyaW5nIGdlbmVyYXRlZCBpbWFn
ZXMgd2l0aCByZWxhdGl2ZSB3aWR0aC9oZWlnaHQuIEZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGludHJp
bnNpYyBzaXplIHRvIHVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94
LmNwcAppbmRleCAwZWRmMjZhN2M3N2Q3Y2IxOGEzOThjNTBkYjRiMjZjNjNmNzIyYmRiLi45ZGFk
NTE3MTA3OGZjNjIzZWQ4Y2IxYWYwYWM2NGNiY2E0M2VjOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBSZW5k
ZXJMaXN0Qm94OjpzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpCiAKIHZvaWQgUmVuZGVyTGlzdEJv
eDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdp
ZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNh
bFdpZHRoID0gbV9vcHRpb25zV2lkdGggKyAyICogb3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsOwor
ICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/
IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRp
b25zU3BhY2luZ0hvcml6b250YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAgICAgbWF4TG9naWNh
bFdpZHRoICs9IG1fdkJhci0+d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1Bl
cmNlbnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVu
dUxpc3QuY3BwCmluZGV4IGYzOTRiZDYzMzZlNDQ0ODIyN2YxNmFlOTk5NmRlNTVmMjRjY2Y4ZWQu
Ljc3MzIzM2MxNGZjMjFiNGUyODJjMWIxOWYyNTRiZjE5ZmIyNTIxYjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcgKzMxNSw4IEBAIExh
eW91dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2lu
dCYgYWRkaXRpb25hbE9mZnNldCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJp
bnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0
JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjpt
YXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSkg
KyBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdo
dCgpOworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0
aGlzKSA/IHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSA6IHN0ZDo6bWF4KG1f
b3B0aW9uc1dpZHRoLCB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkpOworICAg
IG1heExvZ2ljYWxXaWR0aCArPSBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVy
QmxvY2stPnBhZGRpbmdSaWdodCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2Vu
dE9yQ2FsY3VsYXRlZCgpKQogICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lk
dGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVt
bkZsb3cuY3BwCmluZGV4IDYxODVlNDcyNjM4YmQ3OWVlZDEwYTUwOTdiYTY1NWIwODI2YzgzNmEu
LmJkYmU0YTcxNGQwYzZjN2E2M2RjY2M4MzU3MmJiMWY4NzA4ZTZhMGQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCkBAIC0yMDMs
NiArMjAzLDEyIEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVNaW5pbXVtUGFn
ZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIExhCiAgICAgICAgIG11bHRpY29sU2V0
LT51cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KG1pbkhlaWdodCk7CiB9CiAKK3ZvaWQgUmVuZGVy
TXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNv
bnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hv
cnRhZ2UpCit7CisgICAgaWYgKGF1dG8qIG11bHRpY29sU2V0ID0gZG93bmNhc3Q8UmVuZGVyTXVs
dGlDb2x1bW5TZXQ+KGZyYWdtZW50QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0KSkpCisgICAg
ICAgIG11bHRpY29sU2V0LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHNo
b3J0YWdlKTsKK30KKwogUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11bHRpQ29sdW1u
Rmxvdzo6ZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogYm94LCBMYXlvdXRV
bml0IG9mZnNldCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFt
X2luTGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uRmxvdy5oCmluZGV4IDBjODM5MThmOGVkYjZkMjAxMjU4ZjkwMGEyYmUxOGQzOWYxM2U3NmQu
LmViNmYwODg3OTQ1ODVlODI1NWRiN2MwYzg1ODhkMDJkYzFhNWVmOTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKQEAgLTEwOCw2ICsx
MDgsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxXaWR0aCgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwg
TGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91
dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1
cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiwg
TGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIFJl
bmRlckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVy
Qm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRGcmFnbWVudFJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJv
eCYsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKSBv
dmVycmlkZTsKICAgICBib29sIGFkZEZvcmNlZEZyYWdtZW50QnJlYWsoY29uc3QgUmVuZGVyQmxv
Y2sqLCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUsIExh
eW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApIG92ZXJyaWRlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXggNTJk
MTg0NWEyZjdlN2MzZmJjNjZmN2RlMTdiMDkzMzk5YTRlY2FiMC4uMGVmZDU5MzU5YjRjYjIwNGM3
ZDU2Mzc2Nzk0NWUxOTc5ZmIzYzMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCkBAIC01MCw2ICs1MCw3IEBAIFJlbmRlck11bHRp
Q29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldChSZW5kZXJGcmFnbWVudGVkRmxvdyYgZnJh
Z21lbnRlZEZsb3csCiAgICAgLCBtX21heENvbHVtbkhlaWdodChSZW5kZXJGcmFnbWVudGVkRmxv
dzo6bWF4TG9naWNhbEhlaWdodCgpKQogICAgICwgbV9taW5TcGFjZVNob3J0YWdlKFJlbmRlckZy
YWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5I
ZWlnaHQoMCkKKyAgICAsIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgwKQogewog
fQogCkBAIC0yMzUsMTUgKzIzNiwxNiBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0
OjpjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0CiAgICAgICAgIHJl
dHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PihtX2NvbnRlbnRSdW5zW2luZGV4XS5jb2x1bW5Mb2dp
Y2FsSGVpZ2h0KHN0YXJ0T2Zmc2V0KSwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKICAgICB9CiAK
KyAgICBMYXlvdXRVbml0IHNpemVDb250YWlubWVudFNob3J0YWdlID0gc3RkOjptYXg8TGF5b3V0
VW5pdD4oTGF5b3V0VW5pdCgpLCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOwog
ICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewogICAgICAg
ICAvLyBXaXRoIHRoZSBjdXJyZW50IGNvbHVtbiBoZWlnaHQsIHRoZSBjb250ZW50IGZpdHMgd2l0
aG91dCBjcmVhdGluZyBvdmVyZmxvd2luZyBjb2x1bW5zLiBXZSdyZSBkb25lLgotICAgICAgICBy
ZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRD
b2x1bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsKICAgICB9CiAKICAgICBpZiAo
Zm9yY2VkQnJlYWtzQ291bnQoKSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAg
Ly8gVG9vIG1hbnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJ
bml0aWFsIGJhbGFuY2luZyBzaG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZlIHNldCBhIGdv
b2QgaGVpZ2h0LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0gICAgICAgIHJl
dHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENv
bHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAgIC8vIElm
IHRoZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNo
IGl0IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEwIEBAIExheW91
dFVuaXQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wg
aW5pdGlhbCkgY29uc3QKICAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdl
IHNob3VsZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VSVChtX21pblNw
YWNlU2hvcnRhZ2UgIT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSk7
IC8vIElmIHRoaXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAgICBpZiAobV9t
aW5TcGFjZVNob3J0YWdlID09IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0
KCkpCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBTbyBiYWlsIG91
dCByYXRoZXIgdGhhbiBsb29waW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVybiBtX2NvbXB1
dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNvIGJhaWwgb3V0
IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBtX2NvbXB1dGVk
Q29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9BZGQgPSBzdGQ6
Om1heDxMYXlvdXRVbml0PihzaXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5TcGFjZVNob3J0
YWdlKTsKKyAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRkOwogfQogCiB2
b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBAIC0zNjUsNiAr
MzY4LDggQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91dChib29s
IGluaXRpYWwpCiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBo
ZWlnaHQuIENvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1f
bWluaW11bUNvbHVtbkhlaWdodCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29u
dGFpbm1lbnQgPSAwOworCiAgICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZsb3cgdGhyZWFk
IHBvcnRpb24gaGVpZ2h0IHVudGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRMb2dpY2FsQm90
dG9tSW5GcmFnbWVudGVkRmxvdyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdo
dCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5T
ZXQuaAppbmRleCBmNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5Li5jNDhh
ZTBhNGM3NTg2NWE1M2ZhNTViZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiArODMsMTUgQEAg
cHVibGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhl
aWdodCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11
bUNvbHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBj
b25zdCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZvaWQgdXBkYXRl
U3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0YWdlKQorICAg
IHsKKyAgICAgICAgaWYgKG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA8PSAwKSB7
CisgICAgICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzaG9ydGFn
ZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NwYWNlU2hvcnRh
Z2VGb3JTaXplQ29udGFpbm1lbnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFjZVNob3J0YWdl
Rm9yU2l6ZUNvbnRhaW5tZW50KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3JjZWRCcmVha3ND
b3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAgICAgdm9pZCBj
bGVhckZvcmNlZEJyZWFrcygpOwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBv
ZmZzZXRGcm9tRmlyc3RQYWdlKTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIExh
eW91dFVuaXQgbV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxv
d2VkLgogICAgIExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3Qg
YW1vdXQgb2Ygc3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAg
TGF5b3V0VW5pdCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5pdCBtX3NwYWNl
U2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFjZSB0aGF0IGtl
ZXBzIHNpemUgY29udGFpbm1lbnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVuIG9mIGNvbnRl
bnQgd2l0aG91dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93IHRocmVhZCBw
b3J0aW9uIGJldHdlZW4gdHdvCiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3ZWVuIGZsb3cg
dGhyZWFkIHN0YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBleHBsaWNpdCBi
cmVhawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBlNTRl
ZDlmM2FiMzdmZjFiZDM3OWZhODU3ZmY0NGE4YWUzYWRjMzg0Li5jNThiOTFiYzRlM2JkNWYyYmE4
NjU4Mzg3NzlkMTZhZjEzNThmNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcApAQCAtMjQ5OCwzICsyNDk4LDggQEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBs
eUxheW91dENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIK
IHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc0xheW91dCgpICYmICghcmVu
ZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYm
ICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJl
bmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFw
cGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIp
Cit7CisgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5k
ZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYg
IXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVu
ZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAzMWYwZjA3ZDU0NzI3ZThjNTQ2
YzU0N2M1N2QzMDQ1MWUxOTIzMmM2Li44NmZiNTNjOWVlNDFlZjZhZTVmZWMxMWRkNWJlMDUzNGQ2
M2Q0Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yMDEs
NyArMjAxLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJJbmxpbmUoKSBjb25zdDsKICAg
ICBib29sIGlzUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpIGNvbnN0OwogCi0gICAgaW5saW5lIGJv
b2wgaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0OworICAgIGJvb2wgaXNBdG9taWNJbmxp
bmVMZXZlbEJveCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzQ291bnRlcigpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpAQCAtMTE3Myw3ICsxMTczLDcgQEAgaW5saW5lIFJlbmRlck9iamVjdCog
UmVuZGVyT2JqZWN0OjpuZXh0SW5GbG93U2libGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG5leHRT
aWJsaW5nOwogfQogCi1ib29sIFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVMZXZlbEJveCgp
IGNvbnN0CitpbmxpbmUgYm9vbCBSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3go
KSBjb25zdAogewogICAgIHJldHVybiBzdHlsZSgpLmlzRGlzcGxheUlubGluZVR5cGUoKSAmJiAh
KHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmUgJiYgIWlzUmVwbGFjZWQo
KSk7CiB9CkBAIC0xMTg3LDYgKzExODcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVG
b3JMaXZlRG9jdW1lbnRzKCk7CiAjZW5kaWYKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRh
aW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlu
bWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA5ZjQ1ZmY0
ZDZkNGRjNzJjNWE4YzI1OGI5YTBhNmU2Y2Y3OTMzZmQ4Li5jMmE0YTM3MTZhNTMxNWFjYWQzMDQy
NDZiMjgwNGYxNTg3M2YzNzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJS
ZXBsYWNlZC5jcHAKQEAgLTM4OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXRO
ZWVkc0xheW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVy
UmVwbGFjZWQ6OmNvbXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRl
ckJveCogY29udGVudFJlbmRlcmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91Ymxl
JiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsK
LSAgICBpZiAoY29udGVudFJlbmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KCp0aGlzKSkKKyAgICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNS
YXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICBlbHNl
IGlmIChjb250ZW50UmVuZGVyZXIpIHsKICAgICAgICAgY29udGVudFJlbmRlcmVyLT5jb21wdXRl
SW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7
CiAKICAgICAgICAgaWYgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9U
eXBlOjpSYXRpbyB8fCAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5
cGU6OkF1dG9BbmRSYXRpbyAmJiAhaW50cmluc2ljUmF0aW8pKQpAQCAtNDk0LDcgKzQ5Niw3IEBA
IE9wdGlvbmFsPGRvdWJsZT4gUmVuZGVyUmVwbGFjZWQ6OmludHJpbnNpY0FzcGVjdFJhdGlvRnJv
bVdpZHRoSGVpZ2h0KCkgY29uc3QKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5z
aWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRy
aW5zaWNSYXRpbykgY29uc3QKIHsKICAgICAvLyBJZiB0aGVyZSdzIGFuIGVtYmVkZGVkQ29udGVu
dEJveCgpIG9mIGEgcmVtb3RlLCByZWZlcmVuY2VkIGRvY3VtZW50IGF2YWlsYWJsZSwgdGhpcyBj
b2RlLXBhdGggc2hvdWxkIG5ldmVyIGJlIHVzZWQuCi0gICAgQVNTRVJUKCFlbWJlZGRlZENvbnRl
bnRCb3goKSk7CisgICAgQVNTRVJUKCFlbWJlZGRlZENvbnRlbnRCb3goKSB8fCBzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgqdGhpcykpOwogICAgIGludHJpbnNpY1NpemUgPSBGbG9hdFNpemUo
aW50cmluc2ljTG9naWNhbFdpZHRoKCksIGludHJpbnNpY0xvZ2ljYWxIZWlnaHQoKSk7CiAKICAg
ICBpZiAoc3R5bGUoKS5oYXNBc3BlY3RSYXRpbygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5oCmluZGV4IDNiNjFmNDlkNWExNzBiYjIzNTBiZGY2NzBjNjE5ODAw
NTk2ZGM1MWYuLjk5YmFhMDlmODhmOTUyYmRkNWI1NzhjNjJiM2ZkZmJlNWFlYmZjMGUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC00MCw3ICs0MCwxMiBA
QCBwdWJsaWM6CiAgICAgYm9vbCBoYXNSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAg
ICBib29sIHNldE5lZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVDaGFuZ2UoKTsK
IAotICAgIExheW91dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
aW50cmluc2ljU2l6ZTsgfQorICAgIExheW91dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0IGZp
bmFsCisgICAgeworICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMp
KQorICAgICAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKyAgICAgICAgcmV0dXJuIG1faW50
cmluc2ljU2l6ZTsKKyAgICB9CiAgICAgCiAgICAgUm91bmRlZFJlY3Qgcm91bmRlZENvbnRlbnRC
b3hSZWN0KCkgY29uc3Q7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyU2xpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlk
ZXIuY3BwCmluZGV4IDQ3MTY5ZWRmOThlMTQyOGM0YTA3NzBmMmY0ZWZjMGI1OGQ4MTNjN2IuLjll
OTQ0YmUwMGJiMDJlMzg1MWE0M2Q1NjY2NjE5ZjdjNDI5YTVkOTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCkBAIC02OSw2ICs2OSw4IEBAIExheW91dFVuaXQg
UmVuZGVyU2xpZGVyOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCAvKmZpcnN0
TGluZSovLCBMaW5lCiAKIHZvaWQgUmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2lj
YWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRo
aXMpKQorICAgICAgICByZXR1cm47CiAgICAgbWF4TG9naWNhbFdpZHRoID0gZGVmYXVsdFRyYWNr
TGVuZ3RoICogc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRo
KCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1h
eExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENv
bnRyb2wuY3BwCmluZGV4IGRjMDU4ZDUzNDY3YWEzY2ZhYmY4NTJmMzMxZWYwMWYzMTU1MzIxZjQu
LjI0MmFjYTNhMDZiOTE1NzRhNzQ4YjEzZWNlZmE4MGM2MTcyYjljNTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTU2LDYgKzE1Niw4
IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkgY29uc3QK
IAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAg
ICAgICAgcmV0dXJuOwogICAgIC8vIFVzZSBhdmVyYWdlIGNoYXJhY3RlciB3aWR0aC4gTWF0Y2hl
cyBJRS4KICAgICBtYXhMb2dpY2FsV2lkdGggPSBwcmVmZXJyZWRDb250ZW50TG9naWNhbFdpZHRo
KGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dENvbnRyb2wqPih0aGlzKS0+Z2V0QXZlcmFnZUNoYXJXaWR0
aCgpKTsKICAgICBpZiAoUmVuZGVyQm94KiBpbm5lclRleHRSZW5kZXJCb3ggPSBpbm5lclRleHRF
bGVtZW50KCktPnJlbmRlckJveCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclZpZGVvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRl
by5jcHAKaW5kZXggYzZkMDQ0MTY2Y2NmZDViYzdjOGYxOWUwYWFiYzIxYzU4MDM4MjFmOS4uMjky
OGRkNGRjYWZlZDJhNGMwN2JhZDBkMTRhZTQzMzkwZTU5Y2E5MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCkBAIC0xMjMsNiArMTIzLDkgQEAgYm9vbCBSZW5kZXJW
aWRlbzo6dXBkYXRlSW50cmluc2ljU2l6ZSgpCiAKIExheW91dFNpemUgUmVuZGVyVmlkZW86OmNh
bGN1bGF0ZUludHJpbnNpY1NpemUoKQogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpCisgICAgICAgIHJldHVybiBMYXlvdXRTaXplKCk7CisKICAgICAvLyBTcGVj
IHRleHQgZnJvbSA0LjguNgogICAgIC8vCiAgICAgLy8gVGhlIGludHJpbnNpYyB3aWR0aCBvZiBh
IHZpZGVvIGVsZW1lbnQncyBwbGF5YmFjayBhcmVhIGlzIHRoZSBpbnRyaW5zaWMgd2lkdGggCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRmNTVl
ZTYyMmU2ZTEwM2E1ODI4ZDQ2YTU5ZTkzOWViMDdjOGQ4NzMuLjBhNTY4ZmNiYzM0NGM5NTA1MTFi
NmQzOWM0ZmEwZjRjMjA1NWVhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHls
ZS9SZW5kZXJTdHlsZS5oCkBAIC01MjcsNiArNTI3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFz
QXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RS
YXRpb1R5cGU6OlJhdGlvIHx8IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6
QXV0b0FuZFJhdGlvOyB9CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkgY29u
c3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wg
Y29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5j
b250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CisgICAgYm9vbCBjb250YWlu
c1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNv
bnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJp
dGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBCb3hEaXJlY3Rp
b24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9u
PihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBib3hGbGV4KCkg
Y29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxl
Qm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdS
b290LmNwcAppbmRleCAxNDIyMzUwNDYwOWUzYjE1YjViYzM2OGE0NzgwNzAwNzA5NTYyMDg1Li41
ZTQ2ZDM3ZjUwZmRmODRhOTIzYjZkNDBhNGRkNzBiMjk5MjIyMTBhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTcwLDYgKzcwLDggQEAg
U1ZHU1ZHRWxlbWVudCYgUmVuZGVyU1ZHUm9vdDo6c3ZnU1ZHRWxlbWVudCgpIGNvbnN0CiAKIHZv
aWQgUmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRT
aXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogeworICAg
IEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKTsKKwogICAgIC8vIFNw
ZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNJbnRyaW5zaWNTaXppbmcK
ICAgICAvLyBTVkcgbmVlZHMgdG8gc3BlY2lmeSBob3cgdG8gY2FsY3VsYXRlIHNvbWUgaW50cmlu
c2ljIHNpemluZyBwcm9wZXJ0aWVzIHRvIGVuYWJsZSBpbmNsdXNpb24gd2l0aGluIG90aGVyIGxh
bmd1YWdlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDFlMzZiOTBiNDQ4OTU5M2JjYzY0ZmI0MmE0Mzk2MzZjMjdmM2Fl
NzcuLmUwMThkZjMxNjhlMzZmOWU1ZWMxNzM1NGY4MGUxZGRmNDE1M2QzMjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAyMS0wNS0wNCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRoZSB0ZXN0
IHJlc3VsdCBmb3Igc2l6ZSBjb250YWlubWVudC4gQWRkZWQgZXhwbGFuYXRpb25zIGZvciBzaXpl
IGNvbnRhaW5tZW50IHRlc3RzCisgICAgICAgIHRoYXQgZGVwZW5kZWQgb24gb3RoZXIgZmVhdHVy
ZXMuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA1LTAzICBDaHJpcyBM
b3JkICA8Y2xvcmRAaWdhbGlhLmNvbT4KIAogICAgICAgICBEZWNvZGluZyBhbiBTVkcgb2ZmIHRo
ZSBtYWluIHRocmVhZCBjYXVzZXMgYSBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggNGUyMWU3YjZjYmY1YjY2YzA5OWNkNmEyOWUzOGJmYzkxOGU1MzY0Yy4uODQ1YzI4Yzcy
YjkyNjdkNjBkOThiOTY3OWRkOWMxMWM2NDczODA4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDUtMDQgIENhdGhpZSBDaGVuICA8Y2F0aGll
Y2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgY29udGFpbl0gU3VwcG9ydCBjb250YWlu
OnNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MzU3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxj
YW52YXM+IGFuZCA8dmlkZW8+IGRvbid0IHN1cHBvcnQgY29tcHV0aW5nIGFzcGVjdCByYXRpbyBm
cm9tIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyB5ZXQsCisgICAgICAgIHNvIHRoZSBoZWln
aHRzIGFyZSB6ZXJvIHdoZW4gdGhleSBhcmUgd2l0aCAiY29udGFpbjogc2l6ZSIuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlk
LTAwMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFz
LWZsZXgtaXRlbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVu
dHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3Bl
Y3QtcmF0aW8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250
ZW50LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0w
NS0wMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAgICAgRGVjb2Rpbmcg
YW4gU1ZHIG9mZiB0aGUgbWFpbiB0aHJlYWQgY2F1c2VzIGEgY3Jhc2gKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IGQ4YTMxMzY4ZjdlOTVhZGRmMDVkOWJhYzFjN2NmMzkyZGM1ZWU2NzUuLjk4OWYyOTgw
MGM0M2RlNGIzNDdlY2E4ZTc5ODhhOTA1YThiZDVkNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAt
NDU4OSw3ICs0NTg5LDYgQEAgd2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29sb3IvcHJlZGVmaW5lZC0wMTQKIHdlYmtpdC5vcmcvYi8y
MjA5MjggaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRl
ZmluZWQtMDE1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyBmYWxsYmFjayAo
YXQgcGFyc2UgdGltZSkgc3VwcG9ydCAodW5jbGVhciBpZiB0aGlzIG1ha2VzIHNlbnNlKQogCiAj
IENTUyBjb250YWlubWVudCB0ZXN0cyB0aGF0IGZhaWwKLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tYW5pbWF0aW9uLTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiAjIHdlYmtpdC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCkBAIC00NjA2LDcgKzQ2MDUsNiBAQCBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVu
dC12aXNpYgogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGVudC12aXNpYmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1sYXlvdXQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1wYWludC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1wYWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAt
NDY0OCw2OCArNDY0Niw4IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tcGFpbnQtc3RhY2tpbmctY29udGV4dC0wCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5n
LWNvbnRleHQtMDAxYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtMDExLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtMDIzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjUuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLTAyNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDQx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLTA1Ni5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LTA2My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDY0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ibG9jay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJs
b2NrLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLWJvcmRlcnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJyZWFrcy0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJ1dHRvbi0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zaXplLWJ1dHRvbi0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWZpZWxkc2V0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtZmxleC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZsZXhib3gtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtZ3JpZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdy
aWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAyLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1pbmxpbmUtZmxleC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRo
aWMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tb25vbGl0aGljLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LW11bHRpY29sLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwM2EuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLXJlcGxhY2VkLTAwM2IuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxh
Y2VkLTAwM2MuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXNjcm9sbGJhcnMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJz
LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2Nyb2xsYmFycy0wMDMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVj
dC1lbGVtLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAy
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS10YWJsZS1jYXB0aW9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc3RyaWN0LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRh
aW4vY29udGFpbi1zdHlsZS1jb3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpA
QCAtNDc0MSw2ICs0Njc5LDMxIEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL3F1b3RlLXNjb3BpbmctMDAyLmh0bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCiAKKyMgQ2FudmFzIGRvZXNuJ3QgZ2V0IGRlZmF1bHQgYXNwZWN0LXJhdGlvIGZvciB3aWR0
aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMuCit3ZWJraXQub3JnL2IvMjE3NTI5IGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2NhbnZhcy1jb250YWluLXNpemUu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENvbnRlbnQgaXMgcGFpbnRlZCBvbiBzdmcn
cyBwYWRkaW5nIGFyZWEuCit3ZWJraXQub3JnL2IvNDI1ODY4IGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIE11bHRpY29sdW1uIGRvZXMgbm90IHBhaW50IHRo
ZSBob3Jpem9udGFsIG92ZXJmbG93IGFyZWEgb2YgYSByZWxhdGl2ZSBjaGlsZC4KK3dlYmtpdC5v
cmcvYi80MTc5NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
CisjIEJ1dHRvbnMgd2l0aCBhdXRvIHdpZHRoIGFuZCBoZWlnaHQgaGFzIGV4dHJhIG1hcmdpbnMu
CitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtYnV0dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAw
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgU2Nyb2xsYmFyIGRpc3BsYXlzIGFyZSBk
aWZmZXJlbnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1p
bmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBTZWxlY3Qgd2l0
aCBlbXB0eSBjb250ZW50IGFsd2F5cyBoYXMgcm9vdCBsaW5lYm94LCBzbyB0aGUgaGVpZ2h0cyBh
cmUgZGlmZmVyZW50LgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENTUyBwcm9wZXJ0
eSBjb2xvciBpcyBub3Qgd29ya2luZyBpbiBzZWxlY3QgZWxlbWVudHMuCitpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVs
ZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQorCiAjIFRlc3RzIHRoYXQgZmFpbCBiZWNhdXNlIHRoZXkg
YXNzdW1lIGEgdmVydGljYWwgc2Nyb2xsYmFyIGluIGB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJs
YCBlbGVtZW50cyB3aWxsIGJlIG9uIHRoZSByaWdodC1oYW5kIHNpZGUKIHdlYmtpdC5vcmcvYi8y
MjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9k
ZXMvc2l6aW5nLW9ydGhvZy12cmwtaW4taHRiLTAxMy54aHQgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9jc3NvbS1nZXRCb3VuZGluZ0NsaWVudFJlY3QtdmVydGljYWwtcmwuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQKaW5k
ZXggZTE2ZDY3ZGJmN2Q0NTI0YWY3ZjMxMTAzMDlmOTc4Mjk5MDQxYzJkMi4uNTFlOGUyMDAyZmY3
Y2E3NDJjOTVlMzk0NmZkMWNjOGJmZjdiMTFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWdyaWQtMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhw
ZWN0ZWQudHh0CkBAIC0zNiwxOSArMzYsOCBAQCBQQVNTIC5ncmlkIDM0CiBQQVNTIC5ncmlkIDM1
CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1GQUlMIC5ncmlkIDM4IGFzc2VydF9lcXVh
bHM6Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDogcmVwZWF0KGF1dG8tZml0LCA3NXB4
KSAvIHJlcGVhdChhdXRvLWZpdCwgMTAwcHgpOyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICAgIDxkaXY+PC9kaXY+Ci0gIDwvZGl2Pgotd2lkdGgg
ZXhwZWN0ZWQgMCBidXQgZ290IDEwMAotRkFJTCAuZ3JpZCAzOSBhc3NlcnRfZXF1YWxzOgotPGRp
diBjbGFzcz0iZ3JpZCIgc3R5bGU9ImdyaWQ6IGF1dG8gNTBweCAvIDEwMHB4IGF1dG87IiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+Ci0gIDxkaXYg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEt
b2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjAiPlg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLW9mZnNldC14PSIx
MDAiIGRhdGEtb2Zmc2V0LXk9IjAiPlhYPC9kaXY+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0
aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEt
b2Zmc2V0LXk9IjEwIj5YWFg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRhLW9mZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0
LXk9IjEwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDEwMCBidXQgZ290IDE0
MAorUEFTUyAuZ3JpZCAzOAorUEFTUyAuZ3JpZCAzOQogCiBYCiBYWApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlk
LTAwNC1leHBlY3RlZC50eHQKaW5kZXggNzBjZDdlNjE5MWQwZmZkYmE1MjI2NDI0NmI4YTgxY2Yz
NDgzZGYzOC4uZTBhMWM5ZDUxZmJmNGI2YTU2MjRkZjQxYjlmYjIyMWM0NWVmNmJjMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CkBAIC0xLDM4ICsxLDE4IEBACiAKIFBBU1Mg
LmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBl
cmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3Qg
MzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwotRkFJTCAuZ3JpZCA0IGFzc2VydF9lcXVh
bHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQKIFBBU1MgLmdyaWQgNQog
UEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwgLmdyaWQgOCBhc3NlcnRfZXF1YWxzOgot
PGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRo
IGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgOAogUEFTUyAuZ3JpZCA5Ci1GQUlM
IC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGNhbGMgbWF4LWNvbnRl
bnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAg
PGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAi
PlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAu
Z3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3JpZCAxMgogUEFTUyAuZ3JpZCAxMwotRkFJ
TCAuZ3JpZCAxNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2Vu
dC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1
dCBnb3QgMTAwCitQQVNTIC5ncmlkIDE0CiBQQVNTIC5ncmlkIDE1CiBQQVNTIC5ncmlkIDE2CiBQ
QVNTIC5ncmlkIDE3CkBAIC00MCw2NyArMjAsMzEgQEAgUEFTUyAuZ3JpZCAxOAogUEFTUyAuZ3Jp
ZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3JpZCAyMQotRkFJTCAuZ3JpZCAyMiBhc3NlcnRf
ZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtZml4ZWQtcGVyY2VudCBtYXgtY29udGVu
dCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIx
MDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCitQ
QVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQQVNTIC5ncmlkIDI0CiBQQVNTIC5ncmlkIDI1
Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1w
ZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1
dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNTIC5ncmlkIDI3Ci1GQUlMIC5ncmlkIDI4IGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWF4LWNv
bnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+
WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5n
cmlkIDI4CiBQQVNTIC5ncmlkIDI5CiBQQVNTIC5ncmlkIDMwCiBQQVNTIC5ncmlkIDMxCi1GQUlM
IC5ncmlkIDMyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1pbnRyaW5z
aWMtcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhw
ZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAg
YnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzIKIFBBU1MgLmdyaWQgMzMKLUZBSUwgLmdyaWQgMzQg
YXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50
IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMw
MAorUEFTUyAuZ3JpZCAzNAogUEFTUyAuZ3JpZCAzNQogUEFTUyAuZ3JpZCAzNgogUEFTUyAuZ3Jp
ZCAzNwotRkFJTCAuZ3JpZCAzOCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5t
YXgtcGVyY2VudC1pbnRyaW5zaWMgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIw
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBl
Y3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDM4CiBQQVNTIC5ncmlkIDM5Ci1GQUlMIC5n
cmlkIDQwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWlu
dHJpbnNpYyBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0
ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdv
dCAzMDAKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQgNDEKIFBBU1MgLmdyaWQgNDIKIFBBU1Mg
LmdyaWQgNDMKLUZBSUwgLmdyaWQgNDQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQg
Zml0LWNvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAw
IGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ0CiBQQVNTIC5ncmlkIDQ1Ci1GQUlMIC5ncmlkIDQ2
IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGZpdC1jb250ZW50IG1heC1jb250ZW50
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxk
aXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhY
WFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3Jp
ZCA0NgogUEFTUyAuZ3JpZCA0NwogUEFTUyAuZ3JpZCA0OAogWFhYWApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAppbmRleCAzZTE0MDg2
N2I3ZTcyMTQ2MTFjYzUyOWFiYjQ4NWZkMmY4ZTFiOTQ3Li4zZTc5OTFjMWMwNTFhNzc2NjNkZDc1
NzEyMjlhMDNjYTcxZTMyNmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wt
YXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wt
YXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw1IEBACiBUaGVyZSBzaG91bGQg
YmUgYSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJTCAjZmxleCAxIGFzc2VydF9lcXVhbHM6
Ci08ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVsdGljb2wiIGRhdGEtZXhwZWN0ZWQtd2lk
dGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+Ci0gICAgPGRpdiBzdHlsZT0id2lk
dGg6MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci13aWR0aCBl
eHBlY3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2ZsZXggMQogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9m
bGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250
YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IDc0NGRjNGY2MmFmMTAyMzM4OTVmZmM4YWI2
ZmZkNDNkZWRkOWI4NzAuLmNjMGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xNywyOCAr
MTcsMTIgQEAgQ29sdW1uCiAKIFJvdwogCi1GQUlMIC5pbmxpbmUtZmxleCAxIGFzc2VydF9lcXVh
bHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1mbGV4
OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1l
eHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Q29sdW1uPC9kaXY+
Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCA1MgotRkFJTCAuaW5saW5lLWZsZXgg
MiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIGRhdGEtZXhwZWN0ZWQt
d2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFp
bjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjAiPlJvdzwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAKK1BBU1Mg
LmlubGluZS1mbGV4IDEKK1BBU1MgLmlubGluZS1mbGV4IDIKIFBBU1MgLmlubGluZS1mbGV4IDMK
IFBBU1MgLmlubGluZS1mbGV4IDQKLUZBSUwgLmlubGluZS1mbGV4IDUgYXNzZXJ0X2VxdWFsczoK
LTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iZmxleC1kaXJlY3Rpb246IGNvbHVtbjsg
YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEt
ZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Db2x1bW48L2Rpdj4K
LTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDUyCi1GQUlMIC5pbmxpbmUtZmxleCA2
IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9ImFsaWduLWl0
ZW1zOiBmbGV4LXN0YXJ0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Um93PC9kaXY+Ci08L2Rpdj4KLXdp
ZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAuaW5saW5lLWZsZXggNQorUEFTUyAuaW5s
aW5lLWZsZXggNgogUEFTUyAuaW5saW5lLWZsZXggNwogUEFTUyAuaW5saW5lLWZsZXggOAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0
bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNv
bnRlbnQtYW5kLWltYWdlcy9jYW52YXMtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVw
bGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2Vz
L2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CmluZGV4IGFiY2JhMDMwODU1NWU2ZGVj
ZTQyN2NlMWFiM2ZhNTYwYzRmMzdkMDUuLmU2ZmNlOTY5MDQ5NTNlYmZiNmM1ODc2MTZlOGJlZTk1
YmZhMGFkMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3It
ZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRt
bC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29u
dGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CkBAIC0xLDYg
KzEsNiBAQAogCiAKLVBBU1MgQ2FudmFzIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUg
dXNlZCBhcyB0aGUgc3VyZmFjZSBzaXplIHdpdGggY29udGFpbjpzaXplCitGQUlMIENhbnZhcyB3
aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHVzZWQgYXMgdGhlIHN1cmZhY2Ugc2l6ZSB3
aXRoIGNvbnRhaW46c2l6ZSBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMi41ICsvLSAw
LjAwMSBidXQgZ290IEluZmluaXR5CiBQQVNTIENhbnZhcyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJp
YnV0ZXMgYXJlIHVzZWQgYXMgdGhlIHN1cmZhY2Ugc2l6ZQogRkFJTCBDb21wdXRlZCBzdHlsZSB0
ZXN0OiBjYW52YXMgd2l0aCB7IndpZHRoIjoiMTAiLCJoZWlnaHQiOiIyMCJ9IGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkICJhdXRvIDEwIC8gMjAiIGJ1dCBnb3QgImF1dG8iCiBQQVNTIENvbXB1dGVk
IHN0eWxlIHRlc3Q6IGNhbnZhcyB3aXRoIHsid2lkdGgiOiIwIiwiaGVpZ2h0IjoiMSJ9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
cmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRl
bnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNl
ZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvdmlk
ZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dAppbmRleCAxYTYwNDQxZTRkMzY4NWUxMjkyZWUy
MGEyMzZjZTg1MmJmODUzZTVhLi4zYzQ1YzdlNDM2ZjA4YTQ2YmRhODJmZGI0NjAwNjEzODBjOTFh
YmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVk
ZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5k
ZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1h
bmQtaW1hZ2VzL3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBA
CiAKIAotRkFJTCBWaWRlbyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIG5vdCB1c2Vk
IHRvIGluZmVyIGFzcGVjdC1yYXRpbyBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMi41
ICsvLSAwLjAwMSBidXQgZ290IDIKK0ZBSUwgVmlkZW8gd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1
dGVzIGFyZSBub3QgdXNlZCB0byBpbmZlciBhc3BlY3QtcmF0aW8gYXNzZXJ0X2FwcHJveF9lcXVh
bHM6IGV4cGVjdGVkIDIuNSArLy0gMC4wMDEgYnV0IGdvdCBJbmZpbml0eQogRkFJTCBDb21wdXRl
ZCBzdHlsZSB0ZXN0OiB2aWRlbyB3aXRoIHsid2lkdGgiOiIxMCIsImhlaWdodCI6IjIwIn0gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMTAgLyAyMCIgYnV0IGdvdCAiYXV0byIKIEZBSUwg
Q29tcHV0ZWQgc3R5bGUgdGVzdDogdmlkZW8gd2l0aCB7IndpZHRoIjoiMC41IiwiaGVpZ2h0Ijoi
MS41In0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMC41IC8gMS41IiBidXQgZ290ICJh
dXRvIgogUEFTUyBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRlbyB3aXRoIHsid2lkdGgiOiIwIiwi
aGVpZ2h0IjoiMSJ9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>427744</attachid>
            <date>2021-05-05 01:49:15 -0700</date>
            <delta_ts>2021-05-11 01:34:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210505164909.patch</filename>
            <type>text/plain</type>
            <size>69877</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc2ODk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE0ZGFjNDkwNjcxZjg4
MzI4ODhiNjBmY2I1ZGRiMzYxNGNlZGNlNS4uNmQ4ZWFiZDQyNTRiYTQxOWNmZTY2NzQwN2NhYTc1
ZDFjMzE0YmRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wNS0wNCAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWlu
XSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhpcyBwYXRjaCBicmluZ3MgaW5pdGlhbCBzdXBwb3J0IG9mIENTUyBj
b250YWluOnNpemUgYWNjb3JkaW5nIHRvIFsxXS4KKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBs
eVNpemVDb250YWlubWVudCgpIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBhIHNp
emUgY29udGFpbm1lbnQgYm94LgorICAgICAgICBUaGUgaW50cmluc2ljIHNpemVzIG9mIHNpemUg
Y29udGFpbm1lbnQgYm94IGFyZSBkZXRlcm1pbmVkIGFzIGlmIGl0IGhhZCBubyBjb250ZW50Lgor
ICAgICAgICBTbyB0aGUgaW1wbGVtZW50YXRpb24gbmVlZCB0byBjb29wZXJhdGUgd2l0aCB0aGUg
bGF5b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ29tcHV0aW5nIGxvZ2ljYWwgd2lkdGg6IFNpemUg
Y29udGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGlsZHJlbiB3aGlsZSBjb21wdXRpbmcg
bWluTG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExvZ2ljYWxXaWR0aCBpbiBjb21wdXRl
SW50cmluc2ljTG9naWNhbFdpZHRocy4gU28gdGhlIGxvZ2ljYWwgd2lkdGggaXMgbm90IGFmZmVj
dGVkIGJ5IGNoaWxkcmVuLgorICAgICAgICAgIC0gTGF5b3V0IGNoaWxkcmVuOiBUaGUgbG9naWNh
bCBoZWlnaHQgaXMgY2hhbmdlZCBhZnRlciBsYXlvdXQgYWxsIGNoaWxkcmVuLgorICAgICAgICAg
IC0gQ29tcHV0aW5nIGxvZ2ljYWwgaGVpZ2h0OiBBdCB0aGUgYmVnaW5uaW5nLCBzaXplIGNvbnRh
aW5tZW50IGJveGVzIG5lZWQgdG8gcmVzZXQgbG9naWNhbCBoZWlnaHQgdG8gdGhlIGVtcHR5IGNv
bnRlbnQgaGVpZ2h0CisgICAgICAgICAgaWYgaXQgaXMgbm90IHJlbmRlckdyaWQuIFNvIHRoZSBs
b2dpY2FsIGhlaWdodCBpcyBub3QgYWZmZWN0ZWQgYnkgY2hpbGRyZW4uCisgICAgICAgIFdlIGFs
c28gbmVlZCB0byBjYWxjdWxhdGUgdGhlIHNpemVzIGFjY29yZGluZyB0byB0aGUgbGF5b3V0IGFs
Z29yaXRobXMuCisgICAgICAgIC0gR3JpZCBsYXlvdXQ6CisgICAgICAgICAgVG8gY2FsY3VsYXRl
IHRoZSBtaW5Mb2dpY2FsV2lkdGggYW5kIG1heExvZ2ljYWxXaWR0aCBmb3IgaW5kZWZpbml0ZSBz
aXplIFJlbmRlckdyaWQuCisgICAgICAgICAgVGhlIHdpZHRocyBhcmUgY2FsY3VsYXRlZCBieSBH
cmlkVHJhY2tTaXppbmdBbGdvcml0aG06IG1fbWluQ29udGVudFNpemUgYW5kIG1fbWF4Q29udGVu
dFNpemUgd2hpY2ggYXJlIHRoZSBzdW0gb2YKKyAgICAgICAgICBtX2Jhc2VTaXplL21fZ3Jvd3Ro
TGltaXQgb2YgYWxsIEdyaWRUcmFja3MuIFRoZSBzaXplIGNvbnRhaW5tZW50IFJlbmRlckdyaWQg
c2tpcHMgaGFuZGxpbmcgY29udGVudCBpbiByZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcworICAg
ICAgICAgIGFuZCB0aGUgbV9tYXhDb250ZW50U2l6ZSB3aWxsIGJlIHRoZSBzdW0gb2YgbV9iYXNl
U2l6ZS4gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIHNhbWUgdG8gd2lkdGgsIGJ1dCBhZnRlciBjYWxj
dWxhdGluZworICAgICAgICAgIFJlbmRlckdyaWQncyBsb2dpY2FsIGhlaWdodCwgaXQgbmVlZHMg
dG8gY2FsY3VsYXRlIHRoZSB0cmFjayBzaXplcyBhZ2FpbiwgdG8gbWFrZSBzdXJlIHRoYXQgdGhl
eSBhcmUgZGlzdHJpYnV0ZWQgcHJvcGVybHkuCisgICAgICAgICAgV2UgdXNlIGNvbXB1dGVUcmFj
a1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KSB0
byByZWNhbGN1bGF0ZSBpdC4KKyAgICAgICAgLSBNdWx0aUNvbHVtbiBsYXlvdXQ6CisgICAgICAg
ICAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uLCBzaXplIGNvbnRhaW5tZW50IGJveGVz
IHNob3VsZCBiZSBtb25vbGl0aGljLCBzbyB3ZSBuZWVkIHRvIGV4dGVuZCBjb2x1bW4gaGVpZ2h0
CisgICAgICAgICAgZm9yIG92ZXJmbG93IGFuZCBwb3NpdGlvbmVkIHNpemUgY29udGFpbm1lbnQg
Ym94ZXMuIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgpIGlzIGFkZGVkIHRvIGlu
ZGljYXRlIHRoZSBzaG9ydGFnZSBzcGFjZQorICAgICAgICAgIHRoYXQgbmVlZCB0byBiYWxhbmNl
IHRoZSBjb2x1bW4gaGVpZ2h0cy4gYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdpbmF0
aW9uKCkgd2lsbCBjYWxjdWxhdGUgdGhlIHNob3J0YWdlLgorCisgICAgICAgIFsxXSBodHRwczov
L3d3dy53My5vcmcvVFIvY3NzLWNvbnRhaW4tMS8jY29udGFpbm1lbnQtc2l6ZQorCisgICAgICAg
ICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHA6IEFkZCBpc0NvbXB1dGlu
Z1NpemVDb250YWlubWVudCB0byBpbmRpY2F0ZSBpZiBpdCBpcyBjYWxjdWxhdGluZyBzaXplcwor
ICAgICAgICAgIGZvciBpbmRlZmluaXRlIHNpemUgUmVuZGVyR3JpZCB3aGljaCBpcyBzaXplIGNv
bnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpn
cmlkQXJlYUJyZWFkdGhGb3JDaGlsZCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMpOgor
ICAgICAgICAgIEl0IHNraXBzIHJlc29sdmVJbnRyaW5zaWNUcmFja1NpemVzIGlmIGlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50LCBzbyBncm93dGhMaW1pdCBtaWdodCBiZSB1bmRlZmluZWQsCisg
ICAgICAgICAgaWYgc28sIHVzZSB0cmFjay5iYXNlU2l6ZSgpIGluc3RlYWQuCisgICAgICAgIChX
ZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJlc29sdmVJbnRyaW5zaWNUcmFja1Np
emVzKTogU2tpcCByZXNvbHZlIHRoZSBjb250ZW50IGlmIGlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5t
ZW50KCkuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFu
Y2VOZXh0U3RhdGUpOiBBZGRlZCBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlu
bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6aXNWYWxp
ZFRyYW5zaXRpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxn
b3JpdGhtOjpydW4pOiBEbyBub3Qgc3RyZXRjaCB0aGUgdHJhY2sgc2l6ZXMgaWYgaXNDb21wdXRp
bmdTaXplQ29udGFpbm1lbnQoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5n
QWxnb3JpdGhtLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0KTogQ2FsY3Vs
YXRlIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCBmb3IgcG9zaXRpb25lZCBzaXpl
IGNvbnRhaW5tZW50LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogU2tpcCBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzIGlmIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2tG
bG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFNraXAgaGFuZGxpbmcg
dGhlIGNoaWxkcmVuIGZvciBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0QmxvY2tDaGlsZEZvclBhZ2luYXRpb24pOiBDYWxjdWxh
dGUgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IGZvciBjaGlsZC4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQ
YWdpbmF0aW9uKTogbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50ID0gY2hpbGRPdmVy
Zmxvd0hlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KTogUmVzZXQg
dGhlIGxvZ2ljYWwgaGVpZ2h0IHRvIGVtcHR5IGNvbnRlbnQgaGVpZ2h0IGZvciBzaXplIGNvbnRh
aW5tZW50IGJveC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aXNVbnNwbGl0dGFibGVG
b3JQYWdpbmF0aW9uIGNvbnN0KTogU2l6ZSBjb250YWlubWVudCBib3ggaXMgdW5zcGxpdHRhYmxl
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3guY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJGaWxl
VXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyR3JpZDo6bGF5b3V0QmxvY2spOiBJZiBpdCBpcyBzaXplIGNvbnRhaW5tZW50IHdp
dGggaW5maW5pdGVTaXplLCB1c2luZyB0cmFja0Jhc2VkTG9naWNhbEhlaWdodAorICAgICAgICB0
byBjb21wdXRlIHRyYWNrIHNpemVzIGFnYWluIHRvIG1ha2Ugc3VyZSB0aGUgaGVpZ2h0IGlzIGRp
c3RyaWJ1dGVkIHByb3Blcmx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyR3JpZDo6Y29tcHV0
ZUVtcHR5VHJhY2tzRm9yQXV0b1JlcGVhdCBjb25zdCk6IENvbGxhcHNlIGlmIHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3Jt
YXRpb24gY29uc3QpOiBUaGlzIGlzIGhhbmRsZWQgaW4gUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGluc3RlYWQuCisgICAgICAgICogcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29tcHV0
ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBUaGUgd2lkdGhzIG9mIHNpemUgY29udGFp
bm1lbnQgYm94ZXMgYXJlIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbC4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwOgorICAgICAgICAoUmVuZGVyTWVudUxpc3Q6OmNvbXB1
dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogVGhlIHdpZHRocyBvZiBzaXplIGNvbnRh
aW5tZW50IGJveCBhcmUgdGhlbWUubWluaW11bU1lbnVMaXN0U2l6ZS4KKyAgICAgICAgKiByZW5k
ZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ck11bHRpQ29sdW1uRmxvdzo6dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCk6
IFNldCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtblNldC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVtblNl
dDo6UmVuZGVyTXVsdGlDb2x1bW5TZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlD
b2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0IGNvbnN0KTogQWRkIG1fc3BhY2VTaG9y
dGFnZUZvclNpemVDb250YWlubWVudCB0byB0aGUgY29sdW1uIGhlaWdodC4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVwYXJlRm9yTGF5b3V0KTogUmVzZXQgbV9z
cGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtblNldC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQpOiBDaGVjayBp
ZiB0aGUgb2JqZWN0IGlzIGEgc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5oOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0Ojppc0F0
b21pY0lubGluZUxldmVsQm94IGNvbnN0KToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyUmVw
bGFjZWQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVBc3Bl
Y3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6
IFVzZSB0aGUgZW1wdHkgaW50cmluc2ljU2l6ZS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
UmVwbGFjZWQuaDogVGhlIGludHJpbnNpY1NpemUgb2Ygc2l6ZSBjb250YWlubWVudCBpcyAoMCwg
MCkuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTog
RGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclRleHRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyBjb25zdCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWRlby5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJWaWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OmNvbnRhaW5zU2l6ZSBjb25zdCk6CisgICAgICAgICog
cmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
clNWR1Jvb3Q6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogSGFuZGxl
ZCBpbiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gaW5z
dGVhZC4KKwogMjAyMS0wNS0wMyAgQ2hyaXMgTG9yZCAgPGNsb3JkQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgRGVjb2RpbmcgYW4gU1ZHIG9mZiB0aGUgbWFpbiB0aHJlYWQgY2F1c2VzIGEgY3Jhc2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5jcHAKaW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDczNDM2NTdjYWZmNDRmZGU0OTA1NS4u
YTI3MGRiOGJkNmY4NGNkNzkwZGFmMjExNzY2OGY1ZWMyZGQyNjZmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAg
LTU4MCw3ICs1ODAsNyBAQCBPcHRpb25hbDxMYXlvdXRVbml0PiBHcmlkVHJhY2tTaXppbmdBbGdv
cml0aG06OmVzdGltYXRlZEdyaWRBcmVhQnJlYWR0aEZvckNoaWxkKAogT3B0aW9uYWw8TGF5b3V0
VW5pdD4gR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpncmlkQXJlYUJyZWFkdGhGb3JDaGlsZChj
b25zdCBSZW5kZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9u
KSBjb25zdAogewogICAgIGJvb2wgYWRkQ29udGVudEFsaWdubWVudE9mZnNldCA9Ci0gICAgICAg
IGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIG1fc2l6aW5nU3RhdGUgPT0gUm93U2l6aW5nRmly
c3RJdGVyYXRpb247CisgICAgICAgIGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIChtX3Npemlu
Z1N0YXRlID09IFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uIHx8IG1fc2l6aW5nU3RhdGUgPT0gUm93
U2l6aW5nRXh0cmFJdGVyYXRpb25Gb3JTaXplQ29udGFpbm1lbnQpOwogICAgIC8vIFRvIGRldGVy
bWluZSB0aGUgY29sdW1uIHRyYWNrJ3Mgc2l6ZSBiYXNlZCBvbiBhbiBvcnRob2dvbmFsIGdyaWQg
aXRlbSB3ZSBuZWVkIGl0J3MgbG9naWNhbAogICAgIC8vIGhlaWdodCwgd2hpY2ggbWF5IGRlcGVu
ZCBvbiB0aGUgcm93IHRyYWNrJ3Mgc2l6ZS4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSByb3cgdHJh
Y2tzIHNpemluZwogICAgIC8vIGxvZ2ljIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgeWV0LCBzbyB3
ZSB3aWxsIG5lZWQgdG8gZG8gYW4gZXN0aW1hdGlvbi4KQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lk
IEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNT
aXplcygpCiAKICAgICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGly
ZWN0aW9uKTsKICAgICBmb3IgKGF1dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFT
U0VSVCghdHJhY2suaW5maW5pdGVHcm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVCht
X3N0cmF0ZWd5LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0
ZUdyb3d0aFBvdGVudGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5i
YXNlU2l6ZSgpOwotICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0
KCk7CisgICAgICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmlu
aXRlKCkgPyB0cmFjay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAg
Ly8gVGhlIGdyb3d0aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8g
cHJvcGVybHkgc29ydAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBh
biBldmVudHVhbCAiTWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGlt
aXRDYXAoV1RGOjpudWxsb3B0KTsKQEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRv
dWJsZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVk
VHJhY2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5p
dD4gZnJlZVNwYWNlKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4
RnJhY3Rpb25JZk5lZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxH
cm93dGgpIGNvbnN0IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRj
aEF1dG9UcmFja3NTdGVwKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1Np
emVDb250YWlubWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCpyZW5kZXJHcmlkKCkpOyB9CiB9OwogCiB2b2lkIEluZGVmaW5pdGVTaXplU3Ry
YXRlZ3k6OmxheW91dEdyaWRJdGVtRm9yTWluU2l6ZUNvbXB1dGF0aW9uKFJlbmRlckJveCYgY2hp
bGQsIGJvb2wgb3ZlcnJpZGVTaXplSGFzQ2hhbmdlZCkgY29uc3QKQEAgLTEwMzAsNiArMTAzMSw3
IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNr
c1N0ZXAoKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGls
ZChSZW5kZXJCb3gmKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxT
aXplRm9yQ2hpbGQoUmVuZGVyQm94JiwgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUsIE9wdGlv
bmFsPExheW91dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wg
aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxz
ZTsgfQogfTsKIAogTGF5b3V0VW5pdCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmcmVlU3BhY2VG
b3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdApAQCAtMTE0Niw5ICsxMTQ4LDIyIEBAIHZv
aWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjppbml0aWFsaXplVHJhY2tTaXplcygpCiAKIHZv
aWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcygp
CiB7CisgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlv
bik7CisgICAgYXV0byBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0ID0gWyZdKCkgeworICAgICAg
ICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKKyAg
ICAgICAgICAgIEdyaWRUcmFjayYgdHJhY2sgPSBhbGxUcmFja3NbdHJhY2tJbmRleF07CisgICAg
ICAgICAgICBpZiAodHJhY2suZ3Jvd3RoTGltaXQoKSA9PSBpbmZpbml0eSkKKyAgICAgICAgICAg
ICAgICB0cmFjay5zZXRHcm93dGhMaW1pdCh0cmFjay5iYXNlU2l6ZSgpKTsKKyAgICAgICAgfQor
ICAgIH07CisKKyAgICBpZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQo
KSkgeworICAgICAgICBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0KCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKICAgICBWZWN0b3I8R3JpZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUlu
Y3JlYXNpbmdTcGFuOwogICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4gaXRlbXNTZXQ7Ci0gICAgVmVj
dG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlvbik7CiAgICAgaWYg
KG1fZ3JpZC5oYXNHcmlkSXRlbXMoKSkgewogICAgICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6
IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKICAgICAgICAgICAgIEdyaWRJdGVyYXRvciBp
dGVyYXRvcihtX2dyaWQsIG1fZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKQEAgLTExNzgsMTIgKzEx
OTMsNyBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1Ry
YWNrU2l6ZXMoKQogICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRl
bXM8UmVzb2x2ZU1heENvbnRlbnRNYXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwogICAgICAgICBp
dCA9IHNwYW5Hcm91cFJhbmdlLnJhbmdlRW5kOwogICAgIH0KLQotICAgIGZvciAoYXV0byB0cmFj
a0luZGV4IDogbV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgewotICAgICAgICBHcmlkVHJhY2sm
IHRyYWNrID0gYWxsVHJhY2tzW3RyYWNrSW5kZXhdOwotICAgICAgICBpZiAodHJhY2suZ3Jvd3Ro
TGltaXQoKSA9PSBpbmZpbml0eSkKLSAgICAgICAgICAgIHRyYWNrLnNldEdyb3d0aExpbWl0KHRy
YWNrLmJhc2VTaXplKCkpOwotICAgIH0KKyAgICBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0KCk7
CiB9CiAKIHZvaWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpzdHJldGNoRmxleGlibGVUcmFj
a3MoT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNlKQpAQCAtMTIzOSw2ICsxMjQ5LDkgQEAg
dm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFuY2VOZXh0U3RhdGUoKQogICAgICAg
ICBtX3NpemluZ1N0YXRlID0gUm93U2l6aW5nRmlyc3RJdGVyYXRpb247CiAgICAgICAgIHJldHVy
bjsKICAgICBjYXNlIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uOgorICAgICAgICBtX3NpemluZ1N0
YXRlID0gbV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSA/IFJvd1Npemlu
Z0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50IDogQ29sdW1uU2l6aW5nU2Vjb25kSXRl
cmF0aW9uOworICAgICAgICByZXR1cm47CisgICAgY2FzZSBSb3dTaXppbmdFeHRyYUl0ZXJhdGlv
bkZvclNpemVDb250YWlubWVudDoKICAgICAgICAgbV9zaXppbmdTdGF0ZSA9IENvbHVtblNpemlu
Z1NlY29uZEl0ZXJhdGlvbjsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ29sdW1uU2l6aW5n
U2Vjb25kSXRlcmF0aW9uOgpAQCAtMTI1OSw2ICsxMjcyLDcgQEAgYm9vbCBHcmlkVHJhY2tTaXpp
bmdBbGdvcml0aG06OmlzVmFsaWRUcmFuc2l0aW9uKCkgY29uc3QKICAgICBjYXNlIENvbHVtblNp
emluZ1NlY29uZEl0ZXJhdGlvbjoKICAgICAgICAgcmV0dXJuIG1fZGlyZWN0aW9uID09IEZvckNv
bHVtbnM7CiAgICAgY2FzZSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbjoKKyAgICBjYXNlIFJvd1Np
emluZ0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50OgogICAgIGNhc2UgUm93U2l6aW5n
U2Vjb25kSXRlcmF0aW9uOgogICAgICAgICByZXR1cm4gbV9kaXJlY3Rpb24gPT0gRm9yUm93czsK
ICAgICB9CkBAIC0xMzQ2LDYgKzEzNjAsOCBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRo
bTo6cnVuKCkKIAogICAgIC8vIFN0ZXAgMy4KICAgICBtX3N0cmF0ZWd5LT5tYXhpbWl6ZVRyYWNr
cyh0cmFja3MobV9kaXJlY3Rpb24pLCBtX2RpcmVjdGlvbiA9PSBGb3JDb2x1bW5zID8gbV9mcmVl
U3BhY2VDb2x1bW5zIDogbV9mcmVlU3BhY2VSb3dzKTsKKyAgICBpZiAobV9zdHJhdGVneS0+aXND
b21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gU3Rl
cCA0LgogICAgIHN0cmV0Y2hGbGV4aWJsZVRyYWNrcyhpbml0aWFsRnJlZVNwYWNlKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0u
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApp
bmRleCAwMzExMjVkYTliZmRiNTg4YTlhOTE5NjFhM2IxNTI4ZTk4N2Y0MTYyLi42Yjc5N2VhODc4
NTQwOWRkZWIxOGEwNTlmNDE2MGQ1NWQ2NWQ1OGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCkBAIC0yMjQsNiArMjI0LDcg
QEAgcHJpdmF0ZToKICAgICBlbnVtIFNpemluZ1N0YXRlIHsKICAgICAgICAgQ29sdW1uU2l6aW5n
Rmlyc3RJdGVyYXRpb24sCiAgICAgICAgIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uLAorICAgICAg
ICBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlubWVudCwKICAgICAgICAgQ29s
dW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uLAogICAgICAgICBSb3dTaXppbmdTZWNvbmRJdGVyYXRp
b24KICAgICB9OwpAQCAtMjYxLDYgKzI2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJs
ZSBmaW5kVXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJh
Y2tzSW5kZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4g
aW5pdGlhbEZyZWVTcGFjZSkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCByZWNvbXB1dGVV
c2VkRmxleEZyYWN0aW9uSWZOZWVkZWQoZG91YmxlJiBmbGV4RnJhY3Rpb24sIExheW91dFVuaXQm
IHRvdGFsR3Jvd3RoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGZyZWVTcGFj
ZUZvclN0cmV0Y2hBdXRvVHJhY2tzU3RlcCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wg
aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAg
ICBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG1TdHJhdGVneShHcmlkVHJhY2tTaXppbmdBbGdvcml0
aG0mIGFsZ29yaXRobSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmlu
ZGV4IDUzMjY4ZGY1ZThhN2U5MWU3NGY3YjQzYzMyYjY3OWFhYTE5YWFiMDUuLmZmMjVlZmYyNTE3
MmM4OTQzOGNjYzg2ZmMzYmNmNGVjYjNmZGFkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcApAQCAtMTA3Myw2ICsxMDczLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6
bGF5b3V0UG9zaXRpb25lZE9iamVjdChSZW5kZXJCb3gmIHIsIGJvb2wgcmVsYXlvdXRDaGlsZHJl
biwgYm8KICAgICAgICAgci5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogICAgICAgICBy
LmxheW91dElmTmVlZGVkKCk7CiAgICAgfQorICAgIAorICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3
KCkubGF5b3V0Q29udGV4dCgpLmxheW91dFN0YXRlKCktPmlzUGFnaW5hdGVkKCkgJiYgaXM8UmVu
ZGVyQmxvY2tGbG93PigqdGhpcykpCisgICAgICAgIGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4o
KnRoaXMpLmFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbihyLCByLmxvZ2lj
YWxUb3AoKSk7CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3Rz
KGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpCkBA
IC0yMjgyLDggKzIyODUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpvZmZzZXRGb3JDb250ZW50cyhM
YXlvdXRQb2ludCYgb2Zmc2V0KSBjb25zdAogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUludHJp
bnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0
JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFjaGlsZHJlbklubGluZSgp
KTsKLSAgICAKLSAgICBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2lj
YWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKKyAgICBpZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KCp0aGlzKSkKKyAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRo
cyhtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKICAgICBtYXhMb2dpY2FsV2lk
dGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggOTZjNjdmNTYx
ZTUwMWY5ZmI1YjI2MDdhNDE1ZjZjNTg2YTFjNjM3Mi4uMTRhYmY2YmViZGNhOWMwMjlhZWQ1MGU4
N2QxNzI3NWIzNTMyNTQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAKQEAgLTMzOSwxMCArMzM5LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojph
ZGp1c3RJbnRyaW5zaWNMb2dpY2FsV2lkdGhzRm9yQ29sdW1ucyhMYXlvdXRVbml0JiBtaW5Mb2dp
CiAKIHZvaWQgUmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhM
YXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkg
Y29uc3QKIHsKLSAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKLSAgICAgICAgY29tcHV0ZUlubGlu
ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgp
OwotICAgIGVsc2UKLSAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyht
aW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgqdGhpcykpIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisg
ICAgICAgICAgICBjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXB1
dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2Fs
V2lkdGgpOworICAgIH0KIAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2lj
YWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKIApAQCAtMTY2Miw2ICsxNjY0LDkgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdEJsb2NrQ2hpbGRGb3JQYWdpbmF0aW9uKExheW91
dFVuaXQgbG9naWNhbFRvcEEKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChzaG91bGRBcHBs
eVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAgIGFkanVzdFNpemVDb250YWlubWVudENo
aWxkRm9yUGFnaW5hdGlvbihjaGlsZCwgcmVzdWx0KTsKKwogICAgIC8vIEZvciByZXBsYWNlZCBl
bGVtZW50cyBhbmQgc2Nyb2xsZWQgZWxlbWVudHMsIHdlIHdhbnQgdG8gc2hpZnQgdGhlbSB0byB0
aGUgbmV4dCBwYWdlIGlmIHRoZXkgZG9uJ3QgZml0IG9uIHRoZSBjdXJyZW50IG9uZS4KICAgICBM
YXlvdXRVbml0IGxvZ2ljYWxUb3BCZWZvcmVVbnNwbGl0dGFibGVBZGp1c3RtZW50ID0gcmVzdWx0
OwogICAgIExheW91dFVuaXQgbG9naWNhbFRvcEFmdGVyVW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9
IGFkanVzdEZvclVuc3BsaXR0YWJsZUNoaWxkKGNoaWxkLCByZXN1bHQpOwpAQCAtMjA0Nyw2ICsy
MDUyLDI0IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojpsb2dpY2FsSGVpZ2h0Rm9yQ2hp
bGRGb3JGcmFnbWVudGF0aW9uKGNvbnN0IFJlbmRlckJvCiAgICAgcmV0dXJuIGxvZ2ljYWxIZWln
aHRGb3JDaGlsZChjaGlsZCk7CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RTaXpl
Q29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24oUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5p
dCBvZmZzZXQpCit7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudChjaGlsZCkp
CisgICAgICAgIHJldHVybjsKKworICAgIExheW91dFVuaXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9
IGNoaWxkLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjaGlsZC5sYXlvdXRPdmVyZmxvd1Jl
Y3QoKS5tYXhZKCkgOiBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhYKCk7CisgICAgTGF5
b3V0VW5pdCBjaGlsZExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0
KCksIGNoaWxkT3ZlcmZsb3dIZWlnaHQpOworCisgICAgTGF5b3V0VW5pdCByZW1haW5pbmdMb2dp
Y2FsSGVpZ2h0ID0gcGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBF
eGNsdWRlUGFnZUJvdW5kYXJ5KTsKKworICAgIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNo
aWxkTG9naWNhbEhlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQ7CisgICAgaWYgKHNwYWNl
U2hvcnRhZ2UgPD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKFJlbmRlckZyYWdtZW50
ZWRGbG93KiBmcmFnbWVudGVkRmxvdyA9IGVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpCisgICAg
ICAgIGZyYWdtZW50ZWRGbG93LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
KHRoaXMsIG9mZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSArIG9mZnNldCwgc3BhY2VT
aG9ydGFnZSk7Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRMaW5lR3JpZEJveCgp
CiB7CiAgICAgaWYgKHN0eWxlKCkubGluZUdyaWQoKSA9PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExp
bmVHcmlkKCkpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaApp
bmRleCA0NDk4NTlkMzg4NjBhMDNhNTJkZmRlYmZlNzA4NmRiNWZkY2Q1MTAwLi5jN2M5NDZiYWZk
ODE1YTQ3NGQ3MjM4OGI3N2UyMjM4OWY0NDZjY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zOTgsNiArMzk4LDggQEAgcHVibGljOgogICAgIC8v
IGNvbHVtbiBiYWxhbmNlciB0byBoZWxwIHNldCBhIGdvb2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0
LgogICAgIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoTGF5b3V0VW5pdCBvZmZzZXQsIExh
eW91dFVuaXQgbWluSGVpZ2h0KTsKIAorICAgIHZvaWQgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hp
bGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgb2Zmc2V0KTsKKwog
ICAgIHZvaWQgYWRkRmxvYXRzVG9OZXdQYXJlbnQoUmVuZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxv
dykgY29uc3Q7CiAgICAgCiAgICAgTGF5b3V0VW5pdCBlbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgp
IGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCBkNzQ4MDZh
YzlmZTYzOWI3ZTM2ZTlhMjg0NjIzM2ZiMDFmNzBhMWIzLi4wYWI4YzM4YWI2OWMyMTFjZWY1Mjg2
YTRiOTQ1MzY3YjkzOWExNDc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNw
cApAQCAtMjg2MCw2ICsyODYwLDEyIEBAIHZvaWQgUmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0Nv
bnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQg
UmVuZGVyQm94Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnRoaXMpICYmICFpc1JlbmRlckdyaWQoKSkgeworICAgICAgICAvLyBJ
ZiBpdCBpcyBSZW5kZXJCbG9jaywgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKSBjb250
YWlucyBpbnRyaW5zaWNCb3JkZXJGb3JGaWVsZHNldCgpIHdoaWNoIGFkZHMgZXh0cmEgYm9yZGVy
IGZvciBmaWVsZHNldCwgc28gd2UgY2FuJ3QgdXNlIGl0IGRpcmVjdGx5LgorICAgICAgICBhdXRv
IGJvcmRlckFuZFBhZGluZyA9IFJlbmRlckJveDo6Ym9yZGVyQmVmb3JlKCkgKyBSZW5kZXJCb3g6
OnBhZGRpbmdCZWZvcmUoKSArIFJlbmRlckJveDo6Ym9yZGVyQWZ0ZXIoKSArIFJlbmRlckJveDo6
cGFkZGluZ0FmdGVyKCk7CisgICAgICAgIHNldExvZ2ljYWxIZWlnaHQoYm9yZGVyQW5kUGFkaW5n
ICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsKKyAgICB9CisKICAgICBjYWNoZUludHJpbnNp
Y0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oY29udGVudExvZ2ljYWxIZWlnaHQoKSk7
CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxI
ZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBzZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFs
dWVzLm1fZXh0ZW50KTsKQEAgLTQ4NDksNyArNDg1NSw4IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vu
c3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBjb25zdAogICAgIHJldHVybiBpc1JlcGxhY2VkKCkK
ICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxlU2Nyb2xsaW5nT3ZlcmZsb3coKQogICAgICAgICB8
fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9kZVJvb3QoKSkKLSAgICAgICAgfHwgKGlzRmxvYXRp
bmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBz
dHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKTsKKyAgICAgICAgfHwgKGlzRmxvYXRpbmco
KSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHls
ZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQorICAgICAgICB8fCBzaG91bGRBcHBseVNpemVD
b250YWlubWVudCgqdGhpcyk7CiB9CiAKIExheW91dFVuaXQgUmVuZGVyQm94OjpsaW5lSGVpZ2h0
KGJvb2wgLypmaXJzdExpbmUqLywgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9z
aXRpb25Nb2RlIC8qbGluZVBvc2l0aW9uTW9kZSovKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAppbmRl
eCA0ZjJkMWYzZGIxYjc5MDM1NGZmYzY4NTlmYzNiZDcyNzc2MmZlMThlLi5mYzBjNjU0Njc1NDQ2
MGM4ZWViYzI2ZTZkYTcyMThhZDQyNjAxZjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcApAQCAtMTg3LDYg
KzE4NywxNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6c3R5bGVXaWxsQ2hh
bmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZQogCiB2b2lkIFJlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Cisg
ICAgYXV0byBhZGRTY3JvbGxiYXJXaWR0aCA9IFsmXSgpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBz
Y3JvbGxiYXJXaWR0aCA9IGludHJpbnNpY1Njcm9sbGJhckxvZ2ljYWxXaWR0aCgpOworICAgICAg
ICBtYXhMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFyV2lkdGg7CisgICAgICAgIG1pbkxvZ2ljYWxX
aWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICB9OworCisgICAgaWYgKHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBhZGRTY3JvbGxiYXJXaWR0aCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYgKGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1Zl
cnRpY2FsKCkpIHsKICAgICAgICAgZm9yIChSZW5kZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJv
eCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmdCb3goKSkgewogICAgICAgICAg
ICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRoT3JGbGV4aW5nKGNoaWxkKSkKQEAgLTIxMSwx
MCArMjIyLDcgQEAgdm9pZCBSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkwKICAgICB9CiAKICAgICBtYXhMb2dp
Y2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7Ci0K
LSAgICBMYXlvdXRVbml0IHNjcm9sbGJhcldpZHRoID0gaW50cmluc2ljU2Nyb2xsYmFyTG9naWNh
bFdpZHRoKCk7Ci0gICAgbWF4TG9naWNhbFdpZHRoICs9IHNjcm9sbGJhcldpZHRoOwotICAgIG1p
bkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICBhZGRTY3JvbGxiYXJXaWR0aCgp
OwogfQogCiB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXggM2QxMjNjNTRiNTY0ZGE1MDQxN2I0YzA3ODk3
MjlmMzllMzNiMTVkYS4uODc4NWYyMjk5YzgwZDM5NDZlOGZmZDIxNjYyZDAyOTIxOTQ2MzFmNyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250
cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2wuY3BwCkBAIC0xOTcsNiArMTk3LDggQEAgdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWludEluZm8sIGNvbnN0IExheW91dFBvaW4KIAog
dm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0
aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lk
dGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkK
KyAgICAgICAgcmV0dXJuOwogICAgIC8vIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUg
c3BhY2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4gbnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAv
LyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNoYXJhY3RlcikuCiAgICAgY29uc3QgVUNoYXIg
Y2hhcmFjdGVyID0gJzAnOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHAKaW5kZXggMjI5YjY5M2RmMTk3ZmZjYmUyNjkwMWI4OGFiMjU5YWMzMDA1MWYy
NS4uNDMzZTBiNDUxZWQzZDdjYjU3YjAyNWZlZTlmNGZkNjFmMTI1NGU4ZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC04Myw2ICs4Mywx
NyBAQCBjb25zdCBjaGFyKiBSZW5kZXJGbGV4aWJsZUJveDo6cmVuZGVyTmFtZSgpIGNvbnN0CiAK
IHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExh
eW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBj
b25zdAogeworICAgIGF1dG8gYWRkU2Nyb2xsYmFyV2lkdGggPSBbJl0oKSB7CisgICAgICAgIExh
eW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgoc2Nyb2xsYmFyTG9naWNhbFdpZHRoKCkpOworICAgICAg
ICBtYXhMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFyV2lkdGg7CisgICAgICAgIG1pbkxvZ2ljYWxX
aWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICB9OworCisgICAgaWYgKHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAgICBhZGRTY3JvbGxiYXJXaWR0aCgpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCiAgICAgTGF5b3V0VW5pdCBjaGlsZE1pbldpZHRoOwogICAg
IExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKICAgICBib29sIGhhZEV4Y2x1ZGVkQ2hpbGRyZW4g
PSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhjbHVkZWRDaGlsZHJlbihjaGlsZE1pbldpZHRo
LCBjaGlsZE1heFdpZHRoKTsKQEAgLTk4LDExICsxMDksMTEgQEAgdm9pZCBSZW5kZXJGbGV4aWJs
ZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNh
bFdpZHQKICAgICAgICAgKytudW1JdGVtc1dpdGhOb3JtYWxMYXlvdXQ7CiAKICAgICAgICAgTGF5
b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5zaWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgqY2hp
bGQpOwotICAgICAgICAKKwogICAgICAgICBMYXlvdXRVbml0IG1pblByZWZlcnJlZExvZ2ljYWxX
aWR0aDsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhQcmVmZXJyZWRMb2dpY2FsV2lkdGg7CiAgICAg
ICAgIGNvbXB1dGVDaGlsZFByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKmNoaWxkLCBtaW5QcmVmZXJy
ZWRMb2dpY2FsV2lkdGgsIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCk7Ci0gICAgICAgIAorCiAg
ICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47CiAgICAgICAgIG1heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47CiAKQEAgLTEzOSw5ICsxNTAsNyBAQCB2b2lk
IFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRV
bml0JiBtaW5Mb2dpY2FsV2lkdAogICAgICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heCht
YXhMb2dpY2FsV2lkdGgsIGNoaWxkTWF4V2lkdGgpOwogICAgIH0KIAotICAgIExheW91dFVuaXQg
c2Nyb2xsYmFyV2lkdGgoc2Nyb2xsYmFyTG9naWNhbFdpZHRoKCkpOwotICAgIG1heExvZ2ljYWxX
aWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKLSAgICBtaW5Mb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFy
V2lkdGg7CisgICAgYWRkU2Nyb2xsYmFyV2lkdGgoKTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJG
bGV4aWJsZUJveDo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUsIGJvb2wsIExpbmVEaXJl
Y3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0aW9uTW9kZSkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKaW5kZXggZmFjZWIxOTZk
OWJmNzdjZDYyODU1NGUzMzUxMDAwZTk5ODkzYWQ2My4uYjczYmUyYjFiMGU0ODI3ZWRhZTYwMjdh
YTZlMzVmY2IxNzFkNjM2MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckZyYWdtZW50ZWRGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYWdtZW50ZWRGbG93LmgKQEAgLTEwMiw2ICsxMDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgLypvZmZz
ZXQqLywgTGF5b3V0VW5pdCAvKnNwYWNlU2hvcnRhZ2UqLykgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCAv
Km9mZnNldCovLCBMYXlvdXRVbml0IC8qbWluSGVpZ2h0Ki8pIHsgfQogCisgICAgdmlydHVhbCB2
b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVyQmxv
Y2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQgLypzaG9ydGFnZSovKSB7IH0K
KwogICAgIHZpcnR1YWwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW50QXRCbG9ja09m
ZnNldChjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29sIGV4dGVuZExhc3RGcmFnbWVu
dCA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJvb2wgZnJhZ21lbnRzSGF2ZVVuaWZvcm1Mb2dpY2Fs
V2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZyYWdtZW50c0hhdmVVbmlmb3JtTG9naWNhbFdpZHRo
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKaW5kZXggZDIwYmI1N2Q1
YjBjMWZhOTZhNTViMTdjNDRkMGIwMDI2YTM1NTMwOS4uNjZiZWVkZDIxMWRiMDM2YzRiMDM5M2Fk
MmU2NjU2NWM3MGZmNGFlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNw
cApAQCAtMjUwLDExICsyNTAsMTcgQEAgdm9pZCBSZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29s
IHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiAKICAgICAgICAgLy8gMi0gTmV4dCwgdGhl
IHRyYWNrIHNpemluZyBhbGdvcml0aG0gcmVzb2x2ZXMgdGhlIHNpemVzIG9mIHRoZSBncmlkIHJv
d3MsCiAgICAgICAgIC8vIHVzaW5nIHRoZSBncmlkIGNvbHVtbiBzaXplcyBjYWxjdWxhdGVkIGlu
IHRoZSBwcmV2aW91cyBzdGVwLgotICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9naWNhbEhlaWdo
dCkKKyAgICAgICAgYm9vbCBzaG91bGRSZWNvbXB1dGVIZWlnaHQgPSBmYWxzZTsKKyAgICAgICAg
aWYgKCFoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQpIHsKICAgICAgICAgICAgIGNvbXB1dGVUcmFj
a1NpemVzRm9ySW5kZWZpbml0ZVNpemUobV90cmFja1NpemluZ0FsZ29yaXRobSwgRm9yUm93cyk7
Ci0gICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgqdGhpcykpCisgICAgICAgICAgICAgICAgc2hvdWxkUmVjb21wdXRlSGVpZ2h0ID0gdHJ1ZTsK
KyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBjb21wdXRlVHJhY2tTaXplc0ZvckRlZmluaXRl
U2l6ZShGb3JSb3dzLCBhdmFpbGFibGVMb2dpY2FsSGVpZ2h0KEV4Y2x1ZGVNYXJnaW5Cb3JkZXJQ
YWRkaW5nKSk7CiAgICAgICAgIExheW91dFVuaXQgdHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQgPSBt
X3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNvbXB1dGVUcmFja0Jhc2VkU2l6ZSgpICsgYm9yZGVyQW5k
UGFkZGluZ0xvZ2ljYWxIZWlnaHQoKSArIHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKTsKKyAgICAg
ICAgaWYgKHNob3VsZFJlY29tcHV0ZUhlaWdodCkKKyAgICAgICAgICAgIGNvbXB1dGVUcmFja1Np
emVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KTsKKwog
ICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KTsKIAogICAg
ICAgICBMYXlvdXRVbml0IG9sZENsaWVudEFmdGVyRWRnZSA9IGNsaWVudExvZ2ljYWxCb3R0b20o
KTsKQEAgLTU0OCw3ICs1NTQsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8T3JkZXJlZFRyYWNrSW5kZXhT
ZXQ+IFJlbmRlckdyaWQ6OmNvbXB1dGVFbXB0eVRyYWNrc0ZvckF1dG9SZXBlYQogICAgIHVuc2ln
bmVkIGZpcnN0QXV0b1JlcGVhdFRyYWNrID0gaW5zZXJ0aW9uUG9pbnQgKyBncmlkLmV4cGxpY2l0
R3JpZFN0YXJ0KGRpcmVjdGlvbik7CiAgICAgdW5zaWduZWQgbGFzdEF1dG9SZXBlYXRUcmFjayA9
IGZpcnN0QXV0b1JlcGVhdFRyYWNrICsgZ3JpZC5hdXRvUmVwZWF0VHJhY2tzKGRpcmVjdGlvbik7
CiAKLSAgICBpZiAoIWdyaWQuaGFzR3JpZEl0ZW1zKCkpIHsKKyAgICBpZiAoIWdyaWQuaGFzR3Jp
ZEl0ZW1zKCkgfHwgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKSB7CiAgICAgICAg
IGVtcHR5VHJhY2tJbmRleGVzID0gbWFrZVVuaXF1ZTxPcmRlcmVkVHJhY2tJbmRleFNldD4oKTsK
ICAgICAgICAgZm9yICh1bnNpZ25lZCB0cmFja0luZGV4ID0gZmlyc3RBdXRvUmVwZWF0VHJhY2s7
IHRyYWNrSW5kZXggPCBsYXN0QXV0b1JlcGVhdFRyYWNrOyArK3RyYWNrSW5kZXgpCiAgICAgICAg
ICAgICBlbXB0eVRyYWNrSW5kZXhlcy0+YWRkKHRyYWNrSW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXggNDI1NDQzZWUwM2E2NmMzMjc4MTJmYzViMWY2
ZjJiYjkzZmYwNWQ3MS4uYmJkYmM1YTQzZThkZmI4MzhmNGU4M2Y3ZTJiOTUxMzczODU5NjczZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwCkBAIC04NTAsNiArODUw
LDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6Y2FuTWFwV2lkdGhIZWlnaHRUb0FzcGVjdFJhdGlvKCkg
Y29uc3QKIAogdm9pZCBSZW5kZXJJbWFnZTo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRp
b24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25z
dAogeworICAgIEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKTsKICAg
ICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oaW50cmlu
c2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAgICAgLy8gT3VyIGludHJpbnNpY1NpemUgaXMg
ZW1wdHkgaWYgd2UncmUgcmVuZGVyaW5nIGdlbmVyYXRlZCBpbWFnZXMgd2l0aCByZWxhdGl2ZSB3
aWR0aC9oZWlnaHQuIEZpZ3VyZSBvdXQgdGhlIHJpZ2h0IGludHJpbnNpYyBzaXplIHRvIHVzZS4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCAwZWRmMjZh
N2M3N2Q3Y2IxOGEzOThjNTBkYjRiMjZjNjNmNzIyYmRiLi45ZGFkNTE3MTA3OGZjNjIzZWQ4Y2Ix
YWYwYWM2NGNiY2E0M2VjOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxp
c3RCb3guY3BwCkBAIC0yMTEsNyArMjExLDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpzY3JvbGxU
b1JldmVhbFNlbGVjdGlvbigpCiAKIHZvaWQgUmVuZGVyTGlzdEJveDo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBt
YXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gbV9vcHRpb25z
V2lkdGggKyAyICogb3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsOworICAgIG1heExvZ2ljYWxXaWR0
aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/IDIgKiBvcHRpb25zU3BhY2lu
Z0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250
YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAgICAgbWF4TG9naWNhbFdpZHRoICs9IG1fdkJhci0+
d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQo
KSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IGYz
OTRiZDYzMzZlNDQ0ODIyN2YxNmFlOTk5NmRlNTVmMjRjY2Y4ZWQuLjc3MzIzM2MxNGZjMjFiNGUy
ODJjMWIxOWYyNTRiZjE5ZmIyNTIxYjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcgKzMxNSw4IEBAIExheW91dFJlY3QgUmVuZGVyTWVu
dUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNl
dCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMo
TGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgp
IGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRoID0gc3RkOjptYXgobV9vcHRpb25zV2lkdGgs
IHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSkgKyBtX2lubmVyQmxvY2stPnBh
ZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdodCgpOworICAgIG1heExvZ2lj
YWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSA/IHRoZW1lKCkubWlu
aW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSA6IHN0ZDo6bWF4KG1fb3B0aW9uc1dpZHRoLCB0aGVt
ZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUoKSkpOworICAgIG1heExvZ2ljYWxXaWR0aCAr
PSBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdo
dCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQog
ICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhMb2dpY2FsV2lkdGg7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCmluZGV4IDYx
ODVlNDcyNjM4YmQ3OWVlZDEwYTUwOTdiYTY1NWIwODI2YzgzNmEuLmJkYmU0YTcxNGQwYzZjN2E2
M2RjY2M4MzU3MmJiMWY4NzA4ZTZhMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwCkBAIC0yMDMsNiArMjAzLDEyIEBAIHZvaWQg
UmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5k
ZXJCbG9jayogYmxvY2ssIExhCiAgICAgICAgIG11bHRpY29sU2V0LT51cGRhdGVNaW5pbXVtQ29s
dW1uSGVpZ2h0KG1pbkhlaWdodCk7CiB9CiAKK3ZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1
cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiBi
bG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpCit7CisgICAgaWYg
KGF1dG8qIG11bHRpY29sU2V0ID0gZG93bmNhc3Q8UmVuZGVyTXVsdGlDb2x1bW5TZXQ+KGZyYWdt
ZW50QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0KSkpCisgICAgICAgIG11bHRpY29sU2V0LT51
cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHNob3J0YWdlKTsKK30KKwogUmVu
ZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11bHRpQ29sdW1uRmxvdzo6ZnJhZ21lbnRBdEJs
b2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogYm94LCBMYXlvdXRVbml0IG9mZnNldCwgYm9vbCBl
eHRlbmRMYXN0RnJhZ21lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2luTGF5b3V0KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCmluZGV4IDBj
ODM5MThmOGVkYjZkMjAxMjU4ZjkwMGEyYmUxOGQzOWYxM2U3NmQuLmViNmYwODg3OTQ1ODVlODI1
NWRiN2MwYzg1ODhkMDJkYzFhNWVmOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKQEAgLTEwOCw2ICsxMDgsNyBAQCBwcml2YXRlOgog
ICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxXaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAg
IHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQs
IExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVNaW5p
bXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgb2Zmc2V0LCBMYXlv
dXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7CisgICAgdm9pZCB1cGRhdGVTcGFjZVNob3J0YWdl
Rm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQs
IExheW91dFVuaXQgc2hvcnRhZ2UpIG92ZXJyaWRlOwogICAgIFJlbmRlckZyYWdtZW50Q29udGFp
bmVyKiBmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiwgTGF5b3V0VW5pdCwg
Ym9vbCBleHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxzZSkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9p
ZCBzZXRGcmFnbWVudFJhbmdlRm9yQm94KGNvbnN0IFJlbmRlckJveCYsIFJlbmRlckZyYWdtZW50
Q29udGFpbmVyKiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqKSBvdmVycmlkZTsKICAgICBib29s
IGFkZEZvcmNlZEZyYWdtZW50QnJlYWsoY29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0LCBS
ZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNCZWZvcmUsIExheW91dFVuaXQqIG9mZnNldEJy
ZWFrQWRqdXN0bWVudCA9IDApIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKaW5kZXggNTJkMTg0NWEyZjdlN2MzZmJjNjZm
N2RlMTdiMDkzMzk5YTRlY2FiMC4uMGVmZDU5MzU5YjRjYjIwNGM3ZDU2Mzc2Nzk0NWUxOTc5ZmIz
YzMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29s
dW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1
bW5TZXQuY3BwCkBAIC01MCw2ICs1MCw3IEBAIFJlbmRlck11bHRpQ29sdW1uU2V0OjpSZW5kZXJN
dWx0aUNvbHVtblNldChSZW5kZXJGcmFnbWVudGVkRmxvdyYgZnJhZ21lbnRlZEZsb3csCiAgICAg
LCBtX21heENvbHVtbkhlaWdodChSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdo
dCgpKQogICAgICwgbV9taW5TcGFjZVNob3J0YWdlKFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhM
b2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pbmltdW1Db2x1bW5IZWlnaHQoMCkKKyAgICAsIG1f
c3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCgwKQogewogfQogCkBAIC0yMzUsMTUgKzIz
NiwxNiBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRpQ29sdW1uU2V0OjpjYWxjdWxhdGVCYWxhbmNl
ZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0CiAgICAgICAgIHJldHVybiBzdGQ6Om1heDxMYXlv
dXRVbml0PihtX2NvbnRlbnRSdW5zW2luZGV4XS5jb2x1bW5Mb2dpY2FsSGVpZ2h0KHN0YXJ0T2Zm
c2V0KSwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsKICAgICB9CiAKKyAgICBMYXlvdXRVbml0IHNp
emVDb250YWlubWVudFNob3J0YWdlID0gc3RkOjptYXg8TGF5b3V0VW5pdD4oTGF5b3V0VW5pdCgp
LCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOwogICAgIGlmIChjb2x1bW5Db3Vu
dCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewogICAgICAgICAvLyBXaXRoIHRoZSBjdXJy
ZW50IGNvbHVtbiBoZWlnaHQsIHRoZSBjb250ZW50IGZpdHMgd2l0aG91dCBjcmVhdGluZyBvdmVy
Zmxvd2luZyBjb2x1bW5zLiBXZSdyZSBkb25lLgotICAgICAgICByZXR1cm4gbV9jb21wdXRlZENv
bHVtbkhlaWdodDsKKyAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBzaXpl
Q29udGFpbm1lbnRTaG9ydGFnZTsKICAgICB9CiAKICAgICBpZiAoZm9yY2VkQnJlYWtzQ291bnQo
KSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsKICAgICAgICAgLy8gVG9vIG1hbnkgZm9yY2Vk
IGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQgYnJlYWtzLiBJbml0aWFsIGJhbGFuY2luZyBz
aG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZlIHNldCBhIGdvb2QgaGVpZ2h0LiBUaGVyZSdz
IG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29s
dW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHNpemVD
b250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAogICAgIC8vIElmIHRoZSBpbml0aWFsIGd1ZXNz
ZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdoLCBzdHJldGNoIGl0IG5vdy4gU3RyZXRjaCBi
eSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEwIEBAIExheW91dFVuaXQgUmVuZGVyTXVsdGlD
b2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkgY29uc3QKICAg
ICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4gMCk7IC8vIFdlIHNob3VsZCBuZXZlciBfc2hy
aW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VSVChtX21pblNwYWNlU2hvcnRhZ2UgIT0gUmVu
ZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSk7IC8vIElmIHRoaXMgaGFwcGVu
cywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAgICBpZiAobV9taW5TcGFjZVNob3J0YWdlID09
IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCi0gICAgICAgIHJldHVy
biBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBTbyBiYWlsIG91dCByYXRoZXIgdGhhbiBsb29w
aW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsg
c2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNvIGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3Bp
bmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgbV9t
aW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9BZGQgPSBzdGQ6Om1heDxMYXlvdXRVbml0Pihz
aXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5TcGFjZVNob3J0YWdlKTsKKyAgICByZXR1cm4g
bV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRkOwogfQogCiB2b2lkIFJlbmRlck11bHRpQ29s
dW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBAIC0zNjUsNiArMzY4LDggQEAgdm9pZCBSZW5k
ZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91dChib29sIGluaXRpYWwpCiAgICAgLy8g
TnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVtIGNvbHVtbiBoZWlnaHQuIENvbnRlbnRzIG1h
eSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93LgogICAgIG1fbWluaW11bUNvbHVtbkhlaWdo
dCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSAwOworCiAg
ICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZsb3cgdGhyZWFkIHBvcnRpb24gaGVpZ2h0IHVu
dGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRMb2dpY2FsQm90dG9tSW5GcmFnbWVudGVkRmxv
dyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdodCgpKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAppbmRleCBmNzNiZjkw
YTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0YTU5Li5jNDhhZTBhNGM3NTg2NWE1M2ZhNTVi
ZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiArODMsMTUgQEAgcHVibGljOgogICAgIHZvaWQg
dXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlvdXRVbml0IGhlaWdodCkgeyBtX21pbmltdW1D
b2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQsIG1fbWluaW11bUNvbHVtbkhlaWdodCk7IH0K
ICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5IZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX21p
bmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZvaWQgdXBkYXRlU3BhY2VTaG9ydGFnZUZvclNp
emVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0YWdlKQorICAgIHsKKyAgICAgICAgaWYgKG1f
c3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA8PSAwKSB7CisgICAgICAgICAgICBtX3Nw
YWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzaG9ydGFnZTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1l
bnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3JjZWRCcmVha3NDb3VudCgpIGNvbnN0IHsgcmV0
dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAgICAgdm9pZCBjbGVhckZvcmNlZEJyZWFrcygp
OwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5b3V0VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdl
KTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgbV9tYXhDb2x1
bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhlaWdodCBhbGxvd2VkLgogICAgIExheW91dFVu
aXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUgc21hbGxlc3QgYW1vdXQgb2Ygc3BhY2Ugc2hv
cnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJlYWsuCiAgICAgTGF5b3V0VW5pdCBtX21pbmlt
dW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5pdCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29u
dGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFjZSB0aGF0IGtlZXBzIHNpemUgY29udGFpbm1l
bnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVuIG9mIGNvbnRlbnQgd2l0aG91dCBleHBsaWNp
dCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93IHRocmVhZCBwb3J0aW9uIGJldHdlZW4gdHdv
CiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3ZWVuIGZsb3cgdGhyZWFkIHN0YXJ0IGFuZCBh
biBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBleHBsaWNpdCBicmVhawpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBlNTRlZDlmM2FiMzdmZjFiZDM3OWZh
ODU3ZmY0NGE4YWUzYWRjMzg0Li5jNThiOTFiYzRlM2JkNWYyYmE4NjU4Mzg3NzlkMTZhZjEzNThm
NThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjQ5
OCwzICsyNDk4LDggQEAgYm9vbCBXZWJDb3JlOjpzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50
KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIKIHsKICAgICByZXR1cm4gcmVu
ZGVyZXIuc3R5bGUoKS5jb250YWluc0xheW91dCgpICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8
fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVsQm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlU
ZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFydCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVyQmxv
Y2tGbG93KCkpOwogfQorCitib29sIFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYgcmVuZGVyZXIpCit7CisgICAgcmV0dXJuIHJl
bmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkgJiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8
IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRl
eHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRp
b24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaAppbmRleCAzMWYwZjA3ZDU0NzI3ZThjNTQ2YzU0N2M1N2QzMDQ1MWUxOTIz
MmM2Li44NmZiNTNjOWVlNDFlZjZhZTVmZWMxMWRkNWJlMDUzNGQ2M2Q0Y2M0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yMDEsNyArMjAxLDcgQEAgcHVibGlj
OgogICAgIGJvb2wgaXNSZW5kZXJJbmxpbmUoKSBjb25zdDsKICAgICBib29sIGlzUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdCgpIGNvbnN0OwogCi0gICAgaW5saW5lIGJvb2wgaXNBdG9taWNJbmxpbmVM
ZXZlbEJveCgpIGNvbnN0OworICAgIGJvb2wgaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0
OwogCiAgICAgdmlydHVhbCBib29sIGlzQ291bnRlcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAt
MTE3Myw3ICsxMTczLDcgQEAgaW5saW5lIFJlbmRlck9iamVjdCogUmVuZGVyT2JqZWN0OjpuZXh0
SW5GbG93U2libGluZygpIGNvbnN0CiAgICAgcmV0dXJuIG5leHRTaWJsaW5nOwogfQogCi1ib29s
IFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0CitpbmxpbmUgYm9v
bCBSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSBjb25zdAogewogICAgIHJl
dHVybiBzdHlsZSgpLmlzRGlzcGxheUlubGluZVR5cGUoKSAmJiAhKHN0eWxlKCkuZGlzcGxheSgp
ID09IERpc3BsYXlUeXBlOjpJbmxpbmUgJiYgIWlzUmVwbGFjZWQoKSk7CiB9CkBAIC0xMTg3LDYg
KzExODcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NMYXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7
CiAjZW5kaWYKIAogYm9vbCBzaG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRl
ck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVNpemVDb250YWlubWVudChjb25zdCBSZW5kZXJP
YmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRleCA5ZjQ1ZmY0ZDZkNGRjNzJjNWE4YzI1OGI5
YTBhNmU2Y2Y3OTMzZmQ4Li5jMmE0YTM3MTZhNTMxNWFjYWQzMDQyNDZiMjgwNGYxNTg3M2YzNzM3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTM4
OSw3ICszODksOSBAQCBib29sIFJlbmRlclJlcGxhY2VkOjpzZXROZWVkc0xheW91dElmTmVlZGVk
QWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVB
c3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVyQm94KFJlbmRlckJveCogY29udGVudFJlbmRl
cmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykg
Y29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmluc2ljU2l6ZTsKLSAgICBpZiAoY29udGVudFJl
bmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAg
ICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGlu
dHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsKKyAgICBlbHNlIGlmIChjb250ZW50UmVuZGVy
ZXIpIHsKICAgICAgICAgY29udGVudFJlbmRlcmVyLT5jb21wdXRlSW50cmluc2ljUmF0aW9JbmZv
cm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAgICAgICAgaWYgKHN0
eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCAoc3R5
bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAm
JiAhaW50cmluc2ljUmF0aW8pKQpAQCAtNDk0LDcgKzQ5Niw3IEBAIE9wdGlvbmFsPGRvdWJsZT4g
UmVuZGVyUmVwbGFjZWQ6OmludHJpbnNpY0FzcGVjdFJhdGlvRnJvbVdpZHRoSGVpZ2h0KCkgY29u
c3QKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9u
KEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QK
IHsKICAgICAvLyBJZiB0aGVyZSdzIGFuIGVtYmVkZGVkQ29udGVudEJveCgpIG9mIGEgcmVtb3Rl
LCByZWZlcmVuY2VkIGRvY3VtZW50IGF2YWlsYWJsZSwgdGhpcyBjb2RlLXBhdGggc2hvdWxkIG5l
dmVyIGJlIHVzZWQuCi0gICAgQVNTRVJUKCFlbWJlZGRlZENvbnRlbnRCb3goKSk7CisgICAgQVNT
RVJUKCFlbWJlZGRlZENvbnRlbnRCb3goKSB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgq
dGhpcykpOwogICAgIGludHJpbnNpY1NpemUgPSBGbG9hdFNpemUoaW50cmluc2ljTG9naWNhbFdp
ZHRoKCksIGludHJpbnNpY0xvZ2ljYWxIZWlnaHQoKSk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNB
c3BlY3RSYXRpbygpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyUmVwbGFjZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5o
CmluZGV4IDNiNjFmNDlkNWExNzBiYjIzNTBiZGY2NzBjNjE5ODAwNTk2ZGM1MWYuLjk5YmFhMDlm
ODhmOTUyYmRkNWI1NzhjNjJiM2ZkZmJlNWFlYmZjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC00MCw3ICs0MCwxMiBAQCBwdWJsaWM6CiAgICAgYm9v
bCBoYXNSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBjb25zdDsKICAgICBib29sIHNldE5lZWRzTGF5
b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVDaGFuZ2UoKTsKIAotICAgIExheW91dFNpemUg
aW50cmluc2ljU2l6ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faW50cmluc2ljU2l6ZTsgfQor
ICAgIExheW91dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0IGZpbmFsCisgICAgeworICAgICAg
ICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICAgICAgcmV0
dXJuIExheW91dFNpemUoKTsKKyAgICAgICAgcmV0dXJuIG1faW50cmluc2ljU2l6ZTsKKyAgICB9
CiAgICAgCiAgICAgUm91bmRlZFJlY3Qgcm91bmRlZENvbnRlbnRCb3hSZWN0KCkgY29uc3Q7CiAg
ICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCmluZGV4IDQ3MTY5
ZWRmOThlMTQyOGM0YTA3NzBmMmY0ZWZjMGI1OGQ4MTNjN2IuLjllOTQ0YmUwMGJiMDJlMzg1MWE0
M2Q1NjY2NjE5ZjdjNDI5YTVkOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
bGlkZXIuY3BwCkBAIC02OSw2ICs2OSw4IEBAIExheW91dFVuaXQgUmVuZGVyU2xpZGVyOjpiYXNl
bGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9vbCAvKmZpcnN0TGluZSovLCBMaW5lCiAKIHZv
aWQgUmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0
JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsK
KyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICByZXR1
cm47CiAgICAgbWF4TG9naWNhbFdpZHRoID0gZGVmYXVsdFRyYWNrTGVuZ3RoICogc3R5bGUoKS5l
ZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRoKCkuaXNQZXJjZW50T3JDYWxj
dWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1heExvZ2ljYWxXaWR0aDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IGRj
MDU4ZDUzNDY3YWEzY2ZhYmY4NTJmMzMxZWYwMWYzMTU1MzIxZjQuLjI0MmFjYTNhMDZiOTE1NzRh
NzQ4YjEzZWNlZmE4MGM2MTcyYjljNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTU2LDYgKzE1Niw4IEBAIGZsb2F0IFJlbmRlclRl
eHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQgeCkgY29uc3QKIAogdm9pZCBSZW5kZXJUZXh0
Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9n
aWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYg
KHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0dXJuOwogICAg
IC8vIFVzZSBhdmVyYWdlIGNoYXJhY3RlciB3aWR0aC4gTWF0Y2hlcyBJRS4KICAgICBtYXhMb2dp
Y2FsV2lkdGggPSBwcmVmZXJyZWRDb250ZW50TG9naWNhbFdpZHRoKGNvbnN0X2Nhc3Q8UmVuZGVy
VGV4dENvbnRyb2wqPih0aGlzKS0+Z2V0QXZlcmFnZUNoYXJXaWR0aCgpKTsKICAgICBpZiAoUmVu
ZGVyQm94KiBpbm5lclRleHRSZW5kZXJCb3ggPSBpbm5lclRleHRFbGVtZW50KCktPnJlbmRlckJv
eCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKaW5kZXggYzZkMDQ0
MTY2Y2NmZDViYzdjOGYxOWUwYWFiYzIxYzU4MDM4MjFmOS4uMjkyOGRkNGRjYWZlZDJhNGMwN2Jh
ZDBkMTRhZTQzMzkwZTU5Y2E5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZGVvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlk
ZW8uY3BwCkBAIC0xMjMsNiArMTIzLDkgQEAgYm9vbCBSZW5kZXJWaWRlbzo6dXBkYXRlSW50cmlu
c2ljU2l6ZSgpCiAKIExheW91dFNpemUgUmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNpY1Np
emUoKQogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAg
ICAgIHJldHVybiBMYXlvdXRTaXplKCk7CisKICAgICAvLyBTcGVjIHRleHQgZnJvbSA0LjguNgog
ICAgIC8vCiAgICAgLy8gVGhlIGludHJpbnNpYyB3aWR0aCBvZiBhIHZpZGVvIGVsZW1lbnQncyBw
bGF5YmFjayBhcmVhIGlzIHRoZSBpbnRyaW5zaWMgd2lkdGggCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmluZGV4IGRmNTVlZTYyMmU2ZTEwM2E1ODI4ZDQ2
YTU5ZTkzOWViMDdjOGQ4NzMuLjBhNTY4ZmNiYzM0NGM5NTA1MTFiNmQzOWM0ZmEwZjRjMjA1NWVh
ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHls
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBA
IC01MjcsNiArNTI3LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25z
dCB7IHJldHVybiBhc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OlJhdGlvIHx8
IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJhdGlvVHlwZTo6QXV0b0FuZFJhdGlvOyB9CiAg
ICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQogICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBj
b25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENv
bnRhaW5tZW50OjpMYXlvdXQpOyB9CisgICAgYm9vbCBjb250YWluc1NpemUoKSBjb25zdCB7IHJl
dHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50
OjpTaXplKTsgfQogICAgIEJveEFsaWdubWVudCBib3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0
YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRl
ZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBCb3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkg
Y29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdz
LmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBib3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9y
YXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcAppbmRleCAxNDIy
MzUwNDYwOWUzYjE1YjViYzM2OGE0NzgwNzAwNzA5NTYyMDg1Li41ZTQ2ZDM3ZjUwZmRmODRhOTIz
YjZkNDBhNGRkNzBiMjk5MjIyMTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9z
dmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTcwLDYgKzcwLDggQEAgU1ZHU1ZHRWxlbWVudCYgUmVu
ZGVyU1ZHUm9vdDo6c3ZnU1ZHRWxlbWVudCgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyU1ZHUm9vdDo6
Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXpl
LCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogeworICAgIEFTU0VSVCghc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKTsKKwogICAgIC8vIFNwZWM6IGh0dHA6Ly93d3cudzMu
b3JnL1RSL1NWRy9jb29yZHMuaHRtbCNJbnRyaW5zaWNTaXppbmcKICAgICAvLyBTVkcgbmVlZHMg
dG8gc3BlY2lmeSBob3cgdG8gY2FsY3VsYXRlIHNvbWUgaW50cmluc2ljIHNpemluZyBwcm9wZXJ0
aWVzIHRvIGVuYWJsZSBpbmNsdXNpb24gd2l0aGluIG90aGVyIGxhbmd1YWdlcy4KIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDFlMzZiOTBiNDQ4OTU5M2JjYzY0ZmI0MmE0Mzk2MzZjMjdmM2FlNzcuLmUwMThkZjMxNjhlMzZm
OWU1ZWMxNzM1NGY4MGUxZGRmNDE1M2QzMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0w
NS0wNCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NT
UyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRoZSB0ZXN0IHJlc3VsdCBmb3Igc2l6ZSBj
b250YWlubWVudC4gQWRkZWQgZXhwbGFuYXRpb25zIGZvciBzaXplIGNvbnRhaW5tZW50IHRlc3Rz
CisgICAgICAgIHRoYXQgZGVwZW5kZWQgb24gb3RoZXIgZmVhdHVyZXMuCisKKyAgICAgICAgKiBU
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDIxLTA1LTAzICBDaHJpcyBMb3JkICA8Y2xvcmRAaWdhbGlh
LmNvbT4KIAogICAgICAgICBEZWNvZGluZyBhbiBTVkcgb2ZmIHRoZSBtYWluIHRocmVhZCBjYXVz
ZXMgYSBjcmFzaApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNGUyMWU3YjZjYmY1
YjY2YzA5OWNkNmEyOWUzOGJmYzkxOGU1MzY0Yy4uODQ1YzI4YzcyYjkyNjdkNjBkOThiOTY3OWRk
OWMxMWM2NDczODA4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjAgQEAKKzIwMjEtMDUtMDQgIENhdGhpZSBDaGVuICA8Y2F0aGllY2hlbkBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtDU1MgY29udGFpbl0gU3VwcG9ydCBjb250YWluOnNpemUKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMzU3MAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIDxjYW52YXM+IGFuZCA8dmlkZW8+
IGRvbid0IHN1cHBvcnQgY29tcHV0aW5nIGFzcGVjdCByYXRpbyBmcm9tIHdpZHRoIGFuZCBoZWln
aHQgYXR0cmlidXRlcyB5ZXQsCisgICAgICAgIHNvIHRoZSBoZWlnaHRzIGFyZSB6ZXJvIHdoZW4g
dGhleSBhcmUgd2l0aCAiY29udGFpbjogc2l6ZSIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4
LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3It
ZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNl
ZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvdmlk
ZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNS0wMyAgQ2hyaXMgTG9yZCAg
PGNsb3JkQGlnYWxpYS5jb20+CiAKICAgICAgICAgRGVjb2RpbmcgYW4gU1ZHIG9mZiB0aGUgbWFp
biB0aHJlYWQgY2F1c2VzIGEgY3Jhc2gKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL1Rlc3RFeHBl
Y3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ4YTMxMzY4Zjdl
OTVhZGRmMDVkOWJhYzFjN2NmMzkyZGM1ZWU2NzUuLjk4OWYyOTgwMGM0M2RlNGIzNDdlY2E4ZTc5
ODhhOTA1YThiZDVkNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwpAQCAtNDU4OSw3ICs0NTg5LDYgQEAg
d2Via2l0Lm9yZy9iLzIyMDkyOCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29sb3IvcHJlZGVmaW5lZC0wMTQKIHdlYmtpdC5vcmcvYi8yMjA5MjggaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbG9yL3ByZWRlZmluZWQtMDE1Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0gIyBSZXF1aXJlcyBmYWxsYmFjayAoYXQgcGFyc2UgdGltZSkgc3Vw
cG9ydCAodW5jbGVhciBpZiB0aGlzIG1ha2VzIHNlbnNlKQogCiAjIENTUyBjb250YWlubWVudCB0
ZXN0cyB0aGF0IGZhaWwKLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tYW5pbWF0aW9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAj
IHdlYmtpdC1ydWJ5LXRleHQKIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tbGF5b3V0LTAxNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBp
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZp
c2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CkBAIC00NjA2LDcgKzQ2MDUsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYgogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5
L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjAuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmls
aXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNp
YmlsaXR5L2NvbnRlbnQtdmlzaWJpbGl0eS0wMjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1s
YXlvdXQtc2l6ZS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1wYWludC0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQog
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1w
YWludC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDY0OCw2OCArNDY0Niw4IEBA
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
cGFpbnQtc3RhY2tpbmctY29udGV4dC0wCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXN0YWNraW5nLWNvbnRleHQtMDAxYi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LXRhYmxlLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXBhaW50LXRhYmxlLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDEx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTMuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLTAyMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIzLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMjUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LTAyNy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDQxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS0wNDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA1Ni5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDYxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS0wNjIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2My5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtMDY0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9j
ay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJvcmRlcnMuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJyZWFrcy0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWJ1dHRvbi0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJ1
dHRvbi0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1maWVsZHNldC0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LWZpZWxkc2V0LTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmxleC0wMDEuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZsZXhib3gtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ncmlkLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3Jp
ZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA1Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2Nv
bnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1pbmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUt
YmxvY2stMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtZmxleC0wMDEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRoaWMtMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1tb25vbGl0aGljLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0
aWNvbC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXJlcGxhY2VkLTAwM2EuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAw
M2IuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwM2MuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtcmVwbGFjZWQtMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBs
YWNlZC0wMDYuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNjcm9sbGJhcnMtMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAwMi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtc2Nyb2xsYmFycy0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFp
bi1zaXplLXNlbGVjdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0w
MDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAyLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLXNlbGVjdC1lbGVtLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0
LWVsZW0tMDA1Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS10YWJsZS1jYXB0aW9uLTAw
MS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDEuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zdHJpY3QtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0LTAwMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zdHlsZS1jb3VudGVycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQogaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zdHlsZS1j
b3VudGVycy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpAQCAtNDc0MSw2ICs0Njc5LDMx
IEBAIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL3F1b3Rl
LXNjb3BpbmctMDAyLmh0bWwgWyBJbWFnZU9uCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9xdW90ZS1zY29waW5nLTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9x
dW90ZS1zY29waW5nLTAwNC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiAKKyMgQ2FudmFzIGRv
ZXNuJ3QgZ2V0IGRlZmF1bHQgYXNwZWN0LXJhdGlvIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJp
YnV0ZXMuCit3ZWJraXQub3JnL2IvMjE3NTI5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1mbGV4Ym94L2NhbnZhcy1jb250YWluLXNpemUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQorCisjIENvbnRlbnQgaXMgcGFpbnRlZCBvbiBzdmcncyBwYWRkaW5nIGFyZWEuCit3
ZWJraXQub3JnL2IvNDI1ODY4IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQorCisjIE11bHRpY29sdW1uIGRvZXMgbm90IHBhaW50IHRoZSBob3Jpem9udGFsIG92ZXJm
bG93IGFyZWEgb2YgYSByZWxhdGl2ZSBjaGlsZC4KK3dlYmtpdC5vcmcvYi80MTc5NiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9u
b2xpdGhpYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIEJ1dHRvbnMgd2l0aCBh
dXRvIHdpZHRoIGFuZCBoZWlnaHQgaGFzIGV4dHJhIG1hcmdpbnMuCitpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCisKKyMgU2Nyb2xsYmFyIGRpc3BsYXlzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxv
Y2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAzLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KKworIyBTZWxlY3Qgd2l0aCBlbXB0eSBjb250ZW50IGFs
d2F5cyBoYXMgcm9vdCBsaW5lYm94LCBzbyB0aGUgaGVpZ2h0cyBhcmUgZGlmZmVyZW50LgoraW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXNlbGVjdC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENTUyBwcm9wZXJ0eSBjb2xvciBpcyBub3Qgd29y
a2luZyBpbiBzZWxlY3QgZWxlbWVudHMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQorCiAjIFRlc3RzIHRoYXQgZmFpbCBiZWNhdXNlIHRoZXkgYXNzdW1lIGEgdmVydGljYWwg
c2Nyb2xsYmFyIGluIGB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsYCBlbGVtZW50cyB3aWxsIGJl
IG9uIHRoZSByaWdodC1oYW5kIHNpZGUKIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvc2l6aW5nLW9ydGhvZy12
cmwtaW4taHRiLTAxMy54aHQgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjQz
NTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9jc3NvbS1n
ZXRCb3VuZGluZ0NsaWVudFJlY3QtdmVydGljYWwtcmwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ncmlkLTAwMy1leHBlY3RlZC50eHQKaW5kZXggZTE2ZDY3ZGJmN2Q0NTI0
YWY3ZjMxMTAzMDlmOTc4Mjk5MDQxYzJkMi4uNTFlOGUyMDAyZmY3Y2E3NDJjOTVlMzk0NmZkMWNj
OGJmZjdiMTFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0zNiwx
OSArMzYsOCBAQCBQQVNTIC5ncmlkIDM0CiBQQVNTIC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQ
QVNTIC5ncmlkIDM3Ci1GQUlMIC5ncmlkIDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIiBzdHlsZT0iZ3JpZDogcmVwZWF0KGF1dG8tZml0LCA3NXB4KSAvIHJlcGVhdChhdXRvLWZp
dCwgMTAwcHgpOyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjAiPgotICAgIDxkaXY+PC9kaXY+Ci0gIDwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290
IDEwMAotRkFJTCAuZ3JpZCAzOSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCIgc3R5
bGU9ImdyaWQ6IGF1dG8gNTBweCAvIDEwMHB4IGF1dG87IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIx
MDAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI1MCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0
aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEt
b2Zmc2V0LXk9IjAiPlg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEwIiBkYXRhLW9mZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9
IjAiPlhYPC9kaXY+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFg8
L2Rpdj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjUwIiBkYXRhLW9mZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFhYPC9kaXY+
Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDEwMCBidXQgZ290IDE0MAorUEFTUyAuZ3JpZCAzOAor
UEFTUyAuZ3JpZCAzOQogCiBYCiBYWApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQt
MDA0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQK
aW5kZXggNzBjZDdlNjE5MWQwZmZkYmE1MjI2NDI0NmI4YTgxY2YzNDgzZGYzOC4uZTBhMWM5ZDUx
ZmJmNGI2YTU2MjRkZjQxYjlmYjIyMWM0NWVmNmJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQt
ZXhwZWN0ZWQudHh0CkBAIC0xLDM4ICsxLDE4IEBACiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3Jp
ZCAyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRp
diBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwv
ZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIK
IFBBU1MgLmdyaWQgMwotRkFJTCAuZ3JpZCA0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIHBlcmNlbnQgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1
dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQKIFBBU1MgLmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNT
IC5ncmlkIDcKLUZBSUwgLmdyaWQgOCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBj
YWxjIG1pbi1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMTAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdv
dCAzMDAKK1BBU1MgLmdyaWQgOAogUEFTUyAuZ3JpZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9l
cXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGNhbGMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2
Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3Jp
ZCAxMQogUEFTUyAuZ3JpZCAxMgogUEFTUyAuZ3JpZCAxMwotRkFJTCAuZ3JpZCAxNCBhc3NlcnRf
ZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVu
dCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0g
IDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+
WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCitQQVNTIC5n
cmlkIDE0CiBQQVNTIC5ncmlkIDE1CiBQQVNTIC5ncmlkIDE2CiBQQVNTIC5ncmlkIDE3CkBAIC00
MCw2NyArMjAsMzEgQEAgUEFTUyAuZ3JpZCAxOAogUEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAy
MAogUEFTUyAuZ3JpZCAyMQotRkFJTCAuZ3JpZCAyMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFz
cz0iZ3JpZCBtaW5tYXgtZml4ZWQtcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwv
ZGl2Pgotd2lkdGggZXhwZWN0ZWQgMTAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNT
IC5ncmlkIDIzCiBQQVNTIC5ncmlkIDI0CiBQQVNTIC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFz
c2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNv
bnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+
WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5n
cmlkIDI2CiBQQVNTIC5ncmlkIDI3Ci1GQUlMIC5ncmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2
IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+
Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI4CiBQQVNTIC5ncmlk
IDI5CiBQQVNTIC5ncmlkIDMwCiBQQVNTIC5ncmlkIDMxCi1GQUlMIC5ncmlkIDMyIGFzc2VydF9l
cXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1pbnRyaW5zaWMtcGVyY2VudCBtaW4tY29u
dGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgot
ICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAw
Ij5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1Mg
LmdyaWQgMzIKIFBBU1MgLmdyaWQgMzMKLUZBSUwgLmdyaWQgMzQgYXNzZXJ0X2VxdWFsczoKLTxk
aXYgY2xhc3M9ImdyaWQgbWlubWF4LWludHJpbnNpYy1wZXJjZW50IG1heC1jb250ZW50IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rp
dj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzNAog
UEFTUyAuZ3JpZCAzNQogUEFTUyAuZ3JpZCAzNgogUEFTUyAuZ3JpZCAzNwotRkFJTCAuZ3JpZCAz
OCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1pbnRyaW5z
aWMgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdp
ZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13
aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAw
CitQQVNTIC5ncmlkIDM4CiBQQVNTIC5ncmlkIDM5Ci1GQUlMIC5ncmlkIDQwIGFzc2VydF9lcXVh
bHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWludHJpbnNpYyBtYXgtY29udGVu
dCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8
ZGl2IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhY
PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQg
NDAKIFBBU1MgLmdyaWQgNDEKIFBBU1MgLmdyaWQgNDIKIFBBU1MgLmdyaWQgNDMKLUZBSUwgLmdy
aWQgNDQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgbWluLWNv
bnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMw
MCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNT
IC5ncmlkIDQ0CiBQQVNTIC5ncmlkIDQ1Ci1GQUlMIC5ncmlkIDQ2IGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIGZpdC1jb250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgot
d2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0NgogUEFTUyAuZ3JpZCA0
NwogUEFTUyAuZ3JpZCA0OAogWFhYWApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRp
Y29sLWFzLWZsZXgtaXRlbS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wt
YXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAppbmRleCAzZTE0MDg2N2I3ZTcyMTQ2MTFjYzUyOWFi
YjQ4NWZkMmY4ZTFiOTQ3Li4zZTc5OTFjMWMwNTFhNzc2NjNkZDc1NzEyMjlhMDNjYTcxZTMyNmIy
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVj
dGVkLnR4dApAQCAtMSwxMSArMSw1IEBACiBUaGVyZSBzaG91bGQgYmUgYSBncmVlbiBzcXVhcmUg
YmVsb3cuCiAKIAotRkFJTCAjZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGlkPSJmbGV4Ij4K
LSAgPGRpdiBpZD0ibXVsdGljb2wiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBl
Y3RlZC1oZWlnaHQ9IjEwMCI+Ci0gICAgPGRpdiBzdHlsZT0id2lkdGg6MTAwMHB4OyBoZWlnaHQ6
MXB4OyI+PC9kaXY+Ci0gIDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdv
dCA3ODQKK1BBU1MgI2ZsZXggMQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMt
c3RyaWN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0
ZWQudHh0CmluZGV4IDc0NGRjNGY2MmFmMTAyMzM4OTVmZmM4YWI2ZmZkNDNkZWRkOWI4NzAuLmNj
MGJhYzc1OGE4NjZkNGFlZWM3NWFjZThlZTdkODMzYmYxZGMxZWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2Zs
ZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1j
b250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CkBAIC0xNywyOCArMTcsMTIgQEAgQ29sdW1uCiAK
IFJvdwogCi1GQUlMIC5pbmxpbmUtZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJp
bmxpbmUtZmxleCIgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1mbGV4OyBmbGV4LWRpcmVjdGlvbjog
Y29sdW1uOyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAi
PgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIw
IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Q29sdW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4
cGVjdGVkIDAgYnV0IGdvdCA1MgotRkFJTCAuaW5saW5lLWZsZXggMiBhc3NlcnRfZXF1YWxzOgot
PGRpdiBjbGFzcz0iaW5saW5lLWZsZXgiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhw
ZWN0ZWQtaGVpZ2h0PSIwIj4KLSAgPGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPlJvdzwvZGl2PgotPC9k
aXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAKK1BBU1MgLmlubGluZS1mbGV4IDEKK1BB
U1MgLmlubGluZS1mbGV4IDIKIFBBU1MgLmlubGluZS1mbGV4IDMKIFBBU1MgLmlubGluZS1mbGV4
IDQKLUZBSUwgLmlubGluZS1mbGV4IDUgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGlu
ZS1mbGV4IiBzdHlsZT0iZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgt
c3RhcnQ7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+
Ci0gIDxkaXYgc3R5bGU9ImNvbnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAi
IGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj5Db2x1bW48L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhw
ZWN0ZWQgMCBidXQgZ290IDUyCi1GQUlMIC5pbmxpbmUtZmxleCA2IGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9ImFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2
IHN0eWxlPSJjb250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4
cGVjdGVkLWhlaWdodD0iMCI+Um93PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0
IGdvdCAzMAorUEFTUyAuaW5saW5lLWZsZXggNQorUEFTUyAuaW5saW5lLWZsZXggNgogUEFTUyAu
aW5saW5lLWZsZXggNwogUEFTUyAuaW5saW5lLWZsZXggOAogCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxh
Y2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy9j
YW52YXMtYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0
cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0
aW8tZXhwZWN0ZWQudHh0CmluZGV4IGFiY2JhMDMwODU1NWU2ZGVjZTQyN2NlMWFiM2ZhNTYwYzRm
MzdkMDUuLmU2ZmNlOTY5MDQ5NTNlYmZiNmM1ODc2MTZlOGJlZTk1YmZhMGFkMGQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5k
ZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1h
bmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFj
ZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2Nh
bnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiAKLVBBU1Mg
Q2FudmFzIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgdXNlZCBhcyB0aGUgc3VyZmFj
ZSBzaXplIHdpdGggY29udGFpbjpzaXplCitGQUlMIENhbnZhcyB3aWR0aCBhbmQgaGVpZ2h0IGF0
dHJpYnV0ZXMgYXJlIHVzZWQgYXMgdGhlIHN1cmZhY2Ugc2l6ZSB3aXRoIGNvbnRhaW46c2l6ZSBh
c3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290IEluZmlu
aXR5CiBQQVNTIENhbnZhcyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHVzZWQgYXMg
dGhlIHN1cmZhY2Ugc2l6ZQogRkFJTCBDb21wdXRlZCBzdHlsZSB0ZXN0OiBjYW52YXMgd2l0aCB7
IndpZHRoIjoiMTAiLCJoZWlnaHQiOiIyMCJ9IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJhdXRv
IDEwIC8gMjAiIGJ1dCBnb3QgImF1dG8iCiBQQVNTIENvbXB1dGVkIHN0eWxlIHRlc3Q6IGNhbnZh
cyB3aXRoIHsid2lkdGgiOiIwIiwiaGVpZ2h0IjoiMSJ9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2Vk
LWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRl
by1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9odG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1
dGVzLWZvci1lbWJlZGRlZC1jb250ZW50LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4
cGVjdGVkLnR4dAppbmRleCAxYTYwNDQxZTRkMzY4NWUxMjkyZWUyMGEyMzZjZTg1MmJmODUzZTVh
Li4zYzQ1YzdlNDM2ZjA4YTQ2YmRhODJmZGI0NjAwNjEzODBjOTFhYmY0IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5n
L3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWlt
YWdlcy92aWRlby1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxl
bWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL3ZpZGVvLWFz
cGVjdC1yYXRpby1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIAotRkFJTCBWaWRlbyB3
aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIHRvIGluZmVyIGFzcGVjdC1y
YXRpbyBhc3NlcnRfYXBwcm94X2VxdWFsczogZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290
IDIKK0ZBSUwgVmlkZW8gd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCB0
byBpbmZlciBhc3BlY3QtcmF0aW8gYXNzZXJ0X2FwcHJveF9lcXVhbHM6IGV4cGVjdGVkIDIuNSAr
Ly0gMC4wMDEgYnV0IGdvdCBJbmZpbml0eQogRkFJTCBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRl
byB3aXRoIHsid2lkdGgiOiIxMCIsImhlaWdodCI6IjIwIn0gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgImF1dG8gMTAgLyAyMCIgYnV0IGdvdCAiYXV0byIKIEZBSUwgQ29tcHV0ZWQgc3R5bGUgdGVz
dDogdmlkZW8gd2l0aCB7IndpZHRoIjoiMC41IiwiaGVpZ2h0IjoiMS41In0gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgImF1dG8gMC41IC8gMS41IiBidXQgZ290ICJhdXRvIgogUEFTUyBDb21wdXRl
ZCBzdHlsZSB0ZXN0OiB2aWRlbyB3aXRoIHsid2lkdGgiOiIwIiwiaGVpZ2h0IjoiMSJ9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428256</attachid>
            <date>2021-05-11 01:34:44 -0700</date>
            <delta_ts>2021-05-11 05:11:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210511163435.patch</filename>
            <type>text/plain</type>
            <size>69973</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM5NWUzZjM4N2M2MTg2
NGNiNTNmNzBlYjRiZGUxNjZjNGU5ZmJmNy4uYjkyNzE4OWEyODY3ZjEwMDg1ZmU4MzFjZjVhYWE2
Mjg4NzY1Njg5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wNS0wNCAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWlu
XSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFz
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYnJpbmdzIGluaXRpYWwgc3VwcG9ydCBvZiBDU1MgY29u
dGFpbjpzaXplIGFjY29yZGluZyB0byBbMV0uCisgICAgICAgIEl0IGFkZHMgc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKSB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBvYmplY3QgaXMgYSBzaXpl
IGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgVGhlIGludHJpbnNpYyBzaXplcyBvZiBzaXplIGNv
bnRhaW5tZW50IGJveCBhcmUgZGV0ZXJtaW5lZCBhcyBpZiBpdCBoYWQgbm8gY29udGVudC4KKyAg
ICAgICAgU28gdGhlIGltcGxlbWVudGF0aW9uIG5lZWQgdG8gY29vcGVyYXRlIHdpdGggdGhlIGxh
eW91dCBzdGVwczoKKyAgICAgICAgICAtIENvbXB1dGluZyBsb2dpY2FsIHdpZHRoOiBTaXplIGNv
bnRhaW5tZW50IGJveGVzIHNraXAgaGFuZGxpbmcgY2hpbGRyZW4gd2hpbGUgY29tcHV0aW5nIG1p
bkxvZ2ljYWxXaWR0aAorICAgICAgICAgIGFuZCBtYXhMb2dpY2FsV2lkdGggaW4gY29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxXaWR0aHMuIFNvIHRoZSBsb2dpY2FsIHdpZHRoIGlzIG5vdCBhZmZlY3Rl
ZCBieSBjaGlsZHJlbi4KKyAgICAgICAgICAtIExheW91dCBjaGlsZHJlbjogVGhlIGxvZ2ljYWwg
aGVpZ2h0IGlzIGNoYW5nZWQgYWZ0ZXIgbGF5b3V0IGFsbCBjaGlsZHJlbi4KKyAgICAgICAgICAt
IENvbXB1dGluZyBsb2dpY2FsIGhlaWdodDogQXQgdGhlIGJlZ2lubmluZywgc2l6ZSBjb250YWlu
bWVudCBib3hlcyBuZWVkIHRvIHJlc2V0IGxvZ2ljYWwgaGVpZ2h0IHRvIHRoZSBlbXB0eSBjb250
ZW50IGhlaWdodAorICAgICAgICAgIGlmIGl0IGlzIG5vdCByZW5kZXJHcmlkLiBTbyB0aGUgbG9n
aWNhbCBoZWlnaHQgaXMgbm90IGFmZmVjdGVkIGJ5IGNoaWxkcmVuLgorICAgICAgICBXZSBhbHNv
IG5lZWQgdG8gY2FsY3VsYXRlIHRoZSBzaXplcyBhY2NvcmRpbmcgdG8gdGhlIGxheW91dCBhbGdv
cml0aG1zLgorICAgICAgICAtIEdyaWQgbGF5b3V0OgorICAgICAgICAgIFRvIGNhbGN1bGF0ZSB0
aGUgbWluTG9naWNhbFdpZHRoIGFuZCBtYXhMb2dpY2FsV2lkdGggZm9yIGluZGVmaW5pdGUgc2l6
ZSBSZW5kZXJHcmlkLgorICAgICAgICAgIFRoZSB3aWR0aHMgYXJlIGNhbGN1bGF0ZWQgYnkgR3Jp
ZFRyYWNrU2l6aW5nQWxnb3JpdGhtOiBtX21pbkNvbnRlbnRTaXplIGFuZCBtX21heENvbnRlbnRT
aXplIHdoaWNoIGFyZSB0aGUgc3VtIG9mCisgICAgICAgICAgbV9iYXNlU2l6ZS9tX2dyb3d0aExp
bWl0IG9mIGFsbCBHcmlkVHJhY2tzLiBUaGUgc2l6ZSBjb250YWlubWVudCBSZW5kZXJHcmlkIHNr
aXBzIGhhbmRsaW5nIGNvbnRlbnQgaW4gcmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMKKyAgICAg
ICAgICBhbmQgdGhlIG1fbWF4Q29udGVudFNpemUgd2lsbCBiZSB0aGUgc3VtIG9mIG1fYmFzZVNp
emUuIFRoZSBsb2dpY2FsIGhlaWdodCBpcyBzYW1lIHRvIHdpZHRoLCBidXQgYWZ0ZXIgY2FsY3Vs
YXRpbmcKKyAgICAgICAgICBSZW5kZXJHcmlkJ3MgbG9naWNhbCBoZWlnaHQsIGl0IG5lZWRzIHRv
IGNhbGN1bGF0ZSB0aGUgdHJhY2sgc2l6ZXMgYWdhaW4sIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZXkg
YXJlIGRpc3RyaWJ1dGVkIHByb3Blcmx5LgorICAgICAgICAgIFdlIHVzZSBjb21wdXRlVHJhY2tT
aXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCB0cmFja0Jhc2VkTG9naWNhbEhlaWdodCkgdG8g
cmVjYWxjdWxhdGUgaXQuCisgICAgICAgIC0gTXVsdGlDb2x1bW4gbGF5b3V0OgorICAgICAgICAg
IEFjY29yZGluZyB0byB0aGUgc3BlY2lmaWNhdGlvbiwgc2l6ZSBjb250YWlubWVudCBib3hlcyBz
aG91bGQgYmUgbW9ub2xpdGhpYywgc28gd2UgbmVlZCB0byBleHRlbmQgY29sdW1uIGhlaWdodAor
ICAgICAgICAgIGZvciBvdmVyZmxvdyBhbmQgcG9zaXRpb25lZCBzaXplIGNvbnRhaW5tZW50IGJv
eGVzLiBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgaXMgYWRkZWQgdG8gaW5kaWNh
dGUgdGhlIHNob3J0YWdlIHNwYWNlCisgICAgICAgICAgdGhhdCBuZWVkIHRvIGJhbGFuY2UgdGhl
IGNvbHVtbiBoZWlnaHRzLiBhZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24o
KSB3aWxsIGNhbGN1bGF0ZSB0aGUgc2hvcnRhZ2UuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vd3d3
LnczLm9yZy9UUi9jc3MtY29udGFpbi0xLyNjb250YWlubWVudC1zaXplCisKKyAgICAgICAgKiBy
ZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNwcDogQWRkIGlzQ29tcHV0aW5nU2l6
ZUNvbnRhaW5tZW50IHRvIGluZGljYXRlIGlmIGl0IGlzIGNhbGN1bGF0aW5nIHNpemVzCisgICAg
ICAgICAgZm9yIGluZGVmaW5pdGUgc2l6ZSBSZW5kZXJHcmlkIHdoaWNoIGlzIHNpemUgY29udGFp
bm1lbnQuCisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmdyaWRB
cmVhQnJlYWR0aEZvckNoaWxkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1Np
emluZ0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcyk6CisgICAg
ICAgICAgSXQgc2tpcHMgcmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMgaWYgaXNDb21wdXRpbmdT
aXplQ29udGFpbm1lbnQsIHNvIGdyb3d0aExpbWl0IG1pZ2h0IGJlIHVuZGVmaW5lZCwKKyAgICAg
ICAgICBpZiBzbywgdXNlIHRyYWNrLmJhc2VTaXplKCkgaW5zdGVhZC4KKyAgICAgICAgKFdlYkNv
cmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMp
OiBTa2lwIHJlc29sdmUgdGhlIGNvbnRlbnQgaWYgaXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQo
KS4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6YWR2YW5jZU5l
eHRTdGF0ZSk6IEFkZGVkIFJvd1NpemluZ0V4dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50
LgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjppc1ZhbGlkVHJh
bnNpdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0
aG06OnJ1bik6IERvIG5vdCBzdHJldGNoIHRoZSB0cmFjayBzaXplcyBpZiBpc0NvbXB1dGluZ1Np
emVDb250YWlubWVudCgpLgorICAgICAgICAqIHJlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdv
cml0aG0uaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3QpOiBDYWxjdWxhdGUg
bV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50IGZvciBwb3NpdGlvbmVkIHNpemUgY29u
dGFpbm1lbnQuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBTa2lwIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxX
aWR0aHMgaWYgc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6
OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogU2tpcCBoYW5kbGluZyB0aGUg
Y2hpbGRyZW4gZm9yIHNpemUgY29udGFpbm1lbnQgYm94LgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyQmxvY2tGbG93OjphZGp1c3RCbG9ja0NoaWxkRm9yUGFnaW5hdGlvbik6IENhbGN1bGF0ZSBt
X3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgZm9yIGNoaWxkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyQmxvY2tGbG93OjphZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2lu
YXRpb24pOiBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBjaGlsZE92ZXJmbG93
SGVpZ2h0IC0gcmVtYWluaW5nTG9naWNhbEhlaWdodC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyQmxvY2tGbG93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQpOiBSZXNldCB0aGUg
bG9naWNhbCBoZWlnaHQgdG8gZW1wdHkgY29udGVudCBoZWlnaHQgZm9yIHNpemUgY29udGFpbm1l
bnQgYm94LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBh
Z2luYXRpb24gY29uc3QpOiBTaXplIGNvbnRhaW5tZW50IGJveCBpcyB1bnNwbGl0dGFibGUuCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJEZXByZWNhdGVkRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckZpbGVVcGxvYWRDb250cm9sLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckZpbGVVcGxv
YWRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERpdHRvLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29u
c3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaDoK
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJHcmlkOjpsYXlvdXRCbG9jayk6IElmIGl0IGlzIHNpemUgY29udGFpbm1lbnQgd2l0aCBp
bmZpbml0ZVNpemUsIHVzaW5nIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0CisgICAgICAgIHRvIGNv
bXB1dGUgdHJhY2sgc2l6ZXMgYWdhaW4gdG8gbWFrZSBzdXJlIHRoZSBoZWlnaHQgaXMgZGlzdHJp
YnV0ZWQgcHJvcGVybHkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJHcmlkOjpjb21wdXRlRW1w
dHlUcmFja3NGb3JBdXRvUmVwZWF0IGNvbnN0KTogQ29sbGFwc2UgaWYgc2hvdWxkQXBwbHlTaXpl
Q29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckltYWdlOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlv
biBjb25zdCk6IFRoaXMgaXMgaGFuZGxlZCBpbiBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJp
bnNpY1JhdGlvSW5mb3JtYXRpb24gaW5zdGVhZC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGlzdEJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFRoZSB3aWR0aHMgb2Ygc2l6ZSBjb250YWlubWVu
dCBib3hlcyBhcmUgb3B0aW9uc1NwYWNpbmdIb3Jpem9udGFsLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5jcHA6CisgICAgICAgIChSZW5kZXJNZW51TGlzdDo6Y29tcHV0ZUlu
dHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBUaGUgd2lkdGhzIG9mIHNpemUgY29udGFpbm1l
bnQgYm94IGFyZSB0aGVtZS5taW5pbXVtTWVudUxpc3RTaXplLgorICAgICAgICAqIHJlbmRlcmlu
Zy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVs
dGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTogU2V0
IG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5GbG93Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11bHRp
Q29sdW1uU2V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1uU2V0OjpS
ZW5kZXJNdWx0aUNvbHVtblNldCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0aUNvbHVt
blNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWlnaHQgY29uc3QpOiBBZGQgbV9zcGFjZVNob3J0YWdl
Rm9yU2l6ZUNvbnRhaW5tZW50IHRvIHRoZSBjb2x1bW4gaGVpZ2h0LgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OnByZXBhcmVGb3JMYXlvdXQpOiBSZXNldCBtX3NwYWNl
U2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uU2V0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpzaG91bGRBcHBseVNpemVDb250YWlubWVudCk6IENoZWNrIGlmIHRo
ZSBvYmplY3QgaXMgYSBzaXplIGNvbnRhaW5tZW50IGJveC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyT2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmlzQXRvbWlj
SW5saW5lTGV2ZWxCb3ggY29uc3QpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUFzcGVjdFJh
dGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJCb3ggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGNvbnN0KTogVXNl
IHRoZSBlbXB0eSBpbnRyaW5zaWNTaXplLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZXBs
YWNlZC5oOiBUaGUgaW50cmluc2ljU2l6ZSBvZiBzaXplIGNvbnRhaW5tZW50IGlzICgwLCAwKS4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlclNsaWRlcjo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0
by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyVGV4dENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhz
IGNvbnN0KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZGVvOjpjYWxjdWxhdGVJbnRyaW5zaWNTaXplKTogRGl0
dG8uCisgICAgICAgICogcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJTdHlsZTo6Y29udGFpbnNTaXplIGNvbnN0KToKKyAgICAgICAgKiByZW5k
ZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU1ZH
Um9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gY29uc3QpOiBIYW5kbGVkIGlu
IFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBpbnN0ZWFk
LgorCiAyMDIxLTA1LTEwICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgog
CiAgICAgICAgIFttYWNPU10gQWxsb3cgaW1tZWRpYXRlIGFjdGlvbiBnZXN0dXJlcyB0byBiZWdp
biB3aGVuIGZvcmNlIGNsaWNraW5nIHRleHQgaW5zaWRlIGltYWdlIG92ZXJsYXlzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3Bw
CmluZGV4IDNhMTQ3OWVlYTgxYWY2Zjc3NjA3MzQzNjU3Y2FmZjQ0ZmRlNDkwNTUuLmEyNzBkYjhi
ZDZmODRjZDc5MGRhZjIxMTc2NjhmNWVjMmRkMjY2ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwCkBAIC01ODAsNyAr
NTgwLDcgQEAgT3B0aW9uYWw8TGF5b3V0VW5pdD4gR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpl
c3RpbWF0ZWRHcmlkQXJlYUJyZWFkdGhGb3JDaGlsZCgKIE9wdGlvbmFsPExheW91dFVuaXQ+IEdy
aWRUcmFja1NpemluZ0FsZ29yaXRobTo6Z3JpZEFyZWFCcmVhZHRoRm9yQ2hpbGQoY29uc3QgUmVu
ZGVyQm94JiBjaGlsZCwgR3JpZFRyYWNrU2l6aW5nRGlyZWN0aW9uIGRpcmVjdGlvbikgY29uc3QK
IHsKICAgICBib29sIGFkZENvbnRlbnRBbGlnbm1lbnRPZmZzZXQgPQotICAgICAgICBkaXJlY3Rp
b24gPT0gRm9yQ29sdW1ucyAmJiBtX3NpemluZ1N0YXRlID09IFJvd1NpemluZ0ZpcnN0SXRlcmF0
aW9uOworICAgICAgICBkaXJlY3Rpb24gPT0gRm9yQ29sdW1ucyAmJiAobV9zaXppbmdTdGF0ZSA9
PSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbiB8fCBtX3NpemluZ1N0YXRlID09IFJvd1NpemluZ0V4
dHJhSXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50KTsKICAgICAvLyBUbyBkZXRlcm1pbmUgdGhl
IGNvbHVtbiB0cmFjaydzIHNpemUgYmFzZWQgb24gYW4gb3J0aG9nb25hbCBncmlkIGl0ZW0gd2Ug
bmVlZCBpdCdzIGxvZ2ljYWwKICAgICAvLyBoZWlnaHQsIHdoaWNoIG1heSBkZXBlbmQgb24gdGhl
IHJvdyB0cmFjaydzIHNpemUuIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgcm93IHRyYWNrcyBzaXpp
bmcKICAgICAvLyBsb2dpYyBoYXMgbm90IGJlZW4gcGVyZm9ybWVkIHlldCwgc28gd2Ugd2lsbCBu
ZWVkIHRvIGRvIGFuIGVzdGltYXRpb24uCkBAIC03MzYsOSArNzM2LDkgQEAgdm9pZCBHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG06OmNvbXB1dGVHcmlkQ29udGFpbmVySW50cmluc2ljU2l6ZXMoKQog
CiAgICAgVmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlvbik7
CiAgICAgZm9yIChhdXRvJiB0cmFjayA6IGFsbFRyYWNrcykgewotICAgICAgICBBU1NFUlQoIXRy
YWNrLmluZmluaXRlR3Jvd3RoUG90ZW50aWFsKCkpOworICAgICAgICBBU1NFUlQobV9zdHJhdGVn
eS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSB8fCAhdHJhY2suaW5maW5pdGVHcm93dGhQ
b3RlbnRpYWwoKSk7CiAgICAgICAgIG1fbWluQ29udGVudFNpemUgKz0gdHJhY2suYmFzZVNpemUo
KTsKLSAgICAgICAgbV9tYXhDb250ZW50U2l6ZSArPSB0cmFjay5ncm93dGhMaW1pdCgpOworICAg
ICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0SXNJbmZpbml0ZSgpID8g
dHJhY2suYmFzZVNpemUoKSA6IHRyYWNrLmdyb3d0aExpbWl0KCk7CiAgICAgICAgIC8vIFRoZSBn
cm93dGggbGltaXQgY2FwcyBtdXN0IGJlIGNsZWFyZWQgbm93IGluIG9yZGVyIHRvIHByb3Blcmx5
IHNvcnQKICAgICAgICAgLy8gdHJhY2tzIGJ5IGdyb3d0aCBwb3RlbnRpYWwgb24gYW4gZXZlbnR1
YWwgIk1heGltaXplIFRyYWNrcyIuCiAgICAgICAgIHRyYWNrLnNldEdyb3d0aExpbWl0Q2FwKFdU
Rjo6bnVsbG9wdCk7CkBAIC05MzIsNiArOTMyLDcgQEAgcHJpdmF0ZToKICAgICBkb3VibGUgZmlu
ZFVzZWRGbGV4RnJhY3Rpb24oVmVjdG9yPHVuc2lnbmVkPiYgZmxleGlibGVTaXplZFRyYWNrc0lu
ZGV4LCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIE9wdGlvbmFsPExheW91dFVuaXQ+IGZyZWVT
cGFjZSkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgYm9vbCByZWNvbXB1dGVVc2VkRmxleEZyYWN0aW9u
SWZOZWVkZWQoZG91YmxlJiBmbGV4RnJhY3Rpb24sIExheW91dFVuaXQmIHRvdGFsR3Jvd3RoKSBj
b25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IGZyZWVTcGFjZUZvclN0cmV0Y2hBdXRvVHJh
Y2tzU3RlcCgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNDb21wdXRpbmdTaXplQ29udGFp
bm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgqcmVuZGVyR3JpZCgpKTsgfQogfTsKIAogdm9pZCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5Ojps
YXlvdXRHcmlkSXRlbUZvck1pblNpemVDb21wdXRhdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBib29s
IG92ZXJyaWRlU2l6ZUhhc0NoYW5nZWQpIGNvbnN0CkBAIC0xMDMwLDYgKzEwMzEsNyBAQCBwcml2
YXRlOgogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFja3NTdGVwKCkg
Y29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBtaW5Db250ZW50Rm9yQ2hpbGQoUmVuZGVy
Qm94JikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgTGF5b3V0VW5pdCBtaW5Mb2dpY2FsU2l6ZUZvckNo
aWxkKFJlbmRlckJveCYsIGNvbnN0IExlbmd0aCYgY2hpbGRNaW5TaXplLCBPcHRpb25hbDxMYXlv
dXRVbml0PiBhdmFpbGFibGVTaXplKSBjb25zdCBvdmVycmlkZTsKKyAgICBib29sIGlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KIH07
CiAKIExheW91dFVuaXQgSW5kZWZpbml0ZVNpemVTdHJhdGVneTo6ZnJlZVNwYWNlRm9yU3RyZXRj
aEF1dG9UcmFja3NTdGVwKCkgY29uc3QKQEAgLTExNDYsOSArMTE0OCwyMiBAQCB2b2lkIEdyaWRU
cmFja1NpemluZ0FsZ29yaXRobTo6aW5pdGlhbGl6ZVRyYWNrU2l6ZXMoKQogCiB2b2lkIEdyaWRU
cmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMoKQogeworICAg
IFZlY3RvcjxHcmlkVHJhY2s+JiBhbGxUcmFja3MgPSB0cmFja3MobV9kaXJlY3Rpb24pOworICAg
IGF1dG8gaGFuZGxlSW5maW5pdHlHcm93dGhMaW1pdCA9IFsmXSgpIHsKKyAgICAgICAgZm9yIChh
dXRvIHRyYWNrSW5kZXggOiBtX2NvbnRlbnRTaXplZFRyYWNrc0luZGV4KSB7CisgICAgICAgICAg
ICBHcmlkVHJhY2smIHRyYWNrID0gYWxsVHJhY2tzW3RyYWNrSW5kZXhdOworICAgICAgICAgICAg
aWYgKHRyYWNrLmdyb3d0aExpbWl0KCkgPT0gaW5maW5pdHkpCisgICAgICAgICAgICAgICAgdHJh
Y2suc2V0R3Jvd3RoTGltaXQodHJhY2suYmFzZVNpemUoKSk7CisgICAgICAgIH0KKyAgICB9Owor
CisgICAgaWYgKG1fc3RyYXRlZ3ktPmlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkpIHsKKyAg
ICAgICAgaGFuZGxlSW5maW5pdHlHcm93dGhMaW1pdCgpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgVmVjdG9yPEdyaWRJdGVtV2l0aFNwYW4+IGl0ZW1zU29ydGVkQnlJbmNyZWFzaW5n
U3BhbjsKICAgICBIYXNoU2V0PFJlbmRlckJveCo+IGl0ZW1zU2V0OwotICAgIFZlY3RvcjxHcmlk
VHJhY2s+JiBhbGxUcmFja3MgPSB0cmFja3MobV9kaXJlY3Rpb24pOwogICAgIGlmIChtX2dyaWQu
aGFzR3JpZEl0ZW1zKCkpIHsKICAgICAgICAgZm9yIChhdXRvIHRyYWNrSW5kZXggOiBtX2NvbnRl
bnRTaXplZFRyYWNrc0luZGV4KSB7CiAgICAgICAgICAgICBHcmlkSXRlcmF0b3IgaXRlcmF0b3Io
bV9ncmlkLCBtX2RpcmVjdGlvbiwgdHJhY2tJbmRleCk7CkBAIC0xMTc4LDEyICsxMTkzLDcgQEAg
dm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJlc29sdmVJbnRyaW5zaWNUcmFja1NpemVz
KCkKICAgICAgICAgaW5jcmVhc2VTaXplc1RvQWNjb21tb2RhdGVTcGFubmluZ0l0ZW1zPFJlc29s
dmVNYXhDb250ZW50TWF4aW11bXM+KHNwYW5Hcm91cFJhbmdlKTsKICAgICAgICAgaXQgPSBzcGFu
R3JvdXBSYW5nZS5yYW5nZUVuZDsKICAgICB9Ci0KLSAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6
IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKLSAgICAgICAgR3JpZFRyYWNrJiB0cmFjayA9
IGFsbFRyYWNrc1t0cmFja0luZGV4XTsKLSAgICAgICAgaWYgKHRyYWNrLmdyb3d0aExpbWl0KCkg
PT0gaW5maW5pdHkpCi0gICAgICAgICAgICB0cmFjay5zZXRHcm93dGhMaW1pdCh0cmFjay5iYXNl
U2l6ZSgpKTsKLSAgICB9CisgICAgaGFuZGxlSW5maW5pdHlHcm93dGhMaW1pdCgpOwogfQogCiB2
b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6c3RyZXRjaEZsZXhpYmxlVHJhY2tzKE9wdGlv
bmFsPExheW91dFVuaXQ+IGZyZWVTcGFjZSkKQEAgLTEyMzksNiArMTI0OSw5IEBAIHZvaWQgR3Jp
ZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjphZHZhbmNlTmV4dFN0YXRlKCkKICAgICAgICAgbV9zaXpp
bmdTdGF0ZSA9IFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uOwogICAgICAgICByZXR1cm47CiAgICAg
Y2FzZSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbjoKKyAgICAgICAgbV9zaXppbmdTdGF0ZSA9IG1f
c3RyYXRlZ3ktPmlzQ29tcHV0aW5nU2l6ZUNvbnRhaW5tZW50KCkgPyBSb3dTaXppbmdFeHRyYUl0
ZXJhdGlvbkZvclNpemVDb250YWlubWVudCA6IENvbHVtblNpemluZ1NlY29uZEl0ZXJhdGlvbjsK
KyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgUm93U2l6aW5nRXh0cmFJdGVyYXRpb25Gb3JTaXpl
Q29udGFpbm1lbnQ6CiAgICAgICAgIG1fc2l6aW5nU3RhdGUgPSBDb2x1bW5TaXppbmdTZWNvbmRJ
dGVyYXRpb247CiAgICAgICAgIHJldHVybjsKICAgICBjYXNlIENvbHVtblNpemluZ1NlY29uZEl0
ZXJhdGlvbjoKQEAgLTEyNTksNiArMTI3Miw3IEBAIGJvb2wgR3JpZFRyYWNrU2l6aW5nQWxnb3Jp
dGhtOjppc1ZhbGlkVHJhbnNpdGlvbigpIGNvbnN0CiAgICAgY2FzZSBDb2x1bW5TaXppbmdTZWNv
bmRJdGVyYXRpb246CiAgICAgICAgIHJldHVybiBtX2RpcmVjdGlvbiA9PSBGb3JDb2x1bW5zOwog
ICAgIGNhc2UgUm93U2l6aW5nRmlyc3RJdGVyYXRpb246CisgICAgY2FzZSBSb3dTaXppbmdFeHRy
YUl0ZXJhdGlvbkZvclNpemVDb250YWlubWVudDoKICAgICBjYXNlIFJvd1NpemluZ1NlY29uZEl0
ZXJhdGlvbjoKICAgICAgICAgcmV0dXJuIG1fZGlyZWN0aW9uID09IEZvclJvd3M7CiAgICAgfQpA
QCAtMTM0Niw2ICsxMzYwLDggQEAgdm9pZCBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OnJ1bigp
CiAKICAgICAvLyBTdGVwIDMuCiAgICAgbV9zdHJhdGVneS0+bWF4aW1pemVUcmFja3ModHJhY2tz
KG1fZGlyZWN0aW9uKSwgbV9kaXJlY3Rpb24gPT0gRm9yQ29sdW1ucyA/IG1fZnJlZVNwYWNlQ29s
dW1ucyA6IG1fZnJlZVNwYWNlUm93cyk7CisgICAgaWYgKG1fc3RyYXRlZ3ktPmlzQ29tcHV0aW5n
U2l6ZUNvbnRhaW5tZW50KCkpCisgICAgICAgIHJldHVybjsKIAogICAgIC8vIFN0ZXAgNC4KICAg
ICBzdHJldGNoRmxleGlibGVUcmFja3MoaW5pdGlhbEZyZWVTcGFjZSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKaW5kZXggMDMx
MTI1ZGE5YmZkYjU4OGE5YTkxOTYxYTNiMTUyOGU5ODdmNDE2Mi4uNmI3OTdlYTg3ODU0MDlkZGVi
MThhMDU5ZjQxNjBkNTVkNjVkNThmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaApAQCAtMjI0LDYgKzIyNCw3IEBAIHByaXZh
dGU6CiAgICAgZW51bSBTaXppbmdTdGF0ZSB7CiAgICAgICAgIENvbHVtblNpemluZ0ZpcnN0SXRl
cmF0aW9uLAogICAgICAgICBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbiwKKyAgICAgICAgUm93U2l6
aW5nRXh0cmFJdGVyYXRpb25Gb3JTaXplQ29udGFpbm1lbnQsCiAgICAgICAgIENvbHVtblNpemlu
Z1NlY29uZEl0ZXJhdGlvbiwKICAgICAgICAgUm93U2l6aW5nU2Vjb25kSXRlcmF0aW9uCiAgICAg
fTsKQEAgLTI2MSw2ICsyNjIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBkb3VibGUgZmluZFVz
ZWRGbGV4RnJhY3Rpb24oVmVjdG9yPHVuc2lnbmVkPiYgZmxleGlibGVTaXplZFRyYWNrc0luZGV4
LCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24sIE9wdGlvbmFsPExheW91dFVuaXQ+IGluaXRpYWxG
cmVlU3BhY2UpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgcmVjb21wdXRlVXNlZEZsZXhG
cmFjdGlvbklmTmVlZGVkKGRvdWJsZSYgZmxleEZyYWN0aW9uLCBMYXlvdXRVbml0JiB0b3RhbEdy
b3d0aCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJl
dGNoQXV0b1RyYWNrc1N0ZXAoKSBjb25zdCA9IDA7CisgICAgdmlydHVhbCBib29sIGlzQ29tcHV0
aW5nU2l6ZUNvbnRhaW5tZW50KCkgY29uc3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtU3RyYXRlZ3koR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtJiBhbGdv
cml0aG0pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2su
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAppbmRleCA1ZjRi
NzJlNjUxNWM3YTIxZjMzNGZjMDQ4ZDQxOTU4OGE0YmNlZTI4Li43ZmZmZTZiYzBiYTJmMzViM2Ex
NTkzOGVlNWU5ZDVlZDQxMTAyZWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9jay5jcHAKQEAgLTEwNzMsNiArMTA3Myw5IEBAIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBv
c2l0aW9uZWRPYmplY3QoUmVuZGVyQm94JiByLCBib29sIHJlbGF5b3V0Q2hpbGRyZW4sIGJvCiAg
ICAgICAgIHIuc2V0TmVlZHNMYXlvdXQoTWFya09ubHlUaGlzKTsKICAgICAgICAgci5sYXlvdXRJ
Zk5lZWRlZCgpOwogICAgIH0KKyAgICAKKyAgICBpZiAodmlldygpLmZyYW1lVmlldygpLmxheW91
dENvbnRleHQoKS5sYXlvdXRTdGF0ZSgpLT5pc1BhZ2luYXRlZCgpICYmIGlzPFJlbmRlckJsb2Nr
Rmxvdz4oKnRoaXMpKQorICAgICAgICBkb3duY2FzdDxSZW5kZXJCbG9ja0Zsb3c+KCp0aGlzKS5h
ZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBhZ2luYXRpb24ociwgci5sb2dpY2FsVG9wKCkp
OwogfQogCiB2b2lkIFJlbmRlckJsb2NrOjpsYXlvdXRQb3NpdGlvbmVkT2JqZWN0cyhib29sIHJl
bGF5b3V0Q2hpbGRyZW4sIGJvb2wgZml4ZWRQb3NpdGlvbk9iamVjdHNPbmx5KQpAQCAtMjI4Miw4
ICsyMjg1LDggQEAgdm9pZCBSZW5kZXJCbG9jazo6b2Zmc2V0Rm9yQ29udGVudHMoTGF5b3V0UG9p
bnQmIG9mZnNldCkgY29uc3QKIHZvaWQgUmVuZGVyQmxvY2s6OmNvbXB1dGVJbnRyaW5zaWNMb2dp
Y2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYgbWF4TG9n
aWNhbFdpZHRoKSBjb25zdAogewogICAgIEFTU0VSVCghY2hpbGRyZW5JbmxpbmUoKSk7Ci0gICAg
Ci0gICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgs
IG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgq
dGhpcykpCisgICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9n
aWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCiAgICAgbWF4TG9naWNhbFdpZHRoID0gc3Rk
OjptYXgobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDk2YzY3ZjU2MWU1MDFmOWZi
NWIyNjA3YTQxNWY2YzU4NmExYzYzNzIuLjE0YWJmNmJlYmRjYTljMDI5YWVkNTBlODdkMTcyNzVi
MzUzMjU0NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9j
a0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCkBAIC0zMzksMTAgKzMzOSwxMiBAQCB2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0SW50
cmluc2ljTG9naWNhbFdpZHRoc0ZvckNvbHVtbnMoTGF5b3V0VW5pdCYgbWluTG9naQogCiB2b2lk
IFJlbmRlckJsb2NrRmxvdzo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5p
dCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7
Ci0gICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCi0gICAgICAgIGNvbXB1dGVJbmxpbmVQcmVmZXJy
ZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLSAgICBl
bHNlCi0gICAgICAgIGNvbXB1dGVCbG9ja1ByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNh
bFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKnRoaXMpKSB7CisgICAgICAgIGlmIChjaGlsZHJlbklubGluZSgpKQorICAgICAgICAg
ICAgY29tcHV0ZUlubGluZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBt
YXhMb2dpY2FsV2lkdGgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBjb21wdXRlQmxvY2tQ
cmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwgbWF4TG9naWNhbFdpZHRoKTsK
KyAgICB9CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2FsV2lkdGgs
IG1heExvZ2ljYWxXaWR0aCk7CiAKQEAgLTE2NjIsNiArMTY2NCw5IEBAIExheW91dFVuaXQgUmVu
ZGVyQmxvY2tGbG93OjphZGp1c3RCbG9ja0NoaWxkRm9yUGFnaW5hdGlvbihMYXlvdXRVbml0IGxv
Z2ljYWxUb3BBCiAgICAgICAgIH0KICAgICB9CiAKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoY2hpbGQpKQorICAgICAgICBhZGp1c3RTaXplQ29udGFpbm1lbnRDaGlsZEZvclBh
Z2luYXRpb24oY2hpbGQsIHJlc3VsdCk7CisKICAgICAvLyBGb3IgcmVwbGFjZWQgZWxlbWVudHMg
YW5kIHNjcm9sbGVkIGVsZW1lbnRzLCB3ZSB3YW50IHRvIHNoaWZ0IHRoZW0gdG8gdGhlIG5leHQg
cGFnZSBpZiB0aGV5IGRvbid0IGZpdCBvbiB0aGUgY3VycmVudCBvbmUuCiAgICAgTGF5b3V0VW5p
dCBsb2dpY2FsVG9wQmVmb3JlVW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9IHJlc3VsdDsKICAgICBM
YXlvdXRVbml0IGxvZ2ljYWxUb3BBZnRlclVuc3BsaXR0YWJsZUFkanVzdG1lbnQgPSBhZGp1c3RG
b3JVbnNwbGl0dGFibGVDaGlsZChjaGlsZCwgcmVzdWx0KTsKQEAgLTIwNDcsNiArMjA1MiwyNCBA
QCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxvdzo6bG9naWNhbEhlaWdodEZvckNoaWxkRm9yRnJh
Z21lbnRhdGlvbihjb25zdCBSZW5kZXJCbwogICAgIHJldHVybiBsb2dpY2FsSGVpZ2h0Rm9yQ2hp
bGQoY2hpbGQpOwogfQogCit2b2lkIFJlbmRlckJsb2NrRmxvdzo6YWRqdXN0U2l6ZUNvbnRhaW5t
ZW50Q2hpbGRGb3JQYWdpbmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgb2Zmc2V0
KQoreworICAgIGlmICghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY2hpbGQpKQorICAgICAg
ICByZXR1cm47CisKKyAgICBMYXlvdXRVbml0IGNoaWxkT3ZlcmZsb3dIZWlnaHQgPSBjaGlsZC5p
c0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gY2hpbGQubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4
WSgpIDogY2hpbGQubGF5b3V0T3ZlcmZsb3dSZWN0KCkubWF4WCgpOworICAgIExheW91dFVuaXQg
Y2hpbGRMb2dpY2FsSGVpZ2h0ID0gc3RkOjptYXgoY2hpbGQubG9naWNhbEhlaWdodCgpLCBjaGls
ZE92ZXJmbG93SGVpZ2h0KTsKKworICAgIExheW91dFVuaXQgcmVtYWluaW5nTG9naWNhbEhlaWdo
dCA9IHBhZ2VSZW1haW5pbmdMb2dpY2FsSGVpZ2h0Rm9yT2Zmc2V0KG9mZnNldCwgRXhjbHVkZVBh
Z2VCb3VuZGFyeSk7CisKKyAgICBMYXlvdXRVbml0IHNwYWNlU2hvcnRhZ2UgPSBjaGlsZExvZ2lj
YWxIZWlnaHQgLSByZW1haW5pbmdMb2dpY2FsSGVpZ2h0OworICAgIGlmIChzcGFjZVNob3J0YWdl
IDw9IDApCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChSZW5kZXJGcmFnbWVudGVkRmxvdyog
ZnJhZ21lbnRlZEZsb3cgPSBlbmNsb3NpbmdGcmFnbWVudGVkRmxvdygpKQorICAgICAgICBmcmFn
bWVudGVkRmxvdy0+dXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCh0aGlzLCBv
ZmZzZXRGcm9tTG9naWNhbFRvcE9mRmlyc3RQYWdlKCkgKyBvZmZzZXQsIHNwYWNlU2hvcnRhZ2Up
OworfQorCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6bGF5b3V0TGluZUdyaWRCb3goKQogewogICAg
IGlmIChzdHlsZSgpLmxpbmVHcmlkKCkgPT0gUmVuZGVyU3R5bGU6OmluaXRpYWxMaW5lR3JpZCgp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKaW5kZXggNDQ5
ODU5ZDM4ODYwYTAzYTUyZGZkZWJmZTcwODZkYjVmZGNkNTEwMC4uYzdjOTQ2YmFmZDgxNWE0NzRk
NzIzODhiNzdlMjIzODlmNDQ2Y2NjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaApAQCAtMzk4LDYgKzM5OCw4IEBAIHB1YmxpYzoKICAgICAvLyBjb2x1bW4g
YmFsYW5jZXIgdG8gaGVscCBzZXQgYSBnb29kIG1pbmltdW0gY29sdW1uIGhlaWdodC4KICAgICB2
b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0
IG1pbkhlaWdodCk7CiAKKyAgICB2b2lkIGFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFn
aW5hdGlvbihSZW5kZXJCb3gmIGNoaWxkLCBMYXlvdXRVbml0IG9mZnNldCk7CisKICAgICB2b2lk
IGFkZEZsb2F0c1RvTmV3UGFyZW50KFJlbmRlckJsb2NrRmxvdyYgdG9CbG9ja0Zsb3cpIGNvbnN0
OwogICAgIAogICAgIExheW91dFVuaXQgZW5kUGFkZGluZ1dpZHRoRm9yQ2FyZXQoKSBjb25zdDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggNmJhMzEwZjBlYzI4MTg1
NDA0ZThkODg4YTdkNThlMTkwMmNlNTdkMS4uYzhhZTA0MTJmYzZjYzY4YTEzODk0MDUzNWFlYzg5
N2Q5YWFjYWZkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTI4
NjAsNiArMjg2MCwxNCBAQCB2b2lkIFJlbmRlckJveDo6Y2FjaGVJbnRyaW5zaWNDb250ZW50TG9n
aWNhbEhlaWdodEZvckZsZXhJdGVtKExheW91dFVuaXQgaGVpZ2h0KQogCiB2b2lkIFJlbmRlckJv
eDo6dXBkYXRlTG9naWNhbEhlaWdodCgpCiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KCp0aGlzKSAmJiAhaXNSZW5kZXJHcmlkKCkpIHsKKyAgICAgICAgLy8gV2UgbmVlZCB0
aGUgZXhhY3Qgd2lkdGggb2YgYm9yZGVyIGFuZCBwYWRkaW5nIGhlcmUsIHlldCB3ZSBjYW4ndCB1
c2UgYm9yZGVyQW5kUGFkZGluZyogaW50ZXJmYWNlcy4KKyAgICAgICAgLy8gQmVjYXVzZSB0aGVz
ZSBpbnRlcmZhY2VzIGV2ZXR1YWxseSBjYWxsIGJvcmRlckFmdGVyL0JlZm9yZSwgYW5kIFJlbmRl
ckJsb2NrOjpib3JkZXJCZWZvcmUKKyAgICAgICAgLy8gYWRkcyBleHRyYSBib3JkZXIgdG8gZmll
bGRzZXQgYnkgYWRkaW5nIGludHJpbnNpY0JvcmRlckZvckZpZWxkc2V0IHdoaWNoIGlzIG5vdCBu
ZWVkZWQgaGVyZS4KKyAgICAgICAgYXV0byBib3JkZXJBbmRQYWRkaW5nID0gUmVuZGVyQm94Ojpi
b3JkZXJCZWZvcmUoKSArIFJlbmRlckJveDo6cGFkZGluZ0JlZm9yZSgpICsgUmVuZGVyQm94Ojpi
b3JkZXJBZnRlcigpICsgUmVuZGVyQm94OjpwYWRkaW5nQWZ0ZXIoKTsKKyAgICAgICAgc2V0TG9n
aWNhbEhlaWdodChib3JkZXJBbmRQYWRkaW5nICsgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpKTsK
KyAgICB9CisKICAgICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0
ZW0oY29udGVudExvZ2ljYWxIZWlnaHQoKSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNv
bXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBz
ZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50KTsKQEAgLTQ4NTcsNyArNDg2
NSw4IEBAIGJvb2wgUmVuZGVyQm94Ojppc1Vuc3BsaXR0YWJsZUZvclBhZ2luYXRpb24oKSBjb25z
dAogICAgIHJldHVybiBpc1JlcGxhY2VkKCkKICAgICAgICAgfHwgaGFzVW5zcGxpdHRhYmxlU2Ny
b2xsaW5nT3ZlcmZsb3coKQogICAgICAgICB8fCAocGFyZW50KCkgJiYgaXNXcml0aW5nTW9kZVJv
b3QoKSkKLSAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09
IFBzZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAw
KTsKKyAgICAgICAgfHwgKGlzRmxvYXRpbmcoKSAmJiBzdHlsZSgpLnN0eWxlVHlwZSgpID09IFBz
ZXVkb0lkOjpGaXJzdExldHRlciAmJiBzdHlsZSgpLmluaXRpYWxMZXR0ZXJEcm9wKCkgPiAwKQor
ICAgICAgICB8fCBzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcyk7CiB9CiAKIExheW91
dFVuaXQgUmVuZGVyQm94OjpsaW5lSGVpZ2h0KGJvb2wgLypmaXJzdExpbmUqLywgTGluZURpcmVj
dGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRpb25Nb2RlIC8qbGluZVBvc2l0aW9uTW9kZSov
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckRlcHJl
Y2F0ZWRGbGV4aWJsZUJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVw
cmVjYXRlZEZsZXhpYmxlQm94LmNwcAppbmRleCA0ZjJkMWYzZGIxYjc5MDM1NGZmYzY4NTlmYzNi
ZDcyNzc2MmZlMThlLi5mYzBjNjU0Njc1NDQ2MGM4ZWViYzI2ZTZkYTcyMThhZDQyNjAxZjE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhp
YmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRl
ZEZsZXhpYmxlQm94LmNwcApAQCAtMTg3LDYgKzE4NywxNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveDo6c3R5bGVXaWxsQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25z
dCBSZQogCiB2b2lkIFJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBt
YXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgYXV0byBhZGRTY3JvbGxiYXJXaWR0aCA9IFsm
XSgpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBzY3JvbGxiYXJXaWR0aCA9IGludHJpbnNpY1Njcm9s
bGJhckxvZ2ljYWxXaWR0aCgpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFy
V2lkdGg7CisgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICB9
OworCisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAg
ICBhZGRTY3JvbGxiYXJXaWR0aCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgaWYg
KGhhc011bHRpcGxlTGluZXMoKSB8fCBpc1ZlcnRpY2FsKCkpIHsKICAgICAgICAgZm9yIChSZW5k
ZXJCb3gqIGNoaWxkID0gZmlyc3RDaGlsZEJveCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4
dFNpYmxpbmdCb3goKSkgewogICAgICAgICAgICAgaWYgKGNoaWxkRG9lc05vdEFmZmVjdFdpZHRo
T3JGbGV4aW5nKGNoaWxkKSkKQEAgLTIxMSwxMCArMjIyLDcgQEAgdm9pZCBSZW5kZXJEZXByZWNh
dGVkRmxleGlibGVCb3g6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQm
IG1pbkwKICAgICB9CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7Ci0KLSAgICBMYXlvdXRVbml0IHNjcm9sbGJhcldpZHRo
ID0gaW50cmluc2ljU2Nyb2xsYmFyTG9naWNhbFdpZHRoKCk7Ci0gICAgbWF4TG9naWNhbFdpZHRo
ICs9IHNjcm9sbGJhcldpZHRoOwotICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0
aDsKKyAgICBhZGRTY3JvbGxiYXJXaWR0aCgpOwogfQogCiB2b2lkIFJlbmRlckRlcHJlY2F0ZWRG
bGV4aWJsZUJveDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKaW5kZXgg
M2QxMjNjNTRiNTY0ZGE1MDQxN2I0YzA3ODk3MjlmMzllMzNiMTVkYS4uODc4NWYyMjk5YzgwZDM5
NDZlOGZmZDIxNjYyZDAyOTIxOTQ2MzFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCkBAIC0xOTcsNiArMTk3LDggQEAg
dm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cGFpbnRPYmplY3QoUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IExheW91dFBvaW4KIAogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRo
LCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFw
cGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIEZpZ3Vy
ZSBvdXQgaG93IGJpZyB0aGUgZmlsZW5hbWUgc3BhY2UgbmVlZHMgdG8gYmUgZm9yIGEgZ2l2ZW4g
bnVtYmVyIG9mIGNoYXJhY3RlcnMKICAgICAvLyAodXNpbmcgIjAiIGFzIHRoZSBub21pbmFsIGNo
YXJhY3RlcikuCiAgICAgY29uc3QgVUNoYXIgY2hhcmFjdGVyID0gJzAnOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5jcHAKaW5kZXggMjI5YjY5M2RmMTk3
ZmZjYmUyNjkwMWI4OGFiMjU5YWMzMDA1MWYyNS4uNDMzZTBiNDUxZWQzZDdjYjU3YjAyNWZlZTlm
NGZkNjFmMTI1NGU4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guY3BwCkBAIC04Myw2ICs4MywxNyBAQCBjb25zdCBjaGFyKiBSZW5kZXJGbGV4aWJs
ZUJveDo6cmVuZGVyTmFtZSgpIGNvbnN0CiAKIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1
dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5
b3V0VW5pdCYgbWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGF1dG8gYWRkU2Nyb2xsYmFy
V2lkdGggPSBbJl0oKSB7CisgICAgICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgoc2Nyb2xs
YmFyTG9naWNhbFdpZHRoKCkpOworICAgICAgICBtYXhMb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFy
V2lkdGg7CisgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICB9
OworCisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkgeworICAgICAg
ICBhZGRTY3JvbGxiYXJXaWR0aCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgTGF5
b3V0VW5pdCBjaGlsZE1pbldpZHRoOwogICAgIExheW91dFVuaXQgY2hpbGRNYXhXaWR0aDsKICAg
ICBib29sIGhhZEV4Y2x1ZGVkQ2hpbGRyZW4gPSBjb21wdXRlUHJlZmVycmVkV2lkdGhzRm9yRXhj
bHVkZWRDaGlsZHJlbihjaGlsZE1pbldpZHRoLCBjaGlsZE1heFdpZHRoKTsKQEAgLTk4LDExICsx
MDksMTEgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxX
aWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHQKICAgICAgICAgKytudW1JdGVtc1dpdGhO
b3JtYWxMYXlvdXQ7CiAKICAgICAgICAgTGF5b3V0VW5pdCBtYXJnaW4gPSBtYXJnaW5JbnRyaW5z
aWNMb2dpY2FsV2lkdGhGb3JDaGlsZCgqY2hpbGQpOwotICAgICAgICAKKwogICAgICAgICBMYXlv
dXRVbml0IG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgTGF5b3V0VW5pdCBtYXhQ
cmVmZXJyZWRMb2dpY2FsV2lkdGg7CiAgICAgICAgIGNvbXB1dGVDaGlsZFByZWZlcnJlZExvZ2lj
YWxXaWR0aHMoKmNoaWxkLCBtaW5QcmVmZXJyZWRMb2dpY2FsV2lkdGgsIG1heFByZWZlcnJlZExv
Z2ljYWxXaWR0aCk7Ci0gICAgICAgIAorCiAgICAgICAgIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0
aCArPSBtYXJnaW47CiAgICAgICAgIG1heFByZWZlcnJlZExvZ2ljYWxXaWR0aCArPSBtYXJnaW47
CiAKQEAgLTEzOSw5ICsxNTAsNyBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdAogICAgICAgICBt
YXhMb2dpY2FsV2lkdGggPSBzdGQ6Om1heChtYXhMb2dpY2FsV2lkdGgsIGNoaWxkTWF4V2lkdGgp
OwogICAgIH0KIAotICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgoc2Nyb2xsYmFyTG9naWNh
bFdpZHRoKCkpOwotICAgIG1heExvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKLSAgICBt
aW5Mb2dpY2FsV2lkdGggKz0gc2Nyb2xsYmFyV2lkdGg7CisgICAgYWRkU2Nyb2xsYmFyV2lkdGgo
KTsKIH0KIAogTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6YmFzZWxpbmVQb3NpdGlvbihG
b250QmFzZWxpbmUsIGJvb2wsIExpbmVEaXJlY3Rpb25Nb2RlIGRpcmVjdGlvbiwgTGluZVBvc2l0
aW9uTW9kZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGcmFnbWVudGVkRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdt
ZW50ZWRGbG93LmgKaW5kZXggZmFjZWIxOTZkOWJmNzdjZDYyODU1NGUzMzUxMDAwZTk5ODkzYWQ2
My4uYjczYmUyYjFiMGU0ODI3ZWRhZTYwMjdhYTZlMzVmY2IxNzFkNjM2MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZyYWdtZW50ZWRGbG93LmgKQEAgLTEwMiw2ICsx
MDIsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFBhZ2VCcmVhayhjb25zdCBSZW5k
ZXJCbG9jayosIExheW91dFVuaXQgLypvZmZzZXQqLywgTGF5b3V0VW5pdCAvKnNwYWNlU2hvcnRh
Z2UqLykgeyB9CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0
IFJlbmRlckJsb2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qbWluSGVp
Z2h0Ki8pIHsgfQogCisgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXpl
Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExh
eW91dFVuaXQgLypzaG9ydGFnZSovKSB7IH0KKwogICAgIHZpcnR1YWwgUmVuZGVyRnJhZ21lbnRD
b250YWluZXIqIGZyYWdtZW50QXRCbG9ja09mZnNldChjb25zdCBSZW5kZXJCb3gqLCBMYXlvdXRV
bml0LCBib29sIGV4dGVuZExhc3RGcmFnbWVudCA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJvb2wg
ZnJhZ21lbnRzSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBtX2ZyYWdt
ZW50c0hhdmVVbmlmb3JtTG9naWNhbFdpZHRoOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyR3JpZC5jcHAKaW5kZXggZDIwYmI1N2Q1YjBjMWZhOTZhNTViMTdjNDRkMGIwMDI2YTM1NTMw
OS4uNjZiZWVkZDIxMWRiMDM2YzRiMDM5M2FkMmU2NjU2NWM3MGZmNGFlOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcApAQCAtMjUwLDExICsyNTAsMTcgQEAgdm9pZCBS
ZW5kZXJHcmlkOjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQp
CiAKICAgICAgICAgLy8gMi0gTmV4dCwgdGhlIHRyYWNrIHNpemluZyBhbGdvcml0aG0gcmVzb2x2
ZXMgdGhlIHNpemVzIG9mIHRoZSBncmlkIHJvd3MsCiAgICAgICAgIC8vIHVzaW5nIHRoZSBncmlk
IGNvbHVtbiBzaXplcyBjYWxjdWxhdGVkIGluIHRoZSBwcmV2aW91cyBzdGVwLgotICAgICAgICBp
ZiAoIWhhc0RlZmluaXRlTG9naWNhbEhlaWdodCkKKyAgICAgICAgYm9vbCBzaG91bGRSZWNvbXB1
dGVIZWlnaHQgPSBmYWxzZTsKKyAgICAgICAgaWYgKCFoYXNEZWZpbml0ZUxvZ2ljYWxIZWlnaHQp
IHsKICAgICAgICAgICAgIGNvbXB1dGVUcmFja1NpemVzRm9ySW5kZWZpbml0ZVNpemUobV90cmFj
a1NpemluZ0FsZ29yaXRobSwgRm9yUm93cyk7Ci0gICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlm
IChzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgICAgICAgICAgc2hv
dWxkUmVjb21wdXRlSGVpZ2h0ID0gdHJ1ZTsKKyAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBj
b21wdXRlVHJhY2tTaXplc0ZvckRlZmluaXRlU2l6ZShGb3JSb3dzLCBhdmFpbGFibGVMb2dpY2Fs
SGVpZ2h0KEV4Y2x1ZGVNYXJnaW5Cb3JkZXJQYWRkaW5nKSk7CiAgICAgICAgIExheW91dFVuaXQg
dHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQgPSBtX3RyYWNrU2l6aW5nQWxnb3JpdGhtLmNvbXB1dGVU
cmFja0Jhc2VkU2l6ZSgpICsgYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKSArIHNjcm9s
bGJhckxvZ2ljYWxIZWlnaHQoKTsKKyAgICAgICAgaWYgKHNob3VsZFJlY29tcHV0ZUhlaWdodCkK
KyAgICAgICAgICAgIGNvbXB1dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRy
YWNrQmFzZWRMb2dpY2FsSGVpZ2h0KTsKKwogICAgICAgICBzZXRMb2dpY2FsSGVpZ2h0KHRyYWNr
QmFzZWRMb2dpY2FsSGVpZ2h0KTsKIAogICAgICAgICBMYXlvdXRVbml0IG9sZENsaWVudEFmdGVy
RWRnZSA9IGNsaWVudExvZ2ljYWxCb3R0b20oKTsKQEAgLTU0OCw3ICs1NTQsNyBAQCBzdGQ6OnVu
aXF1ZV9wdHI8T3JkZXJlZFRyYWNrSW5kZXhTZXQ+IFJlbmRlckdyaWQ6OmNvbXB1dGVFbXB0eVRy
YWNrc0ZvckF1dG9SZXBlYQogICAgIHVuc2lnbmVkIGZpcnN0QXV0b1JlcGVhdFRyYWNrID0gaW5z
ZXJ0aW9uUG9pbnQgKyBncmlkLmV4cGxpY2l0R3JpZFN0YXJ0KGRpcmVjdGlvbik7CiAgICAgdW5z
aWduZWQgbGFzdEF1dG9SZXBlYXRUcmFjayA9IGZpcnN0QXV0b1JlcGVhdFRyYWNrICsgZ3JpZC5h
dXRvUmVwZWF0VHJhY2tzKGRpcmVjdGlvbik7CiAKLSAgICBpZiAoIWdyaWQuaGFzR3JpZEl0ZW1z
KCkpIHsKKyAgICBpZiAoIWdyaWQuaGFzR3JpZEl0ZW1zKCkgfHwgc2hvdWxkQXBwbHlTaXplQ29u
dGFpbm1lbnQoKnRoaXMpKSB7CiAgICAgICAgIGVtcHR5VHJhY2tJbmRleGVzID0gbWFrZVVuaXF1
ZTxPcmRlcmVkVHJhY2tJbmRleFNldD4oKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCB0cmFja0lu
ZGV4ID0gZmlyc3RBdXRvUmVwZWF0VHJhY2s7IHRyYWNrSW5kZXggPCBsYXN0QXV0b1JlcGVhdFRy
YWNrOyArK3RyYWNrSW5kZXgpCiAgICAgICAgICAgICBlbXB0eVRyYWNrSW5kZXhlcy0+YWRkKHRy
YWNrSW5kZXgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlcklt
YWdlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJJbWFnZS5jcHAKaW5kZXgg
NDI1NDQzZWUwM2E2NmMzMjc4MTJmYzViMWY2ZjJiYjkzZmYwNWQ3MS4uYmJkYmM1YTQzZThkZmI4
MzhmNGU4M2Y3ZTJiOTUxMzczODU5NjczZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVySW1hZ2UuY3BwCkBAIC04NTAsNiArODUwLDcgQEAgYm9vbCBSZW5kZXJJbWFnZTo6Y2FuTWFw
V2lkdGhIZWlnaHRUb0FzcGVjdFJhdGlvKCkgY29uc3QKIAogdm9pZCBSZW5kZXJJbWFnZTo6Y29t
cHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBk
b3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogeworICAgIEFTU0VSVCghc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnRoaXMpKTsKICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJp
bnNpY1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwogCiAg
ICAgLy8gT3VyIGludHJpbnNpY1NpemUgaXMgZW1wdHkgaWYgd2UncmUgcmVuZGVyaW5nIGdlbmVy
YXRlZCBpbWFnZXMgd2l0aCByZWxhdGl2ZSB3aWR0aC9oZWlnaHQuIEZpZ3VyZSBvdXQgdGhlIHJp
Z2h0IGludHJpbnNpYyBzaXplIHRvIHVzZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMaXN0Qm94LmNwcAppbmRleCAwZWRmMjZhN2M3N2Q3Y2IxOGEzOThjNTBkYjRiMjZjNjNmNzIy
YmRiLi45ZGFkNTE3MTA3OGZjNjIzZWQ4Y2IxYWYwYWM2NGNiY2E0M2VjOTkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC0yMTEsNyArMjExLDcgQEAg
dm9pZCBSZW5kZXJMaXN0Qm94OjpzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpCiAKIHZvaWQgUmVu
ZGVyTGlzdEJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWlu
TG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAg
bWF4TG9naWNhbFdpZHRoID0gbV9vcHRpb25zV2lkdGggKyAyICogb3B0aW9uc1NwYWNpbmdIb3Jp
em9udGFsOworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KCp0aGlzKSA/IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWwgOiBtX29wdGlvbnNXaWR0aCAr
IDIgKiBvcHRpb25zU3BhY2luZ0hvcml6b250YWw7CiAgICAgaWYgKG1fdkJhcikKICAgICAgICAg
bWF4TG9naWNhbFdpZHRoICs9IG1fdkJhci0+d2lkdGgoKTsKICAgICBpZiAoIXN0eWxlKCkud2lk
dGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTWVudUxpc3QuY3BwCmluZGV4IGYzOTRiZDYzMzZlNDQ0ODIyN2YxNmFlOTk5NmRlNTVm
MjRjY2Y4ZWQuLjc3MzIzM2MxNGZjMjFiNGUyODJjMWIxOWYyNTRiZjE5ZmIyNTIxYjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcApAQCAtMzE1LDcgKzMx
NSw4IEBAIExheW91dFJlY3QgUmVuZGVyTWVudUxpc3Q6OmNvbnRyb2xDbGlwUmVjdChjb25zdCBM
YXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkKIAogdm9pZCBSZW5kZXJNZW51TGlzdDo6Y29t
cHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBM
YXlvdXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7Ci0gICAgbWF4TG9naWNhbFdpZHRo
ID0gc3RkOjptYXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShz
dHlsZSgpKSkgKyBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkgKyBtX2lubmVyQmxvY2stPnBh
ZGRpbmdSaWdodCgpOworICAgIG1heExvZ2ljYWxXaWR0aCA9IHNob3VsZEFwcGx5U2l6ZUNvbnRh
aW5tZW50KCp0aGlzKSA/IHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgpKSA6IHN0
ZDo6bWF4KG1fb3B0aW9uc1dpZHRoLCB0aGVtZSgpLm1pbmltdW1NZW51TGlzdFNpemUoc3R5bGUo
KSkpOworICAgIG1heExvZ2ljYWxXaWR0aCArPSBtX2lubmVyQmxvY2stPnBhZGRpbmdMZWZ0KCkg
KyBtX2lubmVyQmxvY2stPnBhZGRpbmdSaWdodCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0aCgp
LmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQogICAgICAgICBtaW5Mb2dpY2FsV2lkdGggPSBtYXhM
b2dpY2FsV2lkdGg7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5GbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJN
dWx0aUNvbHVtbkZsb3cuY3BwCmluZGV4IDYxODVlNDcyNjM4YmQ3OWVlZDEwYTUwOTdiYTY1NWIw
ODI2YzgzNmEuLmJkYmU0YTcxNGQwYzZjN2E2M2RjY2M4MzU3MmJiMWY4NzA4ZTZhMGQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuY3Bw
CkBAIC0yMDMsNiArMjAzLDEyIEBAIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVN
aW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9jayogYmxvY2ssIExhCiAgICAgICAgIG11
bHRpY29sU2V0LT51cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KG1pbkhlaWdodCk7CiB9CiAKK3Zv
aWQgUmVuZGVyTXVsdGlDb2x1bW5GbG93Ojp1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRh
aW5tZW50KGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91
dFVuaXQgc2hvcnRhZ2UpCit7CisgICAgaWYgKGF1dG8qIG11bHRpY29sU2V0ID0gZG93bmNhc3Q8
UmVuZGVyTXVsdGlDb2x1bW5TZXQ+KGZyYWdtZW50QXRCbG9ja09mZnNldChibG9jaywgb2Zmc2V0
KSkpCisgICAgICAgIG11bHRpY29sU2V0LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRh
aW5tZW50KHNob3J0YWdlKTsKK30KKwogUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIFJlbmRlck11
bHRpQ29sdW1uRmxvdzo6ZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCogYm94
LCBMYXlvdXRVbml0IG9mZnNldCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQpIGNvbnN0CiB7CiAg
ICAgaWYgKCFtX2luTGF5b3V0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uRmxvdy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck11bHRpQ29sdW1uRmxvdy5oCmluZGV4IDBjODM5MThmOGVkYjZkMjAxMjU4ZjkwMGEyYmUxOGQz
OWYxM2U3NmQuLmViNmYwODg3OTQ1ODVlODI1NWRiN2MwYzg1ODhkMDJkYzFhNWVmOTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5GbG93LmgKQEAg
LTEwOCw2ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIExheW91dFVuaXQgaW5pdGlhbExvZ2ljYWxX
aWR0aCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRl
ckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSkgb3Zl
cnJpZGU7CiAgICAgdm9pZCB1cGRhdGVNaW5pbXVtUGFnZUhlaWdodChjb25zdCBSZW5kZXJCbG9j
ayosIExheW91dFVuaXQgb2Zmc2V0LCBMYXlvdXRVbml0IG1pbkhlaWdodCkgb3ZlcnJpZGU7Cisg
ICAgdm9pZCB1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRl
ckJsb2NrKiwgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgc2hvcnRhZ2UpIG92ZXJyaWRl
OwogICAgIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiBmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29u
c3QgUmVuZGVyQm94KiwgTGF5b3V0VW5pdCwgYm9vbCBleHRlbmRMYXN0RnJhZ21lbnQgPSBmYWxz
ZSkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRGcmFnbWVudFJhbmdlRm9yQm94KGNvbnN0
IFJlbmRlckJveCYsIFJlbmRlckZyYWdtZW50Q29udGFpbmVyKiwgUmVuZGVyRnJhZ21lbnRDb250
YWluZXIqKSBvdmVycmlkZTsKICAgICBib29sIGFkZEZvcmNlZEZyYWdtZW50QnJlYWsoY29uc3Qg
UmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0LCBSZW5kZXJCb3gqIGJyZWFrQ2hpbGQsIGJvb2wgaXNC
ZWZvcmUsIExheW91dFVuaXQqIG9mZnNldEJyZWFrQWRqdXN0bWVudCA9IDApIG92ZXJyaWRlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAK
aW5kZXggNTJkMTg0NWEyZjdlN2MzZmJjNjZmN2RlMTdiMDkzMzk5YTRlY2FiMC4uMGVmZDU5MzU5
YjRjYjIwNGM3ZDU2Mzc2Nzk0NWUxOTc5ZmIzYzMxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCkBAIC01MCw2ICs1MCw3IEBAIFJl
bmRlck11bHRpQ29sdW1uU2V0OjpSZW5kZXJNdWx0aUNvbHVtblNldChSZW5kZXJGcmFnbWVudGVk
RmxvdyYgZnJhZ21lbnRlZEZsb3csCiAgICAgLCBtX21heENvbHVtbkhlaWdodChSZW5kZXJGcmFn
bWVudGVkRmxvdzo6bWF4TG9naWNhbEhlaWdodCgpKQogICAgICwgbV9taW5TcGFjZVNob3J0YWdl
KFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pbmlt
dW1Db2x1bW5IZWlnaHQoMCkKKyAgICAsIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVu
dCgwKQogewogfQogCkBAIC0yMzUsMTUgKzIzNiwxNiBAQCBMYXlvdXRVbml0IFJlbmRlck11bHRp
Q29sdW1uU2V0OjpjYWxjdWxhdGVCYWxhbmNlZEhlaWdodChib29sIGluaXRpYWwpIGNvbnN0CiAg
ICAgICAgIHJldHVybiBzdGQ6Om1heDxMYXlvdXRVbml0PihtX2NvbnRlbnRSdW5zW2luZGV4XS5j
b2x1bW5Mb2dpY2FsSGVpZ2h0KHN0YXJ0T2Zmc2V0KSwgbV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsK
ICAgICB9CiAKKyAgICBMYXlvdXRVbml0IHNpemVDb250YWlubWVudFNob3J0YWdlID0gc3RkOjpt
YXg8TGF5b3V0VW5pdD4oTGF5b3V0VW5pdCgpLCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFp
bm1lbnQpOwogICAgIGlmIChjb2x1bW5Db3VudCgpIDw9IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkg
ewogICAgICAgICAvLyBXaXRoIHRoZSBjdXJyZW50IGNvbHVtbiBoZWlnaHQsIHRoZSBjb250ZW50
IGZpdHMgd2l0aG91dCBjcmVhdGluZyBvdmVyZmxvd2luZyBjb2x1bW5zLiBXZSdyZSBkb25lLgot
ICAgICAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodDsKKyAgICAgICAgcmV0dXJuIG1f
Y29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsKICAgICB9CiAK
ICAgICBpZiAoZm9yY2VkQnJlYWtzQ291bnQoKSA+PSBjb21wdXRlZENvbHVtbkNvdW50KCkpIHsK
ICAgICAgICAgLy8gVG9vIG1hbnkgZm9yY2VkIGJyZWFrcyB0byBhbGxvdyBhbnkgaW1wbGljaXQg
YnJlYWtzLiBJbml0aWFsIGJhbGFuY2luZyBzaG91bGQgYWxyZWFkeQogICAgICAgICAvLyBoYXZl
IHNldCBhIGdvb2QgaGVpZ2h0LiBUaGVyZSdzIG5vdGhpbmcgbW9yZSB3ZSBzaG91bGQgZG8uCi0g
ICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9j
b21wdXRlZENvbHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAog
ICAgIC8vIElmIHRoZSBpbml0aWFsIGd1ZXNzZWQgY29sdW1uIGhlaWdodCB3YXNuJ3QgZW5vdWdo
LCBzdHJldGNoIGl0IG5vdy4gU3RyZXRjaCBieSB0aGUgbG93ZXN0CkBAIC0yNTIsOSArMjU0LDEw
IEBAIExheW91dFVuaXQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVp
Z2h0KGJvb2wgaW5pdGlhbCkgY29uc3QKICAgICBBU1NFUlQobV9taW5TcGFjZVNob3J0YWdlID4g
MCk7IC8vIFdlIHNob3VsZCBuZXZlciBfc2hyaW5rXyB0aGUgaGVpZ2h0IQogICAgIC8vIEFTU0VS
VChtX21pblNwYWNlU2hvcnRhZ2UgIT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxI
ZWlnaHQoKSk7IC8vIElmIHRoaXMgaGFwcGVucywgd2UgcHJvYmFibHkgaGF2ZSBhIGJ1Zy4KICAg
ICBpZiAobV9taW5TcGFjZVNob3J0YWdlID09IFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dp
Y2FsSGVpZ2h0KCkpCi0gICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OyAvLyBT
byBiYWlsIG91dCByYXRoZXIgdGhhbiBsb29waW5nIGluZmluaXRlbHkuCisgICAgICAgIHJldHVy
biBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7IC8vIFNv
IGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KIAotICAgIHJldHVybiBt
X2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgbV9taW5TcGFjZVNob3J0YWdlOworICAgIGF1dG8gdG9B
ZGQgPSBzdGQ6Om1heDxMYXlvdXRVbml0PihzaXplQ29udGFpbm1lbnRTaG9ydGFnZSwgbV9taW5T
cGFjZVNob3J0YWdlKTsKKyAgICByZXR1cm4gbV9jb21wdXRlZENvbHVtbkhlaWdodCArIHRvQWRk
OwogfQogCiB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpjbGVhckZvcmNlZEJyZWFrcygpCkBA
IC0zNjUsNiArMzY4LDggQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxh
eW91dChib29sIGluaXRpYWwpCiAgICAgLy8gTnVrZSBwcmV2aW91c2x5IHN0b3JlZCBtaW5pbXVt
IGNvbHVtbiBoZWlnaHQuIENvbnRlbnRzIG1heSBoYXZlIGNoYW5nZWQgZm9yIGFsbCB3ZSBrbm93
LgogICAgIG1fbWluaW11bUNvbHVtbkhlaWdodCA9IDA7CiAKKyAgICBtX3NwYWNlU2hvcnRhZ2VG
b3JTaXplQ29udGFpbm1lbnQgPSAwOworCiAgICAgLy8gU3RhcnQgd2l0aCAiaW5maW5pdGUiIGZs
b3cgdGhyZWFkIHBvcnRpb24gaGVpZ2h0IHVudGlsIGhlaWdodCBpcyBrbm93bi4KICAgICBzZXRM
b2dpY2FsQm90dG9tSW5GcmFnbWVudGVkRmxvdyhSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9n
aWNhbEhlaWdodCgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck11bHRpQ29sdW1uU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5TZXQuaAppbmRleCBmNzNiZjkwYTMxNmUzOGVhODI1YTY5ZTg2NDI3Mzc2ZjYwZTU0
YTU5Li5jNDhhZTBhNGM3NTg2NWE1M2ZhNTViZmJlZjcyZDFiYjkyMjczZDc3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuaApAQCAtODMsNiAr
ODMsMTUgQEAgcHVibGljOgogICAgIHZvaWQgdXBkYXRlTWluaW11bUNvbHVtbkhlaWdodChMYXlv
dXRVbml0IGhlaWdodCkgeyBtX21pbmltdW1Db2x1bW5IZWlnaHQgPSBzdGQ6Om1heChoZWlnaHQs
IG1fbWluaW11bUNvbHVtbkhlaWdodCk7IH0KICAgICBMYXlvdXRVbml0IG1pbmltdW1Db2x1bW5I
ZWlnaHQoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Db2x1bW5IZWlnaHQ7IH0KIAorICAgIHZv
aWQgdXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudChMYXlvdXRVbml0IHNob3J0
YWdlKQorICAgIHsKKyAgICAgICAgaWYgKG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVu
dCA8PSAwKSB7CisgICAgICAgICAgICBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQg
PSBzaG9ydGFnZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBtX3Nw
YWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgPSBzdGQ6Om1pbihzaG9ydGFnZSwgbV9zcGFj
ZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KTsKKyAgICB9CisKICAgICB1bnNpZ25lZCBmb3Jj
ZWRCcmVha3NDb3VudCgpIGNvbnN0IHsgcmV0dXJuIG1fY29udGVudFJ1bnMuc2l6ZSgpOyB9CiAg
ICAgdm9pZCBjbGVhckZvcmNlZEJyZWFrcygpOwogICAgIHZvaWQgYWRkRm9yY2VkQnJlYWsoTGF5
b3V0VW5pdCBvZmZzZXRGcm9tRmlyc3RQYWdlKTsKQEAgLTE5OCw2ICsyMDcsNyBAQCBwcml2YXRl
OgogICAgIExheW91dFVuaXQgbV9tYXhDb2x1bW5IZWlnaHQ7IC8vIE1heGltdW0gY29sdW1uIGhl
aWdodCBhbGxvd2VkLgogICAgIExheW91dFVuaXQgbV9taW5TcGFjZVNob3J0YWdlOyAvLyBUaGUg
c21hbGxlc3QgYW1vdXQgb2Ygc3BhY2Ugc2hvcnRhZ2UgdGhhdCBjYXVzZWQgYSBjb2x1bW4gYnJl
YWsuCiAgICAgTGF5b3V0VW5pdCBtX21pbmltdW1Db2x1bW5IZWlnaHQ7CisgICAgTGF5b3V0VW5p
dCBtX3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQ7IC8vIFRoZSBzaG9ydGFnZSBzcGFj
ZSB0aGF0IGtlZXBzIHNpemUgY29udGFpbm1lbnQgbW9ub2xpdGhpYy4KIAogICAgIC8vIEEgcnVu
IG9mIGNvbnRlbnQgd2l0aG91dCBleHBsaWNpdCAoZm9yY2VkKSBicmVha3M7IGkuZS4gYSBmbG93
IHRocmVhZCBwb3J0aW9uIGJldHdlZW4gdHdvCiAgICAgLy8gZXhwbGljaXQgYnJlYWtzLCBiZXR3
ZWVuIGZsb3cgdGhyZWFkIHN0YXJ0IGFuZCBhbiBleHBsaWNpdCBicmVhaywgYmV0d2VlbiBhbiBl
eHBsaWNpdCBicmVhawpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApp
bmRleCBlNTRlZDlmM2FiMzdmZjFiZDM3OWZhODU3ZmY0NGE4YWUzYWRjMzg0Li5jNThiOTFiYzRl
M2JkNWYyYmE4NjU4Mzg3NzlkMTZhZjEzNThmNThiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjQ5OCwzICsyNDk4LDggQEAgYm9vbCBXZWJDb3JlOjpz
aG91bGRBcHBseUxheW91dENvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYg
cmVuZGVyZXIKIHsKICAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc0xheW91dCgp
ICYmICghcmVuZGVyZXIuaXNJbmxpbmUoKSB8fCByZW5kZXJlci5pc0F0b21pY0lubGluZUxldmVs
Qm94KCkpICYmICFyZW5kZXJlci5pc1J1YnlUZXh0KCkgJiYgKCFyZW5kZXJlci5pc1RhYmxlUGFy
dCgpIHx8IHJlbmRlcmVyLmlzUmVuZGVyQmxvY2tGbG93KCkpOwogfQorCitib29sIFdlYkNvcmU6
OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCYg
cmVuZGVyZXIpCit7CisgICAgcmV0dXJuIHJlbmRlcmVyLnN0eWxlKCkuY29udGFpbnNTaXplKCkg
JiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxC
b3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0
KCkgfHwgcmVuZGVyZXIuaXNUYWJsZUNhcHRpb24oKSkgJiYgIXJlbmRlcmVyLmlzVGFibGUoKTsK
K30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAzMWYwZjA3ZDU0
NzI3ZThjNTQ2YzU0N2M1N2QzMDQ1MWUxOTIzMmM2Li44NmZiNTNjOWVlNDFlZjZhZTVmZWMxMWRk
NWJlMDUzNGQ2M2Q0Y2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
CkBAIC0yMDEsNyArMjAxLDcgQEAgcHVibGljOgogICAgIGJvb2wgaXNSZW5kZXJJbmxpbmUoKSBj
b25zdDsKICAgICBib29sIGlzUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCgpIGNvbnN0OwogCi0gICAg
aW5saW5lIGJvb2wgaXNBdG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0OworICAgIGJvb2wgaXNB
dG9taWNJbmxpbmVMZXZlbEJveCgpIGNvbnN0OwogCiAgICAgdmlydHVhbCBib29sIGlzQ291bnRl
cigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzUXVvdGUoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQpAQCAtMTE3Myw3ICsxMTczLDcgQEAgaW5saW5lIFJlbmRl
ck9iamVjdCogUmVuZGVyT2JqZWN0OjpuZXh0SW5GbG93U2libGluZygpIGNvbnN0CiAgICAgcmV0
dXJuIG5leHRTaWJsaW5nOwogfQogCi1ib29sIFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVM
ZXZlbEJveCgpIGNvbnN0CitpbmxpbmUgYm9vbCBSZW5kZXJPYmplY3Q6OmlzQXRvbWljSW5saW5l
TGV2ZWxCb3goKSBjb25zdAogewogICAgIHJldHVybiBzdHlsZSgpLmlzRGlzcGxheUlubGluZVR5
cGUoKSAmJiAhKHN0eWxlKCkuZGlzcGxheSgpID09IERpc3BsYXlUeXBlOjpJbmxpbmUgJiYgIWlz
UmVwbGFjZWQoKSk7CiB9CkBAIC0xMTg3LDYgKzExODcsNyBAQCB2b2lkIHByaW50R3JhcGhpY3NM
YXllclRyZWVGb3JMaXZlRG9jdW1lbnRzKCk7CiAjZW5kaWYKIAogYm9vbCBzaG91bGRBcHBseUxh
eW91dENvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOworYm9vbCBzaG91bGRBcHBseVNp
emVDb250YWlubWVudChjb25zdCBSZW5kZXJPYmplY3QmKTsKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFj
ZWQuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmNwcAppbmRl
eCAyYTkzOWNlNWJhODQwNzUzYmQ1OWYzNmIwNzJjM2FlOGM1M2QyZDRlLi44ZmUzM2IwMDM3OWEw
YTgwYThmYjg5MjZiNjFiYTZkZDc4ZDZlNjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJSZXBsYWNlZC5jcHAKQEAgLTM5MSw3ICszOTEsOSBAQCBib29sIFJlbmRlclJlcGxh
Y2VkOjpzZXROZWVkc0xheW91dElmTmVlZGVkQWZ0ZXJJbnRyaW5zaWNTaXplQ2hhbmdlKCkKIHZv
aWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVBc3BlY3RSYXRpb0luZm9ybWF0aW9uRm9yUmVuZGVy
Qm94KFJlbmRlckJveCogY29udGVudFJlbmRlcmVyLCBGbG9hdFNpemUmIGNvbnN0cmFpbmVkU2l6
ZSwgZG91YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICBGbG9hdFNpemUgaW50cmlu
c2ljU2l6ZTsKLSAgICBpZiAoY29udGVudFJlbmRlcmVyKSB7CisgICAgaWYgKHNob3VsZEFwcGx5
U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJ
bnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNpY1JhdGlvKTsK
KyAgICBlbHNlIGlmIChjb250ZW50UmVuZGVyZXIpIHsKICAgICAgICAgY29udGVudFJlbmRlcmVy
LT5jb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5z
aWNSYXRpbyk7CiAKICAgICAgICAgaWYgKHN0eWxlKCkuYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNw
ZWN0UmF0aW9UeXBlOjpSYXRpbyB8fCAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3Bl
Y3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAmJiAhaW50cmluc2ljUmF0aW8pKQpAQCAtNDk2LDcg
KzQ5OCw3IEBAIE9wdGlvbmFsPGRvdWJsZT4gUmVuZGVyUmVwbGFjZWQ6OmludHJpbnNpY0FzcGVj
dFJhdGlvRnJvbVdpZHRoSGVpZ2h0KCkgY29uc3QKIHZvaWQgUmVuZGVyUmVwbGFjZWQ6OmNvbXB1
dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKEZsb2F0U2l6ZSYgaW50cmluc2ljU2l6ZSwgZG91
YmxlJiBpbnRyaW5zaWNSYXRpbykgY29uc3QKIHsKICAgICAvLyBJZiB0aGVyZSdzIGFuIGVtYmVk
ZGVkQ29udGVudEJveCgpIG9mIGEgcmVtb3RlLCByZWZlcmVuY2VkIGRvY3VtZW50IGF2YWlsYWJs
ZSwgdGhpcyBjb2RlLXBhdGggc2hvdWxkIG5ldmVyIGJlIHVzZWQuCi0gICAgQVNTRVJUKCFlbWJl
ZGRlZENvbnRlbnRCb3goKSk7CisgICAgQVNTRVJUKCFlbWJlZGRlZENvbnRlbnRCb3goKSB8fCBz
aG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpOwogICAgIGludHJpbnNpY1NpemUgPSBG
bG9hdFNpemUoaW50cmluc2ljTG9naWNhbFdpZHRoKCksIGludHJpbnNpY0xvZ2ljYWxIZWlnaHQo
KSk7CiAKICAgICBpZiAoc3R5bGUoKS5oYXNBc3BlY3RSYXRpbygpKSB7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCmluZGV4IDNiNjFmNDlkNWExNzBiYjIzNTBiZGY2
NzBjNjE5ODAwNTk2ZGM1MWYuLjk5YmFhMDlmODhmOTUyYmRkNWI1NzhjNjJiM2ZkZmJlNWFlYmZj
MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oCkBAIC00MCw3
ICs0MCwxMiBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYXNSZXBsYWNlZExvZ2ljYWxIZWlnaHQoKSBj
b25zdDsKICAgICBib29sIHNldE5lZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVD
aGFuZ2UoKTsKIAotICAgIExheW91dFNpemUgaW50cmluc2ljU2l6ZSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIG1faW50cmluc2ljU2l6ZTsgfQorICAgIExheW91dFNpemUgaW50cmluc2ljU2l6ZSgp
IGNvbnN0IGZpbmFsCisgICAgeworICAgICAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1l
bnQoKnRoaXMpKQorICAgICAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKyAgICAgICAgcmV0
dXJuIG1faW50cmluc2ljU2l6ZTsKKyAgICB9CiAgICAgCiAgICAgUm91bmRlZFJlY3Qgcm91bmRl
ZENvbnRlbnRCb3hSZWN0KCkgY29uc3Q7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyU2xpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTbGlkZXIuY3BwCmluZGV4IDQ3MTY5ZWRmOThlMTQyOGM0YTA3NzBmMmY0ZWZjMGI1OGQ4
MTNjN2IuLjllOTQ0YmUwMGJiMDJlMzg1MWE0M2Q1NjY2NjE5ZjdjNDI5YTVkOTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwCkBAIC02OSw2ICs2OSw4IEBAIExh
eW91dFVuaXQgUmVuZGVyU2xpZGVyOjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSwgYm9v
bCAvKmZpcnN0TGluZSovLCBMaW5lCiAKIHZvaWQgUmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmlu
c2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQm
IG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKnRoaXMpKQorICAgICAgICByZXR1cm47CiAgICAgbWF4TG9naWNhbFdpZHRoID0gZGVm
YXVsdFRyYWNrTGVuZ3RoICogc3R5bGUoKS5lZmZlY3RpdmVab29tKCk7CiAgICAgaWYgKCFzdHls
ZSgpLndpZHRoKCkuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxX
aWR0aCA9IG1heExvZ2ljYWxXaWR0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IGRjMDU4ZDUzNDY3YWEzY2ZhYmY4NTJmMzMxZWYwMWYz
MTU1MzIxZjQuLjI0MmFjYTNhMDZiOTE1NzRhNzQ4YjEzZWNlZmE4MGM2MTcyYjljNTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcApAQCAtMTU2
LDYgKzE1Niw4IEBAIGZsb2F0IFJlbmRlclRleHRDb250cm9sOjpzY2FsZUVtVG9Vbml0cyhpbnQg
eCkgY29uc3QKIAogdm9pZCBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dp
Y2FsV2lkdGgpIGNvbnN0CiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0
aGlzKSkKKyAgICAgICAgcmV0dXJuOwogICAgIC8vIFVzZSBhdmVyYWdlIGNoYXJhY3RlciB3aWR0
aC4gTWF0Y2hlcyBJRS4KICAgICBtYXhMb2dpY2FsV2lkdGggPSBwcmVmZXJyZWRDb250ZW50TG9n
aWNhbFdpZHRoKGNvbnN0X2Nhc3Q8UmVuZGVyVGV4dENvbnRyb2wqPih0aGlzKS0+Z2V0QXZlcmFn
ZUNoYXJXaWR0aCgpKTsKICAgICBpZiAoUmVuZGVyQm94KiBpbm5lclRleHRSZW5kZXJCb3ggPSBp
bm5lclRleHRFbGVtZW50KCktPnJlbmRlckJveCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJWaWRlby5jcHAKaW5kZXggYzZkMDQ0MTY2Y2NmZDViYzdjOGYxOWUwYWFiYzIxYzU4MDM4
MjFmOS4uMjkyOGRkNGRjYWZlZDJhNGMwN2JhZDBkMTRhZTQzMzkwZTU5Y2E5MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZGVvLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCkBAIC0xMjMsNiArMTIzLDkgQEAgYm9v
bCBSZW5kZXJWaWRlbzo6dXBkYXRlSW50cmluc2ljU2l6ZSgpCiAKIExheW91dFNpemUgUmVuZGVy
VmlkZW86OmNhbGN1bGF0ZUludHJpbnNpY1NpemUoKQogeworICAgIGlmIChzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgqdGhpcykpCisgICAgICAgIHJldHVybiBMYXlvdXRTaXplKCk7CisKICAg
ICAvLyBTcGVjIHRleHQgZnJvbSA0LjguNgogICAgIC8vCiAgICAgLy8gVGhlIGludHJpbnNpYyB3
aWR0aCBvZiBhIHZpZGVvIGVsZW1lbnQncyBwbGF5YmFjayBhcmVhIGlzIHRoZSBpbnRyaW5zaWMg
d2lkdGggCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCmlu
ZGV4IGRmNTVlZTYyMmU2ZTEwM2E1ODI4ZDQ2YTU5ZTkzOWViMDdjOGQ4NzMuLjBhNTY4ZmNiYzM0
NGM5NTA1MTFiNmQzOWM0ZmEwZjRjMjA1NWVhZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdHlsZS9SZW5kZXJTdHlsZS5oCkBAIC01MjcsNiArNTI3LDcgQEAgcHVibGljOgogICAg
IGJvb2wgaGFzQXNwZWN0UmF0aW8oKSBjb25zdCB7IHJldHVybiBhc3BlY3RSYXRpb1R5cGUoKSA9
PSBBc3BlY3RSYXRpb1R5cGU6OlJhdGlvIHx8IGFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVjdFJh
dGlvVHlwZTo6QXV0b0FuZFJhdGlvOyB9CiAgICAgT3B0aW9uU2V0PENvbnRhaW5tZW50PiBjb250
YWluKCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+Y29udGFpbjsgfQog
ICAgIGJvb2wgY29udGFpbnNMYXlvdXQoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0
ZWREYXRhLT5jb250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpMYXlvdXQpOyB9CisgICAgYm9v
bCBjb250YWluc1NpemUoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5j
b250YWluLmNvbnRhaW5zKENvbnRhaW5tZW50OjpTaXplKTsgfQogICAgIEJveEFsaWdubWVudCBi
b3hBbGlnbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEJveEFsaWdubWVudD4obV9yYXJl
Tm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRlZEZsZXhpYmxlQm94LT5hbGlnbik7IH0KICAgICBC
b3hEaXJlY3Rpb24gYm94RGlyZWN0aW9uKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94
RGlyZWN0aW9uPihtX2luaGVyaXRlZEZsYWdzLmJveERpcmVjdGlvbik7IH0KICAgICBmbG9hdCBi
b3hGbGV4KCkgY29uc3QgeyByZXR1cm4gbV9yYXJlTm9uSW5oZXJpdGVkRGF0YS0+ZGVwcmVjYXRl
ZEZsZXhpYmxlQm94LT5mbGV4OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9S
ZW5kZXJTVkdSb290LmNwcAppbmRleCBmYmRlNGI0NmVjMWQxZTU3MmExZTVlY2JiYjc4MDNkYTc1
YjNmMzllLi4xNjFlODMwYzI5OTRhOGY5MzdkYzgxNjcyMWZjZTdmZDIxODRmNzFiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1JlbmRlclNWR1Jvb3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKQEAgLTcwLDYg
KzcwLDggQEAgU1ZHU1ZHRWxlbWVudCYgUmVuZGVyU1ZHUm9vdDo6c3ZnU1ZHRWxlbWVudCgpIGNv
bnN0CiAKIHZvaWQgUmVuZGVyU1ZHUm9vdDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRp
b24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25z
dAogeworICAgIEFTU0VSVCghc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKTsKKwog
ICAgIC8vIFNwZWM6IGh0dHA6Ly93d3cudzMub3JnL1RSL1NWRy9jb29yZHMuaHRtbCNJbnRyaW5z
aWNTaXppbmcKICAgICAvLyBTVkcgbmVlZHMgdG8gc3BlY2lmeSBob3cgdG8gY2FsY3VsYXRlIHNv
bWUgaW50cmluc2ljIHNpemluZyBwcm9wZXJ0aWVzIHRvIGVuYWJsZSBpbmNsdXNpb24gd2l0aGlu
IG90aGVyIGxhbmd1YWdlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg5ZWY5YjEzNGQ5NzQ4NGFmOGFlMjQ4NjQyYzc1
MjliYTVkZTA5NmMuLjQzMjk4ZjBiYmRiMTgxMzBjZWZlZTNhYWUzNWRlNjE5MDQwN2I2NTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wNS0wNCAgQ2F0aGllIENoZW4gIDxjYXRoaWVjaGVu
QGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNvbnRhaW46c2l6
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIzNTcw
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFzLgorCisgICAgICAgIFVwZGF0ZSB0
aGUgdGVzdCByZXN1bHQgZm9yIHNpemUgY29udGFpbm1lbnQuIEFkZGVkIGV4cGxhbmF0aW9ucyBm
b3Igc2l6ZSBjb250YWlubWVudCB0ZXN0cworICAgICAgICB0aGF0IGRlcGVuZGVkIG9uIG90aGVy
IGZlYXR1cmVzLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKwogMjAyMS0wNS0xMCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIFsgbWFjT1MgUmVsZWFz
ZSB3azIgXSBodHRwL3Rlc3RzL2NhY2hlLXN0b3JhZ2UvY2FjaGUtcmVjb3Jkcy1wZXJzaXN0ZW5j
eS5odHRwcy5odG1sIGlzIGZsYWt5IGNyYXNoaW5nCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZwppbmRleCBjMzdiOTU3NDczZTA1ZjkyMWE2ZTI0ZGM0MDNkMTg1OTEyYmJmZWI2Li5kZjJhMzJh
NDRiMjUxNTA0OTI4MDYxZjI3MmYzYTZjNjg3Y2U3NTY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAyMS0wNS0wNCAgQ2F0aGllIENoZW4gIDxjYXRo
aWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWluXSBTdXBwb3J0IGNvbnRh
aW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgWmFsYW4gQnVqdGFzLgorCisgICAgICAgIDxj
YW52YXM+IGFuZCA8dmlkZW8+IGRvbid0IHN1cHBvcnQgY29tcHV0aW5nIGFzcGVjdCByYXRpbyBm
cm9tIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyB5ZXQsCisgICAgICAgIHNvIHRoZSBoZWln
aHRzIGFyZSB6ZXJvIHdoZW4gdGhleSBhcmUgd2l0aCAiY29udGFpbjogc2l6ZSIuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlk
LTAwMy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFz
LWZsZXgtaXRlbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVu
dHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3Bl
Y3QtcmF0aW8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250
ZW50LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0w
NS0xMCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcGxlbWVudCA8
Zm9ybT4ucmVxdWVzdFN1Ym1pdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0
YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YjA0MDExNDZkZTIw
OGI1NDYzOGQ5ZjMzZGVkMmQwYThlMzFjMDQxLi4xMDU4NWYwN2ZlZGM5MTU2MTU5OTgzMzg0NDQ0
YWIzNDgxOWQ0MzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2NDYsNyArNDY0Niw2IEBAIHdl
YmFuaW1hdGlvbnMvdHJhbnNmb3JtLXByb3BlcnR5LWFuZC10cmFuc2Zvcm0tYW5pbWF0aW9uLXdp
dGgtZGVsYXktb24tZm9yY2VkLWxhCiB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1h
bmQtdHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYXllci5odG1sIFsg
U2tpcCBdCiAKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1hbmltYXRpb24tMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHkt
MDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ2NjMsNyArNDY2Miw2IEBAIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJp
bGl0eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAy
Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC1zaXplLTAwMy5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAw
NC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCkBAIC00NzA1LDY4ICs0NzAzLDggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAKIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFp
bnQtc3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
dGFibGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQot
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1z
aXplLTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIxLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyNS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDI3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRh
aW4tc2l6ZS0wNDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA0Mi5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtMDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0w
NjEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2Mi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtMDYzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjQuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0w
MDMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwNC5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtYm9yZGVycy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
YnJlYWtzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtZmllbGRzZXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1m
aWVsZHNldC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDA0Lmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
ZmxleGJveC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAxLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtZ3JpZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1i
bG9jay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDIu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWlubGluZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtbW9ub2xpdGhpYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRo
aWMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtbXVsdGljb2wtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1y
ZXBsYWNlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtcmVwbGFjZWQtMDAzYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFj
ZWQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDUuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtc2Nyb2xsYmFycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LXNjcm9sbGJhcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJz
LTAwMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxl
Y3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAw
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA0Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLXRhYmxlLWNhcHRpb24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c3RyaWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zdHJpY3QtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3Ry
aWN0LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCkBAIC00ODAyLDYgKzQ3NDAsMzEgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDQuaHRtbCBbIEltYWdlT24K
ICMgRmxha3kgY3NzLWNvbnRhaW4gdGVzdAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxv
Y2suaHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAKKyMgQ2FudmFzIGRvZXNuJ3QgZ2V0IGRlZmF1bHQg
YXNwZWN0LXJhdGlvIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMuCit3ZWJraXQub3Jn
L2IvMjE3NTI5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94
L2NhbnZhcy1jb250YWluLXNpemUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENvbnRl
bnQgaXMgcGFpbnRlZCBvbiBzdmcncyBwYWRkaW5nIGFyZWEuCit3ZWJraXQub3JnL2IvNDI1ODY4
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIE11bHRpY29s
dW1uIGRvZXMgbm90IHBhaW50IHRoZSBob3Jpem9udGFsIG92ZXJmbG93IGFyZWEgb2YgYSByZWxh
dGl2ZSBjaGlsZC4KK3dlYmtpdC5vcmcvYi80MTc5NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDIuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQorCisjIEJ1dHRvbnMgd2l0aCBhdXRvIHdpZHRoIGFuZCBoZWln
aHQgaGFzIGV4dHJhIG1hcmdpbnMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgU2Ny
b2xsYmFyIGRpc3BsYXlzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWls
dXJlIF0KKworIyBTZWxlY3Qgd2l0aCBlbXB0eSBjb250ZW50IGFsd2F5cyBoYXMgcm9vdCBsaW5l
Ym94LCBzbyB0aGUgaGVpZ2h0cyBhcmUgZGlmZmVyZW50LgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDEuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQorCisjIENTUyBwcm9wZXJ0eSBjb2xvciBpcyBub3Qgd29ya2luZyBpbiBzZWxlY3QgZWxl
bWVudHMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1zZWxlY3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCiAjIFRlc3RzIHRo
YXQgZmFpbCBiZWNhdXNlIHRoZXkgYXNzdW1lIGEgdmVydGljYWwgc2Nyb2xsYmFyIGluIGB3cml0
aW5nLW1vZGU6IHZlcnRpY2FsLXJsYCBlbGVtZW50cyB3aWxsIGJlIG9uIHRoZSByaWdodC1oYW5k
IHNpZGUKIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLXdyaXRpbmctbW9kZXMvc2l6aW5nLW9ydGhvZy12cmwtaW4taHRiLTAxMy54aHQg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9jc3NvbS1nZXRCb3VuZGluZ0NsaWVudFJl
Y3QtdmVydGljYWwtcmwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4v
Y29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlk
LTAwMy1leHBlY3RlZC50eHQKaW5kZXggZTE2ZDY3ZGJmN2Q0NTI0YWY3ZjMxMTAzMDlmOTc4Mjk5
MDQxYzJkMi4uNTFlOGUyMDAyZmY3Y2E3NDJjOTVlMzk0NmZkMWNjOGJmZjdiMTFmNCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0zNiwxOSArMzYsOCBAQCBQQVNTIC5n
cmlkIDM0CiBQQVNTIC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1GQUlM
IC5ncmlkIDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDog
cmVwZWF0KGF1dG8tZml0LCA3NXB4KSAvIHJlcGVhdChhdXRvLWZpdCwgMTAwcHgpOyIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICAgIDxkaXY+PC9k
aXY+Ci0gIDwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDEwMAotRkFJTCAuZ3JpZCAz
OSBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCIgc3R5bGU9ImdyaWQ6IGF1dG8gNTBw
eCAvIDEwMHB4IGF1dG87IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSI1MCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjAiPlg8L2Rp
dj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
IjEwIiBkYXRhLW9mZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjAiPlhYPC9kaXY+Ci0gIDxk
aXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRh
dGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFg8L2Rpdj4KLSAgPGRpdiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRhLW9mZnNl
dC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4
cGVjdGVkIDEwMCBidXQgZ290IDE0MAorUEFTUyAuZ3JpZCAzOAorUEFTUyAuZ3JpZCAzOQogCiBY
CiBYWApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQKaW5kZXggNzBjZDdlNjE5MWQw
ZmZkYmE1MjI2NDI0NmI4YTgxY2YzNDgzZGYzOC4uZTBhMWM5ZDUxZmJmNGI2YTU2MjRkZjQxYjlm
YjIyMWM0NWVmNmJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CkBAIC0x
LDM4ICsxLDE4IEBACiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVhbHM6
Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0
aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwotRkFJ
TCAuZ3JpZCA0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4LWNv
bnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+
WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5n
cmlkIDQKIFBBU1MgLmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwgLmdy
aWQgOCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50IiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5YWFhY
PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQg
OAogUEFTUyAuZ3JpZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNz
PSJncmlkIGNhbGMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQg
MCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3JpZCAx
MgogUEFTUyAuZ3JpZCAxMwotRkFJTCAuZ3JpZCAxNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFz
cz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+
Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCitQQVNTIC5ncmlkIDE0CiBQQVNTIC5ncmlk
IDE1CiBQQVNTIC5ncmlkIDE2CiBQQVNTIC5ncmlkIDE3CkBAIC00MCw2NyArMjAsMzEgQEAgUEFT
UyAuZ3JpZCAxOAogUEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3JpZCAyMQot
RkFJTCAuZ3JpZCAyMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtZml4
ZWQtcGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBk
YXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0
ZWQgMTAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQQVNTIC5n
cmlkIDI0CiBQQVNTIC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6Ci08ZGl2
IGNsYXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+
Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNTIC5ncmlk
IDI3Ci1GQUlMIC5ncmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1h
eC1wZXJjZW50LWZsZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0
YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAw
IGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI4CiBQQVNTIC5ncmlkIDI5CiBQQVNTIC5ncmlkIDMw
CiBQQVNTIC5ncmlkIDMxCi1GQUlMIC5ncmlkIDMyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNz
PSJncmlkIG1pbm1heC1pbnRyaW5zaWMtcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3Rl
ZC1oZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rp
dj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzIKIFBBU1MgLmdy
aWQgMzMKLUZBSUwgLmdyaWQgMzQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlu
bWF4LWludHJpbnNpYy1wZXJjZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0i
MCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9
Ijc1IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGgg
ZXhwZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzNAogUEFTUyAuZ3JpZCAzNQogUEFT
UyAuZ3JpZCAzNgogUEFTUyAuZ3JpZCAzNwotRkFJTCAuZ3JpZCAzOCBhc3NlcnRfZXF1YWxzOgot
PGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1pbnRyaW5zaWMgbWluLWNvbnRlbnQiIGRh
dGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBk
YXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2
PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDM4CiBQ
QVNTIC5ncmlkIDM5Ci1GQUlMIC5ncmlkIDQwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIG1pbm1heC1wZXJjZW50LWludHJpbnNpYyBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdp
ZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQgNDEK
IFBBU1MgLmdyaWQgNDIKIFBBU1MgLmdyaWQgNDMKLUZBSUwgLmdyaWQgNDQgYXNzZXJ0X2VxdWFs
czoKLTxkaXYgY2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0
ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVj
dGVkLWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9k
aXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ0CiBQQVNTIC5n
cmlkIDQ1Ci1GQUlMIC5ncmlkIDQ2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGZp
dC1jb250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCA0NgogUEFTUyAuZ3JpZCA0NwogUEFTUyAuZ3JpZCA0OAog
WFhYWApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVj
dGVkLnR4dAppbmRleCAzZTE0MDg2N2I3ZTcyMTQ2MTFjYzUyOWFiYjQ4NWZkMmY4ZTFiOTQ3Li4z
ZTc5OTFjMWMwNTFhNzc2NjNkZDc1NzEyMjlhMDNjYTcxZTMyNmIyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9j
b250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwxMSAr
MSw1IEBACiBUaGVyZSBzaG91bGQgYmUgYSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJTCAj
ZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVsdGlj
b2wiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+
Ci0gICAgPGRpdiBzdHlsZT0id2lkdGg6MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0gIDwv
ZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2ZsZXgg
MQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1m
bGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IDc0NGRj
NGY2MmFmMTAyMzM4OTVmZmM4YWI2ZmZkNDNkZWRkOWI4NzAuLmNjMGJhYzc1OGE4NjZkNGFlZWM3
NWFjZThlZTdkODMzYmYxZGMxZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1z
dHJpY3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhw
ZWN0ZWQudHh0CkBAIC0xNywyOCArMTcsMTIgQEAgQ29sdW1uCiAKIFJvdwogCi1GQUlMIC5pbmxp
bmUtZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9
ImRpc3BsYXk6IGlubGluZS1mbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJj
b250YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhl
aWdodD0iMCI+Q29sdW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCA1
MgotRkFJTCAuaW5saW5lLWZsZXggMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5l
LWZsZXgiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4K
LSAgPGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIg
ZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPlJvdzwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3Rl
ZCAwIGJ1dCBnb3QgMzAKK1BBU1MgLmlubGluZS1mbGV4IDEKK1BBU1MgLmlubGluZS1mbGV4IDIK
IFBBU1MgLmlubGluZS1mbGV4IDMKIFBBU1MgLmlubGluZS1mbGV4IDQKLUZBSUwgLmlubGluZS1m
bGV4IDUgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iZmxl
eC1kaXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNv
bnRhaW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIj5Db2x1bW48L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDUy
Ci1GQUlMIC5pbmxpbmUtZmxleCA2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUt
ZmxleCIgc3R5bGU9ImFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIgZGF0YS1leHBlY3RlZC13aWR0
aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBz
dHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+
Um93PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAuaW5s
aW5lLWZsZXggNQorUEFTUyAuaW5saW5lLWZsZXggNgogUEFTUyAuaW5saW5lLWZsZXggNwogUEFT
UyAuaW5saW5lLWZsZXggOAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJp
YnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy9jYW52YXMtYXNwZWN0LXJhdGlv
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRk
ZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0Cmlu
ZGV4IGFiY2JhMDMwODU1NWU2ZGVjZTQyN2NlMWFiM2ZhNTYwYzRmMzdkMDUuLmU2ZmNlOTY5MDQ5
NTNlYmZiNmM1ODc2MTZlOGJlZTk1YmZhMGFkMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxl
bWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1h
c3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmli
dXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8t
ZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiAKLVBBU1MgQ2FudmFzIHdpZHRoIGFuZCBo
ZWlnaHQgYXR0cmlidXRlcyBhcmUgdXNlZCBhcyB0aGUgc3VyZmFjZSBzaXplIHdpdGggY29udGFp
bjpzaXplCitGQUlMIENhbnZhcyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHVzZWQg
YXMgdGhlIHN1cmZhY2Ugc2l6ZSB3aXRoIGNvbnRhaW46c2l6ZSBhc3NlcnRfYXBwcm94X2VxdWFs
czogZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290IEluZmluaXR5CiBQQVNTIENhbnZhcyB3
aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHVzZWQgYXMgdGhlIHN1cmZhY2Ugc2l6ZQog
RkFJTCBDb21wdXRlZCBzdHlsZSB0ZXN0OiBjYW52YXMgd2l0aCB7IndpZHRoIjoiMTAiLCJoZWln
aHQiOiIyMCJ9IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJhdXRvIDEwIC8gMjAiIGJ1dCBnb3Qg
ImF1dG8iCiBQQVNTIENvbXB1dGVkIHN0eWxlIHRlc3Q6IGNhbnZhcyB3aXRoIHsid2lkdGgiOiIw
IiwiaGVpZ2h0IjoiMSJ9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0
ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0aW8tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9o
dG1sL3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1j
b250ZW50LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dAppbmRleCAx
YTYwNDQxZTRkMzY4NWUxMjkyZWUyMGEyMzZjZTg1MmJmODUzZTVhLi4zYzQ1YzdlNDM2ZjA4YTQ2
YmRhODJmZGI0NjAwNjEzODBjOTFhYmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRz
L2F0dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3Qt
cmF0aW8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1m
b3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3Rl
ZC50eHQKQEAgLTEsNiArMSw2IEBACiAKIAotRkFJTCBWaWRlbyB3aWR0aCBhbmQgaGVpZ2h0IGF0
dHJpYnV0ZXMgYXJlIG5vdCB1c2VkIHRvIGluZmVyIGFzcGVjdC1yYXRpbyBhc3NlcnRfYXBwcm94
X2VxdWFsczogZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290IDIKK0ZBSUwgVmlkZW8gd2lk
dGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCB0byBpbmZlciBhc3BlY3QtcmF0
aW8gYXNzZXJ0X2FwcHJveF9lcXVhbHM6IGV4cGVjdGVkIDIuNSArLy0gMC4wMDEgYnV0IGdvdCBJ
bmZpbml0eQogRkFJTCBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRlbyB3aXRoIHsid2lkdGgiOiIx
MCIsImhlaWdodCI6IjIwIn0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMTAgLyAyMCIg
YnV0IGdvdCAiYXV0byIKIEZBSUwgQ29tcHV0ZWQgc3R5bGUgdGVzdDogdmlkZW8gd2l0aCB7Indp
ZHRoIjoiMC41IiwiaGVpZ2h0IjoiMS41In0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8g
MC41IC8gMS41IiBidXQgZ290ICJhdXRvIgogUEFTUyBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRl
byB3aXRoIHsid2lkdGgiOiIwIiwiaGVpZ2h0IjoiMSJ9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428264</attachid>
            <date>2021-05-11 05:12:04 -0700</date>
            <delta_ts>2021-05-11 05:49:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-223570-20210511201155.patch</filename>
            <type>text/plain</type>
            <size>69970</size>
            <attacher name="cathiechen">cathiechen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MzE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM5NWUzZjM4N2M2MTg2
NGNiNTNmNzBlYjRiZGUxNjZjNGU5ZmJmNy4uY2EyNTgyMDkwMjA2NmU1NTkzZDFlMzU1YTJiYzA4
MWFjOWZkZTY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEwMCBAQAorMjAyMS0wNS0wNCAgQ2F0
aGllIENoZW4gIDxjYXRoaWVjaGVuQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0NTUyBjb250YWlu
XSBTdXBwb3J0IGNvbnRhaW46c2l6ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjIzNTcwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxhbiBCdWp0YXMu
CisKKyAgICAgICAgVGhpcyBwYXRjaCBicmluZ3MgaW5pdGlhbCBzdXBwb3J0IG9mIENTUyBjb250
YWluOnNpemUgYWNjb3JkaW5nIHRvIFsxXS4KKyAgICAgICAgSXQgYWRkcyBzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgpIHRvIGluZGljYXRlIHdoZXRoZXIgdGhlIG9iamVjdCBpcyBhIHNpemUg
Y29udGFpbm1lbnQgYm94LgorICAgICAgICBUaGUgaW50cmluc2ljIHNpemVzIG9mIHNpemUgY29u
dGFpbm1lbnQgYm94IGFyZSBkZXRlcm1pbmVkIGFzIGlmIGl0IGhhZCBubyBjb250ZW50LgorICAg
ICAgICBTbyB0aGUgaW1wbGVtZW50YXRpb24gbmVlZCB0byBjb29wZXJhdGUgd2l0aCB0aGUgbGF5
b3V0IHN0ZXBzOgorICAgICAgICAgIC0gQ29tcHV0aW5nIGxvZ2ljYWwgd2lkdGg6IFNpemUgY29u
dGFpbm1lbnQgYm94ZXMgc2tpcCBoYW5kbGluZyBjaGlsZHJlbiB3aGlsZSBjb21wdXRpbmcgbWlu
TG9naWNhbFdpZHRoCisgICAgICAgICAgYW5kIG1heExvZ2ljYWxXaWR0aCBpbiBjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocy4gU28gdGhlIGxvZ2ljYWwgd2lkdGggaXMgbm90IGFmZmVjdGVk
IGJ5IGNoaWxkcmVuLgorICAgICAgICAgIC0gTGF5b3V0IGNoaWxkcmVuOiBUaGUgbG9naWNhbCBo
ZWlnaHQgaXMgY2hhbmdlZCBhZnRlciBsYXlvdXQgYWxsIGNoaWxkcmVuLgorICAgICAgICAgIC0g
Q29tcHV0aW5nIGxvZ2ljYWwgaGVpZ2h0OiBBdCB0aGUgYmVnaW5uaW5nLCBzaXplIGNvbnRhaW5t
ZW50IGJveGVzIG5lZWQgdG8gcmVzZXQgbG9naWNhbCBoZWlnaHQgdG8gdGhlIGVtcHR5IGNvbnRl
bnQgaGVpZ2h0CisgICAgICAgICAgaWYgaXQgaXMgbm90IHJlbmRlckdyaWQuIFNvIHRoZSBsb2dp
Y2FsIGhlaWdodCBpcyBub3QgYWZmZWN0ZWQgYnkgY2hpbGRyZW4uCisgICAgICAgIFdlIGFsc28g
bmVlZCB0byBjYWxjdWxhdGUgdGhlIHNpemVzIGFjY29yZGluZyB0byB0aGUgbGF5b3V0IGFsZ29y
aXRobXMuCisgICAgICAgIC0gR3JpZCBsYXlvdXQ6CisgICAgICAgICAgVG8gY2FsY3VsYXRlIHRo
ZSBtaW5Mb2dpY2FsV2lkdGggYW5kIG1heExvZ2ljYWxXaWR0aCBmb3IgaW5kZWZpbml0ZSBzaXpl
IFJlbmRlckdyaWQuCisgICAgICAgICAgVGhlIHdpZHRocyBhcmUgY2FsY3VsYXRlZCBieSBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG06IG1fbWluQ29udGVudFNpemUgYW5kIG1fbWF4Q29udGVudFNp
emUgd2hpY2ggYXJlIHRoZSBzdW0gb2YKKyAgICAgICAgICBtX2Jhc2VTaXplL21fZ3Jvd3RoTGlt
aXQgb2YgYWxsIEdyaWRUcmFja3MuIFRoZSBzaXplIGNvbnRhaW5tZW50IFJlbmRlckdyaWQgc2tp
cHMgaGFuZGxpbmcgY29udGVudCBpbiByZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcworICAgICAg
ICAgIGFuZCB0aGUgbV9tYXhDb250ZW50U2l6ZSB3aWxsIGJlIHRoZSBzdW0gb2YgbV9iYXNlU2l6
ZS4gVGhlIGxvZ2ljYWwgaGVpZ2h0IGlzIHNhbWUgdG8gd2lkdGgsIGJ1dCBhZnRlciBjYWxjdWxh
dGluZworICAgICAgICAgIFJlbmRlckdyaWQncyBsb2dpY2FsIGhlaWdodCwgaXQgbmVlZHMgdG8g
Y2FsY3VsYXRlIHRoZSB0cmFjayBzaXplcyBhZ2FpbiwgdG8gbWFrZSBzdXJlIHRoYXQgdGhleSBh
cmUgZGlzdHJpYnV0ZWQgcHJvcGVybHkuCisgICAgICAgICAgV2UgdXNlIGNvbXB1dGVUcmFja1Np
emVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIHRyYWNrQmFzZWRMb2dpY2FsSGVpZ2h0KSB0byBy
ZWNhbGN1bGF0ZSBpdC4KKyAgICAgICAgLSBNdWx0aUNvbHVtbiBsYXlvdXQ6CisgICAgICAgICAg
QWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9uLCBzaXplIGNvbnRhaW5tZW50IGJveGVzIHNo
b3VsZCBiZSBtb25vbGl0aGljLCBzbyB3ZSBuZWVkIHRvIGV4dGVuZCBjb2x1bW4gaGVpZ2h0Cisg
ICAgICAgICAgZm9yIG92ZXJmbG93IGFuZCBwb3NpdGlvbmVkIHNpemUgY29udGFpbm1lbnQgYm94
ZXMuIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCBpcyBhZGRlZCB0byBpbmRpY2F0
ZSB0aGUgc2hvcnRhZ2Ugc3BhY2UKKyAgICAgICAgICB0aGF0IG5lZWQgdG8gYmFsYW5jZSB0aGUg
Y29sdW1uIGhlaWdodHMuIGFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbigp
IHdpbGwgY2FsY3VsYXRlIHRoZSBzaG9ydGFnZS4KKworICAgICAgICBbMV0gaHR0cHM6Ly93d3cu
dzMub3JnL1RSL2Nzcy1jb250YWluLTEvI2NvbnRhaW5tZW50LXNpemUKKworICAgICAgICAqIHJl
bmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3BwOiBBZGQgaXNDb21wdXRpbmdTaXpl
Q29udGFpbm1lbnQgdG8gaW5kaWNhdGUgaWYgaXQgaXMgY2FsY3VsYXRpbmcgc2l6ZXMKKyAgICAg
ICAgICBmb3IgaW5kZWZpbml0ZSBzaXplIFJlbmRlckdyaWQgd2hpY2ggaXMgc2l6ZSBjb250YWlu
bWVudC4KKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6Z3JpZEFy
ZWFCcmVhZHRoRm9yQ2hpbGQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6
aW5nQWxnb3JpdGhtOjpjb21wdXRlR3JpZENvbnRhaW5lckludHJpbnNpY1NpemVzKToKKyAgICAg
ICAgICBJdCBza2lwcyByZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcyBpZiBpc0NvbXB1dGluZ1Np
emVDb250YWlubWVudCwgc28gZ3Jvd3RoTGltaXQgbWlnaHQgYmUgdW5kZWZpbmVkLAorICAgICAg
ICAgIGlmIHNvLCB1c2UgdHJhY2suYmFzZVNpemUoKSBpbnN0ZWFkLgorICAgICAgICAoV2ViQ29y
ZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcyk6
IFNraXAgcmVzb2x2ZSB0aGUgY29udGVudCBpZiBpc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgp
LgorICAgICAgICAoV2ViQ29yZTo6R3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjphZHZhbmNlTmV4
dFN0YXRlKTogQWRkZWQgUm93U2l6aW5nRXh0cmFJdGVyYXRpb25Gb3JTaXplQ29udGFpbm1lbnQu
CisgICAgICAgIChXZWJDb3JlOjpHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmlzVmFsaWRUcmFu
c2l0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyaWRUcmFja1NpemluZ0FsZ29yaXRo
bTo6cnVuKTogRG8gbm90IHN0cmV0Y2ggdGhlIHRyYWNrIHNpemVzIGlmIGlzQ29tcHV0aW5nU2l6
ZUNvbnRhaW5tZW50KCkuCisgICAgICAgICogcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29y
aXRobS5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJCbG9jazo6bGF5b3V0UG9zaXRpb25lZE9iamVjdCk6IENhbGN1bGF0ZSBt
X3NwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQgZm9yIHBvc2l0aW9uZWQgc2l6ZSBjb250
YWlubWVudC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpjb21wdXRlSW50cmluc2lj
TG9naWNhbFdpZHRocyBjb25zdCk6IFNraXAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdp
ZHRocyBpZiBzaG91bGRBcHBseVNpemVDb250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQmxvY2tGbG93LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrRmxvdzo6
Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBTa2lwIGhhbmRsaW5nIHRoZSBj
aGlsZHJlbiBmb3Igc2l6ZSBjb250YWlubWVudCBib3guCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJCbG9ja0Zsb3c6OmFkanVzdEJsb2NrQ2hpbGRGb3JQYWdpbmF0aW9uKTogQ2FsY3VsYXRlIG1f
c3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCBmb3IgY2hpbGQuCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5h
dGlvbik6IG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA9IGNoaWxkT3ZlcmZsb3dI
ZWlnaHQgLSByZW1haW5pbmdMb2dpY2FsSGVpZ2h0LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCbG9ja0Zsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6dXBkYXRlTG9naWNhbEhlaWdodCk6IFJlc2V0IHRoZSBs
b2dpY2FsIGhlaWdodCB0byBlbXB0eSBjb250ZW50IGhlaWdodCBmb3Igc2l6ZSBjb250YWlubWVu
dCBib3guCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmlzVW5zcGxpdHRhYmxlRm9yUGFn
aW5hdGlvbiBjb25zdCk6IFNpemUgY29udGFpbm1lbnQgYm94IGlzIHVuc3BsaXR0YWJsZS4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckRlcHJlY2F0ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNp
Y0xvZ2ljYWxXaWR0aHMgY29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
RmlsZVVwbG9hZENvbnRyb2wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmlsZVVwbG9h
ZENvbnRyb2w6OmNvbXB1dGVJbnRyaW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogRGl0dG8uCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25z
dCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGcmFnbWVudGVkRmxvdy5oOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJHcmlkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckdyaWQ6OmxheW91dEJsb2NrKTogSWYgaXQgaXMgc2l6ZSBjb250YWlubWVudCB3aXRoIGlu
ZmluaXRlU2l6ZSwgdXNpbmcgdHJhY2tCYXNlZExvZ2ljYWxIZWlnaHQKKyAgICAgICAgdG8gY29t
cHV0ZSB0cmFjayBzaXplcyBhZ2FpbiB0byBtYWtlIHN1cmUgdGhlIGhlaWdodCBpcyBkaXN0cmli
dXRlZCBwcm9wZXJseS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckdyaWQ6OmNvbXB1dGVFbXB0
eVRyYWNrc0ZvckF1dG9SZXBlYXQgY29uc3QpOiBDb2xsYXBzZSBpZiBzaG91bGRBcHBseVNpemVD
b250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVySW1hZ2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVySW1hZ2U6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9u
IGNvbnN0KTogVGhpcyBpcyBoYW5kbGVkIGluIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbiBpbnN0ZWFkLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzIGNvbnN0KTogVGhlIHdpZHRocyBvZiBzaXplIGNvbnRhaW5tZW50
IGJveGVzIGFyZSBvcHRpb25zU3BhY2luZ0hvcml6b250YWwuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmNwcDoKKyAgICAgICAgKFJlbmRlck1lbnVMaXN0Ojpjb21wdXRlSW50
cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IFRoZSB3aWR0aHMgb2Ygc2l6ZSBjb250YWlubWVu
dCBib3ggYXJlIHRoZW1lLm1pbmltdW1NZW51TGlzdFNpemUuCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNdWx0
aUNvbHVtbkZsb3c6OnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOiBTZXQg
bV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50LgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJNdWx0aUNvbHVtbkZsb3cuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVsdGlD
b2x1bW5TZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTXVsdGlDb2x1bW5TZXQ6OlJl
bmRlck11bHRpQ29sdW1uU2V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck11bHRpQ29sdW1u
U2V0OjpjYWxjdWxhdGVCYWxhbmNlZEhlaWdodCBjb25zdCk6IEFkZCBtX3NwYWNlU2hvcnRhZ2VG
b3JTaXplQ29udGFpbm1lbnQgdG8gdGhlIGNvbHVtbiBoZWlnaHQuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJNdWx0aUNvbHVtblNldDo6cHJlcGFyZUZvckxheW91dCk6IFJlc2V0IG1fc3BhY2VT
aG9ydGFnZUZvclNpemVDb250YWlubWVudC4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTXVs
dGlDb2x1bW5TZXQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OnNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KTogQ2hlY2sgaWYgdGhl
IG9iamVjdCBpcyBhIHNpemUgY29udGFpbm1lbnQgYm94LgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6aXNBdG9taWNJ
bmxpbmVMZXZlbEJveCBjb25zdCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxhY2Vk
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclJlcGxhY2VkOjpjb21wdXRlQXNwZWN0UmF0
aW9JbmZvcm1hdGlvbkZvclJlbmRlckJveCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJSZXBsYWNlZDo6Y29tcHV0ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24gY29uc3QpOiBVc2Ug
dGhlIGVtcHR5IGludHJpbnNpY1NpemUuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclJlcGxh
Y2VkLmg6IFRoZSBpbnRyaW5zaWNTaXplIG9mIHNpemUgY29udGFpbm1lbnQgaXMgKDAsIDApLgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyU2xpZGVyOjpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyBjb25zdCk6IERpdHRv
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMg
Y29uc3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyVmlkZW86OmNhbGN1bGF0ZUludHJpbnNpY1NpemUpOiBEaXR0
by4KKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuaDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlclN0eWxlOjpjb250YWluc1NpemUgY29uc3QpOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJTVkdS
b290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbiBjb25zdCk6IEhhbmRsZWQgaW4g
UmVuZGVyUmVwbGFjZWQ6OmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uIGluc3RlYWQu
CisKIDIwMjEtMDUtMTAgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAK
ICAgICAgICAgW21hY09TXSBBbGxvdyBpbW1lZGlhdGUgYWN0aW9uIGdlc3R1cmVzIHRvIGJlZ2lu
IHdoZW4gZm9yY2UgY2xpY2tpbmcgdGV4dCBpbnNpZGUgaW1hZ2Ugb3ZlcmxheXMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAK
aW5kZXggM2ExNDc5ZWVhODFhZjZmNzc2MDczNDM2NTdjYWZmNDRmZGU0OTA1NS4uYTI3MGRiOGJk
NmY4NGNkNzkwZGFmMjExNzY2OGY1ZWMyZGQyNjZmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5jcHAKQEAgLTU4MCw3ICs1
ODAsNyBAQCBPcHRpb25hbDxMYXlvdXRVbml0PiBHcmlkVHJhY2tTaXppbmdBbGdvcml0aG06OmVz
dGltYXRlZEdyaWRBcmVhQnJlYWR0aEZvckNoaWxkKAogT3B0aW9uYWw8TGF5b3V0VW5pdD4gR3Jp
ZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpncmlkQXJlYUJyZWFkdGhGb3JDaGlsZChjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkLCBHcmlkVHJhY2tTaXppbmdEaXJlY3Rpb24gZGlyZWN0aW9uKSBjb25zdAog
ewogICAgIGJvb2wgYWRkQ29udGVudEFsaWdubWVudE9mZnNldCA9Ci0gICAgICAgIGRpcmVjdGlv
biA9PSBGb3JDb2x1bW5zICYmIG1fc2l6aW5nU3RhdGUgPT0gUm93U2l6aW5nRmlyc3RJdGVyYXRp
b247CisgICAgICAgIGRpcmVjdGlvbiA9PSBGb3JDb2x1bW5zICYmIChtX3NpemluZ1N0YXRlID09
IFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uIHx8IG1fc2l6aW5nU3RhdGUgPT0gUm93U2l6aW5nRXh0
cmFJdGVyYXRpb25Gb3JTaXplQ29udGFpbm1lbnQpOwogICAgIC8vIFRvIGRldGVybWluZSB0aGUg
Y29sdW1uIHRyYWNrJ3Mgc2l6ZSBiYXNlZCBvbiBhbiBvcnRob2dvbmFsIGdyaWQgaXRlbSB3ZSBu
ZWVkIGl0J3MgbG9naWNhbAogICAgIC8vIGhlaWdodCwgd2hpY2ggbWF5IGRlcGVuZCBvbiB0aGUg
cm93IHRyYWNrJ3Mgc2l6ZS4gSXQncyBwb3NzaWJsZSB0aGF0IHRoZSByb3cgdHJhY2tzIHNpemlu
ZwogICAgIC8vIGxvZ2ljIGhhcyBub3QgYmVlbiBwZXJmb3JtZWQgeWV0LCBzbyB3ZSB3aWxsIG5l
ZWQgdG8gZG8gYW4gZXN0aW1hdGlvbi4KQEAgLTczNiw5ICs3MzYsOSBAQCB2b2lkIEdyaWRUcmFj
a1NpemluZ0FsZ29yaXRobTo6Y29tcHV0ZUdyaWRDb250YWluZXJJbnRyaW5zaWNTaXplcygpCiAK
ICAgICBWZWN0b3I8R3JpZFRyYWNrPiYgYWxsVHJhY2tzID0gdHJhY2tzKG1fZGlyZWN0aW9uKTsK
ICAgICBmb3IgKGF1dG8mIHRyYWNrIDogYWxsVHJhY2tzKSB7Ci0gICAgICAgIEFTU0VSVCghdHJh
Y2suaW5maW5pdGVHcm93dGhQb3RlbnRpYWwoKSk7CisgICAgICAgIEFTU0VSVChtX3N0cmF0ZWd5
LT5pc0NvbXB1dGluZ1NpemVDb250YWlubWVudCgpIHx8ICF0cmFjay5pbmZpbml0ZUdyb3d0aFBv
dGVudGlhbCgpKTsKICAgICAgICAgbV9taW5Db250ZW50U2l6ZSArPSB0cmFjay5iYXNlU2l6ZSgp
OwotICAgICAgICBtX21heENvbnRlbnRTaXplICs9IHRyYWNrLmdyb3d0aExpbWl0KCk7CisgICAg
ICAgIG1fbWF4Q29udGVudFNpemUgKz0gdHJhY2suZ3Jvd3RoTGltaXRJc0luZmluaXRlKCkgPyB0
cmFjay5iYXNlU2l6ZSgpIDogdHJhY2suZ3Jvd3RoTGltaXQoKTsKICAgICAgICAgLy8gVGhlIGdy
b3d0aCBsaW1pdCBjYXBzIG11c3QgYmUgY2xlYXJlZCBub3cgaW4gb3JkZXIgdG8gcHJvcGVybHkg
c29ydAogICAgICAgICAvLyB0cmFja3MgYnkgZ3Jvd3RoIHBvdGVudGlhbCBvbiBhbiBldmVudHVh
bCAiTWF4aW1pemUgVHJhY2tzIi4KICAgICAgICAgdHJhY2suc2V0R3Jvd3RoTGltaXRDYXAoV1RG
OjpudWxsb3B0KTsKQEAgLTkzMiw2ICs5MzIsNyBAQCBwcml2YXRlOgogICAgIGRvdWJsZSBmaW5k
VXNlZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5k
ZXgsIEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gZnJlZVNw
YWNlKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHJlY29tcHV0ZVVzZWRGbGV4RnJhY3Rpb25J
Zk5lZWRlZChkb3VibGUmIGZsZXhGcmFjdGlvbiwgTGF5b3V0VW5pdCYgdG90YWxHcm93dGgpIGNv
bnN0IG92ZXJyaWRlOwogICAgIExheW91dFVuaXQgZnJlZVNwYWNlRm9yU3RyZXRjaEF1dG9UcmFj
a3NTdGVwKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBpc0NvbXB1dGluZ1NpemVDb250YWlu
bWVudCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50
KCpyZW5kZXJHcmlkKCkpOyB9CiB9OwogCiB2b2lkIEluZGVmaW5pdGVTaXplU3RyYXRlZ3k6Omxh
eW91dEdyaWRJdGVtRm9yTWluU2l6ZUNvbXB1dGF0aW9uKFJlbmRlckJveCYgY2hpbGQsIGJvb2wg
b3ZlcnJpZGVTaXplSGFzQ2hhbmdlZCkgY29uc3QKQEAgLTEwMzAsNiArMTAzMSw3IEBAIHByaXZh
dGU6CiAgICAgTGF5b3V0VW5pdCBmcmVlU3BhY2VGb3JTdHJldGNoQXV0b1RyYWNrc1N0ZXAoKSBj
b25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkNvbnRlbnRGb3JDaGlsZChSZW5kZXJC
b3gmKSBjb25zdCBvdmVycmlkZTsKICAgICBMYXlvdXRVbml0IG1pbkxvZ2ljYWxTaXplRm9yQ2hp
bGQoUmVuZGVyQm94JiwgY29uc3QgTGVuZ3RoJiBjaGlsZE1pblNpemUsIE9wdGlvbmFsPExheW91
dFVuaXQ+IGF2YWlsYWJsZVNpemUpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgaXNDb21wdXRp
bmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogfTsK
IAogTGF5b3V0VW5pdCBJbmRlZmluaXRlU2l6ZVN0cmF0ZWd5OjpmcmVlU3BhY2VGb3JTdHJldGNo
QXV0b1RyYWNrc1N0ZXAoKSBjb25zdApAQCAtMTE0Niw5ICsxMTQ4LDIyIEBAIHZvaWQgR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtOjppbml0aWFsaXplVHJhY2tTaXplcygpCiAKIHZvaWQgR3JpZFRy
YWNrU2l6aW5nQWxnb3JpdGhtOjpyZXNvbHZlSW50cmluc2ljVHJhY2tTaXplcygpCiB7CisgICAg
VmVjdG9yPEdyaWRUcmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlvbik7CisgICAg
YXV0byBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0ID0gWyZdKCkgeworICAgICAgICBmb3IgKGF1
dG8gdHJhY2tJbmRleCA6IG1fY29udGVudFNpemVkVHJhY2tzSW5kZXgpIHsKKyAgICAgICAgICAg
IEdyaWRUcmFjayYgdHJhY2sgPSBhbGxUcmFja3NbdHJhY2tJbmRleF07CisgICAgICAgICAgICBp
ZiAodHJhY2suZ3Jvd3RoTGltaXQoKSA9PSBpbmZpbml0eSkKKyAgICAgICAgICAgICAgICB0cmFj
ay5zZXRHcm93dGhMaW1pdCh0cmFjay5iYXNlU2l6ZSgpKTsKKyAgICAgICAgfQorICAgIH07CisK
KyAgICBpZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSkgeworICAg
ICAgICBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKICAgICBWZWN0b3I8R3JpZEl0ZW1XaXRoU3Bhbj4gaXRlbXNTb3J0ZWRCeUluY3JlYXNpbmdT
cGFuOwogICAgIEhhc2hTZXQ8UmVuZGVyQm94Kj4gaXRlbXNTZXQ7Ci0gICAgVmVjdG9yPEdyaWRU
cmFjaz4mIGFsbFRyYWNrcyA9IHRyYWNrcyhtX2RpcmVjdGlvbik7CiAgICAgaWYgKG1fZ3JpZC5o
YXNHcmlkSXRlbXMoKSkgewogICAgICAgICBmb3IgKGF1dG8gdHJhY2tJbmRleCA6IG1fY29udGVu
dFNpemVkVHJhY2tzSW5kZXgpIHsKICAgICAgICAgICAgIEdyaWRJdGVyYXRvciBpdGVyYXRvciht
X2dyaWQsIG1fZGlyZWN0aW9uLCB0cmFja0luZGV4KTsKQEAgLTExNzgsMTIgKzExOTMsNyBAQCB2
b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cmVzb2x2ZUludHJpbnNpY1RyYWNrU2l6ZXMo
KQogICAgICAgICBpbmNyZWFzZVNpemVzVG9BY2NvbW1vZGF0ZVNwYW5uaW5nSXRlbXM8UmVzb2x2
ZU1heENvbnRlbnRNYXhpbXVtcz4oc3Bhbkdyb3VwUmFuZ2UpOwogICAgICAgICBpdCA9IHNwYW5H
cm91cFJhbmdlLnJhbmdlRW5kOwogICAgIH0KLQotICAgIGZvciAoYXV0byB0cmFja0luZGV4IDog
bV9jb250ZW50U2l6ZWRUcmFja3NJbmRleCkgewotICAgICAgICBHcmlkVHJhY2smIHRyYWNrID0g
YWxsVHJhY2tzW3RyYWNrSW5kZXhdOwotICAgICAgICBpZiAodHJhY2suZ3Jvd3RoTGltaXQoKSA9
PSBpbmZpbml0eSkKLSAgICAgICAgICAgIHRyYWNrLnNldEdyb3d0aExpbWl0KHRyYWNrLmJhc2VT
aXplKCkpOwotICAgIH0KKyAgICBoYW5kbGVJbmZpbml0eUdyb3d0aExpbWl0KCk7CiB9CiAKIHZv
aWQgR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtOjpzdHJldGNoRmxleGlibGVUcmFja3MoT3B0aW9u
YWw8TGF5b3V0VW5pdD4gZnJlZVNwYWNlKQpAQCAtMTIzOSw2ICsxMjQ5LDkgQEAgdm9pZCBHcmlk
VHJhY2tTaXppbmdBbGdvcml0aG06OmFkdmFuY2VOZXh0U3RhdGUoKQogICAgICAgICBtX3Npemlu
Z1N0YXRlID0gUm93U2l6aW5nRmlyc3RJdGVyYXRpb247CiAgICAgICAgIHJldHVybjsKICAgICBj
YXNlIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uOgorICAgICAgICBtX3NpemluZ1N0YXRlID0gbV9z
dHJhdGVneS0+aXNDb21wdXRpbmdTaXplQ29udGFpbm1lbnQoKSA/IFJvd1NpemluZ0V4dHJhSXRl
cmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50IDogQ29sdW1uU2l6aW5nU2Vjb25kSXRlcmF0aW9uOwor
ICAgICAgICByZXR1cm47CisgICAgY2FzZSBSb3dTaXppbmdFeHRyYUl0ZXJhdGlvbkZvclNpemVD
b250YWlubWVudDoKICAgICAgICAgbV9zaXppbmdTdGF0ZSA9IENvbHVtblNpemluZ1NlY29uZEl0
ZXJhdGlvbjsKICAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgQ29sdW1uU2l6aW5nU2Vjb25kSXRl
cmF0aW9uOgpAQCAtMTI1OSw2ICsxMjcyLDcgQEAgYm9vbCBHcmlkVHJhY2tTaXppbmdBbGdvcml0
aG06OmlzVmFsaWRUcmFuc2l0aW9uKCkgY29uc3QKICAgICBjYXNlIENvbHVtblNpemluZ1NlY29u
ZEl0ZXJhdGlvbjoKICAgICAgICAgcmV0dXJuIG1fZGlyZWN0aW9uID09IEZvckNvbHVtbnM7CiAg
ICAgY2FzZSBSb3dTaXppbmdGaXJzdEl0ZXJhdGlvbjoKKyAgICBjYXNlIFJvd1NpemluZ0V4dHJh
SXRlcmF0aW9uRm9yU2l6ZUNvbnRhaW5tZW50OgogICAgIGNhc2UgUm93U2l6aW5nU2Vjb25kSXRl
cmF0aW9uOgogICAgICAgICByZXR1cm4gbV9kaXJlY3Rpb24gPT0gRm9yUm93czsKICAgICB9CkBA
IC0xMzQ2LDYgKzEzNjAsOCBAQCB2b2lkIEdyaWRUcmFja1NpemluZ0FsZ29yaXRobTo6cnVuKCkK
IAogICAgIC8vIFN0ZXAgMy4KICAgICBtX3N0cmF0ZWd5LT5tYXhpbWl6ZVRyYWNrcyh0cmFja3Mo
bV9kaXJlY3Rpb24pLCBtX2RpcmVjdGlvbiA9PSBGb3JDb2x1bW5zID8gbV9mcmVlU3BhY2VDb2x1
bW5zIDogbV9mcmVlU3BhY2VSb3dzKTsKKyAgICBpZiAobV9zdHJhdGVneS0+aXNDb21wdXRpbmdT
aXplQ29udGFpbm1lbnQoKSkKKyAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gU3RlcCA0LgogICAg
IHN0cmV0Y2hGbGV4aWJsZVRyYWNrcyhpbml0aWFsRnJlZVNwYWNlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9HcmlkVHJhY2tTaXppbmdBbGdvcml0aG0uaAppbmRleCAwMzEx
MjVkYTliZmRiNTg4YTlhOTE5NjFhM2IxNTI4ZTk4N2Y0MTYyLi42Yjc5N2VhODc4NTQwOWRkZWIx
OGEwNTlmNDE2MGQ1NWQ2NWQ1OGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvR3JpZFRyYWNrU2l6aW5nQWxnb3JpdGhtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0dyaWRUcmFja1NpemluZ0FsZ29yaXRobS5oCkBAIC0yMjQsNiArMjI0LDcgQEAgcHJpdmF0
ZToKICAgICBlbnVtIFNpemluZ1N0YXRlIHsKICAgICAgICAgQ29sdW1uU2l6aW5nRmlyc3RJdGVy
YXRpb24sCiAgICAgICAgIFJvd1NpemluZ0ZpcnN0SXRlcmF0aW9uLAorICAgICAgICBSb3dTaXpp
bmdFeHRyYUl0ZXJhdGlvbkZvclNpemVDb250YWlubWVudCwKICAgICAgICAgQ29sdW1uU2l6aW5n
U2Vjb25kSXRlcmF0aW9uLAogICAgICAgICBSb3dTaXppbmdTZWNvbmRJdGVyYXRpb24KICAgICB9
OwpAQCAtMjYxLDYgKzI2Miw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGRvdWJsZSBmaW5kVXNl
ZEZsZXhGcmFjdGlvbihWZWN0b3I8dW5zaWduZWQ+JiBmbGV4aWJsZVNpemVkVHJhY2tzSW5kZXgs
IEdyaWRUcmFja1NpemluZ0RpcmVjdGlvbiwgT3B0aW9uYWw8TGF5b3V0VW5pdD4gaW5pdGlhbEZy
ZWVTcGFjZSkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCByZWNvbXB1dGVVc2VkRmxleEZy
YWN0aW9uSWZOZWVkZWQoZG91YmxlJiBmbGV4RnJhY3Rpb24sIExheW91dFVuaXQmIHRvdGFsR3Jv
d3RoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBMYXlvdXRVbml0IGZyZWVTcGFjZUZvclN0cmV0
Y2hBdXRvVHJhY2tzU3RlcCgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb21wdXRp
bmdTaXplQ29udGFpbm1lbnQoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBHcmlkVHJh
Y2tTaXppbmdBbGdvcml0aG1TdHJhdGVneShHcmlkVHJhY2tTaXppbmdBbGdvcml0aG0mIGFsZ29y
aXRobSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDVmNGI3
MmU2NTE1YzdhMjFmMzM0ZmMwNDhkNDE5NTg4YTRiY2VlMjguLjdmZmZlNmJjMGJhMmYzNWIzYTE1
OTM4ZWU1ZTlkNWVkNDExMDJlZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMTA3Myw2ICsxMDczLDkgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0UG9z
aXRpb25lZE9iamVjdChSZW5kZXJCb3gmIHIsIGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgYm8KICAg
ICAgICAgci5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOwogICAgICAgICByLmxheW91dElm
TmVlZGVkKCk7CiAgICAgfQorICAgIAorICAgIGlmICh2aWV3KCkuZnJhbWVWaWV3KCkubGF5b3V0
Q29udGV4dCgpLmxheW91dFN0YXRlKCktPmlzUGFnaW5hdGVkKCkgJiYgaXM8UmVuZGVyQmxvY2tG
bG93PigqdGhpcykpCisgICAgICAgIGRvd25jYXN0PFJlbmRlckJsb2NrRmxvdz4oKnRoaXMpLmFk
anVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFnaW5hdGlvbihyLCByLmxvZ2ljYWxUb3AoKSk7
CiB9CiAKIHZvaWQgUmVuZGVyQmxvY2s6OmxheW91dFBvc2l0aW9uZWRPYmplY3RzKGJvb2wgcmVs
YXlvdXRDaGlsZHJlbiwgYm9vbCBmaXhlZFBvc2l0aW9uT2JqZWN0c09ubHkpCkBAIC0yMjgyLDgg
KzIyODUsOCBAQCB2b2lkIFJlbmRlckJsb2NrOjpvZmZzZXRGb3JDb250ZW50cyhMYXlvdXRQb2lu
dCYgb2Zmc2V0KSBjb25zdAogdm9pZCBSZW5kZXJCbG9jazo6Y29tcHV0ZUludHJpbnNpY0xvZ2lj
YWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlvdXRVbml0JiBtYXhMb2dp
Y2FsV2lkdGgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFjaGlsZHJlbklubGluZSgpKTsKLSAgICAK
LSAgICBjb21wdXRlQmxvY2tQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKG1pbkxvZ2ljYWxXaWR0aCwg
bWF4TG9naWNhbFdpZHRoKTsKKyAgICBpZiAoIXNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0
aGlzKSkKKyAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dp
Y2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKICAgICBtYXhMb2dpY2FsV2lkdGggPSBzdGQ6
Om1heChtaW5Mb2dpY2FsV2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggOTZjNjdmNTYxZTUwMWY5ZmI1
YjI2MDdhNDE1ZjZjNTg2YTFjNjM3Mi4uMTRhYmY2YmViZGNhOWMwMjlhZWQ1MGU4N2QxNzI3NWIz
NTMyNTQ1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
Rmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHAKQEAgLTMzOSwxMCArMzM5LDEyIEBAIHZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzRm9yQ29sdW1ucyhMYXlvdXRVbml0JiBtaW5Mb2dpCiAKIHZvaWQg
UmVuZGVyQmxvY2tGbG93Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0
JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsK
LSAgICBpZiAoY2hpbGRyZW5JbmxpbmUoKSkKLSAgICAgICAgY29tcHV0ZUlubGluZVByZWZlcnJl
ZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwotICAgIGVs
c2UKLSAgICAgICAgY29tcHV0ZUJsb2NrUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2Fs
V2lkdGgsIG1heExvZ2ljYWxXaWR0aCk7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpIHsKKyAgICAgICAgaWYgKGNoaWxkcmVuSW5saW5lKCkpCisgICAgICAgICAg
ICBjb21wdXRlSW5saW5lUHJlZmVycmVkTG9naWNhbFdpZHRocyhtaW5Mb2dpY2FsV2lkdGgsIG1h
eExvZ2ljYWxXaWR0aCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbXB1dGVCbG9ja1By
ZWZlcnJlZExvZ2ljYWxXaWR0aHMobWluTG9naWNhbFdpZHRoLCBtYXhMb2dpY2FsV2lkdGgpOwor
ICAgIH0KIAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxXaWR0aCwg
bWF4TG9naWNhbFdpZHRoKTsKIApAQCAtMTY2Miw2ICsxNjY0LDkgQEAgTGF5b3V0VW5pdCBSZW5k
ZXJCbG9ja0Zsb3c6OmFkanVzdEJsb2NrQ2hpbGRGb3JQYWdpbmF0aW9uKExheW91dFVuaXQgbG9n
aWNhbFRvcEEKICAgICAgICAgfQogICAgIH0KIAorICAgIGlmIChzaG91bGRBcHBseVNpemVDb250
YWlubWVudChjaGlsZCkpCisgICAgICAgIGFkanVzdFNpemVDb250YWlubWVudENoaWxkRm9yUGFn
aW5hdGlvbihjaGlsZCwgcmVzdWx0KTsKKwogICAgIC8vIEZvciByZXBsYWNlZCBlbGVtZW50cyBh
bmQgc2Nyb2xsZWQgZWxlbWVudHMsIHdlIHdhbnQgdG8gc2hpZnQgdGhlbSB0byB0aGUgbmV4dCBw
YWdlIGlmIHRoZXkgZG9uJ3QgZml0IG9uIHRoZSBjdXJyZW50IG9uZS4KICAgICBMYXlvdXRVbml0
IGxvZ2ljYWxUb3BCZWZvcmVVbnNwbGl0dGFibGVBZGp1c3RtZW50ID0gcmVzdWx0OwogICAgIExh
eW91dFVuaXQgbG9naWNhbFRvcEFmdGVyVW5zcGxpdHRhYmxlQWRqdXN0bWVudCA9IGFkanVzdEZv
clVuc3BsaXR0YWJsZUNoaWxkKGNoaWxkLCByZXN1bHQpOwpAQCAtMjA0Nyw2ICsyMDUyLDI0IEBA
IExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93Ojpsb2dpY2FsSGVpZ2h0Rm9yQ2hpbGRGb3JGcmFn
bWVudGF0aW9uKGNvbnN0IFJlbmRlckJvCiAgICAgcmV0dXJuIGxvZ2ljYWxIZWlnaHRGb3JDaGls
ZChjaGlsZCk7CiB9CiAKK3ZvaWQgUmVuZGVyQmxvY2tGbG93OjphZGp1c3RTaXplQ29udGFpbm1l
bnRDaGlsZEZvclBhZ2luYXRpb24oUmVuZGVyQm94JiBjaGlsZCwgTGF5b3V0VW5pdCBvZmZzZXQp
Cit7CisgICAgaWYgKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudChjaGlsZCkpCisgICAgICAg
IHJldHVybjsKKworICAgIExheW91dFVuaXQgY2hpbGRPdmVyZmxvd0hlaWdodCA9IGNoaWxkLmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhZ
KCkgOiBjaGlsZC5sYXlvdXRPdmVyZmxvd1JlY3QoKS5tYXhYKCk7CisgICAgTGF5b3V0VW5pdCBj
aGlsZExvZ2ljYWxIZWlnaHQgPSBzdGQ6Om1heChjaGlsZC5sb2dpY2FsSGVpZ2h0KCksIGNoaWxk
T3ZlcmZsb3dIZWlnaHQpOworCisgICAgTGF5b3V0VW5pdCByZW1haW5pbmdMb2dpY2FsSGVpZ2h0
ID0gcGFnZVJlbWFpbmluZ0xvZ2ljYWxIZWlnaHRGb3JPZmZzZXQob2Zmc2V0LCBFeGNsdWRlUGFn
ZUJvdW5kYXJ5KTsKKworICAgIExheW91dFVuaXQgc3BhY2VTaG9ydGFnZSA9IGNoaWxkTG9naWNh
bEhlaWdodCAtIHJlbWFpbmluZ0xvZ2ljYWxIZWlnaHQ7CisgICAgaWYgKHNwYWNlU2hvcnRhZ2Ug
PD0gMCkKKyAgICAgICAgcmV0dXJuOworCisgICAgaWYgKFJlbmRlckZyYWdtZW50ZWRGbG93KiBm
cmFnbWVudGVkRmxvdyA9IGVuY2xvc2luZ0ZyYWdtZW50ZWRGbG93KCkpCisgICAgICAgIGZyYWdt
ZW50ZWRGbG93LT51cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KHRoaXMsIG9m
ZnNldEZyb21Mb2dpY2FsVG9wT2ZGaXJzdFBhZ2UoKSArIG9mZnNldCwgc3BhY2VTaG9ydGFnZSk7
Cit9CisKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpsYXlvdXRMaW5lR3JpZEJveCgpCiB7CiAgICAg
aWYgKHN0eWxlKCkubGluZUdyaWQoKSA9PSBSZW5kZXJTdHlsZTo6aW5pdGlhbExpbmVHcmlkKCkp
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuaAppbmRleCA0NDk4
NTlkMzg4NjBhMDNhNTJkZmRlYmZlNzA4NmRiNWZkY2Q1MTAwLi5jN2M5NDZiYWZkODE1YTQ3NGQ3
MjM4OGI3N2UyMjM4OWY0NDZjY2M0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrRmxvdy5oCkBAIC0zOTgsNiArMzk4LDggQEAgcHVibGljOgogICAgIC8vIGNvbHVtbiBi
YWxhbmNlciB0byBoZWxwIHNldCBhIGdvb2QgbWluaW11bSBjb2x1bW4gaGVpZ2h0LgogICAgIHZv
aWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQg
bWluSGVpZ2h0KTsKIAorICAgIHZvaWQgYWRqdXN0U2l6ZUNvbnRhaW5tZW50Q2hpbGRGb3JQYWdp
bmF0aW9uKFJlbmRlckJveCYgY2hpbGQsIExheW91dFVuaXQgb2Zmc2V0KTsKKwogICAgIHZvaWQg
YWRkRmxvYXRzVG9OZXdQYXJlbnQoUmVuZGVyQmxvY2tGbG93JiB0b0Jsb2NrRmxvdykgY29uc3Q7
CiAgICAgCiAgICAgTGF5b3V0VW5pdCBlbmRQYWRkaW5nV2lkdGhGb3JDYXJldCgpIGNvbnN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA2YmEzMTBmMGVjMjgxODU0
MDRlOGQ4ODhhN2Q1OGUxOTAyY2U1N2QxLi5jOGFlMDQxMmZjNmNjNjhhMTM4OTQwNTM1YWVjODk3
ZDlhYWNhZmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtMjg2
MCw2ICsyODYwLDE0IEBAIHZvaWQgUmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dp
Y2FsSGVpZ2h0Rm9yRmxleEl0ZW0oTGF5b3V0VW5pdCBoZWlnaHQpCiAKIHZvaWQgUmVuZGVyQm94
Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0KCkKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKnRoaXMpICYmICFpc1JlbmRlckdyaWQoKSkgeworICAgICAgICAvLyBXZSBuZWVkIHRo
ZSBleGFjdCB3aWR0aCBvZiBib3JkZXIgYW5kIHBhZGRpbmcgaGVyZSwgeWV0IHdlIGNhbid0IHVz
ZSBib3JkZXJBbmRQYWRkaW5nKiBpbnRlcmZhY2VzLgorICAgICAgICAvLyBCZWNhdXNlIHRoZXNl
IGludGVyZmFjZXMgZXZldHVhbGx5IGNhbGwgYm9yZGVyQWZ0ZXIvQmVmb3JlLCBhbmQgUmVuZGVy
QmxvY2s6OmJvcmRlckJlZm9yZQorICAgICAgICAvLyBhZGRzIGV4dHJhIGJvcmRlciB0byBmaWVs
ZHNldCBieSBhZGRpbmcgaW50cmluc2ljQm9yZGVyRm9yRmllbGRzZXQgd2hpY2ggaXMgbm90IG5l
ZWRlZCBoZXJlLgorICAgICAgICBhdXRvIGJvcmRlckFuZFBhZGRpbmcgPSBSZW5kZXJCb3g6OmJv
cmRlckJlZm9yZSgpICsgUmVuZGVyQm94OjpwYWRkaW5nQmVmb3JlKCkgKyBSZW5kZXJCb3g6OmJv
cmRlckFmdGVyKCkgKyBSZW5kZXJCb3g6OnBhZGRpbmdBZnRlcigpOworICAgICAgICBzZXRMb2dp
Y2FsSGVpZ2h0KGJvcmRlckFuZFBhZGRpbmcgKyBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkpOwor
ICAgIH0KKwogICAgIGNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRl
bShjb250ZW50TG9naWNhbEhlaWdodCgpKTsKICAgICBhdXRvIGNvbXB1dGVkVmFsdWVzID0gY29t
cHV0ZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCgpLCBsb2dpY2FsVG9wKCkpOwogICAgIHNl
dExvZ2ljYWxIZWlnaHQoY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQpOwpAQCAtNDg1Nyw3ICs0ODY1
LDggQEAgYm9vbCBSZW5kZXJCb3g6OmlzVW5zcGxpdHRhYmxlRm9yUGFnaW5hdGlvbigpIGNvbnN0
CiAgICAgcmV0dXJuIGlzUmVwbGFjZWQoKQogICAgICAgICB8fCBoYXNVbnNwbGl0dGFibGVTY3Jv
bGxpbmdPdmVyZmxvdygpCiAgICAgICAgIHx8IChwYXJlbnQoKSAmJiBpc1dyaXRpbmdNb2RlUm9v
dCgpKQotICAgICAgICB8fCAoaXNGbG9hdGluZygpICYmIHN0eWxlKCkuc3R5bGVUeXBlKCkgPT0g
UHNldWRvSWQ6OkZpcnN0TGV0dGVyICYmIHN0eWxlKCkuaW5pdGlhbExldHRlckRyb3AoKSA+IDAp
OworICAgICAgICB8fCAoaXNGbG9hdGluZygpICYmIHN0eWxlKCkuc3R5bGVUeXBlKCkgPT0gUHNl
dWRvSWQ6OkZpcnN0TGV0dGVyICYmIHN0eWxlKCkuaW5pdGlhbExldHRlckRyb3AoKSA+IDApCisg
ICAgICAgIHx8IHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKTsKIH0KIAogTGF5b3V0
VW5pdCBSZW5kZXJCb3g6OmxpbmVIZWlnaHQoYm9vbCAvKmZpcnN0TGluZSovLCBMaW5lRGlyZWN0
aW9uTW9kZSBkaXJlY3Rpb24sIExpbmVQb3NpdGlvbk1vZGUgLypsaW5lUG9zaXRpb25Nb2RlKi8p
IGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRGVwcmVj
YXRlZEZsZXhpYmxlQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXBy
ZWNhdGVkRmxleGlibGVCb3guY3BwCmluZGV4IDRmMmQxZjNkYjFiNzkwMzU0ZmZjNjg1OWZjM2Jk
NzI3NzYyZmUxOGUuLmZjMGM2NTQ2NzU0NDYwYzhlZWJjMjZlNmRhNzIxOGFkNDI2MDFmMTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVkRmxleGli
bGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJEZXByZWNhdGVk
RmxleGlibGVCb3guY3BwCkBAIC0xODcsNiArMTg3LDE3IEBAIHZvaWQgUmVuZGVyRGVwcmVjYXRl
ZEZsZXhpYmxlQm94OjpzdHlsZVdpbGxDaGFuZ2UoU3R5bGVEaWZmZXJlbmNlIGRpZmYsIGNvbnN0
IFJlCiAKIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2lj
TG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1h
eExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKKyAgICBhdXRvIGFkZFNjcm9sbGJhcldpZHRoID0gWyZd
KCkgeworICAgICAgICBMYXlvdXRVbml0IHNjcm9sbGJhcldpZHRoID0gaW50cmluc2ljU2Nyb2xs
YmFyTG9naWNhbFdpZHRoKCk7CisgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJX
aWR0aDsKKyAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IHNjcm9sbGJhcldpZHRoOworICAgIH07
CisKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKSB7CisgICAgICAg
IGFkZFNjcm9sbGJhcldpZHRoKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBpZiAo
aGFzTXVsdGlwbGVMaW5lcygpIHx8IGlzVmVydGljYWwoKSkgewogICAgICAgICBmb3IgKFJlbmRl
ckJveCogY2hpbGQgPSBmaXJzdENoaWxkQm94KCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5uZXh0
U2libGluZ0JveCgpKSB7CiAgICAgICAgICAgICBpZiAoY2hpbGREb2VzTm90QWZmZWN0V2lkdGhP
ckZsZXhpbmcoY2hpbGQpKQpAQCAtMjExLDEwICsyMjIsNyBAQCB2b2lkIFJlbmRlckRlcHJlY2F0
ZWRGbGV4aWJsZUJveDo6Y29tcHV0ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYg
bWluTAogICAgIH0KIAogICAgIG1heExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1pbkxvZ2ljYWxX
aWR0aCwgbWF4TG9naWNhbFdpZHRoKTsKLQotICAgIExheW91dFVuaXQgc2Nyb2xsYmFyV2lkdGgg
PSBpbnRyaW5zaWNTY3JvbGxiYXJMb2dpY2FsV2lkdGgoKTsKLSAgICBtYXhMb2dpY2FsV2lkdGgg
Kz0gc2Nyb2xsYmFyV2lkdGg7Ci0gICAgbWluTG9naWNhbFdpZHRoICs9IHNjcm9sbGJhcldpZHRo
OworICAgIGFkZFNjcm9sbGJhcldpZHRoKCk7CiB9CiAKIHZvaWQgUmVuZGVyRGVwcmVjYXRlZEZs
ZXhpYmxlQm94Ojpjb21wdXRlUHJlZmVycmVkTG9naWNhbFdpZHRocygpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAppbmRleCAz
ZDEyM2M1NGI1NjRkYTUwNDE3YjRjMDc4OTcyOWYzOWUzM2IxNWRhLi44Nzg1ZjIyOTljODBkMzk0
NmU4ZmZkMjE2NjJkMDI5MjE5NDYzMWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKQEAgLTE5Nyw2ICsxOTcsOCBAQCB2
b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpwYWludE9iamVjdChQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbgogCiB2b2lkIFJlbmRlckZpbGVVcGxvYWRDb250cm9sOjpj
b21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgs
IExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBw
bHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gRmlndXJl
IG91dCBob3cgYmlnIHRoZSBmaWxlbmFtZSBzcGFjZSBuZWVkcyB0byBiZSBmb3IgYSBnaXZlbiBu
dW1iZXIgb2YgY2hhcmFjdGVycwogICAgIC8vICh1c2luZyAiMCIgYXMgdGhlIG5vbWluYWwgY2hh
cmFjdGVyKS4KICAgICBjb25zdCBVQ2hhciBjaGFyYWN0ZXIgPSAnMCc7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAppbmRleCAyMjliNjkzZGYxOTdm
ZmNiZTI2OTAxYjg4YWIyNTlhYzMwMDUxZjI1Li40MzNlMGI0NTFlZDNkN2NiNTdiMDI1ZmVlOWY0
ZmQ2MWYxMjU0ZThmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4
aWJsZUJveC5jcHAKQEAgLTgzLDYgKzgzLDE3IEBAIGNvbnN0IGNoYXIqIFJlbmRlckZsZXhpYmxl
Qm94OjpyZW5kZXJOYW1lKCkgY29uc3QKIAogdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6Y29tcHV0
ZUludHJpbnNpY0xvZ2ljYWxXaWR0aHMoTGF5b3V0VW5pdCYgbWluTG9naWNhbFdpZHRoLCBMYXlv
dXRVbml0JiBtYXhMb2dpY2FsV2lkdGgpIGNvbnN0CiB7CisgICAgYXV0byBhZGRTY3JvbGxiYXJX
aWR0aCA9IFsmXSgpIHsKKyAgICAgICAgTGF5b3V0VW5pdCBzY3JvbGxiYXJXaWR0aChzY3JvbGxi
YXJMb2dpY2FsV2lkdGgoKSk7CisgICAgICAgIG1heExvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJX
aWR0aDsKKyAgICAgICAgbWluTG9naWNhbFdpZHRoICs9IHNjcm9sbGJhcldpZHRoOworICAgIH07
CisKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRoaXMpKSB7CisgICAgICAg
IGFkZFNjcm9sbGJhcldpZHRoKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICBMYXlv
dXRVbml0IGNoaWxkTWluV2lkdGg7CiAgICAgTGF5b3V0VW5pdCBjaGlsZE1heFdpZHRoOwogICAg
IGJvb2wgaGFkRXhjbHVkZWRDaGlsZHJlbiA9IGNvbXB1dGVQcmVmZXJyZWRXaWR0aHNGb3JFeGNs
dWRlZENoaWxkcmVuKGNoaWxkTWluV2lkdGgsIGNoaWxkTWF4V2lkdGgpOwpAQCAtOTgsMTEgKzEw
OSwxMSBAQCB2b2lkIFJlbmRlckZsZXhpYmxlQm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdp
ZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdAogICAgICAgICArK251bUl0ZW1zV2l0aE5v
cm1hbExheW91dDsKIAogICAgICAgICBMYXlvdXRVbml0IG1hcmdpbiA9IG1hcmdpbkludHJpbnNp
Y0xvZ2ljYWxXaWR0aEZvckNoaWxkKCpjaGlsZCk7Ci0gICAgICAgIAorCiAgICAgICAgIExheW91
dFVuaXQgbWluUHJlZmVycmVkTG9naWNhbFdpZHRoOwogICAgICAgICBMYXlvdXRVbml0IG1heFBy
ZWZlcnJlZExvZ2ljYWxXaWR0aDsKICAgICAgICAgY29tcHV0ZUNoaWxkUHJlZmVycmVkTG9naWNh
bFdpZHRocygqY2hpbGQsIG1pblByZWZlcnJlZExvZ2ljYWxXaWR0aCwgbWF4UHJlZmVycmVkTG9n
aWNhbFdpZHRoKTsKLSAgICAgICAgCisKICAgICAgICAgbWluUHJlZmVycmVkTG9naWNhbFdpZHRo
ICs9IG1hcmdpbjsKICAgICAgICAgbWF4UHJlZmVycmVkTG9naWNhbFdpZHRoICs9IG1hcmdpbjsK
IApAQCAtMTM5LDkgKzE1MCw3IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmNvbXB1dGVJbnRy
aW5zaWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0CiAgICAgICAgIG1h
eExvZ2ljYWxXaWR0aCA9IHN0ZDo6bWF4KG1heExvZ2ljYWxXaWR0aCwgY2hpbGRNYXhXaWR0aCk7
CiAgICAgfQogCi0gICAgTGF5b3V0VW5pdCBzY3JvbGxiYXJXaWR0aChzY3JvbGxiYXJMb2dpY2Fs
V2lkdGgoKSk7Ci0gICAgbWF4TG9naWNhbFdpZHRoICs9IHNjcm9sbGJhcldpZHRoOwotICAgIG1p
bkxvZ2ljYWxXaWR0aCArPSBzY3JvbGxiYXJXaWR0aDsKKyAgICBhZGRTY3JvbGxiYXJXaWR0aCgp
OwogfQogCiBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpiYXNlbGluZVBvc2l0aW9uKEZv
bnRCYXNlbGluZSwgYm9vbCwgTGluZURpcmVjdGlvbk1vZGUgZGlyZWN0aW9uLCBMaW5lUG9zaXRp
b25Nb2RlKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckZyYWdtZW50ZWRGbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21l
bnRlZEZsb3cuaAppbmRleCBmYWNlYjE5NmQ5YmY3N2NkNjI4NTU0ZTMzNTEwMDBlOTk4OTNhZDYz
Li5iNzNiZTJiMWIwZTQ4MjdlZGFlNjAyN2FhNmUzNWZjYjE3MWQ2MzYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRnJhZ21lbnRlZEZsb3cuaApAQCAtMTAyLDYgKzEw
Miw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZUJyZWFrKGNvbnN0IFJlbmRl
ckJsb2NrKiwgTGF5b3V0VW5pdCAvKm9mZnNldCovLCBMYXlvdXRVbml0IC8qc3BhY2VTaG9ydGFn
ZSovKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlTWluaW11bVBhZ2VIZWlnaHQoY29uc3Qg
UmVuZGVyQmxvY2sqLCBMYXlvdXRVbml0IC8qb2Zmc2V0Ki8sIExheW91dFVuaXQgLyptaW5IZWln
aHQqLykgeyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlU3BhY2VTaG9ydGFnZUZvclNpemVD
b250YWlubWVudChjb25zdCBSZW5kZXJCbG9jayosIExheW91dFVuaXQgLypvZmZzZXQqLywgTGF5
b3V0VW5pdCAvKnNob3J0YWdlKi8pIHsgfQorCiAgICAgdmlydHVhbCBSZW5kZXJGcmFnbWVudENv
bnRhaW5lciogZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGNvbnN0IFJlbmRlckJveCosIExheW91dFVu
aXQsIGJvb2wgZXh0ZW5kTGFzdEZyYWdtZW50ID0gZmFsc2UpIGNvbnN0OwogCiAgICAgYm9vbCBm
cmFnbWVudHNIYXZlVW5pZm9ybUxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fZnJhZ21l
bnRzSGF2ZVVuaWZvcm1Mb2dpY2FsV2lkdGg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJHcmlkLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJHcmlkLmNwcAppbmRleCBkMjBiYjU3ZDViMGMxZmE5NmE1NWIxN2M0NGQwYjAwMjZhMzU1MzA5
Li42NmJlZWRkMjExZGIwMzZjNGIwMzkzYWQyZTY2NTY1YzcwZmY0YWU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyR3JpZC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckdyaWQuY3BwCkBAIC0yNTAsMTEgKzI1MCwxNyBAQCB2b2lkIFJl
bmRlckdyaWQ6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGlsZHJlbiwgTGF5b3V0VW5pdCkK
IAogICAgICAgICAvLyAyLSBOZXh0LCB0aGUgdHJhY2sgc2l6aW5nIGFsZ29yaXRobSByZXNvbHZl
cyB0aGUgc2l6ZXMgb2YgdGhlIGdyaWQgcm93cywKICAgICAgICAgLy8gdXNpbmcgdGhlIGdyaWQg
Y29sdW1uIHNpemVzIGNhbGN1bGF0ZWQgaW4gdGhlIHByZXZpb3VzIHN0ZXAuCi0gICAgICAgIGlm
ICghaGFzRGVmaW5pdGVMb2dpY2FsSGVpZ2h0KQorICAgICAgICBib29sIHNob3VsZFJlY29tcHV0
ZUhlaWdodCA9IGZhbHNlOworICAgICAgICBpZiAoIWhhc0RlZmluaXRlTG9naWNhbEhlaWdodCkg
ewogICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JJbmRlZmluaXRlU2l6ZShtX3RyYWNr
U2l6aW5nQWxnb3JpdGhtLCBGb3JSb3dzKTsKLSAgICAgICAgZWxzZQorICAgICAgICAgICAgaWYg
KHNob3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgICAgICAgICBzaG91
bGRSZWNvbXB1dGVIZWlnaHQgPSB0cnVlOworICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIGNv
bXB1dGVUcmFja1NpemVzRm9yRGVmaW5pdGVTaXplKEZvclJvd3MsIGF2YWlsYWJsZUxvZ2ljYWxI
ZWlnaHQoRXhjbHVkZU1hcmdpbkJvcmRlclBhZGRpbmcpKTsKICAgICAgICAgTGF5b3V0VW5pdCB0
cmFja0Jhc2VkTG9naWNhbEhlaWdodCA9IG1fdHJhY2tTaXppbmdBbGdvcml0aG0uY29tcHV0ZVRy
YWNrQmFzZWRTaXplKCkgKyBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpICsgc2Nyb2xs
YmFyTG9naWNhbEhlaWdodCgpOworICAgICAgICBpZiAoc2hvdWxkUmVjb21wdXRlSGVpZ2h0KQor
ICAgICAgICAgICAgY29tcHV0ZVRyYWNrU2l6ZXNGb3JEZWZpbml0ZVNpemUoRm9yUm93cywgdHJh
Y2tCYXNlZExvZ2ljYWxIZWlnaHQpOworCiAgICAgICAgIHNldExvZ2ljYWxIZWlnaHQodHJhY2tC
YXNlZExvZ2ljYWxIZWlnaHQpOwogCiAgICAgICAgIExheW91dFVuaXQgb2xkQ2xpZW50QWZ0ZXJF
ZGdlID0gY2xpZW50TG9naWNhbEJvdHRvbSgpOwpAQCAtNTQ4LDcgKzU1NCw3IEBAIHN0ZDo6dW5p
cXVlX3B0cjxPcmRlcmVkVHJhY2tJbmRleFNldD4gUmVuZGVyR3JpZDo6Y29tcHV0ZUVtcHR5VHJh
Y2tzRm9yQXV0b1JlcGVhCiAgICAgdW5zaWduZWQgZmlyc3RBdXRvUmVwZWF0VHJhY2sgPSBpbnNl
cnRpb25Qb2ludCArIGdyaWQuZXhwbGljaXRHcmlkU3RhcnQoZGlyZWN0aW9uKTsKICAgICB1bnNp
Z25lZCBsYXN0QXV0b1JlcGVhdFRyYWNrID0gZmlyc3RBdXRvUmVwZWF0VHJhY2sgKyBncmlkLmF1
dG9SZXBlYXRUcmFja3MoZGlyZWN0aW9uKTsKIAotICAgIGlmICghZ3JpZC5oYXNHcmlkSXRlbXMo
KSkgeworICAgIGlmICghZ3JpZC5oYXNHcmlkSXRlbXMoKSB8fCBzaG91bGRBcHBseVNpemVDb250
YWlubWVudCgqdGhpcykpIHsKICAgICAgICAgZW1wdHlUcmFja0luZGV4ZXMgPSBtYWtlVW5pcXVl
PE9yZGVyZWRUcmFja0luZGV4U2V0PigpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIHRyYWNrSW5k
ZXggPSBmaXJzdEF1dG9SZXBlYXRUcmFjazsgdHJhY2tJbmRleCA8IGxhc3RBdXRvUmVwZWF0VHJh
Y2s7ICsrdHJhY2tJbmRleCkKICAgICAgICAgICAgIGVtcHR5VHJhY2tJbmRleGVzLT5hZGQodHJh
Y2tJbmRleCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVySW1h
Z2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckltYWdlLmNwcAppbmRleCA0
MjU0NDNlZTAzYTY2YzMyNzgxMmZjNWIxZjZmMmJiOTNmZjA1ZDcxLi5iYmRiYzVhNDNlOGRmYjgz
OGY0ZTgzZjdlMmI5NTEzNzM4NTk2NzNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVySW1hZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJJbWFnZS5jcHAKQEAgLTg1MCw2ICs4NTAsNyBAQCBib29sIFJlbmRlckltYWdlOjpjYW5NYXBX
aWR0aEhlaWdodFRvQXNwZWN0UmF0aW8oKSBjb25zdAogCiB2b2lkIFJlbmRlckltYWdlOjpjb21w
dXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlvbihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRv
dWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNp
emVDb250YWlubWVudCgqdGhpcykpOwogICAgIFJlbmRlclJlcGxhY2VkOjpjb21wdXRlSW50cmlu
c2ljUmF0aW9JbmZvcm1hdGlvbihpbnRyaW5zaWNTaXplLCBpbnRyaW5zaWNSYXRpbyk7CiAKICAg
ICAvLyBPdXIgaW50cmluc2ljU2l6ZSBpcyBlbXB0eSBpZiB3ZSdyZSByZW5kZXJpbmcgZ2VuZXJh
dGVkIGltYWdlcyB3aXRoIHJlbGF0aXZlIHdpZHRoL2hlaWdodC4gRmlndXJlIG91dCB0aGUgcmln
aHQgaW50cmluc2ljIHNpemUgdG8gdXNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guY3BwCmluZGV4IDBlZGYyNmE3Yzc3ZDdjYjE4YTM5OGM1MGRiNGIyNmM2M2Y3MjJi
ZGIuLjlkYWQ1MTcxMDc4ZmM2MjNlZDhjYjFhZjBhYzY0Y2JjYTQzZWM5OTMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTIxMSw3ICsyMTEsNyBAQCB2
b2lkIFJlbmRlckxpc3RCb3g6OnNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCkKIAogdm9pZCBSZW5k
ZXJMaXN0Qm94Ojpjb21wdXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5M
b2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBt
YXhMb2dpY2FsV2lkdGggPSBtX29wdGlvbnNXaWR0aCArIDIgKiBvcHRpb25zU3BhY2luZ0hvcml6
b250YWw7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQo
KnRoaXMpID8gMiAqIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbCA6IG1fb3B0aW9uc1dpZHRoICsg
MiAqIG9wdGlvbnNTcGFjaW5nSG9yaXpvbnRhbDsKICAgICBpZiAobV92QmFyKQogICAgICAgICBt
YXhMb2dpY2FsV2lkdGggKz0gbV92QmFyLT53aWR0aCgpOwogICAgIGlmICghc3R5bGUoKS53aWR0
aCgpLmlzUGVyY2VudE9yQ2FsY3VsYXRlZCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJNZW51TGlzdC5jcHAKaW5kZXggZjM5NGJkNjMzNmU0NDQ4MjI3ZjE2YWU5OTk2ZGU1NWYy
NGNjZjhlZC4uNzczMjMzYzE0ZmMyMWI0ZTI4MmMxYjE5ZjI1NGJmMTlmYjI1MjFiNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCkBAIC0zMTUsNyArMzE1
LDggQEAgTGF5b3V0UmVjdCBSZW5kZXJNZW51TGlzdDo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExh
eW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KQogCiB2b2lkIFJlbmRlck1lbnVMaXN0Ojpjb21w
dXRlSW50cmluc2ljTG9naWNhbFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExh
eW91dFVuaXQmIG1heExvZ2ljYWxXaWR0aCkgY29uc3QKIHsKLSAgICBtYXhMb2dpY2FsV2lkdGgg
PSBzdGQ6Om1heChtX29wdGlvbnNXaWR0aCwgdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0
eWxlKCkpKSArIG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSArIG1faW5uZXJCbG9jay0+cGFk
ZGluZ1JpZ2h0KCk7CisgICAgbWF4TG9naWNhbFdpZHRoID0gc2hvdWxkQXBwbHlTaXplQ29udGFp
bm1lbnQoKnRoaXMpID8gdGhlbWUoKS5taW5pbXVtTWVudUxpc3RTaXplKHN0eWxlKCkpIDogc3Rk
OjptYXgobV9vcHRpb25zV2lkdGgsIHRoZW1lKCkubWluaW11bU1lbnVMaXN0U2l6ZShzdHlsZSgp
KSk7CisgICAgbWF4TG9naWNhbFdpZHRoICs9IG1faW5uZXJCbG9jay0+cGFkZGluZ0xlZnQoKSAr
IG1faW5uZXJCbG9jay0+cGFkZGluZ1JpZ2h0KCk7CiAgICAgaWYgKCFzdHlsZSgpLndpZHRoKCku
aXNQZXJjZW50T3JDYWxjdWxhdGVkKCkpCiAgICAgICAgIG1pbkxvZ2ljYWxXaWR0aCA9IG1heExv
Z2ljYWxXaWR0aDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJNdWx0aUNvbHVtbkZsb3cuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11
bHRpQ29sdW1uRmxvdy5jcHAKaW5kZXggNjE4NWU0NzI2MzhiZDc5ZWVkMTBhNTA5N2JhNjU1YjA4
MjZjODM2YS4uYmRiZTRhNzE0ZDBjNmM3YTYzZGNjYzgzNTcyYmIxZjg3MDhlNmEwZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5jcHAK
QEAgLTIwMyw2ICsyMDMsMTIgQEAgdm9pZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnVwZGF0ZU1p
bmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2NrKiBibG9jaywgTGEKICAgICAgICAgbXVs
dGljb2xTZXQtPnVwZGF0ZU1pbmltdW1Db2x1bW5IZWlnaHQobWluSGVpZ2h0KTsKIH0KIAordm9p
ZCBSZW5kZXJNdWx0aUNvbHVtbkZsb3c6OnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFp
bm1lbnQoY29uc3QgUmVuZGVyQmxvY2sqIGJsb2NrLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0
VW5pdCBzaG9ydGFnZSkKK3sKKyAgICBpZiAoYXV0byogbXVsdGljb2xTZXQgPSBkb3duY2FzdDxS
ZW5kZXJNdWx0aUNvbHVtblNldD4oZnJhZ21lbnRBdEJsb2NrT2Zmc2V0KGJsb2NrLCBvZmZzZXQp
KSkKKyAgICAgICAgbXVsdGljb2xTZXQtPnVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFp
bm1lbnQoc2hvcnRhZ2UpOworfQorCiBSZW5kZXJGcmFnbWVudENvbnRhaW5lciogUmVuZGVyTXVs
dGlDb2x1bW5GbG93OjpmcmFnbWVudEF0QmxvY2tPZmZzZXQoY29uc3QgUmVuZGVyQm94KiBib3gs
IExheW91dFVuaXQgb2Zmc2V0LCBib29sIGV4dGVuZExhc3RGcmFnbWVudCkgY29uc3QKIHsKICAg
ICBpZiAoIW1faW5MYXlvdXQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTXVsdGlDb2x1bW5GbG93LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TXVsdGlDb2x1bW5GbG93LmgKaW5kZXggMGM4MzkxOGY4ZWRiNmQyMDEyNThmOTAwYTJiZTE4ZDM5
ZjEzZTc2ZC4uZWI2ZjA4ODc5NDU4NWU4MjU1ZGI3YzBjODU4OGQwMmRjMWE1ZWY5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uRmxvdy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtbkZsb3cuaApAQCAt
MTA4LDYgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAgTGF5b3V0VW5pdCBpbml0aWFsTG9naWNhbFdp
ZHRoKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgdm9pZCBzZXRQYWdlQnJlYWsoY29uc3QgUmVuZGVy
QmxvY2sqLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBzcGFjZVNob3J0YWdlKSBvdmVy
cmlkZTsKICAgICB2b2lkIHVwZGF0ZU1pbmltdW1QYWdlSGVpZ2h0KGNvbnN0IFJlbmRlckJsb2Nr
KiwgTGF5b3V0VW5pdCBvZmZzZXQsIExheW91dFVuaXQgbWluSGVpZ2h0KSBvdmVycmlkZTsKKyAg
ICB2b2lkIHVwZGF0ZVNwYWNlU2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQoY29uc3QgUmVuZGVy
QmxvY2sqLCBMYXlvdXRVbml0IG9mZnNldCwgTGF5b3V0VW5pdCBzaG9ydGFnZSkgb3ZlcnJpZGU7
CiAgICAgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqIGZyYWdtZW50QXRCbG9ja09mZnNldChjb25z
dCBSZW5kZXJCb3gqLCBMYXlvdXRVbml0LCBib29sIGV4dGVuZExhc3RGcmFnbWVudCA9IGZhbHNl
KSBjb25zdCBvdmVycmlkZTsKICAgICB2b2lkIHNldEZyYWdtZW50UmFuZ2VGb3JCb3goY29uc3Qg
UmVuZGVyQm94JiwgUmVuZGVyRnJhZ21lbnRDb250YWluZXIqLCBSZW5kZXJGcmFnbWVudENvbnRh
aW5lciopIG92ZXJyaWRlOwogICAgIGJvb2wgYWRkRm9yY2VkRnJhZ21lbnRCcmVhayhjb25zdCBS
ZW5kZXJCbG9jayosIExheW91dFVuaXQsIFJlbmRlckJveCogYnJlYWtDaGlsZCwgYm9vbCBpc0Jl
Zm9yZSwgTGF5b3V0VW5pdCogb2Zmc2V0QnJlYWtBZGp1c3RtZW50ID0gMCkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck11bHRpQ29sdW1uU2V0LmNwcApp
bmRleCA1MmQxODQ1YTJmN2U3YzNmYmM2NmY3ZGUxN2IwOTMzOTlhNGVjYWIwLi4wZWZkNTkzNTli
NGNiMjA0YzdkNTYzNzY3OTQ1ZTE5NzlmYjNjMzE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTXVsdGlDb2x1bW5TZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5jcHAKQEAgLTUwLDYgKzUwLDcgQEAgUmVu
ZGVyTXVsdGlDb2x1bW5TZXQ6OlJlbmRlck11bHRpQ29sdW1uU2V0KFJlbmRlckZyYWdtZW50ZWRG
bG93JiBmcmFnbWVudGVkRmxvdywKICAgICAsIG1fbWF4Q29sdW1uSGVpZ2h0KFJlbmRlckZyYWdt
ZW50ZWRGbG93OjptYXhMb2dpY2FsSGVpZ2h0KCkpCiAgICAgLCBtX21pblNwYWNlU2hvcnRhZ2Uo
UmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2ljYWxIZWlnaHQoKSkKICAgICAsIG1fbWluaW11
bUNvbHVtbkhlaWdodCgwKQorICAgICwgbV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
KDApCiB7CiB9CiAKQEAgLTIzNSwxNSArMjM2LDE2IEBAIExheW91dFVuaXQgUmVuZGVyTXVsdGlD
b2x1bW5TZXQ6OmNhbGN1bGF0ZUJhbGFuY2VkSGVpZ2h0KGJvb2wgaW5pdGlhbCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bWF4PExheW91dFVuaXQ+KG1fY29udGVudFJ1bnNbaW5kZXhdLmNv
bHVtbkxvZ2ljYWxIZWlnaHQoc3RhcnRPZmZzZXQpLCBtX21pbmltdW1Db2x1bW5IZWlnaHQpOwog
ICAgIH0KIAorICAgIExheW91dFVuaXQgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2UgPSBzdGQ6Om1h
eDxMYXlvdXRVbml0PihMYXlvdXRVbml0KCksIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlu
bWVudCk7CiAgICAgaWYgKGNvbHVtbkNvdW50KCkgPD0gY29tcHV0ZWRDb2x1bW5Db3VudCgpKSB7
CiAgICAgICAgIC8vIFdpdGggdGhlIGN1cnJlbnQgY29sdW1uIGhlaWdodCwgdGhlIGNvbnRlbnQg
Zml0cyB3aXRob3V0IGNyZWF0aW5nIG92ZXJmbG93aW5nIGNvbHVtbnMuIFdlJ3JlIGRvbmUuCi0g
ICAgICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0OworICAgICAgICByZXR1cm4gbV9j
b21wdXRlZENvbHVtbkhlaWdodCArIHNpemVDb250YWlubWVudFNob3J0YWdlOwogICAgIH0KIAog
ICAgIGlmIChmb3JjZWRCcmVha3NDb3VudCgpID49IGNvbXB1dGVkQ29sdW1uQ291bnQoKSkgewog
ICAgICAgICAvLyBUb28gbWFueSBmb3JjZWQgYnJlYWtzIHRvIGFsbG93IGFueSBpbXBsaWNpdCBi
cmVha3MuIEluaXRpYWwgYmFsYW5jaW5nIHNob3VsZCBhbHJlYWR5CiAgICAgICAgIC8vIGhhdmUg
c2V0IGEgZ29vZCBoZWlnaHQuIFRoZXJlJ3Mgbm90aGluZyBtb3JlIHdlIHNob3VsZCBkby4KLSAg
ICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7CisgICAgICAgIHJldHVybiBtX2Nv
bXB1dGVkQ29sdW1uSGVpZ2h0ICsgc2l6ZUNvbnRhaW5tZW50U2hvcnRhZ2U7CiAgICAgfQogCiAg
ICAgLy8gSWYgdGhlIGluaXRpYWwgZ3Vlc3NlZCBjb2x1bW4gaGVpZ2h0IHdhc24ndCBlbm91Z2gs
IHN0cmV0Y2ggaXQgbm93LiBTdHJldGNoIGJ5IHRoZSBsb3dlc3QKQEAgLTI1Miw5ICsyNTQsMTAg
QEAgTGF5b3V0VW5pdCBSZW5kZXJNdWx0aUNvbHVtblNldDo6Y2FsY3VsYXRlQmFsYW5jZWRIZWln
aHQoYm9vbCBpbml0aWFsKSBjb25zdAogICAgIEFTU0VSVChtX21pblNwYWNlU2hvcnRhZ2UgPiAw
KTsgLy8gV2Ugc2hvdWxkIG5ldmVyIF9zaHJpbmtfIHRoZSBoZWlnaHQhCiAgICAgLy8gQVNTRVJU
KG1fbWluU3BhY2VTaG9ydGFnZSAhPSBSZW5kZXJGcmFnbWVudGVkRmxvdzo6bWF4TG9naWNhbEhl
aWdodCgpKTsgLy8gSWYgdGhpcyBoYXBwZW5zLCB3ZSBwcm9iYWJseSBoYXZlIGEgYnVnLgogICAg
IGlmIChtX21pblNwYWNlU2hvcnRhZ2UgPT0gUmVuZGVyRnJhZ21lbnRlZEZsb3c6Om1heExvZ2lj
YWxIZWlnaHQoKSkKLSAgICAgICAgcmV0dXJuIG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQ7IC8vIFNv
IGJhaWwgb3V0IHJhdGhlciB0aGFuIGxvb3BpbmcgaW5maW5pdGVseS4KKyAgICAgICAgcmV0dXJu
IG1fY29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBzaXplQ29udGFpbm1lbnRTaG9ydGFnZTsgLy8gU28g
YmFpbCBvdXQgcmF0aGVyIHRoYW4gbG9vcGluZyBpbmZpbml0ZWx5LgogCi0gICAgcmV0dXJuIG1f
Y29tcHV0ZWRDb2x1bW5IZWlnaHQgKyBtX21pblNwYWNlU2hvcnRhZ2U7CisgICAgYXV0byB0b0Fk
ZCA9IHN0ZDo6bWF4PExheW91dFVuaXQ+KHNpemVDb250YWlubWVudFNob3J0YWdlLCBtX21pblNw
YWNlU2hvcnRhZ2UpOworICAgIHJldHVybiBtX2NvbXB1dGVkQ29sdW1uSGVpZ2h0ICsgdG9BZGQ7
CiB9CiAKIHZvaWQgUmVuZGVyTXVsdGlDb2x1bW5TZXQ6OmNsZWFyRm9yY2VkQnJlYWtzKCkKQEAg
LTM2NSw2ICszNjgsOCBAQCB2b2lkIFJlbmRlck11bHRpQ29sdW1uU2V0OjpwcmVwYXJlRm9yTGF5
b3V0KGJvb2wgaW5pdGlhbCkKICAgICAvLyBOdWtlIHByZXZpb3VzbHkgc3RvcmVkIG1pbmltdW0g
Y29sdW1uIGhlaWdodC4gQ29udGVudHMgbWF5IGhhdmUgY2hhbmdlZCBmb3IgYWxsIHdlIGtub3cu
CiAgICAgbV9taW5pbXVtQ29sdW1uSGVpZ2h0ID0gMDsKIAorICAgIG1fc3BhY2VTaG9ydGFnZUZv
clNpemVDb250YWlubWVudCA9IDA7CisKICAgICAvLyBTdGFydCB3aXRoICJpbmZpbml0ZSIgZmxv
dyB0aHJlYWQgcG9ydGlvbiBoZWlnaHQgdW50aWwgaGVpZ2h0IGlzIGtub3duLgogICAgIHNldExv
Z2ljYWxCb3R0b21JbkZyYWdtZW50ZWRGbG93KFJlbmRlckZyYWdtZW50ZWRGbG93OjptYXhMb2dp
Y2FsSGVpZ2h0KCkpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTXVsdGlDb2x1bW5TZXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0
aUNvbHVtblNldC5oCmluZGV4IGY3M2JmOTBhMzE2ZTM4ZWE4MjVhNjllODY0MjczNzZmNjBlNTRh
NTkuLmM0OGFlMGE0Yzc1ODY1YTUzZmE1NWJmYmVmNzJkMWJiOTIyNzNkNzcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNdWx0aUNvbHVtblNldC5oCkBAIC04Myw2ICs4
MywxNSBAQCBwdWJsaWM6CiAgICAgdm9pZCB1cGRhdGVNaW5pbXVtQ29sdW1uSGVpZ2h0KExheW91
dFVuaXQgaGVpZ2h0KSB7IG1fbWluaW11bUNvbHVtbkhlaWdodCA9IHN0ZDo6bWF4KGhlaWdodCwg
bV9taW5pbXVtQ29sdW1uSGVpZ2h0KTsgfQogICAgIExheW91dFVuaXQgbWluaW11bUNvbHVtbkhl
aWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUNvbHVtbkhlaWdodDsgfQogCisgICAgdm9p
ZCB1cGRhdGVTcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50KExheW91dFVuaXQgc2hvcnRh
Z2UpCisgICAgeworICAgICAgICBpZiAobV9zcGFjZVNob3J0YWdlRm9yU2l6ZUNvbnRhaW5tZW50
IDw9IDApIHsKKyAgICAgICAgICAgIG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA9
IHNob3J0YWdlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1fc3Bh
Y2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudCA9IHN0ZDo6bWluKHNob3J0YWdlLCBtX3NwYWNl
U2hvcnRhZ2VGb3JTaXplQ29udGFpbm1lbnQpOworICAgIH0KKwogICAgIHVuc2lnbmVkIGZvcmNl
ZEJyZWFrc0NvdW50KCkgY29uc3QgeyByZXR1cm4gbV9jb250ZW50UnVucy5zaXplKCk7IH0KICAg
ICB2b2lkIGNsZWFyRm9yY2VkQnJlYWtzKCk7CiAgICAgdm9pZCBhZGRGb3JjZWRCcmVhayhMYXlv
dXRVbml0IG9mZnNldEZyb21GaXJzdFBhZ2UpOwpAQCAtMTk4LDYgKzIwNyw3IEBAIHByaXZhdGU6
CiAgICAgTGF5b3V0VW5pdCBtX21heENvbHVtbkhlaWdodDsgLy8gTWF4aW11bSBjb2x1bW4gaGVp
Z2h0IGFsbG93ZWQuCiAgICAgTGF5b3V0VW5pdCBtX21pblNwYWNlU2hvcnRhZ2U7IC8vIFRoZSBz
bWFsbGVzdCBhbW91dCBvZiBzcGFjZSBzaG9ydGFnZSB0aGF0IGNhdXNlZCBhIGNvbHVtbiBicmVh
ay4KICAgICBMYXlvdXRVbml0IG1fbWluaW11bUNvbHVtbkhlaWdodDsKKyAgICBMYXlvdXRVbml0
IG1fc3BhY2VTaG9ydGFnZUZvclNpemVDb250YWlubWVudDsgLy8gVGhlIHNob3J0YWdlIHNwYWNl
IHRoYXQga2VlcHMgc2l6ZSBjb250YWlubWVudCBtb25vbGl0aGljLgogCiAgICAgLy8gQSBydW4g
b2YgY29udGVudCB3aXRob3V0IGV4cGxpY2l0IChmb3JjZWQpIGJyZWFrczsgaS5lLiBhIGZsb3cg
dGhyZWFkIHBvcnRpb24gYmV0d2VlbiB0d28KICAgICAvLyBleHBsaWNpdCBicmVha3MsIGJldHdl
ZW4gZmxvdyB0aHJlYWQgc3RhcnQgYW5kIGFuIGV4cGxpY2l0IGJyZWFrLCBiZXR3ZWVuIGFuIGV4
cGxpY2l0IGJyZWFrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCmlu
ZGV4IGU1NGVkOWYzYWIzN2ZmMWJkMzc5ZmE4NTdmZjQ0YThhZTNhZGMzODQuLmM1OGI5MWJjNGUz
YmQ1ZjJiYTg2NTgzODc3OWQxNmFmMTM1OGY1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNDk4LDMgKzI0OTgsOCBAQCBib29sIFdlYkNvcmU6OnNo
b3VsZEFwcGx5TGF5b3V0Q29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiBy
ZW5kZXJlcgogewogICAgIHJldHVybiByZW5kZXJlci5zdHlsZSgpLmNvbnRhaW5zTGF5b3V0KCkg
JiYgKCFyZW5kZXJlci5pc0lubGluZSgpIHx8IHJlbmRlcmVyLmlzQXRvbWljSW5saW5lTGV2ZWxC
b3goKSkgJiYgIXJlbmRlcmVyLmlzUnVieVRleHQoKSAmJiAoIXJlbmRlcmVyLmlzVGFibGVQYXJ0
KCkgfHwgcmVuZGVyZXIuaXNSZW5kZXJCbG9ja0Zsb3coKSk7CiB9CisKK2Jvb2wgV2ViQ29yZTo6
c2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiBy
ZW5kZXJlcikKK3sKKyAgICByZXR1cm4gcmVuZGVyZXIuc3R5bGUoKS5jb250YWluc1NpemUoKSAm
JiAoIXJlbmRlcmVyLmlzSW5saW5lKCkgfHwgcmVuZGVyZXIuaXNBdG9taWNJbmxpbmVMZXZlbEJv
eCgpKSAmJiAhcmVuZGVyZXIuaXNSdWJ5VGV4dCgpICYmICghcmVuZGVyZXIuaXNUYWJsZVBhcnQo
KSB8fCByZW5kZXJlci5pc1RhYmxlQ2FwdGlvbigpKSAmJiAhcmVuZGVyZXIuaXNUYWJsZSgpOwor
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IDMxZjBmMDdkNTQ3
MjdlOGM1NDZjNTQ3YzU3ZDMwNDUxZTE5MjMyYzYuLjg2ZmI1M2M5ZWU0MWVmNmFlNWZlYzExZGQ1
YmUwNTM0ZDYzZDRjYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgK
QEAgLTIwMSw3ICsyMDEsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc1JlbmRlcklubGluZSgpIGNv
bnN0OwogICAgIGJvb2wgaXNSZW5kZXJMYXllck1vZGVsT2JqZWN0KCkgY29uc3Q7CiAKLSAgICBp
bmxpbmUgYm9vbCBpc0F0b21pY0lubGluZUxldmVsQm94KCkgY29uc3Q7CisgICAgYm9vbCBpc0F0
b21pY0lubGluZUxldmVsQm94KCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNDb3VudGVy
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNRdW90ZSgpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CkBAIC0xMTczLDcgKzExNzMsNyBAQCBpbmxpbmUgUmVuZGVy
T2JqZWN0KiBSZW5kZXJPYmplY3Q6Om5leHRJbkZsb3dTaWJsaW5nKCkgY29uc3QKICAgICByZXR1
cm4gbmV4dFNpYmxpbmc7CiB9CiAKLWJvb2wgUmVuZGVyT2JqZWN0Ojppc0F0b21pY0lubGluZUxl
dmVsQm94KCkgY29uc3QKK2lubGluZSBib29sIFJlbmRlck9iamVjdDo6aXNBdG9taWNJbmxpbmVM
ZXZlbEJveCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHN0eWxlKCkuaXNEaXNwbGF5SW5saW5lVHlw
ZSgpICYmICEoc3R5bGUoKS5kaXNwbGF5KCkgPT0gRGlzcGxheVR5cGU6OklubGluZSAmJiAhaXNS
ZXBsYWNlZCgpKTsKIH0KQEAgLTExODcsNiArMTE4Nyw3IEBAIHZvaWQgcHJpbnRHcmFwaGljc0xh
eWVyVHJlZUZvckxpdmVEb2N1bWVudHMoKTsKICNlbmRpZgogCiBib29sIHNob3VsZEFwcGx5TGF5
b3V0Q29udGFpbm1lbnQoY29uc3QgUmVuZGVyT2JqZWN0Jik7Citib29sIHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KGNvbnN0IFJlbmRlck9iamVjdCYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNl
ZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVwbGFjZWQuY3BwCmluZGV4
IDJhOTM5Y2U1YmE4NDA3NTNiZDU5ZjM2YjA3MmMzYWU4YzUzZDJkNGUuLjhmZTMzYjAwMzc5YTBh
ODBhOGZiODkyNmI2MWJhNmRkNzhkNmU2ODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJSZXBsYWNlZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclJlcGxhY2VkLmNwcApAQCAtMzkxLDcgKzM5MSw5IEBAIGJvb2wgUmVuZGVyUmVwbGFj
ZWQ6OnNldE5lZWRzTGF5b3V0SWZOZWVkZWRBZnRlckludHJpbnNpY1NpemVDaGFuZ2UoKQogdm9p
ZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUFzcGVjdFJhdGlvSW5mb3JtYXRpb25Gb3JSZW5kZXJC
b3goUmVuZGVyQm94KiBjb250ZW50UmVuZGVyZXIsIEZsb2F0U2l6ZSYgY29uc3RyYWluZWRTaXpl
LCBkb3VibGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIEZsb2F0U2l6ZSBpbnRyaW5z
aWNTaXplOwotICAgIGlmIChjb250ZW50UmVuZGVyZXIpIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlT
aXplQ29udGFpbm1lbnQoKnRoaXMpKQorICAgICAgICBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0ZUlu
dHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oaW50cmluc2ljU2l6ZSwgaW50cmluc2ljUmF0aW8pOwor
ICAgIGVsc2UgaWYgKGNvbnRlbnRSZW5kZXJlcikgewogICAgICAgICBjb250ZW50UmVuZGVyZXIt
PmNvbXB1dGVJbnRyaW5zaWNSYXRpb0luZm9ybWF0aW9uKGludHJpbnNpY1NpemUsIGludHJpbnNp
Y1JhdGlvKTsKIAogICAgICAgICBpZiAoc3R5bGUoKS5hc3BlY3RSYXRpb1R5cGUoKSA9PSBBc3Bl
Y3RSYXRpb1R5cGU6OlJhdGlvIHx8IChzdHlsZSgpLmFzcGVjdFJhdGlvVHlwZSgpID09IEFzcGVj
dFJhdGlvVHlwZTo6QXV0b0FuZFJhdGlvICYmICFpbnRyaW5zaWNSYXRpbykpCkBAIC00OTYsNyAr
NDk4LDcgQEAgT3B0aW9uYWw8ZG91YmxlPiBSZW5kZXJSZXBsYWNlZDo6aW50cmluc2ljQXNwZWN0
UmF0aW9Gcm9tV2lkdGhIZWlnaHQoKSBjb25zdAogdm9pZCBSZW5kZXJSZXBsYWNlZDo6Y29tcHV0
ZUludHJpbnNpY1JhdGlvSW5mb3JtYXRpb24oRmxvYXRTaXplJiBpbnRyaW5zaWNTaXplLCBkb3Vi
bGUmIGludHJpbnNpY1JhdGlvKSBjb25zdAogewogICAgIC8vIElmIHRoZXJlJ3MgYW4gZW1iZWRk
ZWRDb250ZW50Qm94KCkgb2YgYSByZW1vdGUsIHJlZmVyZW5jZWQgZG9jdW1lbnQgYXZhaWxhYmxl
LCB0aGlzIGNvZGUtcGF0aCBzaG91bGQgbmV2ZXIgYmUgdXNlZC4KLSAgICBBU1NFUlQoIWVtYmVk
ZGVkQ29udGVudEJveCgpKTsKKyAgICBBU1NFUlQoIWVtYmVkZGVkQ29udGVudEJveCgpIHx8IHNo
b3VsZEFwcGx5U2l6ZUNvbnRhaW5tZW50KCp0aGlzKSk7CiAgICAgaW50cmluc2ljU2l6ZSA9IEZs
b2F0U2l6ZShpbnRyaW5zaWNMb2dpY2FsV2lkdGgoKSwgaW50cmluc2ljTG9naWNhbEhlaWdodCgp
KTsKIAogICAgIGlmIChzdHlsZSgpLmhhc0FzcGVjdFJhdGlvKCkpIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZXBsYWNlZC5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKaW5kZXggM2I2MWY0OWQ1YTE3MGJiMjM1MGJkZjY3
MGM2MTk4MDA1OTZkYzUxZi4uOTliYWEwOWY4OGY5NTJiZGQ1YjU3OGM2MmIzZmRmYmU1YWViZmMw
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclJlcGxhY2VkLmgKQEAgLTQwLDcg
KzQwLDEyIEBAIHB1YmxpYzoKICAgICBib29sIGhhc1JlcGxhY2VkTG9naWNhbEhlaWdodCgpIGNv
bnN0OwogICAgIGJvb2wgc2V0TmVlZHNMYXlvdXRJZk5lZWRlZEFmdGVySW50cmluc2ljU2l6ZUNo
YW5nZSgpOwogCi0gICAgTGF5b3V0U2l6ZSBpbnRyaW5zaWNTaXplKCkgY29uc3QgZmluYWwgeyBy
ZXR1cm4gbV9pbnRyaW5zaWNTaXplOyB9CisgICAgTGF5b3V0U2l6ZSBpbnRyaW5zaWNTaXplKCkg
Y29uc3QgZmluYWwKKyAgICB7CisgICAgICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlubWVu
dCgqdGhpcykpCisgICAgICAgICAgICByZXR1cm4gTGF5b3V0U2l6ZSgpOworICAgICAgICByZXR1
cm4gbV9pbnRyaW5zaWNTaXplOworICAgIH0KICAgICAKICAgICBSb3VuZGVkUmVjdCByb3VuZGVk
Q29udGVudEJveFJlY3QoKSBjb25zdDsKICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJTbGlkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclNsaWRlci5jcHAKaW5kZXggNDcxNjllZGY5OGUxNDI4YzRhMDc3MGYyZjRlZmMwYjU4ZDgx
M2M3Yi4uOWU5NDRiZTAwYmIwMmUzODUxYTQzZDU2NjY2MTlmN2M0MjlhNWQ5NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNsaWRlci5jcHAKQEAgLTY5LDYgKzY5LDggQEAgTGF5
b3V0VW5pdCBSZW5kZXJTbGlkZXI6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lLCBib29s
IC8qZmlyc3RMaW5lKi8sIExpbmUKIAogdm9pZCBSZW5kZXJTbGlkZXI6OmNvbXB1dGVJbnRyaW5z
aWNMb2dpY2FsV2lkdGhzKExheW91dFVuaXQmIG1pbkxvZ2ljYWxXaWR0aCwgTGF5b3V0VW5pdCYg
bWF4TG9naWNhbFdpZHRoKSBjb25zdAogeworICAgIGlmIChzaG91bGRBcHBseVNpemVDb250YWlu
bWVudCgqdGhpcykpCisgICAgICAgIHJldHVybjsKICAgICBtYXhMb2dpY2FsV2lkdGggPSBkZWZh
dWx0VHJhY2tMZW5ndGggKiBzdHlsZSgpLmVmZmVjdGl2ZVpvb20oKTsKICAgICBpZiAoIXN0eWxl
KCkud2lkdGgoKS5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSkKICAgICAgICAgbWluTG9naWNhbFdp
ZHRoID0gbWF4TG9naWNhbFdpZHRoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRleHRDb250cm9sLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUZXh0Q29udHJvbC5jcHAKaW5kZXggZGMwNThkNTM0NjdhYTNjZmFiZjg1MmYzMzFlZjAxZjMx
NTUzMjFmNC4uMjQyYWNhM2EwNmI5MTU3NGE3NDhiMTNlY2VmYTgwYzYxNzJiOWM1OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0xNTYs
NiArMTU2LDggQEAgZmxvYXQgUmVuZGVyVGV4dENvbnRyb2w6OnNjYWxlRW1Ub1VuaXRzKGludCB4
KSBjb25zdAogCiB2b2lkIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlSW50cmluc2ljTG9naWNh
bFdpZHRocyhMYXlvdXRVbml0JiBtaW5Mb2dpY2FsV2lkdGgsIExheW91dFVuaXQmIG1heExvZ2lj
YWxXaWR0aCkgY29uc3QKIHsKKyAgICBpZiAoc2hvdWxkQXBwbHlTaXplQ29udGFpbm1lbnQoKnRo
aXMpKQorICAgICAgICByZXR1cm47CiAgICAgLy8gVXNlIGF2ZXJhZ2UgY2hhcmFjdGVyIHdpZHRo
LiBNYXRjaGVzIElFLgogICAgIG1heExvZ2ljYWxXaWR0aCA9IHByZWZlcnJlZENvbnRlbnRMb2dp
Y2FsV2lkdGgoY29uc3RfY2FzdDxSZW5kZXJUZXh0Q29udHJvbCo+KHRoaXMpLT5nZXRBdmVyYWdl
Q2hhcldpZHRoKCkpOwogICAgIGlmIChSZW5kZXJCb3gqIGlubmVyVGV4dFJlbmRlckJveCA9IGlu
bmVyVGV4dEVsZW1lbnQoKS0+cmVuZGVyQm94KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlclZpZGVvLmNwcAppbmRleCBjNmQwNDQxNjZjY2ZkNWJjN2M4ZjE5ZTBhYWJjMjFjNTgwMzgy
MWY5Li4yOTI4ZGQ0ZGNhZmVkMmE0YzA3YmFkMGQxNGFlNDMzOTBlNTljYTkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlkZW8uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWRlby5jcHAKQEAgLTEyMyw2ICsxMjMsOSBAQCBib29s
IFJlbmRlclZpZGVvOjp1cGRhdGVJbnRyaW5zaWNTaXplKCkKIAogTGF5b3V0U2l6ZSBSZW5kZXJW
aWRlbzo6Y2FsY3VsYXRlSW50cmluc2ljU2l6ZSgpCiB7CisgICAgaWYgKHNob3VsZEFwcGx5U2l6
ZUNvbnRhaW5tZW50KCp0aGlzKSkKKyAgICAgICAgcmV0dXJuIExheW91dFNpemUoKTsKKwogICAg
IC8vIFNwZWMgdGV4dCBmcm9tIDQuOC42CiAgICAgLy8KICAgICAvLyBUaGUgaW50cmluc2ljIHdp
ZHRoIG9mIGEgdmlkZW8gZWxlbWVudCdzIHBsYXliYWNrIGFyZWEgaXMgdGhlIGludHJpbnNpYyB3
aWR0aCAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKaW5k
ZXggZGY1NWVlNjIyZTZlMTAzYTU4MjhkNDZhNTllOTM5ZWIwN2M4ZDg3My4uMGE1NjhmY2JjMzQ0
Yzk1MDUxMWI2ZDM5YzRmYTBmNGMyMDU1ZWFlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL3N0eWxlL1JlbmRlclN0eWxlLmgKQEAgLTUyNyw2ICs1MjcsNyBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBoYXNBc3BlY3RSYXRpbygpIGNvbnN0IHsgcmV0dXJuIGFzcGVjdFJhdGlvVHlwZSgpID09
IEFzcGVjdFJhdGlvVHlwZTo6UmF0aW8gfHwgYXNwZWN0UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0
aW9UeXBlOjpBdXRvQW5kUmF0aW87IH0KICAgICBPcHRpb25TZXQ8Q29udGFpbm1lbnQ+IGNvbnRh
aW4oKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5jb250YWluOyB9CiAg
ICAgYm9vbCBjb250YWluc0xheW91dCgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRl
ZERhdGEtPmNvbnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OkxheW91dCk7IH0KKyAgICBib29s
IGNvbnRhaW5zU2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZU5vbkluaGVyaXRlZERhdGEtPmNv
bnRhaW4uY29udGFpbnMoQ29udGFpbm1lbnQ6OlNpemUpOyB9CiAgICAgQm94QWxpZ25tZW50IGJv
eEFsaWduKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Qm94QWxpZ25tZW50PihtX3JhcmVO
b25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVkRmxleGlibGVCb3gtPmFsaWduKTsgfQogICAgIEJv
eERpcmVjdGlvbiBib3hEaXJlY3Rpb24oKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxCb3hE
aXJlY3Rpb24+KG1faW5oZXJpdGVkRmxhZ3MuYm94RGlyZWN0aW9uKTsgfQogICAgIGZsb2F0IGJv
eEZsZXgoKSBjb25zdCB7IHJldHVybiBtX3JhcmVOb25Jbmhlcml0ZWREYXRhLT5kZXByZWNhdGVk
RmxleGlibGVCb3gtPmZsZXg7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1Jl
bmRlclNWR1Jvb3QuY3BwCmluZGV4IGZiZGU0YjQ2ZWMxZDFlNTcyYTFlNWVjYmJiNzgwM2RhNzVi
M2YzOWUuLjE2MWU4MzBjMjk5NGE4ZjkzN2RjODE2NzIxZmNlN2ZkMjE4NGY3MWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvUmVuZGVyU1ZHUm9vdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9SZW5kZXJTVkdSb290LmNwcApAQCAtNzAsNiAr
NzAsOCBAQCBTVkdTVkdFbGVtZW50JiBSZW5kZXJTVkdSb290OjpzdmdTVkdFbGVtZW50KCkgY29u
c3QKIAogdm9pZCBSZW5kZXJTVkdSb290Ojpjb21wdXRlSW50cmluc2ljUmF0aW9JbmZvcm1hdGlv
bihGbG9hdFNpemUmIGludHJpbnNpY1NpemUsIGRvdWJsZSYgaW50cmluc2ljUmF0aW8pIGNvbnN0
CiB7CisgICAgQVNTRVJUKCFzaG91bGRBcHBseVNpemVDb250YWlubWVudCgqdGhpcykpOworCiAg
ICAgLy8gU3BlYzogaHR0cDovL3d3dy53My5vcmcvVFIvU1ZHL2Nvb3Jkcy5odG1sI0ludHJpbnNp
Y1NpemluZwogICAgIC8vIFNWRyBuZWVkcyB0byBzcGVjaWZ5IGhvdyB0byBjYWxjdWxhdGUgc29t
ZSBpbnRyaW5zaWMgc2l6aW5nIHByb3BlcnRpZXMgdG8gZW5hYmxlIGluY2x1c2lvbiB3aXRoaW4g
b3RoZXIgbGFuZ3VhZ2VzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODllZjliMTM0ZDk3NDg0YWY4YWUyNDg2NDJjNzUy
OWJhNWRlMDk2Yy4uZmJhMjJmYzhmYzMyNjYyNGVmNDI1YzdhYmFlYjZhODI2N2UzNWM2NCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIxLTA1LTA0ICBDYXRoaWUgQ2hlbiAgPGNhdGhpZWNoZW5A
aWdhbGlhLmNvbT4KKworICAgICAgICBbQ1NTIGNvbnRhaW5dIFN1cHBvcnQgY29udGFpbjpzaXpl
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjM1NzAK
KworICAgICAgICBSZXZpZXdlZCBieSBBbGFuIEJ1anRhcy4KKworICAgICAgICBVcGRhdGUgdGhl
IHRlc3QgcmVzdWx0IGZvciBzaXplIGNvbnRhaW5tZW50LiBBZGRlZCBleHBsYW5hdGlvbnMgZm9y
IHNpemUgY29udGFpbm1lbnQgdGVzdHMKKyAgICAgICAgdGhhdCBkZXBlbmRlZCBvbiBvdGhlciBm
ZWF0dXJlcy4KKworICAgICAgICAqIFRlc3RFeHBlY3RhdGlvbnM6CisKIDIwMjEtMDUtMTAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIFJlbGVhc2Ug
d2syIF0gaHR0cC90ZXN0cy9jYWNoZS1zdG9yYWdlL2NhY2hlLXJlY29yZHMtcGVyc2lzdGVuY3ku
aHR0cHMuaHRtbCBpcyBmbGFreSBjcmFzaGluZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
aW5kZXggYzM3Yjk1NzQ3M2UwNWY5MjFhNmUyNGRjNDAzZDE4NTkxMmJiZmViNi4uMDc5NmNmNDll
ODlkZmMwODljNzFmYjBiM2FiZjQ3NDYxYWU2ZGViZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMjEtMDUtMDQgIENhdGhpZSBDaGVuICA8Y2F0aGll
Y2hlbkBpZ2FsaWEuY29tPgorCisgICAgICAgIFtDU1MgY29udGFpbl0gU3VwcG9ydCBjb250YWlu
OnNpemUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIy
MzU3MAorCisgICAgICAgIFJldmlld2VkIGJ5IEFsYW4gQnVqdGFzLgorCisgICAgICAgIDxjYW52
YXM+IGFuZCA8dmlkZW8+IGRvbid0IHN1cHBvcnQgY29tcHV0aW5nIGFzcGVjdCByYXRpbyBmcm9t
IHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyB5ZXQsCisgICAgICAgIHNvIHRoZSBoZWlnaHRz
IGFyZSB6ZXJvIHdoZW4gdGhleSBhcmUgd2l0aCAiY29udGFpbjogc2l6ZSIuCisKKyAgICAgICAg
KiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAw
My1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZs
ZXgtaXRlbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMv
YXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3Qt
cmF0aW8tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Jl
bmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250ZW50
LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dDoKKwogMjAyMS0wNS0x
MCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEltcGxlbWVudCA8Zm9y
bT4ucmVxdWVzdFN1Ym1pdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA2YjA0MDExNDZkZTIwOGI1
NDYzOGQ5ZjMzZGVkMmQwYThlMzFjMDQxLi4xMDU4NWYwN2ZlZGM5MTU2MTU5OTgzMzg0NDQ0YWIz
NDgxOWQ0MzY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTQ2NDYsNyArNDY0Niw2IEBAIHdlYmFu
aW1hdGlvbnMvdHJhbnNmb3JtLXByb3BlcnR5LWFuZC10cmFuc2Zvcm0tYW5pbWF0aW9uLXdpdGgt
ZGVsYXktb24tZm9yY2VkLWxhCiB3ZWJhbmltYXRpb25zL3RyYW5zbGF0ZS1wcm9wZXJ0eS1hbmQt
dHJhbnNsYXRlLWFuaW1hdGlvbi13aXRoLWRlbGF5LW9uLWZvcmNlZC1sYXllci5odG1sIFsgU2tp
cCBdCiAKICMgQ1NTIGNvbnRhaW5tZW50IHRlc3RzIHRoYXQgZmFpbAotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1hbmltYXRpb24tMDAxLmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KICMgd2Via2l0LXJ1YnktdGV4dAogaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1sYXlvdXQtMDE3Lmh0
bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0eS9jb250ZW50LXZpc2liaWxpdHktMDAx
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KQEAgLTQ2NjMsNyArNDY2Miw2IEBAIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRlbnQtdmlzaWJpbGl0
eS9jb250ZW50LXZpc2liCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Mt
Y29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMC5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250ZW50LXZpc2liaWxpdHkvY29udGVudC12aXNpYmlsaXR5LTAyMi5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLWxheW91dC1zaXplLTAwMy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXBhaW50LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXBhaW50LTAwNS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCkBAIC00NzA1LDY4ICs0NzAzLDggQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1wYWludC1zdGFja2luZy1jb250ZXh0LTAKIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQt
c3RhY2tpbmctY29udGV4dC0wMDFiLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFi
bGUtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tcGFpbnQtdGFibGUtMDAyLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS0wMTEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXpl
LTAxMy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDIxLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS0wMjMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTAyNS5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtMDI3Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
LWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4t
c2l6ZS0wNDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA0Mi5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtMDU2Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjEu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLTA2Mi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtMDYzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS0wNjQuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtYmxvY2stMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ibG9jay0wMDMu
aHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWJsb2NrLTAwNC5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtYm9yZGVycy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnJl
YWtzLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtZmllbGRzZXQtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1maWVs
ZHNldC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWZpZWxkc2V0LTAwMy5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmllbGRzZXQtMDA0Lmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZmxl
eGJveC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAxLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
cy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
Ci1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtZ3JpZC0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9j
ay0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDIuaHRt
bCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDMuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWlubGluZS1ibG9jay0wMDQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLWlubGluZS1mbGV4LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUt
bW9ub2xpdGhpYy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW1vbm9saXRoaWMt
MDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1tdWx0aWNvbC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBs
YWNlZC0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwMi5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYS5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFp
bi9jb250YWluLXNpemUtcmVwbGFjZWQtMDAzYi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtcmVwbGFjZWQtMDAzYy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtcmVwbGFjZWQt
MDA0Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1yZXBsYWNlZC0wMDUuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXJlcGxhY2VkLTAwNi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtc2Nyb2xsYmFycy0wMDEuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNj
cm9sbGJhcnMtMDAyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zY3JvbGxiYXJzLTAw
My5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMS5odG1sIFsgSW1hZ2VP
bmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29u
dGFpbi9jb250YWluLXNpemUtc2VsZWN0LTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNp
emUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3Qt
ZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC1lbGVtLTAwMy5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCi1pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtc2VsZWN0LWVsZW0tMDA0Lmh0bWwgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1j
b250YWluL2NvbnRhaW4tc2l6ZS1zZWxlY3QtZWxlbS0wMDUuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLXRhYmxlLWNhcHRpb24tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3Ry
aWN0LTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0cmljdC0wMDIuaHRtbCBbIEltYWdl
T25seUZhaWx1cmUgXQotaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zdHJpY3QtMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc3RyaWN0
LTAxMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMS5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXN0eWxlLWNvdW50ZXJzLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFp
bHVyZSBdCkBAIC00ODAyLDYgKzQ3NDAsMzEgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3NzLWNvbnRhaW4vcXVvdGUtc2NvcGluZy0wMDQuaHRtbCBbIEltYWdlT24KICMg
Rmxha3kgY3NzLWNvbnRhaW4gdGVzdAogaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLWNvbnRhaW4vY29udGVudC12aXNpYmlsaXR5L2FuaW1hdGlvbi1kaXNwbGF5LWxvY2su
aHRtbCBbIEZhaWx1cmUgUGFzcyBdCiAKKyMgQ2FudmFzIGRvZXNuJ3QgZ2V0IGRlZmF1bHQgYXNw
ZWN0LXJhdGlvIGZvciB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMuCit3ZWJraXQub3JnL2Iv
MjE3NTI5IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2Nh
bnZhcy1jb250YWluLXNpemUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENvbnRlbnQg
aXMgcGFpbnRlZCBvbiBzdmcncyBwYWRkaW5nIGFyZWEuCit3ZWJraXQub3JnL2IvNDI1ODY4IGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6
ZS1yZXBsYWNlZC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIE11bHRpY29sdW1u
IGRvZXMgbm90IHBhaW50IHRoZSBob3Jpem9udGFsIG92ZXJmbG93IGFyZWEgb2YgYSByZWxhdGl2
ZSBjaGlsZC4KK3dlYmtpdC5vcmcvYi80MTc5NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbW9ub2xpdGhpYy0wMDIuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQorCisjIEJ1dHRvbnMgd2l0aCBhdXRvIHdpZHRoIGFuZCBoZWlnaHQg
aGFzIGV4dHJhIG1hcmdpbnMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3MtY29udGFpbi9jb250YWluLXNpemUtYnV0dG9uLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtYnV0dG9uLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgU2Nyb2xs
YmFyIGRpc3BsYXlzIGFyZSBkaWZmZXJlbnQuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWluLXNpemUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KK2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250
YWluL2NvbnRhaW4tc2l6ZS1pbmxpbmUtYmxvY2stMDAzLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KKworIyBTZWxlY3Qgd2l0aCBlbXB0eSBjb250ZW50IGFsd2F5cyBoYXMgcm9vdCBsaW5lYm94
LCBzbyB0aGUgaGVpZ2h0cyBhcmUgZGlmZmVyZW50LgoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDEuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQoraW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
LWNvbnRhaW4vY29udGFpbi1zaXplLXNlbGVjdC0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQorCisjIENTUyBwcm9wZXJ0eSBjb2xvciBpcyBub3Qgd29ya2luZyBpbiBzZWxlY3QgZWxlbWVu
dHMuCitpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtc2VsZWN0LWVsZW0tMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1z
ZWxlY3QtZWxlbS0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCiAjIFRlc3RzIHRoYXQg
ZmFpbCBiZWNhdXNlIHRoZXkgYXNzdW1lIGEgdmVydGljYWwgc2Nyb2xsYmFyIGluIGB3cml0aW5n
LW1vZGU6IHZlcnRpY2FsLXJsYCBlbGVtZW50cyB3aWxsIGJlIG9uIHRoZSByaWdodC1oYW5kIHNp
ZGUKIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3NzLXdyaXRpbmctbW9kZXMvc2l6aW5nLW9ydGhvZy12cmwtaW4taHRiLTAxMy54aHQgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMjQzNTcgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9jc3NvbS1nZXRCb3VuZGluZ0NsaWVudFJlY3Qt
dmVydGljYWwtcmwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29u
dGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWluL2NvbnRhaW4tc2l6ZS1ncmlkLTAw
My1leHBlY3RlZC50eHQKaW5kZXggZTE2ZDY3ZGJmN2Q0NTI0YWY3ZjMxMTAzMDlmOTc4Mjk5MDQx
YzJkMi4uNTFlOGUyMDAyZmY3Y2E3NDJjOTVlMzk0NmZkMWNjOGJmZjdiMTFmNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWNv
bnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDAzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250YWlu
LXNpemUtZ3JpZC0wMDMtZXhwZWN0ZWQudHh0CkBAIC0zNiwxOSArMzYsOCBAQCBQQVNTIC5ncmlk
IDM0CiBQQVNTIC5ncmlkIDM1CiBQQVNTIC5ncmlkIDM2CiBQQVNTIC5ncmlkIDM3Ci1GQUlMIC5n
cmlkIDM4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIiBzdHlsZT0iZ3JpZDogcmVw
ZWF0KGF1dG8tZml0LCA3NXB4KSAvIHJlcGVhdChhdXRvLWZpdCwgMTAwcHgpOyIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICAgIDxkaXY+PC9kaXY+
Ci0gIDwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDEwMAotRkFJTCAuZ3JpZCAzOSBh
c3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCIgc3R5bGU9ImdyaWQ6IGF1dG8gNTBweCAv
IDEwMHB4IGF1dG87IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIxMDAiIGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSI1MCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMTAiIGRhdGEtb2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjAiPlg8L2Rpdj4K
LSAgPGRpdiBkYXRhLWV4cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEw
IiBkYXRhLW9mZnNldC14PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjAiPlhYPC9kaXY+Ci0gIDxkaXYg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iNTAiIGRhdGEt
b2Zmc2V0LXg9IjAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFg8L2Rpdj4KLSAgPGRpdiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSI0MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjUwIiBkYXRhLW9mZnNldC14
PSIxMDAiIGRhdGEtb2Zmc2V0LXk9IjEwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVj
dGVkIDEwMCBidXQgZ290IDE0MAorUEFTUyAuZ3JpZCAzOAorUEFTUyAuZ3JpZCAzOQogCiBYCiBY
WApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1jb250YWlu
L2NvbnRhaW4tc2l6ZS1ncmlkLTAwNC1leHBlY3RlZC50eHQKaW5kZXggNzBjZDdlNjE5MWQwZmZk
YmE1MjI2NDI0NmI4YTgxY2YzNDgzZGYzOC4uZTBhMWM5ZDUxZmJmNGI2YTU2MjRkZjQxYjlmYjIy
MWM0NWVmNmJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLWdyaWQtMDA0LWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtZ3JpZC0wMDQtZXhwZWN0ZWQudHh0CkBAIC0xLDM4
ICsxLDE4IEBACiAKIFBBU1MgLmdyaWQgMQotRkFJTCAuZ3JpZCAyIGFzc2VydF9lcXVhbHM6Ci08
ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBl
eHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIKIFBBU1MgLmdyaWQgMwotRkFJTCAu
Z3JpZCA0IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIHBlcmNlbnQgbWF4LWNvbnRl
bnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAg
PGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhY
WDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlk
IDQKIFBBU1MgLmdyaWQgNQogUEFTUyAuZ3JpZCA2CiBQQVNTIC5ncmlkIDcKLUZBSUwgLmdyaWQg
OCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBjYWxjIG1pbi1jb250ZW50IiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMTAwIj5YWFhYPC9k
aXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgOAog
UEFTUyAuZ3JpZCA5Ci1GQUlMIC5ncmlkIDEwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIGNhbGMgbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBi
dXQgZ290IDMwMAorUEFTUyAuZ3JpZCAxMAogUEFTUyAuZ3JpZCAxMQogUEFTUyAuZ3JpZCAxMgog
UEFTUyAuZ3JpZCAxMwotRkFJTCAuZ3JpZCAxNCBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0i
Z3JpZCBtaW5tYXgtcGVyY2VudC1maXhlZCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjEwMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMTAwCitQQVNTIC5ncmlkIDE0CiBQQVNTIC5ncmlkIDE1
CiBQQVNTIC5ncmlkIDE2CiBQQVNTIC5ncmlkIDE3CkBAIC00MCw2NyArMjAsMzEgQEAgUEFTUyAu
Z3JpZCAxOAogUEFTUyAuZ3JpZCAxOQogUEFTUyAuZ3JpZCAyMAogUEFTUyAuZ3JpZCAyMQotRkFJ
TCAuZ3JpZCAyMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iZ3JpZCBtaW5tYXgtZml4ZWQt
cGVyY2VudCBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCIgZGF0YS1leHBl
Y3RlZC13aWR0aD0iMTAwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMTAwIiBkYXRh
LWV4cGVjdGVkLXdpZHRoPSIxMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQg
MTAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDIyCiBQQVNTIC5ncmlkIDIzCiBQQVNTIC5ncmlk
IDI0CiBQQVNTIC5ncmlkIDI1Ci1GQUlMIC5ncmlkIDI2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNs
YXNzPSJncmlkIG1pbm1heC1wZXJjZW50LWZsZXggbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13
aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI2CiBQQVNTIC5ncmlkIDI3
Ci1GQUlMIC5ncmlkIDI4IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIG1pbm1heC1w
ZXJjZW50LWZsZXggbWF4LWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4
cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1l
eHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1
dCBnb3QgMzAwCitQQVNTIC5ncmlkIDI4CiBQQVNTIC5ncmlkIDI5CiBQQVNTIC5ncmlkIDMwCiBQ
QVNTIC5ncmlkIDMxCi1GQUlMIC5ncmlkIDMyIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJn
cmlkIG1pbm1heC1pbnRyaW5zaWMtcGVyY2VudCBtaW4tY29udGVudCIgZGF0YS1leHBlY3RlZC1o
ZWlnaHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSI3NSIgZGF0YS1leHBlY3RlZC13aWR0aD0iMzAwIj5YWFhYPC9kaXY+Ci08L2Rpdj4K
LXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgMzIKIFBBU1MgLmdyaWQg
MzMKLUZBSUwgLmdyaWQgMzQgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImdyaWQgbWlubWF4
LWludHJpbnNpYy1wZXJjZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIg
ZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1
IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhw
ZWN0ZWQgMCBidXQgZ290IDMwMAorUEFTUyAuZ3JpZCAzNAogUEFTUyAuZ3JpZCAzNQogUEFTUyAu
Z3JpZCAzNgogUEFTUyAuZ3JpZCAzNwotRkFJTCAuZ3JpZCAzOCBhc3NlcnRfZXF1YWxzOgotPGRp
diBjbGFzcz0iZ3JpZCBtaW5tYXgtcGVyY2VudC1pbnRyaW5zaWMgbWluLWNvbnRlbnQiIGRhdGEt
ZXhwZWN0ZWQtaGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRh
LWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCI+WFhYWDwvZGl2Pgot
PC9kaXY+Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDM4CiBQQVNT
IC5ncmlkIDM5Ci1GQUlMIC5ncmlkIDQwIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlk
IG1pbm1heC1wZXJjZW50LWludHJpbnNpYyBtYXgtY29udGVudCIgZGF0YS1leHBlY3RlZC1oZWln
aHQ9IjAiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiPgotICA8ZGl2IGRhdGEtZXhwZWN0ZWQtaGVp
Z2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj5YWFhYPC9kaXY+Ci08L2Rpdj4KLXdpZHRo
IGV4cGVjdGVkIDAgYnV0IGdvdCAzMDAKK1BBU1MgLmdyaWQgNDAKIFBBU1MgLmdyaWQgNDEKIFBB
U1MgLmdyaWQgNDIKIFBBU1MgLmdyaWQgNDMKLUZBSUwgLmdyaWQgNDQgYXNzZXJ0X2VxdWFsczoK
LTxkaXYgY2xhc3M9ImdyaWQgZml0LWNvbnRlbnQgbWluLWNvbnRlbnQiIGRhdGEtZXhwZWN0ZWQt
aGVpZ2h0PSIwIiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIj4KLSAgPGRpdiBkYXRhLWV4cGVjdGVk
LWhlaWdodD0iNzUiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjMwMCI+WFhYWDwvZGl2PgotPC9kaXY+
Ci13aWR0aCBleHBlY3RlZCAwIGJ1dCBnb3QgMzAwCitQQVNTIC5ncmlkIDQ0CiBQQVNTIC5ncmlk
IDQ1Ci1GQUlMIC5ncmlkIDQ2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJncmlkIGZpdC1j
b250ZW50IG1heC1jb250ZW50IiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMCI+Ci0gIDxkaXYgZGF0YS1leHBlY3RlZC1oZWlnaHQ9Ijc1IiBkYXRhLWV4cGVj
dGVkLXdpZHRoPSIzMDAiPlhYWFg8L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQg
Z290IDMwMAorUEFTUyAuZ3JpZCA0NgogUEFTUyAuZ3JpZCA0NwogUEFTUyAuZ3JpZCA0OAogWFhY
WApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3NzLWNvbnRhaW4vY29udGFpbi1zaXplLW11bHRpY29sLWFzLWZsZXgtaXRlbS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3MtY29udGFpbi9jb250YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVk
LnR4dAppbmRleCAzZTE0MDg2N2I3ZTcyMTQ2MTFjYzUyOWFiYjQ4NWZkMmY4ZTFiOTQ3Li4zZTc5
OTFjMWMwNTFhNzc2NjNkZDc1NzEyMjlhMDNjYTcxZTMyNmIyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3MtY29udGFpbi9jb250
YWluLXNpemUtbXVsdGljb2wtYXMtZmxleC1pdGVtLWV4cGVjdGVkLnR4dApAQCAtMSwxMSArMSw1
IEBACiBUaGVyZSBzaG91bGQgYmUgYSBncmVlbiBzcXVhcmUgYmVsb3cuCiAKIAotRkFJTCAjZmxl
eCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGlkPSJmbGV4Ij4KLSAgPGRpdiBpZD0ibXVsdGljb2wi
IGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjEwMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjEwMCI+Ci0g
ICAgPGRpdiBzdHlsZT0id2lkdGg6MTAwMHB4OyBoZWlnaHQ6MXB4OyI+PC9kaXY+Ci0gIDwvZGl2
PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAxMDAgYnV0IGdvdCA3ODQKK1BBU1MgI2ZsZXggMQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3MtZmxleGJveC9mbGV4LWl0ZW0tY29udGFpbnMtc3RyaWN0LWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4
Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0ZWQudHh0CmluZGV4IDc0NGRjNGY2
MmFmMTAyMzM4OTVmZmM4YWI2ZmZkNDNkZWRkOWI4NzAuLmNjMGJhYzc1OGE4NjZkNGFlZWM3NWFj
ZThlZTdkODMzYmYxZGMxZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJp
Y3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzcy1mbGV4Ym94L2ZsZXgtaXRlbS1jb250YWlucy1zdHJpY3QtZXhwZWN0
ZWQudHh0CkBAIC0xNywyOCArMTcsMTIgQEAgQ29sdW1uCiAKIFJvdwogCi1GQUlMIC5pbmxpbmUt
ZmxleCAxIGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxleCIgc3R5bGU9ImRp
c3BsYXk6IGlubGluZS1mbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyIgZGF0YS1leHBlY3Rl
ZC13aWR0aD0iMCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250
YWluOiBzdHJpY3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdo
dD0iMCI+Q29sdW1uPC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCA1Mgot
RkFJTCAuaW5saW5lLWZsZXggMiBhc3NlcnRfZXF1YWxzOgotPGRpdiBjbGFzcz0iaW5saW5lLWZs
ZXgiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0PSIwIj4KLSAg
PGRpdiBzdHlsZT0iY29udGFpbjogc3RyaWN0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0iMCIgZGF0
YS1leHBlY3RlZC1oZWlnaHQ9IjAiPlJvdzwvZGl2PgotPC9kaXY+Ci13aWR0aCBleHBlY3RlZCAw
IGJ1dCBnb3QgMzAKK1BBU1MgLmlubGluZS1mbGV4IDEKK1BBU1MgLmlubGluZS1mbGV4IDIKIFBB
U1MgLmlubGluZS1mbGV4IDMKIFBBU1MgLmlubGluZS1mbGV4IDQKLUZBSUwgLmlubGluZS1mbGV4
IDUgYXNzZXJ0X2VxdWFsczoKLTxkaXYgY2xhc3M9ImlubGluZS1mbGV4IiBzdHlsZT0iZmxleC1k
aXJlY3Rpb246IGNvbHVtbjsgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IiBkYXRhLWV4cGVjdGVk
LXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Ci0gIDxkaXYgc3R5bGU9ImNvbnRh
aW46IHN0cmljdDsiIGRhdGEtZXhwZWN0ZWQtd2lkdGg9IjAiIGRhdGEtZXhwZWN0ZWQtaGVpZ2h0
PSIwIj5Db2x1bW48L2Rpdj4KLTwvZGl2Pgotd2lkdGggZXhwZWN0ZWQgMCBidXQgZ290IDUyCi1G
QUlMIC5pbmxpbmUtZmxleCA2IGFzc2VydF9lcXVhbHM6Ci08ZGl2IGNsYXNzPSJpbmxpbmUtZmxl
eCIgc3R5bGU9ImFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyIgZGF0YS1leHBlY3RlZC13aWR0aD0i
MCIgZGF0YS1leHBlY3RlZC1oZWlnaHQ9IjAiPgotICA8ZGl2IHN0eWxlPSJjb250YWluOiBzdHJp
Y3Q7IiBkYXRhLWV4cGVjdGVkLXdpZHRoPSIwIiBkYXRhLWV4cGVjdGVkLWhlaWdodD0iMCI+Um93
PC9kaXY+Ci08L2Rpdj4KLXdpZHRoIGV4cGVjdGVkIDAgYnV0IGdvdCAzMAorUEFTUyAuaW5saW5l
LWZsZXggNQorUEFTUyAuaW5saW5lLWZsZXggNgogUEFTUyAuaW5saW5lLWZsZXggNwogUEFTUyAu
aW5saW5lLWZsZXggOAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0
ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy9jYW52YXMtYXNwZWN0LXJhdGlvLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
aHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQt
Y29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhwZWN0ZWQudHh0CmluZGV4
IGFiY2JhMDMwODU1NWU2ZGVjZTQyN2NlMWFiM2ZhNTYwYzRmMzdkMDUuLmU2ZmNlOTY5MDQ5NTNl
YmZiNmM1ODc2MTZlOGJlZTk1YmZhMGFkMGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVu
dHMvYXR0cmlidXRlcy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3Bl
Y3QtcmF0aW8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRl
cy1mb3ItZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL2NhbnZhcy1hc3BlY3QtcmF0aW8tZXhw
ZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogCiAKLVBBU1MgQ2FudmFzIHdpZHRoIGFuZCBoZWln
aHQgYXR0cmlidXRlcyBhcmUgdXNlZCBhcyB0aGUgc3VyZmFjZSBzaXplIHdpdGggY29udGFpbjpz
aXplCitGQUlMIENhbnZhcyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHVzZWQgYXMg
dGhlIHN1cmZhY2Ugc2l6ZSB3aXRoIGNvbnRhaW46c2l6ZSBhc3NlcnRfYXBwcm94X2VxdWFsczog
ZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290IEluZmluaXR5CiBQQVNTIENhbnZhcyB3aWR0
aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHVzZWQgYXMgdGhlIHN1cmZhY2Ugc2l6ZQogRkFJ
TCBDb21wdXRlZCBzdHlsZSB0ZXN0OiBjYW52YXMgd2l0aCB7IndpZHRoIjoiMTAiLCJoZWlnaHQi
OiIyMCJ9IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkICJhdXRvIDEwIC8gMjAiIGJ1dCBnb3QgImF1
dG8iCiBQQVNTIENvbXB1dGVkIHN0eWxlIHRlc3Q6IGNhbnZhcyB3aXRoIHsid2lkdGgiOiIwIiwi
aGVpZ2h0IjoiMSJ9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0dHJpYnV0ZXMt
Zm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0aW8tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3JlbmRlcmluZy9yZXBsYWNlZC1lbGVtZW50cy9hdHRyaWJ1dGVzLWZvci1lbWJlZGRlZC1jb250
ZW50LWFuZC1pbWFnZXMvdmlkZW8tYXNwZWN0LXJhdGlvLWV4cGVjdGVkLnR4dAppbmRleCAxYTYw
NDQxZTRkMzY4NWUxMjkyZWUyMGEyMzZjZTg1MmJmODUzZTVhLi4zYzQ1YzdlNDM2ZjA4YTQ2YmRh
ODJmZGI0NjAwNjEzODBjOTFhYmY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvcmVuZGVyaW5nL3JlcGxhY2VkLWVsZW1lbnRzL2F0
dHJpYnV0ZXMtZm9yLWVtYmVkZGVkLWNvbnRlbnQtYW5kLWltYWdlcy92aWRlby1hc3BlY3QtcmF0
aW8tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvaHRtbC9yZW5kZXJpbmcvcmVwbGFjZWQtZWxlbWVudHMvYXR0cmlidXRlcy1mb3It
ZW1iZWRkZWQtY29udGVudC1hbmQtaW1hZ2VzL3ZpZGVvLWFzcGVjdC1yYXRpby1leHBlY3RlZC50
eHQKQEAgLTEsNiArMSw2IEBACiAKIAotRkFJTCBWaWRlbyB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJp
YnV0ZXMgYXJlIG5vdCB1c2VkIHRvIGluZmVyIGFzcGVjdC1yYXRpbyBhc3NlcnRfYXBwcm94X2Vx
dWFsczogZXhwZWN0ZWQgMi41ICsvLSAwLjAwMSBidXQgZ290IDIKK0ZBSUwgVmlkZW8gd2lkdGgg
YW5kIGhlaWdodCBhdHRyaWJ1dGVzIGFyZSBub3QgdXNlZCB0byBpbmZlciBhc3BlY3QtcmF0aW8g
YXNzZXJ0X2FwcHJveF9lcXVhbHM6IGV4cGVjdGVkIDIuNSArLy0gMC4wMDEgYnV0IGdvdCBJbmZp
bml0eQogRkFJTCBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRlbyB3aXRoIHsid2lkdGgiOiIxMCIs
ImhlaWdodCI6IjIwIn0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMTAgLyAyMCIgYnV0
IGdvdCAiYXV0byIKIEZBSUwgQ29tcHV0ZWQgc3R5bGUgdGVzdDogdmlkZW8gd2l0aCB7IndpZHRo
IjoiMC41IiwiaGVpZ2h0IjoiMS41In0gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgImF1dG8gMC41
IC8gMS41IiBidXQgZ290ICJhdXRvIgogUEFTUyBDb21wdXRlZCBzdHlsZSB0ZXN0OiB2aWRlbyB3
aXRoIHsid2lkdGgiOiIwIiwiaGVpZ2h0IjoiMSJ9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>